From ebc4b52f41b6e04b7676135c263a6d30f28ea00c Mon Sep 17 00:00:00 2001 From: Kyle Schouviller Date: Sat, 4 Mar 2023 14:46:02 -0800 Subject: [PATCH 01/10] [cli] Update CLI to define commands as Pydantic objects --- invokeai/app/cli/__init__.py | 0 invokeai/app/cli/commands.py | 202 +++++++++++++++++++++++++++++++++ invokeai/app/cli_app.py | 214 +++++++++-------------------------- 3 files changed, 254 insertions(+), 162 deletions(-) create mode 100644 invokeai/app/cli/__init__.py create mode 100644 invokeai/app/cli/commands.py diff --git a/invokeai/app/cli/__init__.py b/invokeai/app/cli/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/invokeai/app/cli/commands.py b/invokeai/app/cli/commands.py new file mode 100644 index 0000000000..21e65291e9 --- /dev/null +++ b/invokeai/app/cli/commands.py @@ -0,0 +1,202 @@ +# Copyright (c) 2023 Kyle Schouviller (https://github.com/kyle0654) + +from abc import ABC, abstractmethod +import argparse +from typing import Any, Callable, Iterable, Literal, get_args, get_origin, get_type_hints +from pydantic import BaseModel, Field + +from ..invocations.image import ImageField +from ..services.graph import GraphExecutionState +from ..services.invoker import Invoker + + +def add_parsers( + subparsers, + commands: list[type], + command_field: str = "type", + exclude_fields: list[str] = ["id", "type"], + add_arguments: Callable[[argparse.ArgumentParser], None]|None = None + ): + """Adds parsers for each command to the subparsers""" + + # Create subparsers for each command + for command in commands: + hints = get_type_hints(command) + cmd_name = get_args(hints[command_field])[0] + command_parser = subparsers.add_parser(cmd_name, help=command.__doc__) + + if add_arguments is not None: + add_arguments(command_parser) + + # Convert all fields to arguments + fields = command.__fields__ # type: ignore + for name, field in fields.items(): + if name in exclude_fields: + continue + + if get_origin(field.type_) == Literal: + allowed_values = get_args(field.type_) + allowed_types = set() + for val in allowed_values: + allowed_types.add(type(val)) + allowed_types_list = list(allowed_types) + field_type = allowed_types_list[0] if len(allowed_types) == 1 else Union[allowed_types_list] # type: ignore + + command_parser.add_argument( + f"--{name}", + dest=name, + type=field_type, + default=field.default, + choices=allowed_values, + help=field.field_info.description, + ) + else: + command_parser.add_argument( + f"--{name}", + dest=name, + type=field.type_, + default=field.default, + help=field.field_info.description, + ) + + +class CliContext: + invoker: Invoker + session: GraphExecutionState + parser: argparse.ArgumentParser + defaults: dict[str, Any] + + def __init__(self, invoker: Invoker, session: GraphExecutionState, parser: argparse.ArgumentParser): + self.invoker = invoker + self.session = session + self.parser = parser + self.defaults = dict() + + def get_session(self): + self.session = self.invoker.services.graph_execution_manager.get(self.session.id) + return self.session + + +class ExitCli(Exception): + """Exception to exit the CLI""" + pass + + +class BaseCommand(ABC, BaseModel): + """A CLI command""" + + # All commands must include a type name like this: + # type: Literal['your_command_name'] = 'your_command_name' + + @classmethod + def get_all_subclasses(cls): + subclasses = [] + toprocess = [cls] + while len(toprocess) > 0: + next = toprocess.pop(0) + next_subclasses = next.__subclasses__() + subclasses.extend(next_subclasses) + toprocess.extend(next_subclasses) + return subclasses + + @classmethod + def get_commands(cls): + return tuple(BaseCommand.get_all_subclasses()) + + @classmethod + def get_commands_map(cls): + # Get the type strings out of the literals and into a dictionary + return dict(map(lambda t: (get_args(get_type_hints(t)['type'])[0], t),BaseCommand.get_all_subclasses())) + + @abstractmethod + def run(self, context: CliContext) -> None: + """Run the command. Raise ExitCli to exit.""" + pass + + +class ExitCommand(BaseCommand): + """Exits the CLI""" + type: Literal['exit'] = 'exit' + + def run(self, context: CliContext) -> None: + raise ExitCli() + + +class HelpCommand(BaseCommand): + """Shows help""" + type: Literal['help'] = 'help' + + def run(self, context: CliContext) -> None: + context.parser.print_help() + + +def get_graph_execution_history( + graph_execution_state: GraphExecutionState, +) -> Iterable[str]: + """Gets the history of fully-executed invocations for a graph execution""" + return ( + n + for n in reversed(graph_execution_state.executed_history) + if n in graph_execution_state.graph.nodes + ) + + +def get_invocation_command(invocation) -> str: + fields = invocation.__fields__.items() + type_hints = get_type_hints(type(invocation)) + command = [invocation.type] + for name, field in fields: + if name in ["id", "type"]: + continue + + # TODO: add links + + # Skip image fields when serializing command + type_hint = type_hints.get(name) or None + if type_hint is ImageField or ImageField in get_args(type_hint): + continue + + field_value = getattr(invocation, name) + field_default = field.default + if field_value != field_default: + if type_hint is str or str in get_args(type_hint): + command.append(f'--{name} "{field_value}"') + else: + command.append(f"--{name} {field_value}") + + return " ".join(command) + + +class HistoryCommand(BaseCommand): + """Shows the invocation history""" + type: Literal['history'] = 'history' + + # Inputs + # fmt: off + count: int = Field(default=5, gt=0, description="The number of history entries to show") + # fmt: on + + def run(self, context: CliContext) -> None: + history = list(get_graph_execution_history(context.get_session())) + for i in range(min(self.count, len(history))): + entry_id = history[-1 - i] + entry = context.get_session().graph.get_node(entry_id) + print(f"{entry_id}: {get_invocation_command(entry)}") + + +class SetDefaultCommand(BaseCommand): + """Sets a default value for a field""" + type: Literal['default'] = 'default' + + # Inputs + # fmt: off + field: str = Field(description="The field to set the default for") + value: str = Field(description="The value to set the default to, or None to clear the default") + # fmt: on + + def run(self, context: CliContext) -> None: + if self.value is None: + if self.field in context.defaults: + del context.defaults[self.field] + else: + context.defaults[self.field] = self.value diff --git a/invokeai/app/cli_app.py b/invokeai/app/cli_app.py index 2f20cfde58..721760b222 100644 --- a/invokeai/app/cli_app.py +++ b/invokeai/app/cli_app.py @@ -5,13 +5,7 @@ import os import shlex import time from typing import ( - Any, - Dict, - Iterable, - Literal, Union, - get_args, - get_origin, get_type_hints, ) @@ -19,9 +13,9 @@ from pydantic import BaseModel from pydantic.fields import Field from ..backend import Args +from .cli.commands import BaseCommand, CliContext, ExitCli, add_parsers, get_graph_execution_history from .invocations import * from .invocations.baseinvocation import BaseInvocation -from .invocations.image import ImageField from .services.events import EventServiceBase from .services.generate_initializer import get_generate from .services.graph import EdgeConnection, GraphExecutionState @@ -33,15 +27,33 @@ from .services.processor import DefaultInvocationProcessor from .services.sqlite import SqliteItemStorage -class InvocationCommand(BaseModel): - invocation: Union[BaseInvocation.get_invocations()] = Field(discriminator="type") # type: ignore +class CliCommand(BaseModel): + command: Union[BaseCommand.get_commands() + BaseInvocation.get_invocations()] = Field(discriminator="type") # type: ignore class InvalidArgs(Exception): pass -def get_invocation_parser() -> argparse.ArgumentParser: +def add_invocation_args(command_parser): + # Add linking capability + command_parser.add_argument( + "--link", + "-l", + action="append", + nargs=3, + help="A link in the format 'dest_field source_node source_field'. source_node can be relative to history (e.g. -1)", + ) + + command_parser.add_argument( + "--link_node", + "-ln", + action="append", + help="A link from all fields in the specified node. Node can be relative to history (e.g. -1)", + ) + + +def get_command_parser() -> argparse.ArgumentParser: # Create invocation parser parser = argparse.ArgumentParser() @@ -49,129 +61,19 @@ def get_invocation_parser() -> argparse.ArgumentParser: raise InvalidArgs parser.exit = exit - subparsers = parser.add_subparsers(dest="type") - invocation_parsers = dict() - - # Add history parser - history_parser = subparsers.add_parser( - "history", help="Shows the invocation history" - ) - history_parser.add_argument( - "count", - nargs="?", - default=5, - type=int, - help="The number of history entries to show", - ) - - # Add default parser - default_parser = subparsers.add_parser( - "default", help="Define a default value for all inputs with a specified name" - ) - default_parser.add_argument("input", type=str, help="The input field") - default_parser.add_argument("value", help="The default value") - - default_parser = subparsers.add_parser( - "reset_default", help="Resets a default value" - ) - default_parser.add_argument("input", type=str, help="The input field") # Create subparsers for each invocation invocations = BaseInvocation.get_all_subclasses() - for invocation in invocations: - hints = get_type_hints(invocation) - cmd_name = get_args(hints["type"])[0] - command_parser = subparsers.add_parser(cmd_name, help=invocation.__doc__) - invocation_parsers[cmd_name] = command_parser + add_parsers(subparsers, invocations, add_arguments=add_invocation_args) - # Add linking capability - command_parser.add_argument( - "--link", - "-l", - action="append", - nargs=3, - help="A link in the format 'dest_field source_node source_field'. source_node can be relative to history (e.g. -1)", - ) - - command_parser.add_argument( - "--link_node", - "-ln", - action="append", - help="A link from all fields in the specified node. Node can be relative to history (e.g. -1)", - ) - - # Convert all fields to arguments - fields = invocation.__fields__ - for name, field in fields.items(): - if name in ["id", "type"]: - continue - - if get_origin(field.type_) == Literal: - allowed_values = get_args(field.type_) - allowed_types = set() - for val in allowed_values: - allowed_types.add(type(val)) - allowed_types_list = list(allowed_types) - field_type = allowed_types_list[0] if len(allowed_types) == 1 else Union[allowed_types_list] # type: ignore - - command_parser.add_argument( - f"--{name}", - dest=name, - type=field_type, - default=field.default, - choices=allowed_values, - help=field.field_info.description, - ) - else: - command_parser.add_argument( - f"--{name}", - dest=name, - type=field.type_, - default=field.default, - help=field.field_info.description, - ) + # Create subparsers for each command + commands = BaseCommand.get_all_subclasses() + add_parsers(subparsers, commands, exclude_fields=["type"]) return parser -def get_invocation_command(invocation) -> str: - fields = invocation.__fields__.items() - type_hints = get_type_hints(type(invocation)) - command = [invocation.type] - for name, field in fields: - if name in ["id", "type"]: - continue - - # TODO: add links - - # Skip image fields when serializing command - type_hint = type_hints.get(name) or None - if type_hint is ImageField or ImageField in get_args(type_hint): - continue - - field_value = getattr(invocation, name) - field_default = field.default - if field_value != field_default: - if type_hint is str or str in get_args(type_hint): - command.append(f'--{name} "{field_value}"') - else: - command.append(f"--{name} {field_value}") - - return " ".join(command) - - -def get_graph_execution_history( - graph_execution_state: GraphExecutionState, -) -> Iterable[str]: - """Gets the history of fully-executed invocations for a graph execution""" - return ( - n - for n in reversed(graph_execution_state.executed_history) - if n in graph_execution_state.graph.nodes - ) - - def generate_matching_edges( a: BaseInvocation, b: BaseInvocation ) -> list[tuple[EdgeConnection, EdgeConnection]]: @@ -233,13 +135,12 @@ def invoke_cli(): invoker = Invoker(services) session: GraphExecutionState = invoker.create_execution_state() - parser = get_invocation_parser() + parser = get_command_parser() # Uncomment to print out previous sessions at startup # print(services.session_manager.list()) - # Defaults storage - defaults: Dict[str, Any] = dict() + context = CliContext(invoker, session, parser) while True: try: @@ -248,13 +149,6 @@ def invoke_cli(): # Ctrl-c exits break - if cmd_input in ["exit", "q"]: - break - - if cmd_input in ["--help", "help", "h", "?"]: - parser.print_help() - continue - try: # Refresh the state of the session session = invoker.services.graph_execution_manager.get(session.id) @@ -272,35 +166,23 @@ def invoke_cli(): # Parse args to create invocation args = vars(parser.parse_args(shlex.split(cmd.strip()))) - # Check for special commands - # TODO: These might be better as Pydantic models, similar to the invocations - if args["type"] == "history": - history_count = args["count"] or 5 - for i in range(min(history_count, len(history))): - entry_id = history[-1 - i] - entry = session.graph.get_node(entry_id) - print(f"{entry_id}: {get_invocation_command(entry.invocation)}") - continue - - if args["type"] == "reset_default": - if args["input"] in defaults: - del defaults[args["input"]] - continue - - if args["type"] == "default": - field = args["input"] - field_value = args["value"] - defaults[field] = field_value - continue - # Override defaults - for field_name, field_default in defaults.items(): + for field_name, field_default in context.defaults.items(): if field_name in args: args[field_name] = field_default # Parse invocation args["id"] = current_id - command = InvocationCommand(invocation=args) + command = CliCommand(command=args) + + # Run any CLI commands immediately + # TODO: this won't behave as expected if piping and using e.g. history, + # since invocations are gathered and then run together at the end. + # This is more efficient if the CLI is running against a distributed + # backend, so it's preferable not to change that behavior. + if isinstance(command.command, BaseCommand): + command.command.run(context) + continue # Pipe previous command output (if there was a previous command) edges = [] @@ -314,7 +196,7 @@ def invoke_cli(): else session.graph.get_node(from_id) ) matching_edges = generate_matching_edges( - from_node, command.invocation + from_node, command.command ) edges.extend(matching_edges) @@ -323,22 +205,25 @@ def invoke_cli(): for link in args["link_node"]: link_node = session.graph.get_node(link) matching_edges = generate_matching_edges( - link_node, command.invocation + link_node, command.command ) + matching_destinations = [e[1] for e in matching_edges] + edges = [e for e in edges if e[1] not in matching_destinations] edges.extend(matching_edges) if "link" in args and args["link"]: for link in args["link"]: + edges = [e for e in edges if e[1].node_id != command.command.id and e[1].field != link[2]] edges.append( ( EdgeConnection(node_id=link[1], field=link[0]), EdgeConnection( - node_id=command.invocation.id, field=link[2] + node_id=command.command.id, field=link[2] ), ) ) - new_invocations.append((command.invocation, edges)) + new_invocations.append((command.command, edges)) current_id = current_id + 1 @@ -347,13 +232,14 @@ def invoke_cli(): for invocation in new_invocations: session.add_node(invocation[0]) for edge in invocation[1]: + print(edge) session.add_edge(edge) # Execute all available invocations invoker.invoke(session, invoke_all=True) while not session.is_complete(): # Wait some time - session = invoker.services.graph_execution_manager.get(session.id) + session = context.get_session() time.sleep(0.1) # Print any errors @@ -366,11 +252,15 @@ def invoke_cli(): # Start a new session print("Creating a new session") session = invoker.create_execution_state() + context.session = session except InvalidArgs: print('Invalid command, use "help" to list commands') continue + except ExitCli: + break + except SystemExit: continue From 2f9dcd7906002c0fc260367f1c5e5b831a4ff875 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 5 Mar 2023 22:51:40 -0500 Subject: [PATCH 02/10] support both epsilon and v-prediction v2 inference There are actually two Stable Diffusion v2 legacy checkpoint configurations: 1) "epsilon" prediction type for Stable Diffusion v2 Base 2) "v-prediction" type for Stable Diffusion v2-768 This commit adds the configuration file needed for epsilon prediction type models as well as the UI that prompts the user to select the appropriate configuration file when the code can't do so automatically. --- .../convert_ckpt_to_diffusers.py | 7 +- .../backend/model_management/model_manager.py | 102 +-- invokeai/configs/INITIAL_MODELS.yaml | 2 +- .../stable-diffusion/v2-inference-v.yaml | 2 +- .../stable-diffusion/v2-inference.yaml | 67 ++ invokeai/frontend/CLI/CLI.py | 71 ++- invokeai/frontend/web/.husky/pre-commit | 2 +- .../{index-0e39fbc4.js => index-227d7b29.js} | 42 +- invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 3 +- invokeai/frontend/web/dist/locales/es.json | 115 +++- invokeai/frontend/web/dist/locales/he.json | 593 ------------------ invokeai/frontend/web/dist/locales/ko.json | 81 --- invokeai/frontend/web/dist/locales/nl.json | 100 +-- invokeai/frontend/web/dist/locales/pt.json | 68 -- invokeai/frontend/web/dist/locales/pt_BR.json | 76 ++- .../dist/locales/{zh_Hant.json => ro.json} | 0 invokeai/frontend/web/public/locales/en.json | 3 +- .../components/ModelManager/SearchModels.tsx | 6 +- invokeai/frontend/web/stats.html | 2 +- 20 files changed, 415 insertions(+), 929 deletions(-) create mode 100644 invokeai/configs/stable-diffusion/v2-inference.yaml rename invokeai/frontend/web/dist/assets/{index-0e39fbc4.js => index-227d7b29.js} (96%) delete mode 100644 invokeai/frontend/web/dist/locales/he.json delete mode 100644 invokeai/frontend/web/dist/locales/ko.json delete mode 100644 invokeai/frontend/web/dist/locales/pt.json rename invokeai/frontend/web/dist/locales/{zh_Hant.json => ro.json} (100%) diff --git a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py index c0c1cca3c4..ad2c6afe9e 100644 --- a/invokeai/backend/model_management/convert_ckpt_to_diffusers.py +++ b/invokeai/backend/model_management/convert_ckpt_to_diffusers.py @@ -1101,14 +1101,17 @@ def load_pipeline_from_original_stable_diffusion_ckpt( if original_config_file is None: model_type = ModelManager.probe_model_type(checkpoint) - if model_type == SDLegacyType.V2: + if model_type == SDLegacyType.V2_v: original_config_file = ( global_config_dir() / "stable-diffusion" / "v2-inference-v.yaml" ) if global_step == 110000: # v2.1 needs to upcast attention upcast_attention = True - + elif model_type == SDLegacyType.V2_e: + original_config_file = ( + global_config_dir() / "stable-diffusion" / "v2-inference.yaml" + ) elif model_type == SDLegacyType.V1_INPAINT: original_config_file = ( global_config_dir() diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 450043d369..1d4e79dde3 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -40,7 +40,9 @@ from ..util import CPU_DEVICE, ask_user, download_with_resume class SDLegacyType(Enum): V1 = 1 V1_INPAINT = 2 - V2 = 3 + V2 = 3 + V2_e = 4 + V2_v = 5 UNKNOWN = 99 @@ -569,15 +571,24 @@ class ModelManager(object): format. Valid return values include: SDLegacyType.V1 SDLegacyType.V1_INPAINT - SDLegacyType.V2 + SDLegacyType.V2 (V2 prediction type unknown) + SDLegacyType.V2_e (V2 using 'epsilon' prediction type) + SDLegacyType.V2_v (V2 using 'v_prediction' prediction type) SDLegacyType.UNKNOWN """ - key_name = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" - if key_name in checkpoint and checkpoint[key_name].shape[-1] == 1024: - return SDLegacyType.V2 + global_step = checkpoint.get('global_step') + state_dict = checkpoint.get("state_dict") or checkpoint try: - state_dict = checkpoint.get("state_dict") or checkpoint + key_name = "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight" + if key_name in state_dict and state_dict[key_name].shape[-1] == 1024: + if global_step == 220000: + return SDLegacyType.V2_e + elif global_step == 110000: + return SDLegacyType.V2_v + else: + return SDLegacyType.V2 + # otherwise we assume a V1 file in_channels = state_dict[ "model.diffusion_model.input_blocks.0.0.weight" ].shape[1] @@ -591,12 +602,13 @@ class ModelManager(object): return SDLegacyType.UNKNOWN def heuristic_import( - self, - path_url_or_repo: str, - convert: bool = True, - model_name: str = None, - description: str = None, - commit_to_conf: Path = None, + self, + path_url_or_repo: str, + convert: bool = True, + model_name: str = None, + description: str = None, + model_config_file: Path = None, + commit_to_conf: Path = None, ) -> str: """ Accept a string which could be: @@ -693,7 +705,7 @@ class ModelManager(object): if model_path.stem in self.config: # already imported print(" | Already imported. Skipping") - return + return model_path.stem # another round of heuristics to guess the correct config file. checkpoint = ( @@ -701,32 +713,46 @@ class ModelManager(object): if model_path.suffix == ".safetensors" else torch.load(model_path) ) - model_type = self.probe_model_type(checkpoint) - model_config_file = None - if model_type == SDLegacyType.V1: - print(" | SD-v1 model detected") - model_config_file = Path( - Globals.root, "configs/stable-diffusion/v1-inference.yaml" - ) - elif model_type == SDLegacyType.V1_INPAINT: - print(" | SD-v1 inpainting model detected") - model_config_file = Path( - Globals.root, "configs/stable-diffusion/v1-inpainting-inference.yaml" - ) - elif model_type == SDLegacyType.V2: - print( - " | SD-v2 model detected; model will be converted to diffusers format" - ) - model_config_file = Path( - Globals.root, "configs/stable-diffusion/v2-inference-v.yaml" - ) - convert = True - else: - print( - f"** {thing} is a legacy checkpoint file but not in a known Stable Diffusion model. Skipping import" - ) - return + # additional probing needed if no config file provided + if model_config_file is None: + model_type = self.probe_model_type(checkpoint) + if model_type == SDLegacyType.V1: + print(" | SD-v1 model detected") + model_config_file = Path( + Globals.root, "configs/stable-diffusion/v1-inference.yaml" + ) + elif model_type == SDLegacyType.V1_INPAINT: + print(" | SD-v1 inpainting model detected") + model_config_file = Path( + Globals.root, "configs/stable-diffusion/v1-inpainting-inference.yaml" + ) + elif model_type == SDLegacyType.V2_v: + print( + " | SD-v2-v model detected; model will be converted to diffusers format" + ) + model_config_file = Path( + Globals.root, "configs/stable-diffusion/v2-inference-v.yaml" + ) + convert = True + elif model_type == SDLegacyType.V2_e: + print( + " | SD-v2-e model detected; model will be converted to diffusers format" + ) + model_config_file = Path( + Globals.root, "configs/stable-diffusion/v2-inference.yaml" + ) + convert = True + elif model_type == SDLegacyType.V2: + print( + f"** {thing} is a V2 checkpoint file, but its parameterization cannot be determined. Please provide configuration file path." + ) + return + else: + print( + f"** {thing} is a legacy checkpoint file but not a known Stable Diffusion model. Please provide configuration file path." + ) + return diffuser_path = Path( Globals.root, "models", Globals.converted_ckpts_dir, model_path.stem diff --git a/invokeai/configs/INITIAL_MODELS.yaml b/invokeai/configs/INITIAL_MODELS.yaml index edc6285a38..3ebd38a5f6 100644 --- a/invokeai/configs/INITIAL_MODELS.yaml +++ b/invokeai/configs/INITIAL_MODELS.yaml @@ -20,7 +20,7 @@ stable-diffusion-2.1: recommended: True sd-inpainting-2.0: description: Stable Diffusion version 2.0 inpainting model (5.21 GB) - repo_id: stabilityai/stable-diffusion-2-1 + repo_id: stabilityai/stable-diffusion-2-inpainting format: diffusers recommended: False analog-diffusion-1.0: diff --git a/invokeai/configs/stable-diffusion/v2-inference-v.yaml b/invokeai/configs/stable-diffusion/v2-inference-v.yaml index 47ecbe0334..0fe477d5e6 100644 --- a/invokeai/configs/stable-diffusion/v2-inference-v.yaml +++ b/invokeai/configs/stable-diffusion/v2-inference-v.yaml @@ -1,6 +1,6 @@ model: base_learning_rate: 1.0e-4 - target: invokeai.backend.models.diffusion.ddpm.LatentDiffusion + target: invokeai.backend.stable_diffusion.diffusion.ddpm.LatentDiffusion params: parameterization: "v" linear_start: 0.00085 diff --git a/invokeai/configs/stable-diffusion/v2-inference.yaml b/invokeai/configs/stable-diffusion/v2-inference.yaml new file mode 100644 index 0000000000..cde92ccdfe --- /dev/null +++ b/invokeai/configs/stable-diffusion/v2-inference.yaml @@ -0,0 +1,67 @@ +model: + base_learning_rate: 1.0e-4 + target: invokeai.backend.stable_diffusion.diffusion.ddpm.LatentDiffusion + params: + linear_start: 0.00085 + linear_end: 0.0120 + num_timesteps_cond: 1 + log_every_t: 200 + timesteps: 1000 + first_stage_key: "jpg" + cond_stage_key: "txt" + image_size: 64 + channels: 4 + cond_stage_trainable: false + conditioning_key: crossattn + monitor: val/loss_simple_ema + scale_factor: 0.18215 + use_ema: False # we set this to false because this is an inference only config + + unet_config: + target: invokeai.backend.stable_diffusion.diffusionmodules.openaimodel.UNetModel + params: + use_checkpoint: True + use_fp16: True + image_size: 32 # unused + in_channels: 4 + out_channels: 4 + model_channels: 320 + attention_resolutions: [ 4, 2, 1 ] + num_res_blocks: 2 + channel_mult: [ 1, 2, 4, 4 ] + num_head_channels: 64 # need to fix for flash-attn + use_spatial_transformer: True + use_linear_in_transformer: True + transformer_depth: 1 + context_dim: 1024 + legacy: False + + first_stage_config: + target: invokeai.backend.stable_diffusion.autoencoder.AutoencoderKL + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + #attn_type: "vanilla-xformers" + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: + - 1 + - 2 + - 4 + - 4 + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity + + cond_stage_config: + target: invokeai.backend.stable_diffusion.encoders.modules.FrozenOpenCLIPEmbedder + params: + freeze: True + layer: "penultimate" diff --git a/invokeai/frontend/CLI/CLI.py b/invokeai/frontend/CLI/CLI.py index 1c2fbb121f..39f5c6dc96 100644 --- a/invokeai/frontend/CLI/CLI.py +++ b/invokeai/frontend/CLI/CLI.py @@ -19,7 +19,7 @@ import invokeai.version as invokeai from ...backend import Generate, ModelManager from ...backend.args import Args, dream_cmd_from_png, metadata_dumps, metadata_from_png -from ...backend.globals import Globals +from ...backend.globals import Globals, global_config_dir from ...backend.image_util import ( PngWriter, make_grid, @@ -66,6 +66,9 @@ def main(): Globals.sequential_guidance = args.sequential_guidance Globals.ckpt_convert = True # always true now + # run any post-install patches needed + run_patches() + print(f">> Internet connectivity is {Globals.internet_available}") if not args.conf: @@ -658,7 +661,16 @@ def import_model(model_path: str, gen, opt, completer, convert=False): ) if not imported_name: - print("** Import failed or was skipped") + if config_file := _pick_configuration_file(completer): + imported_name = gen.model_manager.heuristic_import( + model_path, + model_name=model_name, + description=model_desc, + convert=convert, + model_config_file=config_file, + ) + if not imported_name: + print("** Aborting import.") return if not _verify_load(imported_name, gen): @@ -672,6 +684,46 @@ def import_model(model_path: str, gen, opt, completer, convert=False): completer.update_models(gen.model_manager.list_models()) print(f">> {imported_name} successfully installed") +def _pick_configuration_file(completer)->Path: + print( +""" +Please select the type of this model: +[1] A Stable Diffusion v1.x ckpt/safetensors model +[2] A Stable Diffusion v1.x inpainting ckpt/safetensors model +[3] A Stable Diffusion v2.x base model (512 pixels) +[4] A Stable Diffusion v2.x v-predictive model (768 pixels) +[5] Other (you will be prompted to enter the config file path) +[Q] I have no idea! Skip the import. +""") + choices = [ + global_config_dir() / 'stable-diffusion' / x + for x in [ + 'v1-inference.yaml', + 'v1-inpainting-inference.yaml', + 'v2-inference.yaml', + 'v2-inference-v.yaml', + ] + ] + + ok = False + while not ok: + try: + choice = input('select 0-5, Q > ').strip() + if choice.startswith(('q','Q')): + return + if choice == '5': + completer.complete_extensions(('.yaml')) + choice = Path(input('Select config file for this model> ').strip()).absolute() + completer.complete_extensions(None) + ok = choice.exists() + else: + choice = choices[int(choice)-1] + ok = True + except (ValueError, IndexError): + print(f'{choice} is not a valid choice') + except EOFError: + return + return choice def _verify_load(model_name: str, gen) -> bool: print(">> Verifying that new model loads...") @@ -1236,6 +1288,19 @@ def check_internet() -> bool: except: return False - +# This routine performs any patch-ups needed after installation +def run_patches(): + # install ckpt configuration files that may have been added to the + # distro after original root directory configuration + import invokeai.configs as conf + from shutil import copyfile + + root_configs = Path(global_config_dir(), 'stable-diffusion') + repo_configs = Path(conf.__path__[0], 'stable-diffusion') + for src in repo_configs.iterdir(): + dest = root_configs / src.name + if not dest.exists(): + copyfile(src,dest) + if __name__ == "__main__": main() diff --git a/invokeai/frontend/web/.husky/pre-commit b/invokeai/frontend/web/.husky/pre-commit index f5a410bda9..096d3759e5 100755 --- a/invokeai/frontend/web/.husky/pre-commit +++ b/invokeai/frontend/web/.husky/pre-commit @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -cd invokeai/frontend/ && npm run lint-staged +cd invokeai/frontend/web && npm run lint-staged diff --git a/invokeai/frontend/web/dist/assets/index-0e39fbc4.js b/invokeai/frontend/web/dist/assets/index-227d7b29.js similarity index 96% rename from invokeai/frontend/web/dist/assets/index-0e39fbc4.js rename to invokeai/frontend/web/dist/assets/index-227d7b29.js index 62299eb79e..193e2aa3ce 100644 --- a/invokeai/frontend/web/dist/assets/index-0e39fbc4.js +++ b/invokeai/frontend/web/dist/assets/index-227d7b29.js @@ -1,4 +1,4 @@ -function Cj(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(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 a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).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)}})();var So=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function S7(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g={},XQ={get exports(){return g},set exports(e){g=e}},V3={},S={},ZQ={get exports(){return S},set exports(e){S=e}},Jt={};/** +function Cj(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(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 a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).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)}})();var wo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function S7(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g={},XQ={get exports(){return g},set exports(e){g=e}},V3={},S={},ZQ={get exports(){return S},set exports(e){S=e}},Jt={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ function Cj(e,t){for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),y6=Object.prototype.hasOwnProperty,See=/^[: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]*$/,OT={},RT={};function wee(e){return y6.call(RT,e)?!0:y6.call(OT,e)?!1:See.test(e)?RT[e]=!0:(OT[e]=!0,!1)}function Cee(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 _ee(e,t,n,r){if(t===null||typeof t>"u"||Cee(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 To(e,t,n,r,i,o,a){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=a}var Ki={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ki[e]=new To(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ki[t]=new To(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ki[e]=new To(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ki[e]=new To(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){Ki[e]=new To(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ki[e]=new To(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ki[e]=new To(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ki[e]=new To(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ki[e]=new To(e,5,!1,e.toLowerCase(),null,!1,!1)});var R7=/[\-:]([a-z])/g;function I7(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(R7,I7);Ki[t]=new To(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(R7,I7);Ki[t]=new To(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(R7,I7);Ki[t]=new To(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ki[e]=new To(e,1,!1,e.toLowerCase(),null,!1,!1)});Ki.xlinkHref=new To("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ki[e]=new To(e,1,!1,e.toLowerCase(),null,!0,!0)});function D7(e,t,n,r){var i=Ki.hasOwnProperty(t)?Ki[t]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),y6=Object.prototype.hasOwnProperty,See=/^[: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]*$/,OT={},RT={};function wee(e){return y6.call(RT,e)?!0:y6.call(OT,e)?!1:See.test(e)?RT[e]=!0:(OT[e]=!0,!1)}function Cee(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 _ee(e,t,n,r){if(t===null||typeof t>"u"||Cee(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 Mo(e,t,n,r,i,o,a){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=a}var Ki={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ki[e]=new Mo(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ki[t]=new Mo(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ki[e]=new Mo(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ki[e]=new Mo(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){Ki[e]=new Mo(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ki[e]=new Mo(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ki[e]=new Mo(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ki[e]=new Mo(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ki[e]=new Mo(e,5,!1,e.toLowerCase(),null,!1,!1)});var R7=/[\-:]([a-z])/g;function I7(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(R7,I7);Ki[t]=new Mo(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(R7,I7);Ki[t]=new Mo(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(R7,I7);Ki[t]=new Mo(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ki[e]=new Mo(e,1,!1,e.toLowerCase(),null,!1,!1)});Ki.xlinkHref=new Mo("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ki[e]=new Mo(e,1,!1,e.toLowerCase(),null,!0,!0)});function D7(e,t,n,r){var i=Ki.hasOwnProperty(t)?Ki[t]:null;(i!==null?i.type!==0:r||!(2s||i[a]!==o[s]){var l=` `+i[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{u5=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?i1(e):""}function kee(e){switch(e.tag){case 5:return i1(e.type);case 16:return i1("Lazy");case 13:return i1("Suspense");case 19:return i1("SuspenseList");case 0:case 2:case 15:return e=c5(e.type,!1),e;case 11:return e=c5(e.type.render,!1),e;case 1:return e=c5(e.type,!0),e;default:return""}}function w6(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 zg:return"Fragment";case Bg:return"Portal";case b6:return"Profiler";case j7:return"StrictMode";case x6:return"Suspense";case S6:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case nN:return(e.displayName||"Context")+".Consumer";case tN:return(e._context.displayName||"Context")+".Provider";case N7:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case $7:return t=e.displayName||null,t!==null?t:w6(e.type)||"Memo";case hd:t=e._payload,e=e._init;try{return w6(e(t))}catch{}}return null}function Eee(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 w6(t);case 8:return t===j7?"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 Ud(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function iN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Pee(e){var t=iN(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(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function vb(e){e._valueTracker||(e._valueTracker=Pee(e))}function oN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=iN(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function bS(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 C6(e,t){var n=t.checked;return Pr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function DT(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ud(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 aN(e,t){t=t.checked,t!=null&&D7(e,"checked",t,!1)}function _6(e,t){aN(e,t);var n=Ud(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")?k6(e,t.type,n):t.hasOwnProperty("defaultValue")&&k6(e,t.type,Ud(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function jT(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 k6(e,t,n){(t!=="number"||bS(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var o1=Array.isArray;function fm(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=yb.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function iy(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var C1={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},Tee=["Webkit","ms","Moz","O"];Object.keys(C1).forEach(function(e){Tee.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),C1[t]=C1[e]})});function cN(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||C1.hasOwnProperty(e)&&C1[e]?(""+t).trim():t+"px"}function dN(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=cN(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Mee=Pr({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 T6(e,t){if(t){if(Mee[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ze(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ze(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ze(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ze(62))}}function M6(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 L6=null;function F7(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var A6=null,hm=null,pm=null;function FT(e){if(e=Yy(e)){if(typeof A6!="function")throw Error(ze(280));var t=e.stateNode;t&&(t=cw(t),A6(e.stateNode,e.type,t))}}function fN(e){hm?pm?pm.push(e):pm=[e]:hm=e}function hN(){if(hm){var e=hm,t=pm;if(pm=hm=null,FT(e),t)for(e=0;e>>=0,e===0?32:31-(Bee(e)/zee|0)|0}var bb=64,xb=4194304;function a1(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 CS(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=a1(s):(o&=a,o!==0&&(r=a1(o)))}else a=n&~i,a!==0?r=a1(a):o!==0&&(r=a1(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function qy(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Gs(t),e[t]=n}function Vee(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=k1),KT=String.fromCharCode(32),YT=!1;function RN(e,t){switch(e){case"keyup":return bte.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function IN(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Hg=!1;function Ste(e,t){switch(e){case"compositionend":return IN(t);case"keypress":return t.which!==32?null:(YT=!0,KT);case"textInput":return e=t.data,e===KT&&YT?null:e;default:return null}}function wte(e,t){if(Hg)return e==="compositionend"||!q7&&RN(e,t)?(e=AN(),Dx=U7=Sd=null,Hg=!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=JT(n)}}function $N(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$N(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function FN(){for(var e=window,t=bS();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=bS(e.document)}return t}function K7(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 Ate(e){var t=FN(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&$N(n.ownerDocument.documentElement,n)){if(r!==null&&K7(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=eM(n,o);var a=eM(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.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,Wg=null,N6=null,P1=null,$6=!1;function tM(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$6||Wg==null||Wg!==bS(r)||(r=Wg,"selectionStart"in r&&K7(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}),P1&&cy(P1,r)||(P1=r,r=ES(N6,"onSelect"),0Gg||(e.current=U6[Gg],U6[Gg]=null,Gg--)}function nr(e,t){Gg++,U6[Gg]=e.current,e.current=t}var Vd={},lo=of(Vd),Ko=of(!1),Hh=Vd;function $m(e,t){var n=e.type.contextTypes;if(!n)return Vd;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 Yo(e){return e=e.childContextTypes,e!=null}function TS(){cr(Ko),cr(lo)}function lM(e,t,n){if(lo.current!==Vd)throw Error(ze(168));nr(lo,t),nr(Ko,n)}function KN(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(ze(108,Eee(e)||"Unknown",i));return Pr({},n,r)}function MS(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vd,Hh=lo.current,nr(lo,e),nr(Ko,Ko.current),!0}function uM(e,t,n){var r=e.stateNode;if(!r)throw Error(ze(169));n?(e=KN(e,t,Hh),r.__reactInternalMemoizedMergedChildContext=e,cr(Ko),cr(lo),nr(lo,e)):cr(Ko),nr(Ko,n)}var ju=null,dw=!1,_5=!1;function YN(e){ju===null?ju=[e]:ju.push(e)}function Wte(e){dw=!0,YN(e)}function af(){if(!_5&&ju!==null){_5=!0;var e=0,t=In;try{var n=ju;for(In=1;e>=a,i-=a,Fu=1<<32-Gs(t)+i|n<N?(W=I,I=null):W=I.sibling;var B=m(_,I,T[N],L);if(B===null){I===null&&(I=W);break}e&&I&&B.alternate===null&&t(_,I),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B,I=W}if(N===T.length)return n(_,I),yr&&uh(_,N),O;if(I===null){for(;NN?(W=I,I=null):W=I.sibling;var K=m(_,I,B.value,L);if(K===null){I===null&&(I=W);break}e&&I&&K.alternate===null&&t(_,I),k=o(K,k,N),D===null?O=K:D.sibling=K,D=K,I=W}if(B.done)return n(_,I),yr&&uh(_,N),O;if(I===null){for(;!B.done;N++,B=T.next())B=h(_,B.value,L),B!==null&&(k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return yr&&uh(_,N),O}for(I=r(_,I);!B.done;N++,B=T.next())B=y(I,_,N,B.value,L),B!==null&&(e&&B.alternate!==null&&I.delete(B.key===null?N:B.key),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return e&&I.forEach(function(ne){return t(_,ne)}),yr&&uh(_,N),O}function E(_,k,T,L){if(typeof T=="object"&&T!==null&&T.type===zg&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case mb:e:{for(var O=T.key,D=k;D!==null;){if(D.key===O){if(O=T.type,O===zg){if(D.tag===7){n(_,D.sibling),k=i(D,T.props.children),k.return=_,_=k;break e}}else if(D.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===hd&&mM(O)===D.type){n(_,D.sibling),k=i(D,T.props),k.ref=Nv(_,D,T),k.return=_,_=k;break e}n(_,D);break}else t(_,D);D=D.sibling}T.type===zg?(k=Lh(T.props.children,_.mode,L,T.key),k.return=_,_=k):(L=Wx(T.type,T.key,T.props,null,_.mode,L),L.ref=Nv(_,k,T),L.return=_,_=L)}return a(_);case Bg:e:{for(D=T.key;k!==null;){if(k.key===D)if(k.tag===4&&k.stateNode.containerInfo===T.containerInfo&&k.stateNode.implementation===T.implementation){n(_,k.sibling),k=i(k,T.children||[]),k.return=_,_=k;break e}else{n(_,k);break}else t(_,k);k=k.sibling}k=O5(T,_.mode,L),k.return=_,_=k}return a(_);case hd:return D=T._init,E(_,k,D(T._payload),L)}if(o1(T))return b(_,k,T,L);if(Ov(T))return w(_,k,T,L);Pb(_,T)}return typeof T=="string"&&T!==""||typeof T=="number"?(T=""+T,k!==null&&k.tag===6?(n(_,k.sibling),k=i(k,T),k.return=_,_=k):(n(_,k),k=A5(T,_.mode,L),k.return=_,_=k),a(_)):n(_,k)}return E}var Bm=r$(!0),i$=r$(!1),Xy={},ql=of(Xy),py=of(Xy),gy=of(Xy);function _h(e){if(e===Xy)throw Error(ze(174));return e}function r9(e,t){switch(nr(gy,t),nr(py,e),nr(ql,Xy),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:P6(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=P6(t,e)}cr(ql),nr(ql,t)}function zm(){cr(ql),cr(py),cr(gy)}function o$(e){_h(gy.current);var t=_h(ql.current),n=P6(t,e.type);t!==n&&(nr(py,e),nr(ql,n))}function i9(e){py.current===e&&(cr(ql),cr(py))}var kr=of(0);function DS(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)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 k5=[];function o9(){for(var e=0;en?n:4,e(!0);var r=E5.transition;E5.transition={};try{e(!1),t()}finally{In=n,E5.transition=r}}function S$(){return as().memoizedState}function qte(e,t,n){var r=Dd(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},w$(e))C$(t,n);else if(n=JN(e,t,n,r),n!==null){var i=_o();qs(n,e,r,i),_$(n,t,r)}}function Kte(e,t,n){var r=Dd(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(w$(e))C$(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,Zs(s,a)){var l=t.interleaved;l===null?(i.next=i,t9(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=JN(e,t,i,r),n!==null&&(i=_o(),qs(n,e,r,i),_$(n,t,r))}}function w$(e){var t=e.alternate;return e===Er||t!==null&&t===Er}function C$(e,t){T1=jS=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function _$(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,z7(e,n)}}var NS={readContext:os,useCallback:eo,useContext:eo,useEffect:eo,useImperativeHandle:eo,useInsertionEffect:eo,useLayoutEffect:eo,useMemo:eo,useReducer:eo,useRef:eo,useState:eo,useDebugValue:eo,useDeferredValue:eo,useTransition:eo,useMutableSource:eo,useSyncExternalStore:eo,useId:eo,unstable_isNewReconciler:!1},Yte={readContext:os,useCallback:function(e,t){return Ll().memoizedState=[e,t===void 0?null:t],e},useContext:os,useEffect:yM,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Fx(4194308,4,m$.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Fx(4194308,4,e,t)},useInsertionEffect:function(e,t){return Fx(4,2,e,t)},useMemo:function(e,t){var n=Ll();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ll();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=qte.bind(null,Er,e),[r.memoizedState,e]},useRef:function(e){var t=Ll();return e={current:e},t.memoizedState=e},useState:vM,useDebugValue:c9,useDeferredValue:function(e){return Ll().memoizedState=e},useTransition:function(){var e=vM(!1),t=e[0];return e=Gte.bind(null,e[1]),Ll().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Er,i=Ll();if(yr){if(n===void 0)throw Error(ze(407));n=n()}else{if(n=t(),Ai===null)throw Error(ze(349));Uh&30||l$(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,yM(c$.bind(null,r,o,e),[e]),r.flags|=2048,yy(9,u$.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ll(),t=Ai.identifierPrefix;if(yr){var n=Bu,r=Fu;n=(r&~(1<<32-Gs(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=my++,0Gg||(e.current=U6[Gg],U6[Gg]=null,Gg--)}function nr(e,t){Gg++,U6[Gg]=e.current,e.current=t}var Vd={},lo=of(Vd),Ko=of(!1),Hh=Vd;function $m(e,t){var n=e.type.contextTypes;if(!n)return Vd;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 Yo(e){return e=e.childContextTypes,e!=null}function TS(){cr(Ko),cr(lo)}function lM(e,t,n){if(lo.current!==Vd)throw Error(ze(168));nr(lo,t),nr(Ko,n)}function KN(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(ze(108,Eee(e)||"Unknown",i));return Pr({},n,r)}function MS(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vd,Hh=lo.current,nr(lo,e),nr(Ko,Ko.current),!0}function uM(e,t,n){var r=e.stateNode;if(!r)throw Error(ze(169));n?(e=KN(e,t,Hh),r.__reactInternalMemoizedMergedChildContext=e,cr(Ko),cr(lo),nr(lo,e)):cr(Ko),nr(Ko,n)}var ju=null,dw=!1,_5=!1;function YN(e){ju===null?ju=[e]:ju.push(e)}function Wte(e){dw=!0,YN(e)}function af(){if(!_5&&ju!==null){_5=!0;var e=0,t=In;try{var n=ju;for(In=1;e>=a,i-=a,Fu=1<<32-Gs(t)+i|n<N?(W=I,I=null):W=I.sibling;var B=m(_,I,T[N],L);if(B===null){I===null&&(I=W);break}e&&I&&B.alternate===null&&t(_,I),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B,I=W}if(N===T.length)return n(_,I),yr&&uh(_,N),O;if(I===null){for(;NN?(W=I,I=null):W=I.sibling;var K=m(_,I,B.value,L);if(K===null){I===null&&(I=W);break}e&&I&&K.alternate===null&&t(_,I),k=o(K,k,N),D===null?O=K:D.sibling=K,D=K,I=W}if(B.done)return n(_,I),yr&&uh(_,N),O;if(I===null){for(;!B.done;N++,B=T.next())B=h(_,B.value,L),B!==null&&(k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return yr&&uh(_,N),O}for(I=r(_,I);!B.done;N++,B=T.next())B=y(I,_,N,B.value,L),B!==null&&(e&&B.alternate!==null&&I.delete(B.key===null?N:B.key),k=o(B,k,N),D===null?O=B:D.sibling=B,D=B);return e&&I.forEach(function(ne){return t(_,ne)}),yr&&uh(_,N),O}function E(_,k,T,L){if(typeof T=="object"&&T!==null&&T.type===zg&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case mb:e:{for(var O=T.key,D=k;D!==null;){if(D.key===O){if(O=T.type,O===zg){if(D.tag===7){n(_,D.sibling),k=i(D,T.props.children),k.return=_,_=k;break e}}else if(D.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===hd&&mM(O)===D.type){n(_,D.sibling),k=i(D,T.props),k.ref=Nv(_,D,T),k.return=_,_=k;break e}n(_,D);break}else t(_,D);D=D.sibling}T.type===zg?(k=Lh(T.props.children,_.mode,L,T.key),k.return=_,_=k):(L=Wx(T.type,T.key,T.props,null,_.mode,L),L.ref=Nv(_,k,T),L.return=_,_=L)}return a(_);case Bg:e:{for(D=T.key;k!==null;){if(k.key===D)if(k.tag===4&&k.stateNode.containerInfo===T.containerInfo&&k.stateNode.implementation===T.implementation){n(_,k.sibling),k=i(k,T.children||[]),k.return=_,_=k;break e}else{n(_,k);break}else t(_,k);k=k.sibling}k=O5(T,_.mode,L),k.return=_,_=k}return a(_);case hd:return D=T._init,E(_,k,D(T._payload),L)}if(o1(T))return b(_,k,T,L);if(Ov(T))return w(_,k,T,L);Pb(_,T)}return typeof T=="string"&&T!==""||typeof T=="number"?(T=""+T,k!==null&&k.tag===6?(n(_,k.sibling),k=i(k,T),k.return=_,_=k):(n(_,k),k=A5(T,_.mode,L),k.return=_,_=k),a(_)):n(_,k)}return E}var Bm=r$(!0),i$=r$(!1),Xy={},ql=of(Xy),py=of(Xy),gy=of(Xy);function _h(e){if(e===Xy)throw Error(ze(174));return e}function r9(e,t){switch(nr(gy,t),nr(py,e),nr(ql,Xy),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:P6(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=P6(t,e)}cr(ql),nr(ql,t)}function zm(){cr(ql),cr(py),cr(gy)}function o$(e){_h(gy.current);var t=_h(ql.current),n=P6(t,e.type);t!==n&&(nr(py,e),nr(ql,n))}function i9(e){py.current===e&&(cr(ql),cr(py))}var kr=of(0);function DS(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)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 k5=[];function o9(){for(var e=0;en?n:4,e(!0);var r=E5.transition;E5.transition={};try{e(!1),t()}finally{In=n,E5.transition=r}}function S$(){return as().memoizedState}function qte(e,t,n){var r=Dd(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},w$(e))C$(t,n);else if(n=JN(e,t,n,r),n!==null){var i=ko();qs(n,e,r,i),_$(n,t,r)}}function Kte(e,t,n){var r=Dd(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(w$(e))C$(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,Zs(s,a)){var l=t.interleaved;l===null?(i.next=i,t9(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=JN(e,t,i,r),n!==null&&(i=ko(),qs(n,e,r,i),_$(n,t,r))}}function w$(e){var t=e.alternate;return e===Er||t!==null&&t===Er}function C$(e,t){T1=jS=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function _$(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,z7(e,n)}}var NS={readContext:os,useCallback:eo,useContext:eo,useEffect:eo,useImperativeHandle:eo,useInsertionEffect:eo,useLayoutEffect:eo,useMemo:eo,useReducer:eo,useRef:eo,useState:eo,useDebugValue:eo,useDeferredValue:eo,useTransition:eo,useMutableSource:eo,useSyncExternalStore:eo,useId:eo,unstable_isNewReconciler:!1},Yte={readContext:os,useCallback:function(e,t){return Ll().memoizedState=[e,t===void 0?null:t],e},useContext:os,useEffect:yM,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Fx(4194308,4,m$.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Fx(4194308,4,e,t)},useInsertionEffect:function(e,t){return Fx(4,2,e,t)},useMemo:function(e,t){var n=Ll();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ll();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=qte.bind(null,Er,e),[r.memoizedState,e]},useRef:function(e){var t=Ll();return e={current:e},t.memoizedState=e},useState:vM,useDebugValue:c9,useDeferredValue:function(e){return Ll().memoizedState=e},useTransition:function(){var e=vM(!1),t=e[0];return e=Gte.bind(null,e[1]),Ll().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Er,i=Ll();if(yr){if(n===void 0)throw Error(ze(407));n=n()}else{if(n=t(),Ai===null)throw Error(ze(349));Uh&30||l$(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,yM(c$.bind(null,r,o,e),[e]),r.flags|=2048,yy(9,u$.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Ll(),t=Ai.identifierPrefix;if(yr){var n=Bu,r=Fu;n=(r&~(1<<32-Gs(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=my++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[jl]=t,e[hy]=r,R$(e,t,!1,!1),t.stateNode=e;e:{switch(a=M6(n,r),n){case"dialog":ir("cancel",e),ir("close",e),i=r;break;case"iframe":case"object":case"embed":ir("load",e),i=r;break;case"video":case"audio":for(i=0;iWm&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304)}else{if(!r)if(e=DS(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),$v(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!yr)return to(t),null}else 2*Zr()-o.renderingStartTime>Wm&&n!==1073741824&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Zr(),t.sibling=null,n=kr.current,nr(kr,r?n&1|2:n&1),t):(to(t),null);case 22:case 23:return m9(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Sa&1073741824&&(to(t),t.subtreeFlags&6&&(t.flags|=8192)):to(t),null;case 24:return null;case 25:return null}throw Error(ze(156,t.tag))}function rne(e,t){switch(X7(t),t.tag){case 1:return Yo(t.type)&&TS(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zm(),cr(Ko),cr(lo),o9(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return i9(t),null;case 13:if(cr(kr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ze(340));Fm()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return cr(kr),null;case 4:return zm(),null;case 10:return e9(t.type._context),null;case 22:case 23:return m9(),null;case 24:return null;default:return null}}var Mb=!1,io=!1,ine=typeof WeakSet=="function"?WeakSet:Set,dt=null;function Xg(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){$r(e,t,r)}else n.current=null}function n_(e,t,n){try{n()}catch(r){$r(e,t,r)}}var PM=!1;function one(e,t){if(F6=_S,e=FN(),K7(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 a=0,s=-1,l=-1,u=0,d=0,h=e,m=null;t:for(;;){for(var y;h!==n||i!==0&&h.nodeType!==3||(s=a+i),h!==o||r!==0&&h.nodeType!==3||(l=a+r),h.nodeType===3&&(a+=h.nodeValue.length),(y=h.firstChild)!==null;)m=h,h=y;for(;;){if(h===e)break t;if(m===n&&++u===i&&(s=a),m===o&&++d===r&&(l=a),(y=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=y}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(B6={focusedElem:e,selectionRange:n},_S=!1,dt=t;dt!==null;)if(t=dt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,dt=e;else for(;dt!==null;){t=dt;try{var b=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var w=b.memoizedProps,E=b.memoizedState,_=t.stateNode,k=_.getSnapshotBeforeUpdate(t.elementType===t.type?w:Bs(t.type,w),E);_.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var T=t.stateNode.containerInfo;T.nodeType===1?T.textContent="":T.nodeType===9&&T.documentElement&&T.removeChild(T.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ze(163))}}catch(L){$r(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,dt=e;break}dt=t.return}return b=PM,PM=!1,b}function M1(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&&n_(t,n,o)}i=i.next}while(i!==r)}}function pw(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 r_(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 j$(e){var t=e.alternate;t!==null&&(e.alternate=null,j$(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[jl],delete t[hy],delete t[W6],delete t[zte],delete t[Hte])),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 N$(e){return e.tag===5||e.tag===3||e.tag===4}function TM(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||N$(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 i_(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=PS));else if(r!==4&&(e=e.child,e!==null))for(i_(e,t,n),e=e.sibling;e!==null;)i_(e,t,n),e=e.sibling}function o_(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(o_(e,t,n),e=e.sibling;e!==null;)o_(e,t,n),e=e.sibling}var Wi=null,zs=!1;function od(e,t,n){for(n=n.child;n!==null;)$$(e,t,n),n=n.sibling}function $$(e,t,n){if(Gl&&typeof Gl.onCommitFiberUnmount=="function")try{Gl.onCommitFiberUnmount(aw,n)}catch{}switch(n.tag){case 5:io||Xg(n,t);case 6:var r=Wi,i=zs;Wi=null,od(e,t,n),Wi=r,zs=i,Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Wi.removeChild(n.stateNode));break;case 18:Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?C5(e.parentNode,n):e.nodeType===1&&C5(e,n),ly(e)):C5(Wi,n.stateNode));break;case 4:r=Wi,i=zs,Wi=n.stateNode.containerInfo,zs=!0,od(e,t,n),Wi=r,zs=i;break;case 0:case 11:case 14:case 15:if(!io&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&n_(n,t,a),i=i.next}while(i!==r)}od(e,t,n);break;case 1:if(!io&&(Xg(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){$r(n,t,s)}od(e,t,n);break;case 21:od(e,t,n);break;case 22:n.mode&1?(io=(r=io)||n.memoizedState!==null,od(e,t,n),io=r):od(e,t,n);break;default:od(e,t,n)}}function MM(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ine),t.forEach(function(r){var i=pne.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Is(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=Zr()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*sne(r/1960))-r,10e?16:e,wd===null)var r=!1;else{if(e=wd,wd=null,BS=0,un&6)throw Error(ze(331));var i=un;for(un|=4,dt=e.current;dt!==null;){var o=dt,a=o.child;if(dt.flags&16){var s=o.deletions;if(s!==null){for(var l=0;lZr()-p9?Mh(e,0):h9|=n),Xo(e,t)}function G$(e,t){t===0&&(e.mode&1?(t=xb,xb<<=1,!(xb&130023424)&&(xb=4194304)):t=1);var n=_o();e=ec(e,t),e!==null&&(qy(e,t,n),Xo(e,n))}function hne(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),G$(e,n)}function pne(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(ze(314))}r!==null&&r.delete(t),G$(e,n)}var q$;q$=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ko.current)qo=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return qo=!1,tne(e,t,n);qo=!!(e.flags&131072)}else qo=!1,yr&&t.flags&1048576&&XN(t,AS,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Bx(e,t),e=t.pendingProps;var i=$m(t,lo.current);mm(t,n),i=s9(null,t,r,e,i,n);var o=l9();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,Yo(r)?(o=!0,MS(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,n9(t),i.updater=fw,t.stateNode=i,i._reactInternals=t,Y6(t,r,e,n),t=Q6(null,t,r,!0,o,n)):(t.tag=0,yr&&o&&Y7(t),xo(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Bx(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=mne(r),e=Bs(r,e),i){case 0:t=Z6(null,t,r,e,n);break e;case 1:t=_M(null,t,r,e,n);break e;case 11:t=wM(null,t,r,e,n);break e;case 14:t=CM(null,t,r,Bs(r.type,e),n);break e}throw Error(ze(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Z6(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),_M(e,t,r,i,n);case 3:e:{if(L$(t),e===null)throw Error(ze(387));r=t.pendingProps,o=t.memoizedState,i=o.element,e$(e,t),IS(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Hm(Error(ze(423)),t),t=kM(e,t,r,n,i);break e}else if(r!==i){i=Hm(Error(ze(424)),t),t=kM(e,t,r,n,i);break e}else for(ka=Od(t.stateNode.containerInfo.firstChild),Pa=t,yr=!0,Ws=null,n=i$(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Fm(),r===i){t=tc(e,t,n);break e}xo(e,t,r,n)}t=t.child}return t;case 5:return o$(t),e===null&&G6(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,z6(r,i)?a=null:o!==null&&z6(r,o)&&(t.flags|=32),M$(e,t),xo(e,t,a,n),t.child;case 6:return e===null&&G6(t),null;case 13:return A$(e,t,n);case 4:return r9(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Bm(t,null,r,n):xo(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),wM(e,t,r,i,n);case 7:return xo(e,t,t.pendingProps,n),t.child;case 8:return xo(e,t,t.pendingProps.children,n),t.child;case 12:return xo(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,nr(OS,r._currentValue),r._currentValue=a,o!==null)if(Zs(o.value,a)){if(o.children===i.children&&!Ko.current){t=tc(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Wu(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),q6(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(ze(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),q6(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}xo(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,mm(t,n),i=os(i),r=r(i),t.flags|=1,xo(e,t,r,n),t.child;case 14:return r=t.type,i=Bs(r,t.pendingProps),i=Bs(r.type,i),CM(e,t,r,i,n);case 15:return P$(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Bx(e,t),t.tag=1,Yo(r)?(e=!0,MS(t)):e=!1,mm(t,n),n$(t,r,i),Y6(t,r,i,n),Q6(null,t,r,!0,e,n);case 19:return O$(e,t,n);case 22:return T$(e,t,n)}throw Error(ze(156,t.tag))};function K$(e,t){return xN(e,t)}function gne(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 es(e,t,n,r){return new gne(e,t,n,r)}function y9(e){return e=e.prototype,!(!e||!e.isReactComponent)}function mne(e){if(typeof e=="function")return y9(e)?1:0;if(e!=null){if(e=e.$$typeof,e===N7)return 11;if(e===$7)return 14}return 2}function jd(e,t){var n=e.alternate;return n===null?(n=es(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 Wx(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")y9(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case zg:return Lh(n.children,i,o,t);case j7:a=8,i|=8;break;case b6:return e=es(12,n,t,i|2),e.elementType=b6,e.lanes=o,e;case x6:return e=es(13,n,t,i),e.elementType=x6,e.lanes=o,e;case S6:return e=es(19,n,t,i),e.elementType=S6,e.lanes=o,e;case rN:return mw(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case tN:a=10;break e;case nN:a=9;break e;case N7:a=11;break e;case $7:a=14;break e;case hd:a=16,r=null;break e}throw Error(ze(130,e==null?e:typeof e,""))}return t=es(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Lh(e,t,n,r){return e=es(7,e,r,t),e.lanes=n,e}function mw(e,t,n,r){return e=es(22,e,r,t),e.elementType=rN,e.lanes=n,e.stateNode={isHidden:!1},e}function A5(e,t,n){return e=es(6,e,null,t),e.lanes=n,e}function O5(e,t,n){return t=es(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function vne(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=f5(0),this.expirationTimes=f5(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=f5(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function b9(e,t,n,r,i,o,a,s,l){return e=new vne(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=es(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},n9(o),e}function yne(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=Ia})(bee);const Ob=S7(Xs);var[Q$,Cne]=Pn({strict:!1,name:"PortalContext"}),C9="chakra-portal",_ne=".chakra-portal",kne=e=>g.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),Ene=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=S.useState(null),o=S.useRef(null),[,a]=S.useState({});S.useEffect(()=>a({}),[]);const s=Cne(),l=yee();Vl(()=>{if(!r)return;const d=r.ownerDocument,h=t?s??d.body:d.body;if(!h)return;o.current=d.createElement("div"),o.current.className=C9,h.appendChild(o.current),a({});const m=o.current;return()=>{h.contains(m)&&h.removeChild(m)}},[r]);const u=l!=null&&l.zIndex?g.jsx(kne,{zIndex:l==null?void 0:l.zIndex,children:n}):n;return o.current?Xs.createPortal(g.jsx(Q$,{value:o.current,children:u}),o.current):g.jsx("span",{ref:d=>{d&&i(d)}})},Pne=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),a=S.useMemo(()=>{const l=i==null?void 0:i.ownerDocument.createElement("div");return l&&(l.className=C9),l},[i]),[,s]=S.useState({});return Vl(()=>s({}),[]),Vl(()=>{if(!(!a||!o))return o.appendChild(a),()=>{o.removeChild(a)}},[a,o]),o&&a?Xs.createPortal(g.jsx(Q$,{value:r?a:null,children:t}),a):null};function c0(e){const t={appendToParentPortal:!0,...e},{containerRef:n,...r}=t;return n?g.jsx(Pne,{containerRef:n,...r}):g.jsx(Ene,{...r})}c0.className=C9;c0.selector=_ne;c0.displayName="Portal";function Zy(){const e=S.useContext(ny);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}var _9=S.createContext({});_9.displayName="ColorModeContext";function Qy(){const e=S.useContext(_9);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}var Rb={light:"chakra-ui-light",dark:"chakra-ui-dark"};function Tne(e={}){const{preventTransition:t=!0}=e,n={setDataset:r=>{const i=t?n.preventTransition():void 0;document.documentElement.dataset.theme=r,document.documentElement.style.colorScheme=r,i==null||i()},setClassName(r){document.body.classList.add(r?Rb.dark:Rb.light),document.body.classList.remove(r?Rb.light:Rb.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(r){var i;return((i=n.query().matches)!=null?i:r==="dark")?"dark":"light"},addListener(r){const i=n.query(),o=a=>{r(a.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(o):i.addEventListener("change",o),()=>{typeof i.removeListener=="function"?i.removeListener(o):i.removeEventListener("change",o)}},preventTransition(){const r=document.createElement("style");return r.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(r),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(r)})})}}};return n}var Mne="chakra-ui-color-mode";function Lne(e){return{ssr:!1,type:"localStorage",get(t){if(!(globalThis!=null&&globalThis.document))return t;let n;try{n=localStorage.getItem(e)||t}catch{}return n||t},set(t){try{localStorage.setItem(e,t)}catch{}}}}var Ane=Lne(Mne),NM=()=>{};function $M(e,t){return e.type==="cookie"&&e.ssr?e.get(t):t}function J$(e){const{value:t,children:n,options:{useSystemColorMode:r,initialColorMode:i,disableTransitionOnChange:o}={},colorModeManager:a=Ane}=e,s=i==="dark"?"dark":"light",[l,u]=S.useState(()=>$M(a,s)),[d,h]=S.useState(()=>$M(a)),{getSystemTheme:m,setClassName:y,setDataset:b,addListener:w}=S.useMemo(()=>Tne({preventTransition:o}),[o]),E=i==="system"&&!l?d:l,_=S.useCallback(L=>{const O=L==="system"?m():L;u(O),y(O==="dark"),b(O),a.set(O)},[a,m,y,b]);Vl(()=>{i==="system"&&h(m())},[]),S.useEffect(()=>{const L=a.get();if(L){_(L);return}if(i==="system"){_("system");return}_(s)},[a,s,i,_]);const k=S.useCallback(()=>{_(E==="dark"?"light":"dark")},[E,_]);S.useEffect(()=>{if(r)return w(_)},[r,w,_]);const T=S.useMemo(()=>({colorMode:t??E,toggleColorMode:t?NM:k,setColorMode:t?NM:_,forced:t!==void 0}),[E,k,_,t]);return g.jsx(_9.Provider,{value:T,children:n})}J$.displayName="ColorModeProvider";function eF(){const e=Qy(),t=Zy();return{...e,theme:t}}var xt=(...e)=>e.filter(Boolean).join(" ");function One(){return!1}function ko(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var Jy=e=>{const{condition:t,message:n}=e;t&&One()&&console.warn(n)};function ts(e,...t){return Rne(e)?e(...t):e}var Rne=e=>typeof e=="function",Bt=e=>e?"":void 0,Uu=e=>e?!0:void 0;function ht(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function Sw(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var WS={},Ine={get exports(){return WS},set exports(e){WS=e}};(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,a=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",h="[object Date]",m="[object Error]",y="[object Function]",b="[object GeneratorFunction]",w="[object Map]",E="[object Number]",_="[object Null]",k="[object Object]",T="[object Proxy]",L="[object RegExp]",O="[object Set]",D="[object String]",I="[object Undefined]",N="[object WeakMap]",W="[object ArrayBuffer]",B="[object DataView]",K="[object Float32Array]",ne="[object Float64Array]",z="[object Int8Array]",$="[object Int16Array]",V="[object Int32Array]",X="[object Uint8Array]",Q="[object Uint8ClampedArray]",G="[object Uint16Array]",Y="[object Uint32Array]",ee=/[\\^$.*+?()[\]{}|]/g,fe=/^\[object .+?Constructor\]$/,Ce=/^(?:0|[1-9]\d*)$/,we={};we[K]=we[ne]=we[z]=we[$]=we[V]=we[X]=we[Q]=we[G]=we[Y]=!0,we[s]=we[l]=we[W]=we[d]=we[B]=we[h]=we[m]=we[y]=we[w]=we[E]=we[k]=we[L]=we[O]=we[D]=we[N]=!1;var xe=typeof So=="object"&&So&&So.Object===Object&&So,Le=typeof self=="object"&&self&&self.Object===Object&&self,Se=xe||Le||Function("return this")(),Qe=t&&!t.nodeType&&t,Xe=Qe&&!0&&e&&!e.nodeType&&e,tt=Xe&&Xe.exports===Qe,yt=tt&&xe.process,Be=function(){try{var q=Xe&&Xe.require&&Xe.require("util").types;return q||yt&&yt.binding&&yt.binding("util")}catch{}}(),Ae=Be&&Be.isTypedArray;function bt(q,re,pe){switch(pe.length){case 0:return q.call(re);case 1:return q.call(re,pe[0]);case 2:return q.call(re,pe[0],pe[1]);case 3:return q.call(re,pe[0],pe[1],pe[2])}return q.apply(re,pe)}function Fe(q,re){for(var pe=-1,ot=Array(q);++pe-1}function P0(q,re){var pe=this.__data__,ot=xs(pe,q);return ot<0?(++this.size,pe.push([q,re])):pe[ot][1]=re,this}na.prototype.clear=mf,na.prototype.delete=E0,na.prototype.get=xc,na.prototype.has=vf,na.prototype.set=P0;function nl(q){var re=-1,pe=q==null?0:q.length;for(this.clear();++re1?pe[Ht-1]:void 0,St=Ht>2?pe[2]:void 0;for(mn=q.length>3&&typeof mn=="function"?(Ht--,mn):void 0,St&&Pp(pe[0],pe[1],St)&&(mn=Ht<3?void 0:mn,Ht=1),re=Object(re);++ot-1&&q%1==0&&q0){if(++re>=i)return arguments[0]}else re=0;return q.apply(void 0,arguments)}}function kc(q){if(q!=null){try{return He.call(q)}catch{}try{return q+""}catch{}}return""}function $a(q,re){return q===re||q!==q&&re!==re}var wf=pu(function(){return arguments}())?pu:function(q){return Xn(q)&&Ue.call(q,"callee")&&!zr.call(q,"callee")},vu=Array.isArray;function Gt(q){return q!=null&&Mp(q.length)&&!Pc(q)}function Tp(q){return Xn(q)&&Gt(q)}var Ec=vs||B0;function Pc(q){if(!aa(q))return!1;var re=il(q);return re==y||re==b||re==u||re==T}function Mp(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=a}function aa(q){var re=typeof q;return q!=null&&(re=="object"||re=="function")}function Xn(q){return q!=null&&typeof q=="object"}function Cf(q){if(!Xn(q)||il(q)!=k)return!1;var re=qe(q);if(re===null)return!0;var pe=Ue.call(re,"constructor")&&re.constructor;return typeof pe=="function"&&pe instanceof pe&&He.call(pe)==vt}var Lp=Ae?at(Ae):wc;function _f(q){return ci(q,Ap(q))}function Ap(q){return Gt(q)?N0(q,!0):ol(q)}var cn=Ss(function(q,re,pe,ot){ra(q,re,pe,ot)});function qt(q){return function(){return q}}function Op(q){return q}function B0(){return!1}e.exports=cn})(Ine,WS);const Bl=WS;var Dne=e=>/!(important)?$/.test(e),FM=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,jne=(e,t)=>n=>{const r=String(t),i=Dne(r),o=FM(r),a=e?`${e}.${o}`:o;let s=ko(n.__cssMap)&&a in n.__cssMap?n.__cssMap[a].varRef:t;return s=FM(s),i?`${s} !important`:s};function k9(e){const{scale:t,transform:n,compose:r}=e;return(o,a)=>{var s;const l=jne(t,o)(a);let u=(s=n==null?void 0:n(l,a))!=null?s:l;return r&&(u=r(u,a)),u}}var Ib=(...e)=>t=>e.reduce((n,r)=>r(n),t);function Ds(e,t){return n=>{const r={property:n,scale:e};return r.transform=k9({scale:e,transform:t}),r}}var Nne=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function $ne(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Nne(t),transform:n?k9({scale:n,compose:r}):r}}var tF=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Fne(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...tF].join(" ")}function Bne(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...tF].join(" ")}var zne={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Hne={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Wne(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Une={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},c_={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Vne=new Set(Object.values(c_)),nF=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Gne=e=>e.trim();function qne(e,t){if(e==null||nF.has(e))return e;const r=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),i=r==null?void 0:r[1],o=r==null?void 0:r[2];if(!i||!o)return e;const a=i.includes("-gradient")?i:`${i}-gradient`,[s,...l]=o.split(",").map(Gne).filter(Boolean);if((l==null?void 0:l.length)===0)return e;const u=s in c_?c_[s]:s;l.unshift(u);const d=l.map(h=>{if(Vne.has(h))return h;const m=h.indexOf(" "),[y,b]=m!==-1?[h.substr(0,m),h.substr(m+1)]:[h],w=rF(b)?b:b&&b.split(" "),E=`colors.${y}`,_=E in t.__cssMap?t.__cssMap[E].varRef:y;return w?[_,...Array.isArray(w)?w:[w]].join(" "):_});return`${a}(${d.join(", ")})`}var rF=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),Kne=(e,t)=>qne(e,t??{});function Yne(e){return/^var\(--.+\)$/.test(e)}var Xne=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Pl=e=>t=>`${e}(${t})`,ln={filter(e){return e!=="auto"?e:zne},backdropFilter(e){return e!=="auto"?e:Hne},ring(e){return Wne(ln.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Fne():e==="auto-gpu"?Bne():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=Xne(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(Yne(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:Kne,blur:Pl("blur"),opacity:Pl("opacity"),brightness:Pl("brightness"),contrast:Pl("contrast"),dropShadow:Pl("drop-shadow"),grayscale:Pl("grayscale"),hueRotate:Pl("hue-rotate"),invert:Pl("invert"),saturate:Pl("saturate"),sepia:Pl("sepia"),bgImage(e){return e==null||rF(e)||nF.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Une[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},oe={borderWidths:Ds("borderWidths"),borderStyles:Ds("borderStyles"),colors:Ds("colors"),borders:Ds("borders"),radii:Ds("radii",ln.px),space:Ds("space",Ib(ln.vh,ln.px)),spaceT:Ds("space",Ib(ln.vh,ln.px)),degreeT(e){return{property:e,transform:ln.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:k9({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:Ds("sizes",Ib(ln.vh,ln.px)),sizesT:Ds("sizes",Ib(ln.vh,ln.fraction)),shadows:Ds("shadows"),logical:$ne,blur:Ds("blur",ln.blur)},Ux={background:oe.colors("background"),backgroundColor:oe.colors("backgroundColor"),backgroundImage:oe.propT("backgroundImage",ln.bgImage),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:ln.bgClip},bgSize:oe.prop("backgroundSize"),bgPosition:oe.prop("backgroundPosition"),bg:oe.colors("background"),bgColor:oe.colors("backgroundColor"),bgPos:oe.prop("backgroundPosition"),bgRepeat:oe.prop("backgroundRepeat"),bgAttachment:oe.prop("backgroundAttachment"),bgGradient:oe.propT("backgroundImage",ln.gradient),bgClip:{transform:ln.bgClip}};Object.assign(Ux,{bgImage:Ux.backgroundImage,bgImg:Ux.backgroundImage});var yn={border:oe.borders("border"),borderWidth:oe.borderWidths("borderWidth"),borderStyle:oe.borderStyles("borderStyle"),borderColor:oe.colors("borderColor"),borderRadius:oe.radii("borderRadius"),borderTop:oe.borders("borderTop"),borderBlockStart:oe.borders("borderBlockStart"),borderTopLeftRadius:oe.radii("borderTopLeftRadius"),borderStartStartRadius:oe.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:oe.radii("borderTopRightRadius"),borderStartEndRadius:oe.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:oe.borders("borderRight"),borderInlineEnd:oe.borders("borderInlineEnd"),borderBottom:oe.borders("borderBottom"),borderBlockEnd:oe.borders("borderBlockEnd"),borderBottomLeftRadius:oe.radii("borderBottomLeftRadius"),borderBottomRightRadius:oe.radii("borderBottomRightRadius"),borderLeft:oe.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:oe.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:oe.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:oe.borders(["borderLeft","borderRight"]),borderInline:oe.borders("borderInline"),borderY:oe.borders(["borderTop","borderBottom"]),borderBlock:oe.borders("borderBlock"),borderTopWidth:oe.borderWidths("borderTopWidth"),borderBlockStartWidth:oe.borderWidths("borderBlockStartWidth"),borderTopColor:oe.colors("borderTopColor"),borderBlockStartColor:oe.colors("borderBlockStartColor"),borderTopStyle:oe.borderStyles("borderTopStyle"),borderBlockStartStyle:oe.borderStyles("borderBlockStartStyle"),borderBottomWidth:oe.borderWidths("borderBottomWidth"),borderBlockEndWidth:oe.borderWidths("borderBlockEndWidth"),borderBottomColor:oe.colors("borderBottomColor"),borderBlockEndColor:oe.colors("borderBlockEndColor"),borderBottomStyle:oe.borderStyles("borderBottomStyle"),borderBlockEndStyle:oe.borderStyles("borderBlockEndStyle"),borderLeftWidth:oe.borderWidths("borderLeftWidth"),borderInlineStartWidth:oe.borderWidths("borderInlineStartWidth"),borderLeftColor:oe.colors("borderLeftColor"),borderInlineStartColor:oe.colors("borderInlineStartColor"),borderLeftStyle:oe.borderStyles("borderLeftStyle"),borderInlineStartStyle:oe.borderStyles("borderInlineStartStyle"),borderRightWidth:oe.borderWidths("borderRightWidth"),borderInlineEndWidth:oe.borderWidths("borderInlineEndWidth"),borderRightColor:oe.colors("borderRightColor"),borderInlineEndColor:oe.colors("borderInlineEndColor"),borderRightStyle:oe.borderStyles("borderRightStyle"),borderInlineEndStyle:oe.borderStyles("borderInlineEndStyle"),borderTopRadius:oe.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:oe.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:oe.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:oe.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(yn,{rounded:yn.borderRadius,roundedTop:yn.borderTopRadius,roundedTopLeft:yn.borderTopLeftRadius,roundedTopRight:yn.borderTopRightRadius,roundedTopStart:yn.borderStartStartRadius,roundedTopEnd:yn.borderStartEndRadius,roundedBottom:yn.borderBottomRadius,roundedBottomLeft:yn.borderBottomLeftRadius,roundedBottomRight:yn.borderBottomRightRadius,roundedBottomStart:yn.borderEndStartRadius,roundedBottomEnd:yn.borderEndEndRadius,roundedLeft:yn.borderLeftRadius,roundedRight:yn.borderRightRadius,roundedStart:yn.borderInlineStartRadius,roundedEnd:yn.borderInlineEndRadius,borderStart:yn.borderInlineStart,borderEnd:yn.borderInlineEnd,borderTopStartRadius:yn.borderStartStartRadius,borderTopEndRadius:yn.borderStartEndRadius,borderBottomStartRadius:yn.borderEndStartRadius,borderBottomEndRadius:yn.borderEndEndRadius,borderStartRadius:yn.borderInlineStartRadius,borderEndRadius:yn.borderInlineEndRadius,borderStartWidth:yn.borderInlineStartWidth,borderEndWidth:yn.borderInlineEndWidth,borderStartColor:yn.borderInlineStartColor,borderEndColor:yn.borderInlineEndColor,borderStartStyle:yn.borderInlineStartStyle,borderEndStyle:yn.borderInlineEndStyle});var Zne={color:oe.colors("color"),textColor:oe.colors("color"),fill:oe.colors("fill"),stroke:oe.colors("stroke")},d_={boxShadow:oe.shadows("boxShadow"),mixBlendMode:!0,blendMode:oe.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:oe.prop("backgroundBlendMode"),opacity:!0};Object.assign(d_,{shadow:d_.boxShadow});var Qne={filter:{transform:ln.filter},blur:oe.blur("--chakra-blur"),brightness:oe.propT("--chakra-brightness",ln.brightness),contrast:oe.propT("--chakra-contrast",ln.contrast),hueRotate:oe.degreeT("--chakra-hue-rotate"),invert:oe.propT("--chakra-invert",ln.invert),saturate:oe.propT("--chakra-saturate",ln.saturate),dropShadow:oe.propT("--chakra-drop-shadow",ln.dropShadow),backdropFilter:{transform:ln.backdropFilter},backdropBlur:oe.blur("--chakra-backdrop-blur"),backdropBrightness:oe.propT("--chakra-backdrop-brightness",ln.brightness),backdropContrast:oe.propT("--chakra-backdrop-contrast",ln.contrast),backdropHueRotate:oe.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:oe.propT("--chakra-backdrop-invert",ln.invert),backdropSaturate:oe.propT("--chakra-backdrop-saturate",ln.saturate)},US={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:ln.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:oe.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:oe.space("gap"),rowGap:oe.space("rowGap"),columnGap:oe.space("columnGap")};Object.assign(US,{flexDir:US.flexDirection});var iF={gridGap:oe.space("gridGap"),gridColumnGap:oe.space("gridColumnGap"),gridRowGap:oe.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},Jne={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:ln.outline},outlineOffset:!0,outlineColor:oe.colors("outlineColor")},Ka={width:oe.sizesT("width"),inlineSize:oe.sizesT("inlineSize"),height:oe.sizes("height"),blockSize:oe.sizes("blockSize"),boxSize:oe.sizes(["width","height"]),minWidth:oe.sizes("minWidth"),minInlineSize:oe.sizes("minInlineSize"),minHeight:oe.sizes("minHeight"),minBlockSize:oe.sizes("minBlockSize"),maxWidth:oe.sizes("maxWidth"),maxInlineSize:oe.sizes("maxInlineSize"),maxHeight:oe.sizes("maxHeight"),maxBlockSize:oe.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minWQuery)!=null?i:`@media screen and (min-width: ${e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.maxWQuery)!=null?i:`@media screen and (max-width: ${e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:oe.propT("float",ln.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(Ka,{w:Ka.width,h:Ka.height,minW:Ka.minWidth,maxW:Ka.maxWidth,minH:Ka.minHeight,maxH:Ka.maxHeight,overscroll:Ka.overscrollBehavior,overscrollX:Ka.overscrollBehaviorX,overscrollY:Ka.overscrollBehaviorY});var ere={listStyleType:!0,listStylePosition:!0,listStylePos:oe.prop("listStylePosition"),listStyleImage:!0,listStyleImg:oe.prop("listStyleImage")};function tre(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},rre=nre(tre),ire={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},ore={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},R5=(e,t,n)=>{const r={},i=rre(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},are={srOnly:{transform(e){return e===!0?ire:e==="focusable"?ore:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>R5(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>R5(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>R5(t,e,n)}},O1={position:!0,pos:oe.prop("position"),zIndex:oe.prop("zIndex","zIndices"),inset:oe.spaceT("inset"),insetX:oe.spaceT(["left","right"]),insetInline:oe.spaceT("insetInline"),insetY:oe.spaceT(["top","bottom"]),insetBlock:oe.spaceT("insetBlock"),top:oe.spaceT("top"),insetBlockStart:oe.spaceT("insetBlockStart"),bottom:oe.spaceT("bottom"),insetBlockEnd:oe.spaceT("insetBlockEnd"),left:oe.spaceT("left"),insetInlineStart:oe.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:oe.spaceT("right"),insetInlineEnd:oe.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(O1,{insetStart:O1.insetInlineStart,insetEnd:O1.insetInlineEnd});var sre={ring:{transform:ln.ring},ringColor:oe.colors("--chakra-ring-color"),ringOffset:oe.prop("--chakra-ring-offset-width"),ringOffsetColor:oe.colors("--chakra-ring-offset-color"),ringInset:oe.prop("--chakra-ring-inset")},or={margin:oe.spaceT("margin"),marginTop:oe.spaceT("marginTop"),marginBlockStart:oe.spaceT("marginBlockStart"),marginRight:oe.spaceT("marginRight"),marginInlineEnd:oe.spaceT("marginInlineEnd"),marginBottom:oe.spaceT("marginBottom"),marginBlockEnd:oe.spaceT("marginBlockEnd"),marginLeft:oe.spaceT("marginLeft"),marginInlineStart:oe.spaceT("marginInlineStart"),marginX:oe.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:oe.spaceT("marginInline"),marginY:oe.spaceT(["marginTop","marginBottom"]),marginBlock:oe.spaceT("marginBlock"),padding:oe.space("padding"),paddingTop:oe.space("paddingTop"),paddingBlockStart:oe.space("paddingBlockStart"),paddingRight:oe.space("paddingRight"),paddingBottom:oe.space("paddingBottom"),paddingBlockEnd:oe.space("paddingBlockEnd"),paddingLeft:oe.space("paddingLeft"),paddingInlineStart:oe.space("paddingInlineStart"),paddingInlineEnd:oe.space("paddingInlineEnd"),paddingX:oe.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:oe.space("paddingInline"),paddingY:oe.space(["paddingTop","paddingBottom"]),paddingBlock:oe.space("paddingBlock")};Object.assign(or,{m:or.margin,mt:or.marginTop,mr:or.marginRight,me:or.marginInlineEnd,marginEnd:or.marginInlineEnd,mb:or.marginBottom,ml:or.marginLeft,ms:or.marginInlineStart,marginStart:or.marginInlineStart,mx:or.marginX,my:or.marginY,p:or.padding,pt:or.paddingTop,py:or.paddingY,px:or.paddingX,pb:or.paddingBottom,pl:or.paddingLeft,ps:or.paddingInlineStart,paddingStart:or.paddingInlineStart,pr:or.paddingRight,pe:or.paddingInlineEnd,paddingEnd:or.paddingInlineEnd});var lre={textDecorationColor:oe.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:oe.shadows("textShadow")},ure={clipPath:!0,transform:oe.propT("transform",ln.transform),transformOrigin:!0,translateX:oe.spaceT("--chakra-translate-x"),translateY:oe.spaceT("--chakra-translate-y"),skewX:oe.degreeT("--chakra-skew-x"),skewY:oe.degreeT("--chakra-skew-y"),scaleX:oe.prop("--chakra-scale-x"),scaleY:oe.prop("--chakra-scale-y"),scale:oe.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:oe.degreeT("--chakra-rotate")},cre={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:oe.prop("transitionDuration","transition.duration"),transitionProperty:oe.prop("transitionProperty","transition.property"),transitionTimingFunction:oe.prop("transitionTimingFunction","transition.easing")},dre={fontFamily:oe.prop("fontFamily","fonts"),fontSize:oe.prop("fontSize","fontSizes",ln.px),fontWeight:oe.prop("fontWeight","fontWeights"),lineHeight:oe.prop("lineHeight","lineHeights"),letterSpacing:oe.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},fre={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:oe.spaceT("scrollMargin"),scrollMarginTop:oe.spaceT("scrollMarginTop"),scrollMarginBottom:oe.spaceT("scrollMarginBottom"),scrollMarginLeft:oe.spaceT("scrollMarginLeft"),scrollMarginRight:oe.spaceT("scrollMarginRight"),scrollMarginX:oe.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:oe.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:oe.spaceT("scrollPadding"),scrollPaddingTop:oe.spaceT("scrollPaddingTop"),scrollPaddingBottom:oe.spaceT("scrollPaddingBottom"),scrollPaddingLeft:oe.spaceT("scrollPaddingLeft"),scrollPaddingRight:oe.spaceT("scrollPaddingRight"),scrollPaddingX:oe.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:oe.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function oF(e){return ko(e)&&e.reference?e.reference:String(e)}var ww=(e,...t)=>t.map(oF).join(` ${e} `).replace(/calc/g,""),BM=(...e)=>`calc(${ww("+",...e)})`,zM=(...e)=>`calc(${ww("-",...e)})`,f_=(...e)=>`calc(${ww("*",...e)})`,HM=(...e)=>`calc(${ww("/",...e)})`,WM=e=>{const t=oF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:f_(t,-1)},bh=Object.assign(e=>({add:(...t)=>bh(BM(e,...t)),subtract:(...t)=>bh(zM(e,...t)),multiply:(...t)=>bh(f_(e,...t)),divide:(...t)=>bh(HM(e,...t)),negate:()=>bh(WM(e)),toString:()=>e.toString()}),{add:BM,subtract:zM,multiply:f_,divide:HM,negate:WM});function hre(e,t="-"){return e.replace(/\s+/g,t)}function pre(e){const t=hre(e.toString());return mre(gre(t))}function gre(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function mre(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function vre(e,t=""){return[t,e].filter(Boolean).join("-")}function yre(e,t){return`var(${e}${t?`, ${t}`:""})`}function bre(e,t=""){return pre(`--${vre(e,t)}`)}function gn(e,t,n){const r=bre(e,n);return{variable:r,reference:yre(r,t)}}function xre(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Sre(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function h_(e){if(e==null)return e;const{unitless:t}=Sre(e);return t||typeof e=="number"?`${e}px`:e}var aF=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,E9=e=>Object.fromEntries(Object.entries(e).sort(aF));function UM(e){const t=E9(e);return Object.assign(Object.values(t),t)}function wre(e){const t=Object.keys(E9(e));return new Set(t)}function VM(e){var t;if(!e)return e;e=(t=h_(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function l1(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${h_(e)})`),t&&n.push("and",`(max-width: ${h_(t)})`),n.join(" ")}function Cre(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=UM(e),r=Object.entries(e).sort(aF).map(([a,s],l,u)=>{var d;let[,h]=(d=u[l+1])!=null?d:[];return h=parseFloat(h)>0?VM(h):void 0,{_minW:VM(s),breakpoint:a,minW:s,maxW:h,maxWQuery:l1(null,h),minWQuery:l1(s),minMaxQuery:l1(s,h)}}),i=wre(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(a){const s=Object.keys(a);return s.length>0&&s.every(l=>i.has(l))},asObject:E9(e),asArray:UM(e),details:r,get(a){return r.find(s=>s.breakpoint===a)},media:[null,...n.map(a=>l1(a)).slice(1)],toArrayValue(a){if(!ko(a))throw new Error("toArrayValue: value must be an object");const s=o.map(l=>{var u;return(u=a[l])!=null?u:null});for(;xre(s)===null;)s.pop();return s},toObjectValue(a){if(!Array.isArray(a))throw new Error("toObjectValue: value must be an array");return a.reduce((s,l,u)=>{const d=o[u];return d!=null&&l!=null&&(s[d]=l),s},{})}}}var zi={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ad=e=>sF(t=>e(t,"&"),"[role=group]","[data-group]",".group"),Au=e=>sF(t=>e(t,"~ &"),"[data-peer]",".peer"),sF=(e,...t)=>t.map(e).join(", "),Cw={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ad(zi.hover),_peerHover:Au(zi.hover),_groupFocus:ad(zi.focus),_peerFocus:Au(zi.focus),_groupFocusVisible:ad(zi.focusVisible),_peerFocusVisible:Au(zi.focusVisible),_groupActive:ad(zi.active),_peerActive:Au(zi.active),_groupDisabled:ad(zi.disabled),_peerDisabled:Au(zi.disabled),_groupInvalid:ad(zi.invalid),_peerInvalid:Au(zi.invalid),_groupChecked:ad(zi.checked),_peerChecked:Au(zi.checked),_groupFocusWithin:ad(zi.focusWithin),_peerFocusWithin:Au(zi.focusWithin),_peerPlaceholderShown:Au(zi.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]"},_re=Object.keys(Cw);function GM(e,t){return gn(String(e).replace(/\./g,"-"),void 0,t)}function kre(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:a,value:s}=o,{variable:l,reference:u}=GM(i,t==null?void 0:t.cssVarPrefix);if(!a){if(i.startsWith("space")){const m=i.split("."),[y,...b]=m,w=`${y}.-${b.join(".")}`,E=bh.negate(s),_=bh.negate(u);r[w]={value:E,var:l,varRef:_}}n[l]=s,r[i]={value:s,var:l,varRef:u};continue}const d=m=>{const b=[String(i).split(".")[0],m].join(".");if(!e[b])return m;const{reference:E}=GM(b,t==null?void 0:t.cssVarPrefix);return E},h=ko(s)?s:{default:s};n=Bl(n,Object.entries(h).reduce((m,[y,b])=>{var w,E;const _=d(b);if(y==="default")return m[l]=_,m;const k=(E=(w=Cw)==null?void 0:w[y])!=null?E:y;return m[k]={[l]:_},m},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Ere(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Pre(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Tre=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Mre(e){return Pre(e,Tre)}function Lre(e){return e.semanticTokens}function Are(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}function Ore({tokens:e,semanticTokens:t}){var n,r;const i=Object.entries((n=p_(e))!=null?n:{}).map(([a,s])=>[a,{isSemantic:!1,value:s}]),o=Object.entries((r=p_(t,1))!=null?r:{}).map(([a,s])=>[a,{isSemantic:!0,value:s}]);return Object.fromEntries([...i,...o])}function p_(e,t=1/0){return!ko(e)&&!Array.isArray(e)||!t?e:Object.entries(e).reduce((n,[r,i])=>(ko(i)||Array.isArray(i)?Object.entries(p_(i,t-1)).forEach(([o,a])=>{n[`${r}.${o}`]=a}):n[r]=i,n),{})}function Rre(e){var t;const n=Are(e),r=Mre(n),i=Lre(n),o=Ore({tokens:r,semanticTokens:i}),a=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:s,cssVars:l}=kre(o,{cssVarPrefix:a});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:s,__breakpoints:Cre(n.breakpoints)}),n}var P9=Bl({},Ux,yn,Zne,US,Ka,Qne,sre,Jne,iF,are,O1,d_,or,fre,dre,lre,ure,ere,cre),Ire=Object.assign({},or,Ka,US,iF,O1),lF=Object.keys(Ire),Dre=[...Object.keys(P9),..._re],jre={...P9,...Cw},Nre=e=>e in jre,$re=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const a in e){let s=ts(e[a],t);if(s==null)continue;if(s=ko(s)&&n(s)?r(s):s,!Array.isArray(s)){o[a]=s;continue}const l=s.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!Bre(t),Hre=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[a,s]=Fre(t);return t=(r=(n=i(a))!=null?n:o(s))!=null?r:o(t),t};function Wre(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,a=!1)=>{var s,l,u;const d=ts(o,r),h=$re(d)(r);let m={};for(let y in h){const b=h[y];let w=ts(b,r);y in n&&(y=n[y]),zre(y,w)&&(w=Hre(r,w));let E=t[y];if(E===!0&&(E={property:y}),ko(w)){m[y]=(s=m[y])!=null?s:{},m[y]=Bl({},m[y],i(w,!0));continue}let _=(u=(l=E==null?void 0:E.transform)==null?void 0:l.call(E,w,r,d))!=null?u:w;_=E!=null&&E.processResult?i(_,!0):_;const k=ts(E==null?void 0:E.property,r);if(!a&&(E!=null&&E.static)){const T=ts(E.static,r);m=Bl({},m,T)}if(k&&Array.isArray(k)){for(const T of k)m[T]=_;continue}if(k){k==="&"&&ko(_)?m=Bl({},m,_):m[k]=_;continue}if(ko(_)){m=Bl({},m,_);continue}m[y]=_}return m};return i}var uF=e=>t=>Wre({theme:t,pseudos:Cw,configs:P9})(e);function dr(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Ure(e,t){if(Array.isArray(e))return e;if(ko(e))return t(e);if(e!=null)return[e]}function Vre(e,t){for(let n=t+1;n{Bl(u,{[T]:m?k[T]:{[_]:k[T]}})});continue}if(!y){m?Bl(u,k):u[_]=k;continue}u[_]=k}}return u}}function qre(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,a=Gre(o);return Bl({},ts((n=e.baseStyle)!=null?n:{},t),a(e,"sizes",i,t),a(e,"variants",r,t))}}function Kre(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fr(e){return Ere(e,["styleConfig","size","variant","colorScheme"])}var Yre={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},Xre=Yre,Zre={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},Qre=Zre,Jre={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},eie=Jre,tie={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},nie=tie,rie={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},iie=rie,oie={common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},aie={"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},sie={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},lie={property:oie,easing:aie,duration:sie},uie=lie,cie={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},die=cie,fie={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},hie=fie,pie={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},cF=pie,dF={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},gie={max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch"},mie={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},vie={...dF,...gie,container:mie},fF=vie,yie={breakpoints:Qre,zIndices:Xre,radii:nie,blur:die,colors:eie,...cF,sizes:fF,shadows:iie,space:dF,borders:hie,transition:uie};function En(e,t={}){let n=!1;function r(){if(!n){n=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...d){r();for(const h of d)t[h]=l(h);return En(e,t)}function o(...d){for(const h of d)h in t||(t[h]=l(h));return En(e,t)}function a(){return Object.fromEntries(Object.entries(t).map(([h,m])=>[h,m.selector]))}function s(){return Object.fromEntries(Object.entries(t).map(([h,m])=>[h,m.className]))}function l(d){const y=`chakra-${(["container","root"].includes(d??"")?[e]:[e,d]).filter(Boolean).join("__")}`;return{className:y,selector:`.${y}`,toString:()=>d}}return{parts:i,toPart:l,extend:o,selectors:a,classnames:s,get keys(){return Object.keys(t)},__type:{}}}var bie=En("accordion").parts("root","container","button","panel").extend("icon"),xie=En("alert").parts("title","description","container").extend("icon","spinner"),Sie=En("avatar").parts("label","badge","container").extend("excessLabel","group"),wie=En("breadcrumb").parts("link","item","container").extend("separator");En("button").parts();var Cie=En("checkbox").parts("control","icon","container").extend("label");En("progress").parts("track","filledTrack").extend("label");var _ie=En("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),kie=En("editable").parts("preview","input","textarea"),Eie=En("form").parts("container","requiredIndicator","helperText"),Pie=En("formError").parts("text","icon"),Tie=En("input").parts("addon","field","element"),Mie=En("list").parts("container","item","icon"),Lie=En("menu").parts("button","list","item").extend("groupTitle","command","divider"),Aie=En("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Oie=En("numberinput").parts("root","field","stepperGroup","stepper");En("pininput").parts("field");var Rie=En("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Iie=En("progress").parts("label","filledTrack","track"),Die=En("radio").parts("container","control","label"),jie=En("select").parts("field","icon"),Nie=En("slider").parts("container","track","thumb","filledTrack","mark"),$ie=En("stat").parts("container","label","helpText","number","icon"),Fie=En("switch").parts("container","track","thumb"),Bie=En("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),zie=En("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),Hie=En("tag").parts("container","label","closeButton"),Wie=En("card").parts("container","header","body","footer");function kh(e,t,n){return Math.min(Math.max(e,n),t)}class Uie extends Error{constructor(t){super(`Failed to parse color: "${t}"`)}}var u1=Uie;function T9(e){if(typeof e!="string")throw new u1(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let t=e.trim();t=Qie.test(e)?qie(e):e;const n=Kie.exec(t);if(n){const a=Array.from(n).slice(1);return[...a.slice(0,3).map(s=>parseInt(xy(s,2),16)),parseInt(xy(a[3]||"f",2),16)/255]}const r=Yie.exec(t);if(r){const a=Array.from(r).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,16)),parseInt(a[3]||"ff",16)/255]}const i=Xie.exec(t);if(i){const a=Array.from(i).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,10)),parseFloat(a[3]||"1")]}const o=Zie.exec(t);if(o){const[a,s,l,u]=Array.from(o).slice(1).map(parseFloat);if(kh(0,100,s)!==s)throw new u1(e);if(kh(0,100,l)!==l)throw new u1(e);return[...Jie(a,s,l),Number.isNaN(u)?1:u]}throw new u1(e)}function Vie(e){let t=5381,n=e.length;for(;n;)t=t*33^e.charCodeAt(--n);return(t>>>0)%2341}const qM=e=>parseInt(e.replace(/_/g,""),36),Gie="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e,t)=>{const n=qM(t.substring(0,3)),r=qM(t.substring(3)).toString(16);let i="";for(let o=0;o<6-r.length;o++)i+="0";return e[n]=`${i}${r}`,e},{});function qie(e){const t=e.toLowerCase().trim(),n=Gie[Vie(t)];if(!n)throw new u1(e);return`#${n}`}const xy=(e,t)=>Array.from(Array(t)).map(()=>e).join(""),Kie=new RegExp(`^#${xy("([a-f0-9])",3)}([a-f0-9])?$`,"i"),Yie=new RegExp(`^#${xy("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),Xie=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${xy(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),Zie=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,Qie=/^[a-z]+$/i,KM=e=>Math.round(e*255),Jie=(e,t,n)=>{let r=n/100;if(t===0)return[r,r,r].map(KM);const i=(e%360+360)%360/60,o=(1-Math.abs(2*r-1))*(t/100),a=o*(1-Math.abs(i%2-1));let s=0,l=0,u=0;i>=0&&i<1?(s=o,l=a):i>=1&&i<2?(s=a,l=o):i>=2&&i<3?(l=o,u=a):i>=3&&i<4?(l=a,u=o):i>=4&&i<5?(s=a,u=o):i>=5&&i<6&&(s=o,u=a);const d=r-o/2,h=s+d,m=l+d,y=u+d;return[h,m,y].map(KM)};function eoe(e,t,n,r){return`rgba(${kh(0,255,e).toFixed()}, ${kh(0,255,t).toFixed()}, ${kh(0,255,n).toFixed()}, ${parseFloat(kh(0,1,r).toFixed(3))})`}function toe(e,t){const[n,r,i,o]=T9(e);return eoe(n,r,i,o-t)}function noe(e){const[t,n,r,i]=T9(e);let o=a=>{const s=kh(0,255,a).toString(16);return s.length===1?`0${s}`:s};return`#${o(t)}${o(n)}${o(r)}${i<1?o(Math.round(i*255)):""}`}function roe(e,t,n,r,i){for(t=t.split?t.split("."):t,r=0;rObject.keys(e).length===0,wo=(e,t,n)=>{const r=roe(e,`colors.${t}`,t);try{return noe(r),r}catch{return n??"#000000"}},ooe=e=>{const[t,n,r]=T9(e);return(t*299+n*587+r*114)/1e3},aoe=e=>t=>{const n=wo(t,e);return ooe(n)<128?"dark":"light"},soe=e=>t=>aoe(e)(t)==="dark",Um=(e,t)=>n=>{const r=wo(n,e);return toe(r,1-t)};function YM(e="1rem",t="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( +`+o.stack}return{value:e,source:t,stack:i,digest:null}}function M5(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function X6(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Qte=typeof WeakMap=="function"?WeakMap:Map;function k$(e,t,n){n=Wu(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){FS||(FS=!0,a_=r),X6(e,t)},n}function E$(e,t,n){n=Wu(-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(){X6(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){X6(e,t),typeof r!="function"&&(Id===null?Id=new Set([this]):Id.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),n}function bM(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Qte;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=fne.bind(null,e,t,n),t.then(e,e))}function xM(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 SM(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Wu(-1,1),t.tag=2,Rd(n,t,1))),n.lanes|=1),e)}var Jte=dc.ReactCurrentOwner,qo=!1;function xo(e,t,n,r){t.child=e===null?i$(t,null,n,r):Bm(t,e.child,n,r)}function wM(e,t,n,r,i){n=n.render;var o=t.ref;return mm(t,i),r=s9(e,t,n,r,o,i),n=l9(),e!==null&&!qo?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(yr&&n&&Y7(t),t.flags|=1,xo(e,t,r,i),t.child)}function CM(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!y9(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,P$(e,t,o,r,i)):(e=Wx(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)){var a=o.memoizedProps;if(n=n.compare,n=n!==null?n:cy,n(a,r)&&e.ref===t.ref)return tc(e,t,i)}return t.flags|=1,e=jd(o,r),e.ref=t.ref,e.return=t,t.child=e}function P$(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(cy(o,r)&&e.ref===t.ref)if(qo=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(qo=!0);else return t.lanes=e.lanes,tc(e,t,i)}return Z6(e,t,n,r,i)}function T$(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},nr(Zg,Sa),Sa|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,nr(Zg,Sa),Sa|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,nr(Zg,Sa),Sa|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,nr(Zg,Sa),Sa|=r;return xo(e,t,i,n),t.child}function M$(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Z6(e,t,n,r,i){var o=Yo(n)?Hh:lo.current;return o=$m(t,o),mm(t,i),n=s9(e,t,n,r,o,i),r=l9(),e!==null&&!qo?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(yr&&r&&Y7(t),t.flags|=1,xo(e,t,n,i),t.child)}function _M(e,t,n,r,i){if(Yo(n)){var o=!0;MS(t)}else o=!1;if(mm(t,i),t.stateNode===null)Bx(e,t),n$(t,n,r),Y6(t,n,r,i),r=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,u=n.contextType;typeof u=="object"&&u!==null?u=os(u):(u=Yo(n)?Hh:lo.current,u=$m(t,u));var d=n.getDerivedStateFromProps,h=typeof d=="function"||typeof a.getSnapshotBeforeUpdate=="function";h||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==r||l!==u)&&gM(t,a,r,u),pd=!1;var m=t.memoizedState;a.state=m,IS(t,r,a,i),l=t.memoizedState,s!==r||m!==l||Ko.current||pd?(typeof d=="function"&&(K6(t,n,d,r),l=t.memoizedState),(s=pd||pM(t,n,s,r,m,l,u))?(h||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=u,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,e$(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:Bs(t.type,s),a.props=u,h=t.pendingProps,m=a.context,l=n.contextType,typeof l=="object"&&l!==null?l=os(l):(l=Yo(n)?Hh:lo.current,l=$m(t,l));var y=n.getDerivedStateFromProps;(d=typeof y=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==h||m!==l)&&gM(t,a,r,l),pd=!1,m=t.memoizedState,a.state=m,IS(t,r,a,i);var b=t.memoizedState;s!==h||m!==b||Ko.current||pd?(typeof y=="function"&&(K6(t,n,y,r),b=t.memoizedState),(u=pd||pM(t,n,u,r,m,b,l)||!1)?(d||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,b,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,b,l)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=b),a.props=r,a.state=b,a.context=l,r=u):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return Q6(e,t,n,r,o,i)}function Q6(e,t,n,r,i,o){M$(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return i&&uM(t,n,!1),tc(e,t,o);r=t.stateNode,Jte.current=t;var s=a&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=Bm(t,e.child,null,o),t.child=Bm(t,null,s,o)):xo(e,t,s,o),t.memoizedState=r.state,i&&uM(t,n,!0),t.child}function L$(e){var t=e.stateNode;t.pendingContext?lM(e,t.pendingContext,t.pendingContext!==t.context):t.context&&lM(e,t.context,!1),r9(e,t.containerInfo)}function kM(e,t,n,r,i){return Fm(),Z7(i),t.flags|=256,xo(e,t,n,r),t.child}var J6={dehydrated:null,treeContext:null,retryLane:0};function e_(e){return{baseLanes:e,cachePool:null,transitions:null}}function A$(e,t,n){var r=t.pendingProps,i=kr.current,o=!1,a=(t.flags&128)!==0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!==0),s?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),nr(kr,i&1),e===null)return G6(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(a=r.children,e=r.fallback,o?(r=t.mode,o=t.child,a={mode:"hidden",children:a},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=a):o=mw(a,r,0,null),e=Lh(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=e_(n),t.memoizedState=J6,e):d9(t,a));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return ene(e,t,a,r,s,i,n);if(o){o=r.fallback,a=t.mode,i=e.child,s=i.sibling;var l={mode:"hidden",children:r.children};return!(a&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=jd(i,l),r.subtreeFlags=i.subtreeFlags&14680064),s!==null?o=jd(s,o):(o=Lh(o,a,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,a=e.child.memoizedState,a=a===null?e_(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},o.memoizedState=a,o.childLanes=e.childLanes&~n,t.memoizedState=J6,r}return o=e.child,e=o.sibling,r=jd(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(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 d9(e,t){return t=mw({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Tb(e,t,n,r){return r!==null&&Z7(r),Bm(t,e.child,null,n),e=d9(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ene(e,t,n,r,i,o,a){if(n)return t.flags&256?(t.flags&=-257,r=M5(Error(ze(422))),Tb(e,t,a,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=mw({mode:"visible",children:r.children},i,0,null),o=Lh(o,i,a,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&Bm(t,e.child,null,a),t.child.memoizedState=e_(a),t.memoizedState=J6,o);if(!(t.mode&1))return Tb(e,t,a,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var s=r.dgst;return r=s,o=Error(ze(419)),r=M5(o,r,void 0),Tb(e,t,a,r)}if(s=(a&e.childLanes)!==0,qo||s){if(r=Ai,r!==null){switch(a&-a){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|a)?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,ec(e,i),qs(r,e,i,-1))}return v9(),r=M5(Error(ze(421))),Tb(e,t,a,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=hne.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,ka=Od(i.nextSibling),Pa=t,yr=!0,Ws=null,e!==null&&(Ya[Xa++]=Fu,Ya[Xa++]=Bu,Ya[Xa++]=Wh,Fu=e.id,Bu=e.overflow,Wh=t),t=d9(t,r.children),t.flags|=4096,t)}function EM(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),q6(e.return,t,n)}function L5(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 O$(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(xo(e,t,r.children,n),r=kr.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&EM(e,n,t);else if(e.tag===19)EM(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(nr(kr,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&DS(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),L5(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&&DS(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}L5(t,!0,n,null,o);break;case"together":L5(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Bx(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function tc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Vh|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(ze(153));if(t.child!==null){for(e=t.child,n=jd(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=jd(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function tne(e,t,n){switch(t.tag){case 3:L$(t),Fm();break;case 5:o$(t);break;case 1:Yo(t.type)&&MS(t);break;case 4:r9(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;nr(OS,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(nr(kr,kr.current&1),t.flags|=128,null):n&t.child.childLanes?A$(e,t,n):(nr(kr,kr.current&1),e=tc(e,t,n),e!==null?e.sibling:null);nr(kr,kr.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return O$(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),nr(kr,kr.current),r)break;return null;case 22:case 23:return t.lanes=0,T$(e,t,n)}return tc(e,t,n)}var R$,t_,I$,D$;R$=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}};t_=function(){};I$=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,_h(ql.current);var o=null;switch(n){case"input":i=C6(e,i),r=C6(e,r),o=[];break;case"select":i=Pr({},i,{value:void 0}),r=Pr({},r,{value:void 0}),o=[];break;case"textarea":i=E6(e,i),r=E6(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=PS)}T6(n,r);var a;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var s=i[u];for(a in s)s.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(ry.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var l=r[u];if(s=i!=null?i[u]:void 0,r.hasOwnProperty(u)&&l!==s&&(l!=null||s!=null))if(u==="style")if(s){for(a in s)!s.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&s[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(o||(o=[]),o.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(o=o||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(ry.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&ir("scroll",e),o||s===l||(o=[])):(o=o||[]).push(u,l))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}};D$=function(e,t,n,r){n!==r&&(t.flags|=4)};function $v(e,t){if(!yr)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 to(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 nne(e,t,n){var r=t.pendingProps;switch(X7(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return to(t),null;case 1:return Yo(t.type)&&TS(),to(t),null;case 3:return r=t.stateNode,zm(),cr(Ko),cr(lo),o9(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Eb(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ws!==null&&(u_(Ws),Ws=null))),t_(e,t),to(t),null;case 5:i9(t);var i=_h(gy.current);if(n=t.type,e!==null&&t.stateNode!=null)I$(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(ze(166));return to(t),null}if(e=_h(ql.current),Eb(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[jl]=t,r[hy]=o,e=(t.mode&1)!==0,n){case"dialog":ir("cancel",r),ir("close",r);break;case"iframe":case"object":case"embed":ir("load",r);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[jl]=t,e[hy]=r,R$(e,t,!1,!1),t.stateNode=e;e:{switch(a=M6(n,r),n){case"dialog":ir("cancel",e),ir("close",e),i=r;break;case"iframe":case"object":case"embed":ir("load",e),i=r;break;case"video":case"audio":for(i=0;iWm&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304)}else{if(!r)if(e=DS(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),$v(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!yr)return to(t),null}else 2*Zr()-o.renderingStartTime>Wm&&n!==1073741824&&(t.flags|=128,r=!0,$v(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Zr(),t.sibling=null,n=kr.current,nr(kr,r?n&1|2:n&1),t):(to(t),null);case 22:case 23:return m9(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Sa&1073741824&&(to(t),t.subtreeFlags&6&&(t.flags|=8192)):to(t),null;case 24:return null;case 25:return null}throw Error(ze(156,t.tag))}function rne(e,t){switch(X7(t),t.tag){case 1:return Yo(t.type)&&TS(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zm(),cr(Ko),cr(lo),o9(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return i9(t),null;case 13:if(cr(kr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ze(340));Fm()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return cr(kr),null;case 4:return zm(),null;case 10:return e9(t.type._context),null;case 22:case 23:return m9(),null;case 24:return null;default:return null}}var Mb=!1,io=!1,ine=typeof WeakSet=="function"?WeakSet:Set,dt=null;function Xg(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){$r(e,t,r)}else n.current=null}function n_(e,t,n){try{n()}catch(r){$r(e,t,r)}}var PM=!1;function one(e,t){if(F6=_S,e=FN(),K7(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 a=0,s=-1,l=-1,u=0,d=0,h=e,m=null;t:for(;;){for(var y;h!==n||i!==0&&h.nodeType!==3||(s=a+i),h!==o||r!==0&&h.nodeType!==3||(l=a+r),h.nodeType===3&&(a+=h.nodeValue.length),(y=h.firstChild)!==null;)m=h,h=y;for(;;){if(h===e)break t;if(m===n&&++u===i&&(s=a),m===o&&++d===r&&(l=a),(y=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=y}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(B6={focusedElem:e,selectionRange:n},_S=!1,dt=t;dt!==null;)if(t=dt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,dt=e;else for(;dt!==null;){t=dt;try{var b=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var w=b.memoizedProps,E=b.memoizedState,_=t.stateNode,k=_.getSnapshotBeforeUpdate(t.elementType===t.type?w:Bs(t.type,w),E);_.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var T=t.stateNode.containerInfo;T.nodeType===1?T.textContent="":T.nodeType===9&&T.documentElement&&T.removeChild(T.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ze(163))}}catch(L){$r(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,dt=e;break}dt=t.return}return b=PM,PM=!1,b}function M1(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&&n_(t,n,o)}i=i.next}while(i!==r)}}function pw(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 r_(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 j$(e){var t=e.alternate;t!==null&&(e.alternate=null,j$(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[jl],delete t[hy],delete t[W6],delete t[zte],delete t[Hte])),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 N$(e){return e.tag===5||e.tag===3||e.tag===4}function TM(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||N$(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 i_(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=PS));else if(r!==4&&(e=e.child,e!==null))for(i_(e,t,n),e=e.sibling;e!==null;)i_(e,t,n),e=e.sibling}function o_(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(o_(e,t,n),e=e.sibling;e!==null;)o_(e,t,n),e=e.sibling}var Wi=null,zs=!1;function od(e,t,n){for(n=n.child;n!==null;)$$(e,t,n),n=n.sibling}function $$(e,t,n){if(Gl&&typeof Gl.onCommitFiberUnmount=="function")try{Gl.onCommitFiberUnmount(aw,n)}catch{}switch(n.tag){case 5:io||Xg(n,t);case 6:var r=Wi,i=zs;Wi=null,od(e,t,n),Wi=r,zs=i,Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Wi.removeChild(n.stateNode));break;case 18:Wi!==null&&(zs?(e=Wi,n=n.stateNode,e.nodeType===8?C5(e.parentNode,n):e.nodeType===1&&C5(e,n),ly(e)):C5(Wi,n.stateNode));break;case 4:r=Wi,i=zs,Wi=n.stateNode.containerInfo,zs=!0,od(e,t,n),Wi=r,zs=i;break;case 0:case 11:case 14:case 15:if(!io&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&n_(n,t,a),i=i.next}while(i!==r)}od(e,t,n);break;case 1:if(!io&&(Xg(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){$r(n,t,s)}od(e,t,n);break;case 21:od(e,t,n);break;case 22:n.mode&1?(io=(r=io)||n.memoizedState!==null,od(e,t,n),io=r):od(e,t,n);break;default:od(e,t,n)}}function MM(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ine),t.forEach(function(r){var i=pne.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Is(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=Zr()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*sne(r/1960))-r,10e?16:e,wd===null)var r=!1;else{if(e=wd,wd=null,BS=0,un&6)throw Error(ze(331));var i=un;for(un|=4,dt=e.current;dt!==null;){var o=dt,a=o.child;if(dt.flags&16){var s=o.deletions;if(s!==null){for(var l=0;lZr()-p9?Mh(e,0):h9|=n),Xo(e,t)}function G$(e,t){t===0&&(e.mode&1?(t=xb,xb<<=1,!(xb&130023424)&&(xb=4194304)):t=1);var n=ko();e=ec(e,t),e!==null&&(qy(e,t,n),Xo(e,n))}function hne(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),G$(e,n)}function pne(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(ze(314))}r!==null&&r.delete(t),G$(e,n)}var q$;q$=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ko.current)qo=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return qo=!1,tne(e,t,n);qo=!!(e.flags&131072)}else qo=!1,yr&&t.flags&1048576&&XN(t,AS,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Bx(e,t),e=t.pendingProps;var i=$m(t,lo.current);mm(t,n),i=s9(null,t,r,e,i,n);var o=l9();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,Yo(r)?(o=!0,MS(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,n9(t),i.updater=fw,t.stateNode=i,i._reactInternals=t,Y6(t,r,e,n),t=Q6(null,t,r,!0,o,n)):(t.tag=0,yr&&o&&Y7(t),xo(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Bx(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=mne(r),e=Bs(r,e),i){case 0:t=Z6(null,t,r,e,n);break e;case 1:t=_M(null,t,r,e,n);break e;case 11:t=wM(null,t,r,e,n);break e;case 14:t=CM(null,t,r,Bs(r.type,e),n);break e}throw Error(ze(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Z6(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),_M(e,t,r,i,n);case 3:e:{if(L$(t),e===null)throw Error(ze(387));r=t.pendingProps,o=t.memoizedState,i=o.element,e$(e,t),IS(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Hm(Error(ze(423)),t),t=kM(e,t,r,n,i);break e}else if(r!==i){i=Hm(Error(ze(424)),t),t=kM(e,t,r,n,i);break e}else for(ka=Od(t.stateNode.containerInfo.firstChild),Pa=t,yr=!0,Ws=null,n=i$(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Fm(),r===i){t=tc(e,t,n);break e}xo(e,t,r,n)}t=t.child}return t;case 5:return o$(t),e===null&&G6(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,z6(r,i)?a=null:o!==null&&z6(r,o)&&(t.flags|=32),M$(e,t),xo(e,t,a,n),t.child;case 6:return e===null&&G6(t),null;case 13:return A$(e,t,n);case 4:return r9(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Bm(t,null,r,n):xo(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),wM(e,t,r,i,n);case 7:return xo(e,t,t.pendingProps,n),t.child;case 8:return xo(e,t,t.pendingProps.children,n),t.child;case 12:return xo(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,nr(OS,r._currentValue),r._currentValue=a,o!==null)if(Zs(o.value,a)){if(o.children===i.children&&!Ko.current){t=tc(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Wu(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),q6(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(ze(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),q6(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}xo(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,mm(t,n),i=os(i),r=r(i),t.flags|=1,xo(e,t,r,n),t.child;case 14:return r=t.type,i=Bs(r,t.pendingProps),i=Bs(r.type,i),CM(e,t,r,i,n);case 15:return P$(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Bs(r,i),Bx(e,t),t.tag=1,Yo(r)?(e=!0,MS(t)):e=!1,mm(t,n),n$(t,r,i),Y6(t,r,i,n),Q6(null,t,r,!0,e,n);case 19:return O$(e,t,n);case 22:return T$(e,t,n)}throw Error(ze(156,t.tag))};function K$(e,t){return xN(e,t)}function gne(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 es(e,t,n,r){return new gne(e,t,n,r)}function y9(e){return e=e.prototype,!(!e||!e.isReactComponent)}function mne(e){if(typeof e=="function")return y9(e)?1:0;if(e!=null){if(e=e.$$typeof,e===N7)return 11;if(e===$7)return 14}return 2}function jd(e,t){var n=e.alternate;return n===null?(n=es(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 Wx(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")y9(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case zg:return Lh(n.children,i,o,t);case j7:a=8,i|=8;break;case b6:return e=es(12,n,t,i|2),e.elementType=b6,e.lanes=o,e;case x6:return e=es(13,n,t,i),e.elementType=x6,e.lanes=o,e;case S6:return e=es(19,n,t,i),e.elementType=S6,e.lanes=o,e;case rN:return mw(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case tN:a=10;break e;case nN:a=9;break e;case N7:a=11;break e;case $7:a=14;break e;case hd:a=16,r=null;break e}throw Error(ze(130,e==null?e:typeof e,""))}return t=es(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Lh(e,t,n,r){return e=es(7,e,r,t),e.lanes=n,e}function mw(e,t,n,r){return e=es(22,e,r,t),e.elementType=rN,e.lanes=n,e.stateNode={isHidden:!1},e}function A5(e,t,n){return e=es(6,e,null,t),e.lanes=n,e}function O5(e,t,n){return t=es(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function vne(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=f5(0),this.expirationTimes=f5(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=f5(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function b9(e,t,n,r,i,o,a,s,l){return e=new vne(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=es(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},n9(o),e}function yne(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=Ia})(bee);const Ob=S7(Xs);var[Q$,Cne]=Pn({strict:!1,name:"PortalContext"}),C9="chakra-portal",_ne=".chakra-portal",kne=e=>g.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),Ene=e=>{const{appendToParentPortal:t,children:n}=e,[r,i]=S.useState(null),o=S.useRef(null),[,a]=S.useState({});S.useEffect(()=>a({}),[]);const s=Cne(),l=yee();Vl(()=>{if(!r)return;const d=r.ownerDocument,h=t?s??d.body:d.body;if(!h)return;o.current=d.createElement("div"),o.current.className=C9,h.appendChild(o.current),a({});const m=o.current;return()=>{h.contains(m)&&h.removeChild(m)}},[r]);const u=l!=null&&l.zIndex?g.jsx(kne,{zIndex:l==null?void 0:l.zIndex,children:n}):n;return o.current?Xs.createPortal(g.jsx(Q$,{value:o.current,children:u}),o.current):g.jsx("span",{ref:d=>{d&&i(d)}})},Pne=e=>{const{children:t,containerRef:n,appendToParentPortal:r}=e,i=n.current,o=i??(typeof window<"u"?document.body:void 0),a=S.useMemo(()=>{const l=i==null?void 0:i.ownerDocument.createElement("div");return l&&(l.className=C9),l},[i]),[,s]=S.useState({});return Vl(()=>s({}),[]),Vl(()=>{if(!(!a||!o))return o.appendChild(a),()=>{o.removeChild(a)}},[a,o]),o&&a?Xs.createPortal(g.jsx(Q$,{value:r?a:null,children:t}),a):null};function c0(e){const t={appendToParentPortal:!0,...e},{containerRef:n,...r}=t;return n?g.jsx(Pne,{containerRef:n,...r}):g.jsx(Ene,{...r})}c0.className=C9;c0.selector=_ne;c0.displayName="Portal";function Zy(){const e=S.useContext(ny);if(!e)throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `` or ``");return e}var _9=S.createContext({});_9.displayName="ColorModeContext";function Qy(){const e=S.useContext(_9);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}var Rb={light:"chakra-ui-light",dark:"chakra-ui-dark"};function Tne(e={}){const{preventTransition:t=!0}=e,n={setDataset:r=>{const i=t?n.preventTransition():void 0;document.documentElement.dataset.theme=r,document.documentElement.style.colorScheme=r,i==null||i()},setClassName(r){document.body.classList.add(r?Rb.dark:Rb.light),document.body.classList.remove(r?Rb.light:Rb.dark)},query(){return window.matchMedia("(prefers-color-scheme: dark)")},getSystemTheme(r){var i;return((i=n.query().matches)!=null?i:r==="dark")?"dark":"light"},addListener(r){const i=n.query(),o=a=>{r(a.matches?"dark":"light")};return typeof i.addListener=="function"?i.addListener(o):i.addEventListener("change",o),()=>{typeof i.removeListener=="function"?i.removeListener(o):i.removeEventListener("change",o)}},preventTransition(){const r=document.createElement("style");return r.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(r),()=>{window.getComputedStyle(document.body),requestAnimationFrame(()=>{requestAnimationFrame(()=>{document.head.removeChild(r)})})}}};return n}var Mne="chakra-ui-color-mode";function Lne(e){return{ssr:!1,type:"localStorage",get(t){if(!(globalThis!=null&&globalThis.document))return t;let n;try{n=localStorage.getItem(e)||t}catch{}return n||t},set(t){try{localStorage.setItem(e,t)}catch{}}}}var Ane=Lne(Mne),NM=()=>{};function $M(e,t){return e.type==="cookie"&&e.ssr?e.get(t):t}function J$(e){const{value:t,children:n,options:{useSystemColorMode:r,initialColorMode:i,disableTransitionOnChange:o}={},colorModeManager:a=Ane}=e,s=i==="dark"?"dark":"light",[l,u]=S.useState(()=>$M(a,s)),[d,h]=S.useState(()=>$M(a)),{getSystemTheme:m,setClassName:y,setDataset:b,addListener:w}=S.useMemo(()=>Tne({preventTransition:o}),[o]),E=i==="system"&&!l?d:l,_=S.useCallback(L=>{const O=L==="system"?m():L;u(O),y(O==="dark"),b(O),a.set(O)},[a,m,y,b]);Vl(()=>{i==="system"&&h(m())},[]),S.useEffect(()=>{const L=a.get();if(L){_(L);return}if(i==="system"){_("system");return}_(s)},[a,s,i,_]);const k=S.useCallback(()=>{_(E==="dark"?"light":"dark")},[E,_]);S.useEffect(()=>{if(r)return w(_)},[r,w,_]);const T=S.useMemo(()=>({colorMode:t??E,toggleColorMode:t?NM:k,setColorMode:t?NM:_,forced:t!==void 0}),[E,k,_,t]);return g.jsx(_9.Provider,{value:T,children:n})}J$.displayName="ColorModeProvider";function eF(){const e=Qy(),t=Zy();return{...e,theme:t}}var xt=(...e)=>e.filter(Boolean).join(" ");function One(){return!1}function Eo(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var Jy=e=>{const{condition:t,message:n}=e;t&&One()&&console.warn(n)};function ts(e,...t){return Rne(e)?e(...t):e}var Rne=e=>typeof e=="function",Bt=e=>e?"":void 0,Uu=e=>e?!0:void 0;function ht(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function Sw(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var WS={},Ine={get exports(){return WS},set exports(e){WS=e}};(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,a=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",h="[object Date]",m="[object Error]",y="[object Function]",b="[object GeneratorFunction]",w="[object Map]",E="[object Number]",_="[object Null]",k="[object Object]",T="[object Proxy]",L="[object RegExp]",O="[object Set]",D="[object String]",I="[object Undefined]",N="[object WeakMap]",W="[object ArrayBuffer]",B="[object DataView]",K="[object Float32Array]",ne="[object Float64Array]",z="[object Int8Array]",$="[object Int16Array]",V="[object Int32Array]",X="[object Uint8Array]",Q="[object Uint8ClampedArray]",G="[object Uint16Array]",Y="[object Uint32Array]",ee=/[\\^$.*+?()[\]{}|]/g,fe=/^\[object .+?Constructor\]$/,Ce=/^(?:0|[1-9]\d*)$/,we={};we[K]=we[ne]=we[z]=we[$]=we[V]=we[X]=we[Q]=we[G]=we[Y]=!0,we[s]=we[l]=we[W]=we[d]=we[B]=we[h]=we[m]=we[y]=we[w]=we[E]=we[k]=we[L]=we[O]=we[D]=we[N]=!1;var xe=typeof wo=="object"&&wo&&wo.Object===Object&&wo,Le=typeof self=="object"&&self&&self.Object===Object&&self,Se=xe||Le||Function("return this")(),Qe=t&&!t.nodeType&&t,Xe=Qe&&!0&&e&&!e.nodeType&&e,tt=Xe&&Xe.exports===Qe,yt=tt&&xe.process,Be=function(){try{var q=Xe&&Xe.require&&Xe.require("util").types;return q||yt&&yt.binding&&yt.binding("util")}catch{}}(),Ae=Be&&Be.isTypedArray;function bt(q,re,pe){switch(pe.length){case 0:return q.call(re);case 1:return q.call(re,pe[0]);case 2:return q.call(re,pe[0],pe[1]);case 3:return q.call(re,pe[0],pe[1],pe[2])}return q.apply(re,pe)}function Fe(q,re){for(var pe=-1,ot=Array(q);++pe-1}function P0(q,re){var pe=this.__data__,ot=xs(pe,q);return ot<0?(++this.size,pe.push([q,re])):pe[ot][1]=re,this}na.prototype.clear=mf,na.prototype.delete=E0,na.prototype.get=xc,na.prototype.has=vf,na.prototype.set=P0;function nl(q){var re=-1,pe=q==null?0:q.length;for(this.clear();++re1?pe[Ht-1]:void 0,St=Ht>2?pe[2]:void 0;for(mn=q.length>3&&typeof mn=="function"?(Ht--,mn):void 0,St&&Pp(pe[0],pe[1],St)&&(mn=Ht<3?void 0:mn,Ht=1),re=Object(re);++ot-1&&q%1==0&&q0){if(++re>=i)return arguments[0]}else re=0;return q.apply(void 0,arguments)}}function kc(q){if(q!=null){try{return He.call(q)}catch{}try{return q+""}catch{}}return""}function $a(q,re){return q===re||q!==q&&re!==re}var wf=pu(function(){return arguments}())?pu:function(q){return Xn(q)&&Ue.call(q,"callee")&&!zr.call(q,"callee")},vu=Array.isArray;function Gt(q){return q!=null&&Mp(q.length)&&!Pc(q)}function Tp(q){return Xn(q)&&Gt(q)}var Ec=vs||B0;function Pc(q){if(!aa(q))return!1;var re=il(q);return re==y||re==b||re==u||re==T}function Mp(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=a}function aa(q){var re=typeof q;return q!=null&&(re=="object"||re=="function")}function Xn(q){return q!=null&&typeof q=="object"}function Cf(q){if(!Xn(q)||il(q)!=k)return!1;var re=qe(q);if(re===null)return!0;var pe=Ue.call(re,"constructor")&&re.constructor;return typeof pe=="function"&&pe instanceof pe&&He.call(pe)==vt}var Lp=Ae?at(Ae):wc;function _f(q){return ci(q,Ap(q))}function Ap(q){return Gt(q)?N0(q,!0):ol(q)}var cn=Ss(function(q,re,pe,ot){ra(q,re,pe,ot)});function qt(q){return function(){return q}}function Op(q){return q}function B0(){return!1}e.exports=cn})(Ine,WS);const Bl=WS;var Dne=e=>/!(important)?$/.test(e),FM=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,jne=(e,t)=>n=>{const r=String(t),i=Dne(r),o=FM(r),a=e?`${e}.${o}`:o;let s=Eo(n.__cssMap)&&a in n.__cssMap?n.__cssMap[a].varRef:t;return s=FM(s),i?`${s} !important`:s};function k9(e){const{scale:t,transform:n,compose:r}=e;return(o,a)=>{var s;const l=jne(t,o)(a);let u=(s=n==null?void 0:n(l,a))!=null?s:l;return r&&(u=r(u,a)),u}}var Ib=(...e)=>t=>e.reduce((n,r)=>r(n),t);function Ds(e,t){return n=>{const r={property:n,scale:e};return r.transform=k9({scale:e,transform:t}),r}}var Nne=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function $ne(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Nne(t),transform:n?k9({scale:n,compose:r}):r}}var tF=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Fne(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...tF].join(" ")}function Bne(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...tF].join(" ")}var zne={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},Hne={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function Wne(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var Une={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},c_={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},Vne=new Set(Object.values(c_)),nF=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),Gne=e=>e.trim();function qne(e,t){if(e==null||nF.has(e))return e;const r=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),i=r==null?void 0:r[1],o=r==null?void 0:r[2];if(!i||!o)return e;const a=i.includes("-gradient")?i:`${i}-gradient`,[s,...l]=o.split(",").map(Gne).filter(Boolean);if((l==null?void 0:l.length)===0)return e;const u=s in c_?c_[s]:s;l.unshift(u);const d=l.map(h=>{if(Vne.has(h))return h;const m=h.indexOf(" "),[y,b]=m!==-1?[h.substr(0,m),h.substr(m+1)]:[h],w=rF(b)?b:b&&b.split(" "),E=`colors.${y}`,_=E in t.__cssMap?t.__cssMap[E].varRef:y;return w?[_,...Array.isArray(w)?w:[w]].join(" "):_});return`${a}(${d.join(", ")})`}var rF=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),Kne=(e,t)=>qne(e,t??{});function Yne(e){return/^var\(--.+\)$/.test(e)}var Xne=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Pl=e=>t=>`${e}(${t})`,ln={filter(e){return e!=="auto"?e:zne},backdropFilter(e){return e!=="auto"?e:Hne},ring(e){return Wne(ln.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Fne():e==="auto-gpu"?Bne():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=Xne(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(Yne(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:Kne,blur:Pl("blur"),opacity:Pl("opacity"),brightness:Pl("brightness"),contrast:Pl("contrast"),dropShadow:Pl("drop-shadow"),grayscale:Pl("grayscale"),hueRotate:Pl("hue-rotate"),invert:Pl("invert"),saturate:Pl("saturate"),sepia:Pl("sepia"),bgImage(e){return e==null||rF(e)||nF.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=Une[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},oe={borderWidths:Ds("borderWidths"),borderStyles:Ds("borderStyles"),colors:Ds("colors"),borders:Ds("borders"),radii:Ds("radii",ln.px),space:Ds("space",Ib(ln.vh,ln.px)),spaceT:Ds("space",Ib(ln.vh,ln.px)),degreeT(e){return{property:e,transform:ln.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:k9({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:Ds("sizes",Ib(ln.vh,ln.px)),sizesT:Ds("sizes",Ib(ln.vh,ln.fraction)),shadows:Ds("shadows"),logical:$ne,blur:Ds("blur",ln.blur)},Ux={background:oe.colors("background"),backgroundColor:oe.colors("backgroundColor"),backgroundImage:oe.propT("backgroundImage",ln.bgImage),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:ln.bgClip},bgSize:oe.prop("backgroundSize"),bgPosition:oe.prop("backgroundPosition"),bg:oe.colors("background"),bgColor:oe.colors("backgroundColor"),bgPos:oe.prop("backgroundPosition"),bgRepeat:oe.prop("backgroundRepeat"),bgAttachment:oe.prop("backgroundAttachment"),bgGradient:oe.propT("backgroundImage",ln.gradient),bgClip:{transform:ln.bgClip}};Object.assign(Ux,{bgImage:Ux.backgroundImage,bgImg:Ux.backgroundImage});var yn={border:oe.borders("border"),borderWidth:oe.borderWidths("borderWidth"),borderStyle:oe.borderStyles("borderStyle"),borderColor:oe.colors("borderColor"),borderRadius:oe.radii("borderRadius"),borderTop:oe.borders("borderTop"),borderBlockStart:oe.borders("borderBlockStart"),borderTopLeftRadius:oe.radii("borderTopLeftRadius"),borderStartStartRadius:oe.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:oe.radii("borderTopRightRadius"),borderStartEndRadius:oe.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:oe.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:oe.borders("borderRight"),borderInlineEnd:oe.borders("borderInlineEnd"),borderBottom:oe.borders("borderBottom"),borderBlockEnd:oe.borders("borderBlockEnd"),borderBottomLeftRadius:oe.radii("borderBottomLeftRadius"),borderBottomRightRadius:oe.radii("borderBottomRightRadius"),borderLeft:oe.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:oe.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:oe.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:oe.borders(["borderLeft","borderRight"]),borderInline:oe.borders("borderInline"),borderY:oe.borders(["borderTop","borderBottom"]),borderBlock:oe.borders("borderBlock"),borderTopWidth:oe.borderWidths("borderTopWidth"),borderBlockStartWidth:oe.borderWidths("borderBlockStartWidth"),borderTopColor:oe.colors("borderTopColor"),borderBlockStartColor:oe.colors("borderBlockStartColor"),borderTopStyle:oe.borderStyles("borderTopStyle"),borderBlockStartStyle:oe.borderStyles("borderBlockStartStyle"),borderBottomWidth:oe.borderWidths("borderBottomWidth"),borderBlockEndWidth:oe.borderWidths("borderBlockEndWidth"),borderBottomColor:oe.colors("borderBottomColor"),borderBlockEndColor:oe.colors("borderBlockEndColor"),borderBottomStyle:oe.borderStyles("borderBottomStyle"),borderBlockEndStyle:oe.borderStyles("borderBlockEndStyle"),borderLeftWidth:oe.borderWidths("borderLeftWidth"),borderInlineStartWidth:oe.borderWidths("borderInlineStartWidth"),borderLeftColor:oe.colors("borderLeftColor"),borderInlineStartColor:oe.colors("borderInlineStartColor"),borderLeftStyle:oe.borderStyles("borderLeftStyle"),borderInlineStartStyle:oe.borderStyles("borderInlineStartStyle"),borderRightWidth:oe.borderWidths("borderRightWidth"),borderInlineEndWidth:oe.borderWidths("borderInlineEndWidth"),borderRightColor:oe.colors("borderRightColor"),borderInlineEndColor:oe.colors("borderInlineEndColor"),borderRightStyle:oe.borderStyles("borderRightStyle"),borderInlineEndStyle:oe.borderStyles("borderInlineEndStyle"),borderTopRadius:oe.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:oe.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:oe.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:oe.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(yn,{rounded:yn.borderRadius,roundedTop:yn.borderTopRadius,roundedTopLeft:yn.borderTopLeftRadius,roundedTopRight:yn.borderTopRightRadius,roundedTopStart:yn.borderStartStartRadius,roundedTopEnd:yn.borderStartEndRadius,roundedBottom:yn.borderBottomRadius,roundedBottomLeft:yn.borderBottomLeftRadius,roundedBottomRight:yn.borderBottomRightRadius,roundedBottomStart:yn.borderEndStartRadius,roundedBottomEnd:yn.borderEndEndRadius,roundedLeft:yn.borderLeftRadius,roundedRight:yn.borderRightRadius,roundedStart:yn.borderInlineStartRadius,roundedEnd:yn.borderInlineEndRadius,borderStart:yn.borderInlineStart,borderEnd:yn.borderInlineEnd,borderTopStartRadius:yn.borderStartStartRadius,borderTopEndRadius:yn.borderStartEndRadius,borderBottomStartRadius:yn.borderEndStartRadius,borderBottomEndRadius:yn.borderEndEndRadius,borderStartRadius:yn.borderInlineStartRadius,borderEndRadius:yn.borderInlineEndRadius,borderStartWidth:yn.borderInlineStartWidth,borderEndWidth:yn.borderInlineEndWidth,borderStartColor:yn.borderInlineStartColor,borderEndColor:yn.borderInlineEndColor,borderStartStyle:yn.borderInlineStartStyle,borderEndStyle:yn.borderInlineEndStyle});var Zne={color:oe.colors("color"),textColor:oe.colors("color"),fill:oe.colors("fill"),stroke:oe.colors("stroke")},d_={boxShadow:oe.shadows("boxShadow"),mixBlendMode:!0,blendMode:oe.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:oe.prop("backgroundBlendMode"),opacity:!0};Object.assign(d_,{shadow:d_.boxShadow});var Qne={filter:{transform:ln.filter},blur:oe.blur("--chakra-blur"),brightness:oe.propT("--chakra-brightness",ln.brightness),contrast:oe.propT("--chakra-contrast",ln.contrast),hueRotate:oe.degreeT("--chakra-hue-rotate"),invert:oe.propT("--chakra-invert",ln.invert),saturate:oe.propT("--chakra-saturate",ln.saturate),dropShadow:oe.propT("--chakra-drop-shadow",ln.dropShadow),backdropFilter:{transform:ln.backdropFilter},backdropBlur:oe.blur("--chakra-backdrop-blur"),backdropBrightness:oe.propT("--chakra-backdrop-brightness",ln.brightness),backdropContrast:oe.propT("--chakra-backdrop-contrast",ln.contrast),backdropHueRotate:oe.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:oe.propT("--chakra-backdrop-invert",ln.invert),backdropSaturate:oe.propT("--chakra-backdrop-saturate",ln.saturate)},US={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:ln.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:oe.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:oe.space("gap"),rowGap:oe.space("rowGap"),columnGap:oe.space("columnGap")};Object.assign(US,{flexDir:US.flexDirection});var iF={gridGap:oe.space("gridGap"),gridColumnGap:oe.space("gridColumnGap"),gridRowGap:oe.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},Jne={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:ln.outline},outlineOffset:!0,outlineColor:oe.colors("outlineColor")},Ka={width:oe.sizesT("width"),inlineSize:oe.sizesT("inlineSize"),height:oe.sizes("height"),blockSize:oe.sizes("blockSize"),boxSize:oe.sizes(["width","height"]),minWidth:oe.sizes("minWidth"),minInlineSize:oe.sizes("minInlineSize"),minHeight:oe.sizes("minHeight"),minBlockSize:oe.sizes("minBlockSize"),maxWidth:oe.sizes("maxWidth"),maxInlineSize:oe.sizes("maxInlineSize"),maxHeight:oe.sizes("maxHeight"),maxBlockSize:oe.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minWQuery)!=null?i:`@media screen and (min-width: ${e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.maxWQuery)!=null?i:`@media screen and (max-width: ${e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:oe.propT("float",ln.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(Ka,{w:Ka.width,h:Ka.height,minW:Ka.minWidth,maxW:Ka.maxWidth,minH:Ka.minHeight,maxH:Ka.maxHeight,overscroll:Ka.overscrollBehavior,overscrollX:Ka.overscrollBehaviorX,overscrollY:Ka.overscrollBehaviorY});var ere={listStyleType:!0,listStylePosition:!0,listStylePos:oe.prop("listStylePosition"),listStyleImage:!0,listStyleImg:oe.prop("listStyleImage")};function tre(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},rre=nre(tre),ire={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},ore={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},R5=(e,t,n)=>{const r={},i=rre(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},are={srOnly:{transform(e){return e===!0?ire:e==="focusable"?ore:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>R5(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>R5(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>R5(t,e,n)}},O1={position:!0,pos:oe.prop("position"),zIndex:oe.prop("zIndex","zIndices"),inset:oe.spaceT("inset"),insetX:oe.spaceT(["left","right"]),insetInline:oe.spaceT("insetInline"),insetY:oe.spaceT(["top","bottom"]),insetBlock:oe.spaceT("insetBlock"),top:oe.spaceT("top"),insetBlockStart:oe.spaceT("insetBlockStart"),bottom:oe.spaceT("bottom"),insetBlockEnd:oe.spaceT("insetBlockEnd"),left:oe.spaceT("left"),insetInlineStart:oe.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:oe.spaceT("right"),insetInlineEnd:oe.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(O1,{insetStart:O1.insetInlineStart,insetEnd:O1.insetInlineEnd});var sre={ring:{transform:ln.ring},ringColor:oe.colors("--chakra-ring-color"),ringOffset:oe.prop("--chakra-ring-offset-width"),ringOffsetColor:oe.colors("--chakra-ring-offset-color"),ringInset:oe.prop("--chakra-ring-inset")},or={margin:oe.spaceT("margin"),marginTop:oe.spaceT("marginTop"),marginBlockStart:oe.spaceT("marginBlockStart"),marginRight:oe.spaceT("marginRight"),marginInlineEnd:oe.spaceT("marginInlineEnd"),marginBottom:oe.spaceT("marginBottom"),marginBlockEnd:oe.spaceT("marginBlockEnd"),marginLeft:oe.spaceT("marginLeft"),marginInlineStart:oe.spaceT("marginInlineStart"),marginX:oe.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:oe.spaceT("marginInline"),marginY:oe.spaceT(["marginTop","marginBottom"]),marginBlock:oe.spaceT("marginBlock"),padding:oe.space("padding"),paddingTop:oe.space("paddingTop"),paddingBlockStart:oe.space("paddingBlockStart"),paddingRight:oe.space("paddingRight"),paddingBottom:oe.space("paddingBottom"),paddingBlockEnd:oe.space("paddingBlockEnd"),paddingLeft:oe.space("paddingLeft"),paddingInlineStart:oe.space("paddingInlineStart"),paddingInlineEnd:oe.space("paddingInlineEnd"),paddingX:oe.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:oe.space("paddingInline"),paddingY:oe.space(["paddingTop","paddingBottom"]),paddingBlock:oe.space("paddingBlock")};Object.assign(or,{m:or.margin,mt:or.marginTop,mr:or.marginRight,me:or.marginInlineEnd,marginEnd:or.marginInlineEnd,mb:or.marginBottom,ml:or.marginLeft,ms:or.marginInlineStart,marginStart:or.marginInlineStart,mx:or.marginX,my:or.marginY,p:or.padding,pt:or.paddingTop,py:or.paddingY,px:or.paddingX,pb:or.paddingBottom,pl:or.paddingLeft,ps:or.paddingInlineStart,paddingStart:or.paddingInlineStart,pr:or.paddingRight,pe:or.paddingInlineEnd,paddingEnd:or.paddingInlineEnd});var lre={textDecorationColor:oe.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:oe.shadows("textShadow")},ure={clipPath:!0,transform:oe.propT("transform",ln.transform),transformOrigin:!0,translateX:oe.spaceT("--chakra-translate-x"),translateY:oe.spaceT("--chakra-translate-y"),skewX:oe.degreeT("--chakra-skew-x"),skewY:oe.degreeT("--chakra-skew-y"),scaleX:oe.prop("--chakra-scale-x"),scaleY:oe.prop("--chakra-scale-y"),scale:oe.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:oe.degreeT("--chakra-rotate")},cre={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:oe.prop("transitionDuration","transition.duration"),transitionProperty:oe.prop("transitionProperty","transition.property"),transitionTimingFunction:oe.prop("transitionTimingFunction","transition.easing")},dre={fontFamily:oe.prop("fontFamily","fonts"),fontSize:oe.prop("fontSize","fontSizes",ln.px),fontWeight:oe.prop("fontWeight","fontWeights"),lineHeight:oe.prop("lineHeight","lineHeights"),letterSpacing:oe.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},fre={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:oe.spaceT("scrollMargin"),scrollMarginTop:oe.spaceT("scrollMarginTop"),scrollMarginBottom:oe.spaceT("scrollMarginBottom"),scrollMarginLeft:oe.spaceT("scrollMarginLeft"),scrollMarginRight:oe.spaceT("scrollMarginRight"),scrollMarginX:oe.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:oe.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:oe.spaceT("scrollPadding"),scrollPaddingTop:oe.spaceT("scrollPaddingTop"),scrollPaddingBottom:oe.spaceT("scrollPaddingBottom"),scrollPaddingLeft:oe.spaceT("scrollPaddingLeft"),scrollPaddingRight:oe.spaceT("scrollPaddingRight"),scrollPaddingX:oe.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:oe.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function oF(e){return Eo(e)&&e.reference?e.reference:String(e)}var ww=(e,...t)=>t.map(oF).join(` ${e} `).replace(/calc/g,""),BM=(...e)=>`calc(${ww("+",...e)})`,zM=(...e)=>`calc(${ww("-",...e)})`,f_=(...e)=>`calc(${ww("*",...e)})`,HM=(...e)=>`calc(${ww("/",...e)})`,WM=e=>{const t=oF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:f_(t,-1)},bh=Object.assign(e=>({add:(...t)=>bh(BM(e,...t)),subtract:(...t)=>bh(zM(e,...t)),multiply:(...t)=>bh(f_(e,...t)),divide:(...t)=>bh(HM(e,...t)),negate:()=>bh(WM(e)),toString:()=>e.toString()}),{add:BM,subtract:zM,multiply:f_,divide:HM,negate:WM});function hre(e,t="-"){return e.replace(/\s+/g,t)}function pre(e){const t=hre(e.toString());return mre(gre(t))}function gre(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function mre(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function vre(e,t=""){return[t,e].filter(Boolean).join("-")}function yre(e,t){return`var(${e}${t?`, ${t}`:""})`}function bre(e,t=""){return pre(`--${vre(e,t)}`)}function gn(e,t,n){const r=bre(e,n);return{variable:r,reference:yre(r,t)}}function xre(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Sre(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function h_(e){if(e==null)return e;const{unitless:t}=Sre(e);return t||typeof e=="number"?`${e}px`:e}var aF=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,E9=e=>Object.fromEntries(Object.entries(e).sort(aF));function UM(e){const t=E9(e);return Object.assign(Object.values(t),t)}function wre(e){const t=Object.keys(E9(e));return new Set(t)}function VM(e){var t;if(!e)return e;e=(t=h_(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function l1(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${h_(e)})`),t&&n.push("and",`(max-width: ${h_(t)})`),n.join(" ")}function Cre(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=UM(e),r=Object.entries(e).sort(aF).map(([a,s],l,u)=>{var d;let[,h]=(d=u[l+1])!=null?d:[];return h=parseFloat(h)>0?VM(h):void 0,{_minW:VM(s),breakpoint:a,minW:s,maxW:h,maxWQuery:l1(null,h),minWQuery:l1(s),minMaxQuery:l1(s,h)}}),i=wre(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(a){const s=Object.keys(a);return s.length>0&&s.every(l=>i.has(l))},asObject:E9(e),asArray:UM(e),details:r,get(a){return r.find(s=>s.breakpoint===a)},media:[null,...n.map(a=>l1(a)).slice(1)],toArrayValue(a){if(!Eo(a))throw new Error("toArrayValue: value must be an object");const s=o.map(l=>{var u;return(u=a[l])!=null?u:null});for(;xre(s)===null;)s.pop();return s},toObjectValue(a){if(!Array.isArray(a))throw new Error("toObjectValue: value must be an array");return a.reduce((s,l,u)=>{const d=o[u];return d!=null&&l!=null&&(s[d]=l),s},{})}}}var zi={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ad=e=>sF(t=>e(t,"&"),"[role=group]","[data-group]",".group"),Au=e=>sF(t=>e(t,"~ &"),"[data-peer]",".peer"),sF=(e,...t)=>t.map(e).join(", "),Cw={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ad(zi.hover),_peerHover:Au(zi.hover),_groupFocus:ad(zi.focus),_peerFocus:Au(zi.focus),_groupFocusVisible:ad(zi.focusVisible),_peerFocusVisible:Au(zi.focusVisible),_groupActive:ad(zi.active),_peerActive:Au(zi.active),_groupDisabled:ad(zi.disabled),_peerDisabled:Au(zi.disabled),_groupInvalid:ad(zi.invalid),_peerInvalid:Au(zi.invalid),_groupChecked:ad(zi.checked),_peerChecked:Au(zi.checked),_groupFocusWithin:ad(zi.focusWithin),_peerFocusWithin:Au(zi.focusWithin),_peerPlaceholderShown:Au(zi.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]"},_re=Object.keys(Cw);function GM(e,t){return gn(String(e).replace(/\./g,"-"),void 0,t)}function kre(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:a,value:s}=o,{variable:l,reference:u}=GM(i,t==null?void 0:t.cssVarPrefix);if(!a){if(i.startsWith("space")){const m=i.split("."),[y,...b]=m,w=`${y}.-${b.join(".")}`,E=bh.negate(s),_=bh.negate(u);r[w]={value:E,var:l,varRef:_}}n[l]=s,r[i]={value:s,var:l,varRef:u};continue}const d=m=>{const b=[String(i).split(".")[0],m].join(".");if(!e[b])return m;const{reference:E}=GM(b,t==null?void 0:t.cssVarPrefix);return E},h=Eo(s)?s:{default:s};n=Bl(n,Object.entries(h).reduce((m,[y,b])=>{var w,E;const _=d(b);if(y==="default")return m[l]=_,m;const k=(E=(w=Cw)==null?void 0:w[y])!=null?E:y;return m[k]={[l]:_},m},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Ere(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Pre(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Tre=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function Mre(e){return Pre(e,Tre)}function Lre(e){return e.semanticTokens}function Are(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}function Ore({tokens:e,semanticTokens:t}){var n,r;const i=Object.entries((n=p_(e))!=null?n:{}).map(([a,s])=>[a,{isSemantic:!1,value:s}]),o=Object.entries((r=p_(t,1))!=null?r:{}).map(([a,s])=>[a,{isSemantic:!0,value:s}]);return Object.fromEntries([...i,...o])}function p_(e,t=1/0){return!Eo(e)&&!Array.isArray(e)||!t?e:Object.entries(e).reduce((n,[r,i])=>(Eo(i)||Array.isArray(i)?Object.entries(p_(i,t-1)).forEach(([o,a])=>{n[`${r}.${o}`]=a}):n[r]=i,n),{})}function Rre(e){var t;const n=Are(e),r=Mre(n),i=Lre(n),o=Ore({tokens:r,semanticTokens:i}),a=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:s,cssVars:l}=kre(o,{cssVarPrefix:a});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:s,__breakpoints:Cre(n.breakpoints)}),n}var P9=Bl({},Ux,yn,Zne,US,Ka,Qne,sre,Jne,iF,are,O1,d_,or,fre,dre,lre,ure,ere,cre),Ire=Object.assign({},or,Ka,US,iF,O1),lF=Object.keys(Ire),Dre=[...Object.keys(P9),..._re],jre={...P9,...Cw},Nre=e=>e in jre,$re=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const a in e){let s=ts(e[a],t);if(s==null)continue;if(s=Eo(s)&&n(s)?r(s):s,!Array.isArray(s)){o[a]=s;continue}const l=s.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!Bre(t),Hre=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[a,s]=Fre(t);return t=(r=(n=i(a))!=null?n:o(s))!=null?r:o(t),t};function Wre(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,a=!1)=>{var s,l,u;const d=ts(o,r),h=$re(d)(r);let m={};for(let y in h){const b=h[y];let w=ts(b,r);y in n&&(y=n[y]),zre(y,w)&&(w=Hre(r,w));let E=t[y];if(E===!0&&(E={property:y}),Eo(w)){m[y]=(s=m[y])!=null?s:{},m[y]=Bl({},m[y],i(w,!0));continue}let _=(u=(l=E==null?void 0:E.transform)==null?void 0:l.call(E,w,r,d))!=null?u:w;_=E!=null&&E.processResult?i(_,!0):_;const k=ts(E==null?void 0:E.property,r);if(!a&&(E!=null&&E.static)){const T=ts(E.static,r);m=Bl({},m,T)}if(k&&Array.isArray(k)){for(const T of k)m[T]=_;continue}if(k){k==="&"&&Eo(_)?m=Bl({},m,_):m[k]=_;continue}if(Eo(_)){m=Bl({},m,_);continue}m[y]=_}return m};return i}var uF=e=>t=>Wre({theme:t,pseudos:Cw,configs:P9})(e);function dr(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function Ure(e,t){if(Array.isArray(e))return e;if(Eo(e))return t(e);if(e!=null)return[e]}function Vre(e,t){for(let n=t+1;n{Bl(u,{[T]:m?k[T]:{[_]:k[T]}})});continue}if(!y){m?Bl(u,k):u[_]=k;continue}u[_]=k}}return u}}function qre(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,a=Gre(o);return Bl({},ts((n=e.baseStyle)!=null?n:{},t),a(e,"sizes",i,t),a(e,"variants",r,t))}}function Kre(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function fr(e){return Ere(e,["styleConfig","size","variant","colorScheme"])}var Yre={hide:-1,auto:"auto",base:0,docked:10,dropdown:1e3,sticky:1100,banner:1200,overlay:1300,modal:1400,popover:1500,skipLink:1600,toast:1700,tooltip:1800},Xre=Yre,Zre={base:"0em",sm:"30em",md:"48em",lg:"62em",xl:"80em","2xl":"96em"},Qre=Zre,Jre={transparent:"transparent",current:"currentColor",black:"#000000",white:"#FFFFFF",whiteAlpha:{50:"rgba(255, 255, 255, 0.04)",100:"rgba(255, 255, 255, 0.06)",200:"rgba(255, 255, 255, 0.08)",300:"rgba(255, 255, 255, 0.16)",400:"rgba(255, 255, 255, 0.24)",500:"rgba(255, 255, 255, 0.36)",600:"rgba(255, 255, 255, 0.48)",700:"rgba(255, 255, 255, 0.64)",800:"rgba(255, 255, 255, 0.80)",900:"rgba(255, 255, 255, 0.92)"},blackAlpha:{50:"rgba(0, 0, 0, 0.04)",100:"rgba(0, 0, 0, 0.06)",200:"rgba(0, 0, 0, 0.08)",300:"rgba(0, 0, 0, 0.16)",400:"rgba(0, 0, 0, 0.24)",500:"rgba(0, 0, 0, 0.36)",600:"rgba(0, 0, 0, 0.48)",700:"rgba(0, 0, 0, 0.64)",800:"rgba(0, 0, 0, 0.80)",900:"rgba(0, 0, 0, 0.92)"},gray:{50:"#F7FAFC",100:"#EDF2F7",200:"#E2E8F0",300:"#CBD5E0",400:"#A0AEC0",500:"#718096",600:"#4A5568",700:"#2D3748",800:"#1A202C",900:"#171923"},red:{50:"#FFF5F5",100:"#FED7D7",200:"#FEB2B2",300:"#FC8181",400:"#F56565",500:"#E53E3E",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFFAF0",100:"#FEEBC8",200:"#FBD38D",300:"#F6AD55",400:"#ED8936",500:"#DD6B20",600:"#C05621",700:"#9C4221",800:"#7B341E",900:"#652B19"},yellow:{50:"#FFFFF0",100:"#FEFCBF",200:"#FAF089",300:"#F6E05E",400:"#ECC94B",500:"#D69E2E",600:"#B7791F",700:"#975A16",800:"#744210",900:"#5F370E"},green:{50:"#F0FFF4",100:"#C6F6D5",200:"#9AE6B4",300:"#68D391",400:"#48BB78",500:"#38A169",600:"#2F855A",700:"#276749",800:"#22543D",900:"#1C4532"},teal:{50:"#E6FFFA",100:"#B2F5EA",200:"#81E6D9",300:"#4FD1C5",400:"#38B2AC",500:"#319795",600:"#2C7A7B",700:"#285E61",800:"#234E52",900:"#1D4044"},blue:{50:"#ebf8ff",100:"#bee3f8",200:"#90cdf4",300:"#63b3ed",400:"#4299e1",500:"#3182ce",600:"#2b6cb0",700:"#2c5282",800:"#2a4365",900:"#1A365D"},cyan:{50:"#EDFDFD",100:"#C4F1F9",200:"#9DECF9",300:"#76E4F7",400:"#0BC5EA",500:"#00B5D8",600:"#00A3C4",700:"#0987A0",800:"#086F83",900:"#065666"},purple:{50:"#FAF5FF",100:"#E9D8FD",200:"#D6BCFA",300:"#B794F4",400:"#9F7AEA",500:"#805AD5",600:"#6B46C1",700:"#553C9A",800:"#44337A",900:"#322659"},pink:{50:"#FFF5F7",100:"#FED7E2",200:"#FBB6CE",300:"#F687B3",400:"#ED64A6",500:"#D53F8C",600:"#B83280",700:"#97266D",800:"#702459",900:"#521B41"},linkedin:{50:"#E8F4F9",100:"#CFEDFB",200:"#9BDAF3",300:"#68C7EC",400:"#34B3E4",500:"#00A0DC",600:"#008CC9",700:"#0077B5",800:"#005E93",900:"#004471"},facebook:{50:"#E8F4F9",100:"#D9DEE9",200:"#B7C2DA",300:"#6482C0",400:"#4267B2",500:"#385898",600:"#314E89",700:"#29487D",800:"#223B67",900:"#1E355B"},messenger:{50:"#D0E6FF",100:"#B9DAFF",200:"#A2CDFF",300:"#7AB8FF",400:"#2E90FF",500:"#0078FF",600:"#0063D1",700:"#0052AC",800:"#003C7E",900:"#002C5C"},whatsapp:{50:"#dffeec",100:"#b9f5d0",200:"#90edb3",300:"#65e495",400:"#3cdd78",500:"#22c35e",600:"#179848",700:"#0c6c33",800:"#01421c",900:"#001803"},twitter:{50:"#E5F4FD",100:"#C8E9FB",200:"#A8DCFA",300:"#83CDF7",400:"#57BBF5",500:"#1DA1F2",600:"#1A94DA",700:"#1681BF",800:"#136B9E",900:"#0D4D71"},telegram:{50:"#E3F2F9",100:"#C5E4F3",200:"#A2D4EC",300:"#7AC1E4",400:"#47A9DA",500:"#0088CC",600:"#007AB8",700:"#006BA1",800:"#005885",900:"#003F5E"}},eie=Jre,tie={none:"0",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},nie=tie,rie={xs:"0 0 0 1px rgba(0, 0, 0, 0.05)",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",outline:"0 0 0 3px rgba(66, 153, 225, 0.6)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)",none:"none","dark-lg":"rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"},iie=rie,oie={common:"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",colors:"background-color, border-color, color, fill, stroke",dimensions:"width, height",position:"left, right, top, bottom",background:"background-color, background-image, background-position"},aie={"ease-in":"cubic-bezier(0.4, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.2, 1)","ease-in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},sie={"ultra-fast":"50ms",faster:"100ms",fast:"150ms",normal:"200ms",slow:"300ms",slower:"400ms","ultra-slow":"500ms"},lie={property:oie,easing:aie,duration:sie},uie=lie,cie={none:0,sm:"4px",base:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},die=cie,fie={none:0,"1px":"1px solid","2px":"2px solid","4px":"4px solid","8px":"8px solid"},hie=fie,pie={letterSpacings:{tighter:"-0.05em",tight:"-0.025em",normal:"0",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeights:{normal:"normal",none:1,shorter:1.25,short:1.375,base:1.5,tall:1.625,taller:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},fonts:{heading:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},fontSizes:{"3xs":"0.45rem","2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"}},cF=pie,dF={px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},gie={max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",prose:"60ch"},mie={sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},vie={...dF,...gie,container:mie},fF=vie,yie={breakpoints:Qre,zIndices:Xre,radii:nie,blur:die,colors:eie,...cF,sizes:fF,shadows:iie,space:dF,borders:hie,transition:uie};function En(e,t={}){let n=!1;function r(){if(!n){n=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function i(...d){r();for(const h of d)t[h]=l(h);return En(e,t)}function o(...d){for(const h of d)h in t||(t[h]=l(h));return En(e,t)}function a(){return Object.fromEntries(Object.entries(t).map(([h,m])=>[h,m.selector]))}function s(){return Object.fromEntries(Object.entries(t).map(([h,m])=>[h,m.className]))}function l(d){const y=`chakra-${(["container","root"].includes(d??"")?[e]:[e,d]).filter(Boolean).join("__")}`;return{className:y,selector:`.${y}`,toString:()=>d}}return{parts:i,toPart:l,extend:o,selectors:a,classnames:s,get keys(){return Object.keys(t)},__type:{}}}var bie=En("accordion").parts("root","container","button","panel").extend("icon"),xie=En("alert").parts("title","description","container").extend("icon","spinner"),Sie=En("avatar").parts("label","badge","container").extend("excessLabel","group"),wie=En("breadcrumb").parts("link","item","container").extend("separator");En("button").parts();var Cie=En("checkbox").parts("control","icon","container").extend("label");En("progress").parts("track","filledTrack").extend("label");var _ie=En("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),kie=En("editable").parts("preview","input","textarea"),Eie=En("form").parts("container","requiredIndicator","helperText"),Pie=En("formError").parts("text","icon"),Tie=En("input").parts("addon","field","element"),Mie=En("list").parts("container","item","icon"),Lie=En("menu").parts("button","list","item").extend("groupTitle","command","divider"),Aie=En("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Oie=En("numberinput").parts("root","field","stepperGroup","stepper");En("pininput").parts("field");var Rie=En("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),Iie=En("progress").parts("label","filledTrack","track"),Die=En("radio").parts("container","control","label"),jie=En("select").parts("field","icon"),Nie=En("slider").parts("container","track","thumb","filledTrack","mark"),$ie=En("stat").parts("container","label","helpText","number","icon"),Fie=En("switch").parts("container","track","thumb"),Bie=En("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),zie=En("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),Hie=En("tag").parts("container","label","closeButton"),Wie=En("card").parts("container","header","body","footer");function kh(e,t,n){return Math.min(Math.max(e,n),t)}class Uie extends Error{constructor(t){super(`Failed to parse color: "${t}"`)}}var u1=Uie;function T9(e){if(typeof e!="string")throw new u1(e);if(e.trim().toLowerCase()==="transparent")return[0,0,0,0];let t=e.trim();t=Qie.test(e)?qie(e):e;const n=Kie.exec(t);if(n){const a=Array.from(n).slice(1);return[...a.slice(0,3).map(s=>parseInt(xy(s,2),16)),parseInt(xy(a[3]||"f",2),16)/255]}const r=Yie.exec(t);if(r){const a=Array.from(r).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,16)),parseInt(a[3]||"ff",16)/255]}const i=Xie.exec(t);if(i){const a=Array.from(i).slice(1);return[...a.slice(0,3).map(s=>parseInt(s,10)),parseFloat(a[3]||"1")]}const o=Zie.exec(t);if(o){const[a,s,l,u]=Array.from(o).slice(1).map(parseFloat);if(kh(0,100,s)!==s)throw new u1(e);if(kh(0,100,l)!==l)throw new u1(e);return[...Jie(a,s,l),Number.isNaN(u)?1:u]}throw new u1(e)}function Vie(e){let t=5381,n=e.length;for(;n;)t=t*33^e.charCodeAt(--n);return(t>>>0)%2341}const qM=e=>parseInt(e.replace(/_/g,""),36),Gie="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e,t)=>{const n=qM(t.substring(0,3)),r=qM(t.substring(3)).toString(16);let i="";for(let o=0;o<6-r.length;o++)i+="0";return e[n]=`${i}${r}`,e},{});function qie(e){const t=e.toLowerCase().trim(),n=Gie[Vie(t)];if(!n)throw new u1(e);return`#${n}`}const xy=(e,t)=>Array.from(Array(t)).map(()=>e).join(""),Kie=new RegExp(`^#${xy("([a-f0-9])",3)}([a-f0-9])?$`,"i"),Yie=new RegExp(`^#${xy("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),Xie=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${xy(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),Zie=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,Qie=/^[a-z]+$/i,KM=e=>Math.round(e*255),Jie=(e,t,n)=>{let r=n/100;if(t===0)return[r,r,r].map(KM);const i=(e%360+360)%360/60,o=(1-Math.abs(2*r-1))*(t/100),a=o*(1-Math.abs(i%2-1));let s=0,l=0,u=0;i>=0&&i<1?(s=o,l=a):i>=1&&i<2?(s=a,l=o):i>=2&&i<3?(l=o,u=a):i>=3&&i<4?(l=a,u=o):i>=4&&i<5?(s=a,u=o):i>=5&&i<6&&(s=o,u=a);const d=r-o/2,h=s+d,m=l+d,y=u+d;return[h,m,y].map(KM)};function eoe(e,t,n,r){return`rgba(${kh(0,255,e).toFixed()}, ${kh(0,255,t).toFixed()}, ${kh(0,255,n).toFixed()}, ${parseFloat(kh(0,1,r).toFixed(3))})`}function toe(e,t){const[n,r,i,o]=T9(e);return eoe(n,r,i,o-t)}function noe(e){const[t,n,r,i]=T9(e);let o=a=>{const s=kh(0,255,a).toString(16);return s.length===1?`0${s}`:s};return`#${o(t)}${o(n)}${o(r)}${i<1?o(Math.round(i*255)):""}`}function roe(e,t,n,r,i){for(t=t.split?t.split("."):t,r=0;rObject.keys(e).length===0,Co=(e,t,n)=>{const r=roe(e,`colors.${t}`,t);try{return noe(r),r}catch{return n??"#000000"}},ooe=e=>{const[t,n,r]=T9(e);return(t*299+n*587+r*114)/1e3},aoe=e=>t=>{const n=Co(t,e);return ooe(n)<128?"dark":"light"},soe=e=>t=>aoe(e)(t)==="dark",Um=(e,t)=>n=>{const r=Co(n,e);return toe(r,1-t)};function YM(e="1rem",t="rgba(255, 255, 255, 0.15)"){return{backgroundImage:`linear-gradient( 45deg, ${t} 25%, transparent 25%, @@ -353,12 +353,12 @@ Error generating stack: `+o.message+` ${t} 75%, transparent 75%, transparent - )`,backgroundSize:`${e} ${e}`}}var loe=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function uoe(e){const t=loe();return!e||ioe(e)?t:e.string&&e.colors?doe(e.string,e.colors):e.string&&!e.colors?coe(e.string):e.colors&&!e.string?foe(e.colors):t}function coe(e){let t=0;if(e.length===0)return t.toString();for(let r=0;r>r*8&255;n+=`00${i.toString(16)}`.substr(-2)}return n}function doe(e,t){let n=0;if(e.length===0)return t[0];for(let r=0;rn.colorMode==="dark"?t:e}function M9(e){const{orientation:t,vertical:n,horizontal:r}=e;return t?t==="vertical"?n:r:{}}function hF(e){return ko(e)&&e.reference?e.reference:String(e)}var _w=(e,...t)=>t.map(hF).join(` ${e} `).replace(/calc/g,""),XM=(...e)=>`calc(${_w("+",...e)})`,ZM=(...e)=>`calc(${_w("-",...e)})`,g_=(...e)=>`calc(${_w("*",...e)})`,QM=(...e)=>`calc(${_w("/",...e)})`,JM=e=>{const t=hF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:g_(t,-1)},Nu=Object.assign(e=>({add:(...t)=>Nu(XM(e,...t)),subtract:(...t)=>Nu(ZM(e,...t)),multiply:(...t)=>Nu(g_(e,...t)),divide:(...t)=>Nu(QM(e,...t)),negate:()=>Nu(JM(e)),toString:()=>e.toString()}),{add:XM,subtract:ZM,multiply:g_,divide:QM,negate:JM});function hoe(e){return!Number.isInteger(parseFloat(e.toString()))}function poe(e,t="-"){return e.replace(/\s+/g,t)}function pF(e){const t=poe(e.toString());return t.includes("\\.")?e:hoe(e)?t.replace(".","\\."):e}function goe(e,t=""){return[t,pF(e)].filter(Boolean).join("-")}function moe(e,t){return`var(${pF(e)}${t?`, ${t}`:""})`}function voe(e,t=""){return`--${goe(e,t)}`}function yi(e,t){const n=voe(e,t==null?void 0:t.prefix);return{variable:n,reference:moe(n,yoe(t==null?void 0:t.fallback))}}function yoe(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:boe,definePartsStyle:Vx}=dr(Fie.keys),R1=yi("switch-track-width"),Ah=yi("switch-track-height"),I5=yi("switch-track-diff"),xoe=Nu.subtract(R1,Ah),m_=yi("switch-thumb-x"),Bv=yi("switch-bg"),Soe=e=>{const{colorScheme:t}=e;return{borderRadius:"full",p:"0.5",width:[R1.reference],height:[Ah.reference],transitionProperty:"common",transitionDuration:"fast",[Bv.variable]:"colors.gray.300",_dark:{[Bv.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[Bv.variable]:`colors.${t}.500`,_dark:{[Bv.variable]:`colors.${t}.200`}},bg:Bv.reference}},woe={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[Ah.reference],height:[Ah.reference],_checked:{transform:`translateX(${m_.reference})`}},Coe=Vx(e=>({container:{[I5.variable]:xoe,[m_.variable]:I5.reference,_rtl:{[m_.variable]:Nu(I5).negate().toString()}},track:Soe(e),thumb:woe})),_oe={sm:Vx({container:{[R1.variable]:"1.375rem",[Ah.variable]:"sizes.3"}}),md:Vx({container:{[R1.variable]:"1.875rem",[Ah.variable]:"sizes.4"}}),lg:Vx({container:{[R1.variable]:"2.875rem",[Ah.variable]:"sizes.6"}})},koe=boe({baseStyle:Coe,sizes:_oe,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Eoe,definePartsStyle:ym}=dr(Bie.keys),Poe=ym({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),VS={"&[data-is-numeric=true]":{textAlign:"end"}},Toe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Moe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e)},td:{background:wt(`${t}.100`,`${t}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Loe={simple:Toe,striped:Moe,unstyled:{}},Aoe={sm:ym({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:ym({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:ym({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},Ooe=Eoe({baseStyle:Poe,variants:Loe,sizes:Aoe,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),Go=gn("tabs-color"),Us=gn("tabs-bg"),Db=gn("tabs-border-color"),{defineMultiStyleConfig:Roe,definePartsStyle:Kl}=dr(zie.keys),Ioe=e=>{const{orientation:t}=e;return{display:t==="vertical"?"flex":"block"}},Doe=e=>{const{isFitted:t}=e;return{flex:t?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}},joe=e=>{const{align:t="start",orientation:n}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[t],flexDirection:n==="vertical"?"column":"row"}},Noe={p:4},$oe=Kl(e=>({root:Ioe(e),tab:Doe(e),tablist:joe(e),tabpanel:Noe})),Foe={sm:Kl({tab:{py:1,px:4,fontSize:"sm"}}),md:Kl({tab:{fontSize:"md",py:2,px:4}}),lg:Kl({tab:{fontSize:"lg",py:3,px:4}})},Boe=Kl(e=>{const{colorScheme:t,orientation:n}=e,r=n==="vertical",i=n==="vertical"?"borderStart":"borderBottom",o=r?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[o]:"-2px",_selected:{[Go.variable]:`colors.${t}.600`,_dark:{[Go.variable]:`colors.${t}.300`},borderColor:"currentColor"},_active:{[Us.variable]:"colors.gray.200",_dark:{[Us.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:Go.reference,bg:Us.reference}}}),zoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[Db.variable]:"transparent",_selected:{[Go.variable]:`colors.${t}.600`,[Db.variable]:"colors.white",_dark:{[Go.variable]:`colors.${t}.300`,[Db.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:Db.reference},color:Go.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Hoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{border:"1px solid",borderColor:"inherit",[Us.variable]:"colors.gray.50",_dark:{[Us.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[Us.variable]:"colors.white",[Go.variable]:`colors.${t}.600`,_dark:{[Us.variable]:"colors.gray.800",[Go.variable]:`colors.${t}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:Go.reference,bg:Us.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Woe=Kl(e=>{const{colorScheme:t,theme:n}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:wo(n,`${t}.700`),bg:wo(n,`${t}.100`)}}}}),Uoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[Go.variable]:"colors.gray.600",_dark:{[Go.variable]:"inherit"},_selected:{[Go.variable]:"colors.white",[Us.variable]:`colors.${t}.600`,_dark:{[Go.variable]:"colors.gray.800",[Us.variable]:`colors.${t}.300`}},color:Go.reference,bg:Us.reference}}}),Voe=Kl({}),Goe={line:Boe,enclosed:zoe,"enclosed-colored":Hoe,"soft-rounded":Woe,"solid-rounded":Uoe,unstyled:Voe},qoe=Roe({baseStyle:$oe,sizes:Foe,variants:Goe,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),Koe={px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold"},bm=gn("badge-bg"),zl=gn("badge-color"),Yoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.500`,.6)(n);return{[bm.variable]:`colors.${t}.500`,[zl.variable]:"colors.white",_dark:{[bm.variable]:r,[zl.variable]:"colors.whiteAlpha.800"},bg:bm.reference,color:zl.reference}},Xoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.16)(n);return{[bm.variable]:`colors.${t}.100`,[zl.variable]:`colors.${t}.800`,_dark:{[bm.variable]:r,[zl.variable]:`colors.${t}.200`},bg:bm.reference,color:zl.reference}},Zoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.8)(n);return{[zl.variable]:`colors.${t}.500`,_dark:{[zl.variable]:r},color:zl.reference,boxShadow:`inset 0 0 0px 1px ${zl.reference}`}},Qoe={solid:Yoe,subtle:Xoe,outline:Zoe},I1={baseStyle:Koe,variants:Qoe,defaultProps:{variant:"subtle",colorScheme:"gray"}},{defineMultiStyleConfig:Joe,definePartsStyle:Oh}=dr(Hie.keys),eae={fontWeight:"medium",lineHeight:1.2,outline:0,borderRadius:"md",_focusVisible:{boxShadow:"outline"}},tae={lineHeight:1.2,overflow:"visible"},nae={fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}},rae=Oh({container:eae,label:tae,closeButton:nae}),iae={sm:Oh({container:{minH:"5",minW:"5",fontSize:"xs",px:"2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:Oh({container:{minH:"6",minW:"6",fontSize:"sm",px:"2"}}),lg:Oh({container:{minH:"8",minW:"8",fontSize:"md",px:"3"}})},oae={subtle:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.subtle(e)}}),solid:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.solid(e)}}),outline:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.outline(e)}})},aae=Joe({variants:oae,baseStyle:rae,sizes:iae,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:zu,defineMultiStyleConfig:sae}=dr(Tie.keys),lae=zu({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),sd={lg:{fontSize:"lg",px:"4",h:"12",borderRadius:"md"},md:{fontSize:"md",px:"4",h:"10",borderRadius:"md"},sm:{fontSize:"sm",px:"3",h:"8",borderRadius:"sm"},xs:{fontSize:"xs",px:"2",h:"6",borderRadius:"sm"}},uae={lg:zu({field:sd.lg,addon:sd.lg}),md:zu({field:sd.md,addon:sd.md}),sm:zu({field:sd.sm,addon:sd.sm}),xs:zu({field:sd.xs,addon:sd.xs})};function L9(e){const{focusBorderColor:t,errorBorderColor:n}=e;return{focusBorderColor:t||wt("blue.500","blue.300")(e),errorBorderColor:n||wt("red.500","red.300")(e)}}var cae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:wt("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:wo(t,r),boxShadow:`0 0 0 1px ${wo(t,r)}`},_focusVisible:{zIndex:1,borderColor:wo(t,n),boxShadow:`0 0 0 1px ${wo(t,n)}`}},addon:{border:"1px solid",borderColor:wt("inherit","whiteAlpha.50")(e),bg:wt("gray.100","whiteAlpha.300")(e)}}}),dae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e),_hover:{bg:wt("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:wo(t,r)},_focusVisible:{bg:"transparent",borderColor:wo(t,n)}},addon:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e)}}}),fae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:wo(t,r),boxShadow:`0px 1px 0px 0px ${wo(t,r)}`},_focusVisible:{borderColor:wo(t,n),boxShadow:`0px 1px 0px 0px ${wo(t,n)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),hae=zu({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),pae={outline:cae,filled:dae,flushed:fae,unstyled:hae},xn=sae({baseStyle:lae,sizes:uae,variants:pae,defaultProps:{size:"md",variant:"outline"}}),eL,gae={...(eL=xn.baseStyle)==null?void 0:eL.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"},tL,nL,mae={outline:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.outline(e).field)!=null?n:{}},flushed:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.flushed(e).field)!=null?n:{}},filled:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.filled(e).field)!=null?n:{}},unstyled:(nL=(tL=xn.variants)==null?void 0:tL.unstyled.field)!=null?nL:{}},rL,iL,oL,aL,sL,lL,uL,cL,vae={xs:(iL=(rL=xn.sizes)==null?void 0:rL.xs.field)!=null?iL:{},sm:(aL=(oL=xn.sizes)==null?void 0:oL.sm.field)!=null?aL:{},md:(lL=(sL=xn.sizes)==null?void 0:sL.md.field)!=null?lL:{},lg:(cL=(uL=xn.sizes)==null?void 0:uL.lg.field)!=null?cL:{}},yae={baseStyle:gae,sizes:vae,variants:mae,defaultProps:{size:"md",variant:"outline"}},jb=yi("tooltip-bg"),D5=yi("tooltip-fg"),bae=yi("popper-arrow-bg"),xae={bg:jb.reference,color:D5.reference,[jb.variable]:"colors.gray.700",[D5.variable]:"colors.whiteAlpha.900",_dark:{[jb.variable]:"colors.gray.300",[D5.variable]:"colors.gray.900"},[bae.variable]:jb.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"},Sae={baseStyle:xae},{defineMultiStyleConfig:wae,definePartsStyle:c1}=dr(Iie.keys),Cae=e=>{const{colorScheme:t,theme:n,isIndeterminate:r,hasStripe:i}=e,o=wt(YM(),YM("1rem","rgba(0,0,0,0.1)"))(e),a=wt(`${t}.500`,`${t}.200`)(e),s=`linear-gradient( + )`,backgroundSize:`${e} ${e}`}}var loe=()=>`#${Math.floor(Math.random()*16777215).toString(16).padEnd(6,"0")}`;function uoe(e){const t=loe();return!e||ioe(e)?t:e.string&&e.colors?doe(e.string,e.colors):e.string&&!e.colors?coe(e.string):e.colors&&!e.string?foe(e.colors):t}function coe(e){let t=0;if(e.length===0)return t.toString();for(let r=0;r>r*8&255;n+=`00${i.toString(16)}`.substr(-2)}return n}function doe(e,t){let n=0;if(e.length===0)return t[0];for(let r=0;rn.colorMode==="dark"?t:e}function M9(e){const{orientation:t,vertical:n,horizontal:r}=e;return t?t==="vertical"?n:r:{}}function hF(e){return Eo(e)&&e.reference?e.reference:String(e)}var _w=(e,...t)=>t.map(hF).join(` ${e} `).replace(/calc/g,""),XM=(...e)=>`calc(${_w("+",...e)})`,ZM=(...e)=>`calc(${_w("-",...e)})`,g_=(...e)=>`calc(${_w("*",...e)})`,QM=(...e)=>`calc(${_w("/",...e)})`,JM=e=>{const t=hF(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:g_(t,-1)},Nu=Object.assign(e=>({add:(...t)=>Nu(XM(e,...t)),subtract:(...t)=>Nu(ZM(e,...t)),multiply:(...t)=>Nu(g_(e,...t)),divide:(...t)=>Nu(QM(e,...t)),negate:()=>Nu(JM(e)),toString:()=>e.toString()}),{add:XM,subtract:ZM,multiply:g_,divide:QM,negate:JM});function hoe(e){return!Number.isInteger(parseFloat(e.toString()))}function poe(e,t="-"){return e.replace(/\s+/g,t)}function pF(e){const t=poe(e.toString());return t.includes("\\.")?e:hoe(e)?t.replace(".","\\."):e}function goe(e,t=""){return[t,pF(e)].filter(Boolean).join("-")}function moe(e,t){return`var(${pF(e)}${t?`, ${t}`:""})`}function voe(e,t=""){return`--${goe(e,t)}`}function yi(e,t){const n=voe(e,t==null?void 0:t.prefix);return{variable:n,reference:moe(n,yoe(t==null?void 0:t.fallback))}}function yoe(e){return typeof e=="string"?e:e==null?void 0:e.reference}var{defineMultiStyleConfig:boe,definePartsStyle:Vx}=dr(Fie.keys),R1=yi("switch-track-width"),Ah=yi("switch-track-height"),I5=yi("switch-track-diff"),xoe=Nu.subtract(R1,Ah),m_=yi("switch-thumb-x"),Bv=yi("switch-bg"),Soe=e=>{const{colorScheme:t}=e;return{borderRadius:"full",p:"0.5",width:[R1.reference],height:[Ah.reference],transitionProperty:"common",transitionDuration:"fast",[Bv.variable]:"colors.gray.300",_dark:{[Bv.variable]:"colors.whiteAlpha.400"},_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed"},_checked:{[Bv.variable]:`colors.${t}.500`,_dark:{[Bv.variable]:`colors.${t}.200`}},bg:Bv.reference}},woe={bg:"white",transitionProperty:"transform",transitionDuration:"normal",borderRadius:"inherit",width:[Ah.reference],height:[Ah.reference],_checked:{transform:`translateX(${m_.reference})`}},Coe=Vx(e=>({container:{[I5.variable]:xoe,[m_.variable]:I5.reference,_rtl:{[m_.variable]:Nu(I5).negate().toString()}},track:Soe(e),thumb:woe})),_oe={sm:Vx({container:{[R1.variable]:"1.375rem",[Ah.variable]:"sizes.3"}}),md:Vx({container:{[R1.variable]:"1.875rem",[Ah.variable]:"sizes.4"}}),lg:Vx({container:{[R1.variable]:"2.875rem",[Ah.variable]:"sizes.6"}})},koe=boe({baseStyle:Coe,sizes:_oe,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Eoe,definePartsStyle:ym}=dr(Bie.keys),Poe=ym({table:{fontVariantNumeric:"lining-nums tabular-nums",borderCollapse:"collapse",width:"full"},th:{fontFamily:"heading",fontWeight:"bold",textTransform:"uppercase",letterSpacing:"wider",textAlign:"start"},td:{textAlign:"start"},caption:{mt:4,fontFamily:"heading",textAlign:"center",fontWeight:"medium"}}),VS={"&[data-is-numeric=true]":{textAlign:"end"}},Toe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Moe=ym(e=>{const{colorScheme:t}=e;return{th:{color:wt("gray.600","gray.400")(e),borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},td:{borderBottom:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e),...VS},caption:{color:wt("gray.600","gray.100")(e)},tbody:{tr:{"&:nth-of-type(odd)":{"th, td":{borderBottomWidth:"1px",borderColor:wt(`${t}.100`,`${t}.700`)(e)},td:{background:wt(`${t}.100`,`${t}.700`)(e)}}}},tfoot:{tr:{"&:last-of-type":{th:{borderBottomWidth:0}}}}}}),Loe={simple:Toe,striped:Moe,unstyled:{}},Aoe={sm:ym({th:{px:"4",py:"1",lineHeight:"4",fontSize:"xs"},td:{px:"4",py:"2",fontSize:"sm",lineHeight:"4"},caption:{px:"4",py:"2",fontSize:"xs"}}),md:ym({th:{px:"6",py:"3",lineHeight:"4",fontSize:"xs"},td:{px:"6",py:"4",lineHeight:"5"},caption:{px:"6",py:"2",fontSize:"sm"}}),lg:ym({th:{px:"8",py:"4",lineHeight:"5",fontSize:"sm"},td:{px:"8",py:"5",lineHeight:"6"},caption:{px:"6",py:"2",fontSize:"md"}})},Ooe=Eoe({baseStyle:Poe,variants:Loe,sizes:Aoe,defaultProps:{variant:"simple",size:"md",colorScheme:"gray"}}),Go=gn("tabs-color"),Us=gn("tabs-bg"),Db=gn("tabs-border-color"),{defineMultiStyleConfig:Roe,definePartsStyle:Kl}=dr(zie.keys),Ioe=e=>{const{orientation:t}=e;return{display:t==="vertical"?"flex":"block"}},Doe=e=>{const{isFitted:t}=e;return{flex:t?1:void 0,transitionProperty:"common",transitionDuration:"normal",_focusVisible:{zIndex:1,boxShadow:"outline"},_disabled:{cursor:"not-allowed",opacity:.4}}},joe=e=>{const{align:t="start",orientation:n}=e;return{justifyContent:{end:"flex-end",center:"center",start:"flex-start"}[t],flexDirection:n==="vertical"?"column":"row"}},Noe={p:4},$oe=Kl(e=>({root:Ioe(e),tab:Doe(e),tablist:joe(e),tabpanel:Noe})),Foe={sm:Kl({tab:{py:1,px:4,fontSize:"sm"}}),md:Kl({tab:{fontSize:"md",py:2,px:4}}),lg:Kl({tab:{fontSize:"lg",py:3,px:4}})},Boe=Kl(e=>{const{colorScheme:t,orientation:n}=e,r=n==="vertical",i=n==="vertical"?"borderStart":"borderBottom",o=r?"marginStart":"marginBottom";return{tablist:{[i]:"2px solid",borderColor:"inherit"},tab:{[i]:"2px solid",borderColor:"transparent",[o]:"-2px",_selected:{[Go.variable]:`colors.${t}.600`,_dark:{[Go.variable]:`colors.${t}.300`},borderColor:"currentColor"},_active:{[Us.variable]:"colors.gray.200",_dark:{[Us.variable]:"colors.whiteAlpha.300"}},_disabled:{_active:{bg:"none"}},color:Go.reference,bg:Us.reference}}}),zoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderTopRadius:"md",border:"1px solid",borderColor:"transparent",mb:"-1px",[Db.variable]:"transparent",_selected:{[Go.variable]:`colors.${t}.600`,[Db.variable]:"colors.white",_dark:{[Go.variable]:`colors.${t}.300`,[Db.variable]:"colors.gray.800"},borderColor:"inherit",borderBottomColor:Db.reference},color:Go.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Hoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{border:"1px solid",borderColor:"inherit",[Us.variable]:"colors.gray.50",_dark:{[Us.variable]:"colors.whiteAlpha.50"},mb:"-1px",_notLast:{marginEnd:"-1px"},_selected:{[Us.variable]:"colors.white",[Go.variable]:`colors.${t}.600`,_dark:{[Us.variable]:"colors.gray.800",[Go.variable]:`colors.${t}.300`},borderColor:"inherit",borderTopColor:"currentColor",borderBottomColor:"transparent"},color:Go.reference,bg:Us.reference},tablist:{mb:"-1px",borderBottom:"1px solid",borderColor:"inherit"}}}),Woe=Kl(e=>{const{colorScheme:t,theme:n}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",color:"gray.600",_selected:{color:Co(n,`${t}.700`),bg:Co(n,`${t}.100`)}}}}),Uoe=Kl(e=>{const{colorScheme:t}=e;return{tab:{borderRadius:"full",fontWeight:"semibold",[Go.variable]:"colors.gray.600",_dark:{[Go.variable]:"inherit"},_selected:{[Go.variable]:"colors.white",[Us.variable]:`colors.${t}.600`,_dark:{[Go.variable]:"colors.gray.800",[Us.variable]:`colors.${t}.300`}},color:Go.reference,bg:Us.reference}}}),Voe=Kl({}),Goe={line:Boe,enclosed:zoe,"enclosed-colored":Hoe,"soft-rounded":Woe,"solid-rounded":Uoe,unstyled:Voe},qoe=Roe({baseStyle:$oe,sizes:Foe,variants:Goe,defaultProps:{size:"md",variant:"line",colorScheme:"blue"}}),Koe={px:1,textTransform:"uppercase",fontSize:"xs",borderRadius:"sm",fontWeight:"bold"},bm=gn("badge-bg"),zl=gn("badge-color"),Yoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.500`,.6)(n);return{[bm.variable]:`colors.${t}.500`,[zl.variable]:"colors.white",_dark:{[bm.variable]:r,[zl.variable]:"colors.whiteAlpha.800"},bg:bm.reference,color:zl.reference}},Xoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.16)(n);return{[bm.variable]:`colors.${t}.100`,[zl.variable]:`colors.${t}.800`,_dark:{[bm.variable]:r,[zl.variable]:`colors.${t}.200`},bg:bm.reference,color:zl.reference}},Zoe=e=>{const{colorScheme:t,theme:n}=e,r=Um(`${t}.200`,.8)(n);return{[zl.variable]:`colors.${t}.500`,_dark:{[zl.variable]:r},color:zl.reference,boxShadow:`inset 0 0 0px 1px ${zl.reference}`}},Qoe={solid:Yoe,subtle:Xoe,outline:Zoe},I1={baseStyle:Koe,variants:Qoe,defaultProps:{variant:"subtle",colorScheme:"gray"}},{defineMultiStyleConfig:Joe,definePartsStyle:Oh}=dr(Hie.keys),eae={fontWeight:"medium",lineHeight:1.2,outline:0,borderRadius:"md",_focusVisible:{boxShadow:"outline"}},tae={lineHeight:1.2,overflow:"visible"},nae={fontSize:"lg",w:"5",h:"5",transitionProperty:"common",transitionDuration:"normal",borderRadius:"full",marginStart:"1.5",marginEnd:"-1",opacity:.5,_disabled:{opacity:.4},_focusVisible:{boxShadow:"outline",bg:"rgba(0, 0, 0, 0.14)"},_hover:{opacity:.8},_active:{opacity:1}},rae=Oh({container:eae,label:tae,closeButton:nae}),iae={sm:Oh({container:{minH:"5",minW:"5",fontSize:"xs",px:"2"},closeButton:{marginEnd:"-2px",marginStart:"0.35rem"}}),md:Oh({container:{minH:"6",minW:"6",fontSize:"sm",px:"2"}}),lg:Oh({container:{minH:"8",minW:"8",fontSize:"md",px:"3"}})},oae={subtle:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.subtle(e)}}),solid:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.solid(e)}}),outline:Oh(e=>{var t;return{container:(t=I1.variants)==null?void 0:t.outline(e)}})},aae=Joe({variants:oae,baseStyle:rae,sizes:iae,defaultProps:{size:"md",variant:"subtle",colorScheme:"gray"}}),{definePartsStyle:zu,defineMultiStyleConfig:sae}=dr(Tie.keys),lae=zu({field:{width:"100%",minWidth:0,outline:0,position:"relative",appearance:"none",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed"}}}),sd={lg:{fontSize:"lg",px:"4",h:"12",borderRadius:"md"},md:{fontSize:"md",px:"4",h:"10",borderRadius:"md"},sm:{fontSize:"sm",px:"3",h:"8",borderRadius:"sm"},xs:{fontSize:"xs",px:"2",h:"6",borderRadius:"sm"}},uae={lg:zu({field:sd.lg,addon:sd.lg}),md:zu({field:sd.md,addon:sd.md}),sm:zu({field:sd.sm,addon:sd.sm}),xs:zu({field:sd.xs,addon:sd.xs})};function L9(e){const{focusBorderColor:t,errorBorderColor:n}=e;return{focusBorderColor:t||wt("blue.500","blue.300")(e),errorBorderColor:n||wt("red.500","red.300")(e)}}var cae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{border:"1px solid",borderColor:"inherit",bg:"inherit",_hover:{borderColor:wt("gray.300","whiteAlpha.400")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r),boxShadow:`0 0 0 1px ${Co(t,r)}`},_focusVisible:{zIndex:1,borderColor:Co(t,n),boxShadow:`0 0 0 1px ${Co(t,n)}`}},addon:{border:"1px solid",borderColor:wt("inherit","whiteAlpha.50")(e),bg:wt("gray.100","whiteAlpha.300")(e)}}}),dae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e),_hover:{bg:wt("gray.200","whiteAlpha.100")(e)},_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r)},_focusVisible:{bg:"transparent",borderColor:Co(t,n)}},addon:{border:"2px solid",borderColor:"transparent",bg:wt("gray.100","whiteAlpha.50")(e)}}}),fae=zu(e=>{const{theme:t}=e,{focusBorderColor:n,errorBorderColor:r}=L9(e);return{field:{borderBottom:"1px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent",_readOnly:{boxShadow:"none !important",userSelect:"all"},_invalid:{borderColor:Co(t,r),boxShadow:`0px 1px 0px 0px ${Co(t,r)}`},_focusVisible:{borderColor:Co(t,n),boxShadow:`0px 1px 0px 0px ${Co(t,n)}`}},addon:{borderBottom:"2px solid",borderColor:"inherit",borderRadius:"0",px:"0",bg:"transparent"}}}),hae=zu({field:{bg:"transparent",px:"0",height:"auto"},addon:{bg:"transparent",px:"0",height:"auto"}}),pae={outline:cae,filled:dae,flushed:fae,unstyled:hae},xn=sae({baseStyle:lae,sizes:uae,variants:pae,defaultProps:{size:"md",variant:"outline"}}),eL,gae={...(eL=xn.baseStyle)==null?void 0:eL.field,paddingY:"2",minHeight:"20",lineHeight:"short",verticalAlign:"top"},tL,nL,mae={outline:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.outline(e).field)!=null?n:{}},flushed:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.flushed(e).field)!=null?n:{}},filled:e=>{var t,n;return(n=(t=xn.variants)==null?void 0:t.filled(e).field)!=null?n:{}},unstyled:(nL=(tL=xn.variants)==null?void 0:tL.unstyled.field)!=null?nL:{}},rL,iL,oL,aL,sL,lL,uL,cL,vae={xs:(iL=(rL=xn.sizes)==null?void 0:rL.xs.field)!=null?iL:{},sm:(aL=(oL=xn.sizes)==null?void 0:oL.sm.field)!=null?aL:{},md:(lL=(sL=xn.sizes)==null?void 0:sL.md.field)!=null?lL:{},lg:(cL=(uL=xn.sizes)==null?void 0:uL.lg.field)!=null?cL:{}},yae={baseStyle:gae,sizes:vae,variants:mae,defaultProps:{size:"md",variant:"outline"}},jb=yi("tooltip-bg"),D5=yi("tooltip-fg"),bae=yi("popper-arrow-bg"),xae={bg:jb.reference,color:D5.reference,[jb.variable]:"colors.gray.700",[D5.variable]:"colors.whiteAlpha.900",_dark:{[jb.variable]:"colors.gray.300",[D5.variable]:"colors.gray.900"},[bae.variable]:jb.reference,px:"2",py:"0.5",borderRadius:"sm",fontWeight:"medium",fontSize:"sm",boxShadow:"md",maxW:"xs",zIndex:"tooltip"},Sae={baseStyle:xae},{defineMultiStyleConfig:wae,definePartsStyle:c1}=dr(Iie.keys),Cae=e=>{const{colorScheme:t,theme:n,isIndeterminate:r,hasStripe:i}=e,o=wt(YM(),YM("1rem","rgba(0,0,0,0.1)"))(e),a=wt(`${t}.500`,`${t}.200`)(e),s=`linear-gradient( to right, transparent 0%, - ${wo(n,a)} 50%, + ${Co(n,a)} 50%, transparent 100% - )`;return{...!r&&i&&o,...r?{bgImage:s}:{bgColor:a}}},_ae={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"},kae=e=>({bg:wt("gray.100","whiteAlpha.300")(e)}),Eae=e=>({transitionProperty:"common",transitionDuration:"slow",...Cae(e)}),Pae=c1(e=>({label:_ae,filledTrack:Eae(e),track:kae(e)})),Tae={xs:c1({track:{h:"1"}}),sm:c1({track:{h:"2"}}),md:c1({track:{h:"3"}}),lg:c1({track:{h:"4"}})},Mae=wae({sizes:Tae,baseStyle:Pae,defaultProps:{size:"md",colorScheme:"blue"}}),Lae=e=>typeof e=="function";function Eo(e,...t){return Lae(e)?e(...t):e}var{definePartsStyle:Gx,defineMultiStyleConfig:Aae}=dr(Cie.keys),D1=gn("checkbox-size"),Oae=e=>{const{colorScheme:t}=e;return{w:D1.reference,h:D1.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e),_hover:{bg:wt(`${t}.600`,`${t}.300`)(e),borderColor:wt(`${t}.600`,`${t}.300`)(e)},_disabled:{borderColor:wt("gray.200","transparent")(e),bg:wt("gray.200","whiteAlpha.300")(e),color:wt("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e)},_disabled:{bg:wt("gray.100","whiteAlpha.100")(e),borderColor:wt("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:wt("red.500","red.300")(e)}}},Rae={_disabled:{cursor:"not-allowed"}},Iae={userSelect:"none",_disabled:{opacity:.4}},Dae={transitionProperty:"transform",transitionDuration:"normal"},jae=Gx(e=>({icon:Dae,container:Rae,control:Eo(Oae,e),label:Iae})),Nae={sm:Gx({control:{[D1.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Gx({control:{[D1.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Gx({control:{[D1.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},GS=Aae({baseStyle:jae,sizes:Nae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:$ae,definePartsStyle:qx}=dr(Die.keys),Fae=e=>{var t;const n=(t=Eo(GS.baseStyle,e))==null?void 0:t.control;return{...n,borderRadius:"full",_checked:{...n==null?void 0:n._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}},Bae=qx(e=>{var t,n,r,i;return{label:(n=(t=GS).baseStyle)==null?void 0:n.call(t,e).label,container:(i=(r=GS).baseStyle)==null?void 0:i.call(r,e).container,control:Fae(e)}}),zae={md:qx({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qx({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qx({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},Hae=$ae({baseStyle:Bae,sizes:zae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Wae,definePartsStyle:Uae}=dr(jie.keys),Nb=gn("select-bg"),dL,Vae={...(dL=xn.baseStyle)==null?void 0:dL.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Nb.reference,[Nb.variable]:"colors.white",_dark:{[Nb.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Nb.reference}},Gae={width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}},qae=Uae({field:Vae,icon:Gae}),$b={paddingInlineEnd:"8"},fL,hL,pL,gL,mL,vL,yL,bL,Kae={lg:{...(fL=xn.sizes)==null?void 0:fL.lg,field:{...(hL=xn.sizes)==null?void 0:hL.lg.field,...$b}},md:{...(pL=xn.sizes)==null?void 0:pL.md,field:{...(gL=xn.sizes)==null?void 0:gL.md.field,...$b}},sm:{...(mL=xn.sizes)==null?void 0:mL.sm,field:{...(vL=xn.sizes)==null?void 0:vL.sm.field,...$b}},xs:{...(yL=xn.sizes)==null?void 0:yL.xs,field:{...(bL=xn.sizes)==null?void 0:bL.xs.field,...$b},icon:{insetEnd:"1"}}},Yae=Wae({baseStyle:qae,sizes:Kae,variants:xn.variants,defaultProps:xn.defaultProps}),j5=gn("skeleton-start-color"),N5=gn("skeleton-end-color"),Xae={[j5.variable]:"colors.gray.100",[N5.variable]:"colors.gray.400",_dark:{[j5.variable]:"colors.gray.800",[N5.variable]:"colors.gray.600"},background:j5.reference,borderColor:N5.reference,opacity:.7,borderRadius:"sm"},Zae={baseStyle:Xae},$5=gn("skip-link-bg"),Qae={borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[$5.variable]:"colors.white",_dark:{[$5.variable]:"colors.gray.700"},bg:$5.reference}},Jae={baseStyle:Qae},{defineMultiStyleConfig:ese,definePartsStyle:kw}=dr(Nie.keys),Sy=gn("slider-thumb-size"),wy=gn("slider-track-size"),bd=gn("slider-bg"),tse=e=>{const{orientation:t}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...M9({orientation:t,vertical:{h:"100%"},horizontal:{w:"100%"}})}},nse=e=>({...M9({orientation:e.orientation,horizontal:{h:wy.reference},vertical:{w:wy.reference}}),overflow:"hidden",borderRadius:"sm",[bd.variable]:"colors.gray.200",_dark:{[bd.variable]:"colors.whiteAlpha.200"},_disabled:{[bd.variable]:"colors.gray.300",_dark:{[bd.variable]:"colors.whiteAlpha.300"}},bg:bd.reference}),rse=e=>{const{orientation:t}=e;return{...M9({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:Sy.reference,h:Sy.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}},ise=e=>{const{colorScheme:t}=e;return{width:"inherit",height:"inherit",[bd.variable]:`colors.${t}.500`,_dark:{[bd.variable]:`colors.${t}.200`},bg:bd.reference}},ose=kw(e=>({container:tse(e),track:nse(e),thumb:rse(e),filledTrack:ise(e)})),ase=kw({container:{[Sy.variable]:"sizes.4",[wy.variable]:"sizes.1"}}),sse=kw({container:{[Sy.variable]:"sizes.3.5",[wy.variable]:"sizes.1"}}),lse=kw({container:{[Sy.variable]:"sizes.2.5",[wy.variable]:"sizes.0.5"}}),use={lg:ase,md:sse,sm:lse},cse=ese({baseStyle:ose,sizes:use,defaultProps:{size:"md",colorScheme:"blue"}}),xh=yi("spinner-size"),dse={width:[xh.reference],height:[xh.reference]},fse={xs:{[xh.variable]:"sizes.3"},sm:{[xh.variable]:"sizes.4"},md:{[xh.variable]:"sizes.6"},lg:{[xh.variable]:"sizes.8"},xl:{[xh.variable]:"sizes.12"}},hse={baseStyle:dse,sizes:fse,defaultProps:{size:"md"}},{defineMultiStyleConfig:pse,definePartsStyle:gF}=dr($ie.keys),gse={fontWeight:"medium"},mse={opacity:.8,marginBottom:"2"},vse={verticalAlign:"baseline",fontWeight:"semibold"},yse={marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"},bse=gF({container:{},label:gse,helpText:mse,number:vse,icon:yse}),xse={md:gF({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Sse=pse({baseStyle:bse,sizes:xse,defaultProps:{size:"md"}}),F5=gn("kbd-bg"),wse={[F5.variable]:"colors.gray.100",_dark:{[F5.variable]:"colors.whiteAlpha.100"},bg:F5.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"},Cse={baseStyle:wse},_se={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},kse={baseStyle:_se},{defineMultiStyleConfig:Ese,definePartsStyle:Pse}=dr(Mie.keys),Tse={marginEnd:"2",display:"inline",verticalAlign:"text-bottom"},Mse=Pse({icon:Tse}),Lse=Ese({baseStyle:Mse}),{defineMultiStyleConfig:Ase,definePartsStyle:Ose}=dr(Lie.keys),Rl=gn("menu-bg"),B5=gn("menu-shadow"),Rse={[Rl.variable]:"#fff",[B5.variable]:"shadows.sm",_dark:{[Rl.variable]:"colors.gray.700",[B5.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:Rl.reference,boxShadow:B5.reference},Ise={py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_active:{[Rl.variable]:"colors.gray.200",_dark:{[Rl.variable]:"colors.whiteAlpha.200"}},_expanded:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:Rl.reference},Dse={mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},jse={opacity:.6},Nse={border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6},$se={transitionProperty:"common",transitionDuration:"normal"},Fse=Ose({button:$se,list:Rse,item:Ise,groupTitle:Dse,command:jse,divider:Nse}),Bse=Ase({baseStyle:Fse}),{defineMultiStyleConfig:zse,definePartsStyle:v_}=dr(Aie.keys),Hse={bg:"blackAlpha.600",zIndex:"modal"},Wse=e=>{const{isCentered:t,scrollBehavior:n}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:t?"center":"flex-start",overflow:n==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}},Use=e=>{const{scrollBehavior:t}=e;return{borderRadius:"md",bg:wt("white","gray.700")(e),color:"inherit",my:"16",zIndex:"modal",maxH:t==="inside"?"calc(100% - 7.5rem)":void 0,boxShadow:wt("lg","dark-lg")(e)}},Vse={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Gse={position:"absolute",top:"2",insetEnd:"3"},qse=e=>{const{scrollBehavior:t}=e;return{px:"6",py:"2",flex:"1",overflow:t==="inside"?"auto":void 0}},Kse={px:"6",py:"4"},Yse=v_(e=>({overlay:Hse,dialogContainer:Eo(Wse,e),dialog:Eo(Use,e),header:Vse,closeButton:Gse,body:Eo(qse,e),footer:Kse}));function js(e){return v_(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var Xse={xs:js("xs"),sm:js("sm"),md:js("md"),lg:js("lg"),xl:js("xl"),"2xl":js("2xl"),"3xl":js("3xl"),"4xl":js("4xl"),"5xl":js("5xl"),"6xl":js("6xl"),full:js("full")},Zse=zse({baseStyle:Yse,sizes:Xse,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Qse,definePartsStyle:mF}=dr(Oie.keys),A9=yi("number-input-stepper-width"),vF=yi("number-input-input-padding"),Jse=Nu(A9).add("0.5rem").toString(),z5=yi("number-input-bg"),H5=yi("number-input-color"),W5=yi("number-input-border-color"),ele={[A9.variable]:"sizes.6",[vF.variable]:Jse},tle=e=>{var t,n;return(n=(t=Eo(xn.baseStyle,e))==null?void 0:t.field)!=null?n:{}},nle={width:A9.reference},rle={borderStart:"1px solid",borderStartColor:W5.reference,color:H5.reference,bg:z5.reference,[H5.variable]:"colors.chakra-body-text",[W5.variable]:"colors.chakra-border-color",_dark:{[H5.variable]:"colors.whiteAlpha.800",[W5.variable]:"colors.whiteAlpha.300"},_active:{[z5.variable]:"colors.gray.200",_dark:{[z5.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}},ile=mF(e=>{var t;return{root:ele,field:(t=Eo(tle,e))!=null?t:{},stepperGroup:nle,stepper:rle}});function Fb(e){var t,n,r;const i=(t=xn.sizes)==null?void 0:t[e],o={lg:"md",md:"md",sm:"sm",xs:"sm"},a=(r=(n=i.field)==null?void 0:n.fontSize)!=null?r:"md",s=cF.fontSizes[a];return mF({field:{...i.field,paddingInlineEnd:vF.reference,verticalAlign:"top"},stepper:{fontSize:Nu(s).multiply(.75).toString(),_first:{borderTopEndRadius:o[e]},_last:{borderBottomEndRadius:o[e],mt:"-1px",borderTopWidth:1}}})}var ole={xs:Fb("xs"),sm:Fb("sm"),md:Fb("md"),lg:Fb("lg")},ale=Qse({baseStyle:ile,sizes:ole,variants:xn.variants,defaultProps:xn.defaultProps}),xL,sle={...(xL=xn.baseStyle)==null?void 0:xL.field,textAlign:"center"},lle={lg:{fontSize:"lg",w:12,h:12,borderRadius:"md"},md:{fontSize:"md",w:10,h:10,borderRadius:"md"},sm:{fontSize:"sm",w:8,h:8,borderRadius:"sm"},xs:{fontSize:"xs",w:6,h:6,borderRadius:"sm"}},SL,wL,ule={outline:e=>{var t,n,r;return(r=(n=Eo((t=xn.variants)==null?void 0:t.outline,e))==null?void 0:n.field)!=null?r:{}},flushed:e=>{var t,n,r;return(r=(n=Eo((t=xn.variants)==null?void 0:t.flushed,e))==null?void 0:n.field)!=null?r:{}},filled:e=>{var t,n,r;return(r=(n=Eo((t=xn.variants)==null?void 0:t.filled,e))==null?void 0:n.field)!=null?r:{}},unstyled:(wL=(SL=xn.variants)==null?void 0:SL.unstyled.field)!=null?wL:{}},cle={baseStyle:sle,sizes:lle,variants:ule,defaultProps:xn.defaultProps},{defineMultiStyleConfig:dle,definePartsStyle:fle}=dr(Rie.keys),Bb=yi("popper-bg"),hle=yi("popper-arrow-bg"),CL=yi("popper-arrow-shadow-color"),ple={zIndex:10},gle={[Bb.variable]:"colors.white",bg:Bb.reference,[hle.variable]:Bb.reference,[CL.variable]:"colors.gray.200",_dark:{[Bb.variable]:"colors.gray.700",[CL.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}},mle={px:3,py:2,borderBottomWidth:"1px"},vle={px:3,py:2},yle={px:3,py:2,borderTopWidth:"1px"},ble={position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2},xle=fle({popper:ple,content:gle,header:mle,body:vle,footer:yle,closeButton:ble}),Sle=dle({baseStyle:xle}),{definePartsStyle:y_,defineMultiStyleConfig:wle}=dr(_ie.keys),U5=gn("drawer-bg"),V5=gn("drawer-box-shadow");function bg(e){return y_(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Cle={bg:"blackAlpha.600",zIndex:"overlay"},_le={display:"flex",zIndex:"modal",justifyContent:"center"},kle=e=>{const{isFullHeight:t}=e;return{...t&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[U5.variable]:"colors.white",[V5.variable]:"shadows.lg",_dark:{[U5.variable]:"colors.gray.700",[V5.variable]:"shadows.dark-lg"},bg:U5.reference,boxShadow:V5.reference}},Ele={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Ple={position:"absolute",top:"2",insetEnd:"3"},Tle={px:"6",py:"2",flex:"1",overflow:"auto"},Mle={px:"6",py:"4"},Lle=y_(e=>({overlay:Cle,dialogContainer:_le,dialog:Eo(kle,e),header:Ele,closeButton:Ple,body:Tle,footer:Mle})),Ale={xs:bg("xs"),sm:bg("md"),md:bg("lg"),lg:bg("2xl"),xl:bg("4xl"),full:bg("full")},Ole=wle({baseStyle:Lle,sizes:Ale,defaultProps:{size:"xs"}}),{definePartsStyle:Rle,defineMultiStyleConfig:Ile}=dr(kie.keys),Dle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"},jle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},Nle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},$le=Rle({preview:Dle,input:jle,textarea:Nle}),Fle=Ile({baseStyle:$le}),{definePartsStyle:Ble,defineMultiStyleConfig:zle}=dr(Eie.keys),xm=gn("form-control-color"),Hle={marginStart:"1",[xm.variable]:"colors.red.500",_dark:{[xm.variable]:"colors.red.300"},color:xm.reference},Wle={mt:"2",[xm.variable]:"colors.gray.600",_dark:{[xm.variable]:"colors.whiteAlpha.600"},color:xm.reference,lineHeight:"normal",fontSize:"sm"},Ule=Ble({container:{width:"100%",position:"relative"},requiredIndicator:Hle,helperText:Wle}),Vle=zle({baseStyle:Ule}),{definePartsStyle:Gle,defineMultiStyleConfig:qle}=dr(Pie.keys),Sm=gn("form-error-color"),Kle={[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference,mt:"2",fontSize:"sm",lineHeight:"normal"},Yle={marginEnd:"0.5em",[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference},Xle=Gle({text:Kle,icon:Yle}),Zle=qle({baseStyle:Xle}),Qle={fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}},Jle={baseStyle:Qle},eue={fontFamily:"heading",fontWeight:"bold"},tue={"4xl":{fontSize:["6xl",null,"7xl"],lineHeight:1},"3xl":{fontSize:["5xl",null,"6xl"],lineHeight:1},"2xl":{fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]},xl:{fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]},lg:{fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]},md:{fontSize:"xl",lineHeight:1.2},sm:{fontSize:"md",lineHeight:1.2},xs:{fontSize:"sm",lineHeight:1.2}},nue={baseStyle:eue,sizes:tue,defaultProps:{size:"xl"}},{defineMultiStyleConfig:rue,definePartsStyle:iue}=dr(wie.keys),oue={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},aue=iue({link:oue}),sue=rue({baseStyle:aue}),lue={lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}},yF=e=>{const{colorScheme:t,theme:n}=e;if(t==="gray")return{color:wt("inherit","whiteAlpha.900")(e),_hover:{bg:wt("gray.100","whiteAlpha.200")(e)},_active:{bg:wt("gray.200","whiteAlpha.300")(e)}};const r=Um(`${t}.200`,.12)(n),i=Um(`${t}.200`,.24)(n);return{color:wt(`${t}.600`,`${t}.200`)(e),bg:"transparent",_hover:{bg:wt(`${t}.50`,r)(e)},_active:{bg:wt(`${t}.100`,i)(e)}}},uue=e=>{const{colorScheme:t}=e,n=wt("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:t==="gray"?n:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...Eo(yF,e)}},cue={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},due=e=>{var t;const{colorScheme:n}=e;if(n==="gray"){const l=wt("gray.100","whiteAlpha.200")(e);return{bg:l,_hover:{bg:wt("gray.200","whiteAlpha.300")(e),_disabled:{bg:l}},_active:{bg:wt("gray.300","whiteAlpha.400")(e)}}}const{bg:r=`${n}.500`,color:i="white",hoverBg:o=`${n}.600`,activeBg:a=`${n}.700`}=(t=cue[n])!=null?t:{},s=wt(r,`${n}.200`)(e);return{bg:s,color:wt(i,"gray.800")(e),_hover:{bg:wt(o,`${n}.300`)(e),_disabled:{bg:s}},_active:{bg:wt(a,`${n}.400`)(e)}}},fue=e=>{const{colorScheme:t}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:wt(`${t}.500`,`${t}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:wt(`${t}.700`,`${t}.500`)(e)}}},hue={bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"},pue={ghost:yF,outline:uue,solid:due,link:fue,unstyled:hue},gue={lg:{h:"12",minW:"12",fontSize:"lg",px:"6"},md:{h:"10",minW:"10",fontSize:"md",px:"4"},sm:{h:"8",minW:"8",fontSize:"sm",px:"3"},xs:{h:"6",minW:"6",fontSize:"xs",px:"2"}},mue={baseStyle:lue,variants:pue,sizes:gue,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}},{definePartsStyle:Rh,defineMultiStyleConfig:vue}=dr(Wie.keys),qS=gn("card-bg"),Vu=gn("card-padding"),bF=gn("card-shadow"),Kx=gn("card-radius"),xF=gn("card-border-width","0"),SF=gn("card-border-color"),yue=Rh({container:{[qS.variable]:"colors.chakra-body-bg",backgroundColor:qS.reference,boxShadow:bF.reference,borderRadius:Kx.reference,color:"chakra-body-text",borderWidth:xF.reference,borderColor:SF.reference},body:{padding:Vu.reference,flex:"1 1 0%"},header:{padding:Vu.reference},footer:{padding:Vu.reference}}),bue={sm:Rh({container:{[Kx.variable]:"radii.base",[Vu.variable]:"space.3"}}),md:Rh({container:{[Kx.variable]:"radii.md",[Vu.variable]:"space.5"}}),lg:Rh({container:{[Kx.variable]:"radii.xl",[Vu.variable]:"space.7"}})},xue={elevated:Rh({container:{[bF.variable]:"shadows.base",_dark:{[qS.variable]:"colors.gray.700"}}}),outline:Rh({container:{[xF.variable]:"1px",[SF.variable]:"colors.chakra-border-color"}}),filled:Rh({container:{[qS.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[Vu.variable]:0},header:{[Vu.variable]:0},footer:{[Vu.variable]:0}}},Sue=vue({baseStyle:yue,variants:xue,sizes:bue,defaultProps:{variant:"elevated",size:"md"}}),j1=yi("close-button-size"),zv=yi("close-button-bg"),wue={w:[j1.reference],h:[j1.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[zv.variable]:"colors.blackAlpha.100",_dark:{[zv.variable]:"colors.whiteAlpha.100"}},_active:{[zv.variable]:"colors.blackAlpha.200",_dark:{[zv.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:zv.reference},Cue={lg:{[j1.variable]:"sizes.10",fontSize:"md"},md:{[j1.variable]:"sizes.8",fontSize:"xs"},sm:{[j1.variable]:"sizes.6",fontSize:"2xs"}},_ue={baseStyle:wue,sizes:Cue,defaultProps:{size:"md"}},{variants:kue,defaultProps:Eue}=I1,Pue={fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm"},Tue={baseStyle:Pue,variants:kue,defaultProps:Eue},Mue={w:"100%",mx:"auto",maxW:"prose",px:"4"},Lue={baseStyle:Mue},Aue={opacity:.6,borderColor:"inherit"},Oue={borderStyle:"solid"},Rue={borderStyle:"dashed"},Iue={solid:Oue,dashed:Rue},Due={baseStyle:Aue,variants:Iue,defaultProps:{variant:"solid"}},{definePartsStyle:jue,defineMultiStyleConfig:Nue}=dr(bie.keys),$ue={borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},Fue={transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"},Bue={pt:"2",px:"4",pb:"5"},zue={fontSize:"1.25em"},Hue=jue({container:$ue,button:Fue,panel:Bue,icon:zue}),Wue=Nue({baseStyle:Hue}),{definePartsStyle:e2,defineMultiStyleConfig:Uue}=dr(xie.keys),Ta=gn("alert-fg"),nc=gn("alert-bg"),Vue=e2({container:{bg:nc.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function O9(e){const{theme:t,colorScheme:n}=e,r=Um(`${n}.200`,.16)(t);return{light:`colors.${n}.100`,dark:r}}var Gue=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark}}}}),que=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:Ta.reference}}}),Kue=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},pt:"2",borderTopWidth:"4px",borderTopColor:Ta.reference}}}),Yue=e2(e=>{const{colorScheme:t}=e;return{container:{[Ta.variable]:"colors.white",[nc.variable]:`colors.${t}.500`,_dark:{[Ta.variable]:"colors.gray.900",[nc.variable]:`colors.${t}.200`},color:Ta.reference}}}),Xue={subtle:Gue,"left-accent":que,"top-accent":Kue,solid:Yue},Zue=Uue({baseStyle:Vue,variants:Xue,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:wF,defineMultiStyleConfig:Que}=dr(Sie.keys),wm=gn("avatar-border-color"),G5=gn("avatar-bg"),Jue={borderRadius:"full",border:"0.2em solid",[wm.variable]:"white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference},ece={[G5.variable]:"colors.gray.200",_dark:{[G5.variable]:"colors.whiteAlpha.400"},bgColor:G5.reference},_L=gn("avatar-background"),tce=e=>{const{name:t,theme:n}=e,r=t?uoe({string:t}):"colors.gray.400",i=soe(r)(n);let o="white";return i||(o="gray.800"),{bg:_L.reference,"&:not([data-loaded])":{[_L.variable]:r},color:o,[wm.variable]:"colors.white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference,verticalAlign:"top"}},nce=wF(e=>({badge:Eo(Jue,e),excessLabel:Eo(ece,e),container:Eo(tce,e)}));function ld(e){const t=e!=="100%"?fF[e]:void 0;return wF({container:{width:e,height:e,fontSize:`calc(${t??e} / 2.5)`},excessLabel:{width:e,height:e},label:{fontSize:`calc(${t??e} / 2.5)`,lineHeight:e!=="100%"?t??e:void 0}})}var rce={"2xs":ld(4),xs:ld(6),sm:ld(8),md:ld(12),lg:ld(16),xl:ld(24),"2xl":ld(32),full:ld("100%")},ice=Que({baseStyle:nce,sizes:rce,defaultProps:{size:"md"}}),oce={Accordion:Wue,Alert:Zue,Avatar:ice,Badge:I1,Breadcrumb:sue,Button:mue,Checkbox:GS,CloseButton:_ue,Code:Tue,Container:Lue,Divider:Due,Drawer:Ole,Editable:Fle,Form:Vle,FormError:Zle,FormLabel:Jle,Heading:nue,Input:xn,Kbd:Cse,Link:kse,List:Lse,Menu:Bse,Modal:Zse,NumberInput:ale,PinInput:cle,Popover:Sle,Progress:Mae,Radio:Hae,Select:Yae,Skeleton:Zae,SkipLink:Jae,Slider:cse,Spinner:hse,Stat:Sse,Switch:koe,Table:Ooe,Tabs:qoe,Tag:aae,Textarea:yae,Tooltip:Sae,Card:Sue},ace={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},sce={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color",wordWrap:"break-word"}}},lce="ltr",uce={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},cce={semanticTokens:ace,direction:lce,...yie,components:oce,styles:sce,config:uce};function dce(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var fce=dce();function hce(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function pce(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},CF=gce(pce);function _F(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var kF=e=>_F(e,t=>t!=null);function mce(e){return typeof e=="function"}function EF(e,...t){return mce(e)?e(...t):e}function vce(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}const PF=1/60*1e3,yce=typeof performance<"u"?()=>performance.now():()=>Date.now(),TF=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(yce()),PF);function bce(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const h=d&&i,m=h?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),h&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(e[t]=bce(()=>Cy=!0),e),{}),Sce=t2.reduce((e,t)=>{const n=Ew[t];return e[t]=(r,i=!1,o=!1)=>(Cy||_ce(),n.schedule(r,i,o)),e},{}),wce=t2.reduce((e,t)=>(e[t]=Ew[t].cancel,e),{});t2.reduce((e,t)=>(e[t]=()=>Ew[t].process(Cm),e),{});const Cce=e=>Ew[e].process(Cm),MF=e=>{Cy=!1,Cm.delta=b_?PF:Math.max(Math.min(e-Cm.timestamp,xce),1),Cm.timestamp=e,x_=!0,t2.forEach(Cce),x_=!1,Cy&&(b_=!1,TF(MF))},_ce=()=>{Cy=!0,b_=!0,x_||TF(MF)},kL=()=>Cm;var kce=typeof Element<"u",Ece=typeof Map=="function",Pce=typeof Set=="function",Tce=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Yx(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Yx(e[r],t[r]))return!1;return!0}var o;if(Ece&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Yx(r.value[1],t.get(r.value[0])))return!1;return!0}if(Pce&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Tce&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(kce&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Yx(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Mce=function(t,n){try{return Yx(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};function LF(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:a}=eF(),s=e?CF(o,`components.${e}`):void 0,l=r||s,u=Bl({theme:o,colorMode:a},(n=l==null?void 0:l.defaultProps)!=null?n:{},kF(hce(i,["children"]))),d=S.useRef({});if(l){const m=qre(l)(u);Mce(d.current,m)||(d.current=m)}return d.current}function au(e,t={}){return LF(e,t)}function Yi(e,t={}){return LF(e,t)}var Lce=new Set([...Dre,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Ace=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function Oce(e){return Ace.has(e)||!Lce.has(e)}function Rce(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function Ice(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var Dce=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,jce=$j(function(e){return Dce.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),Nce=jce,$ce=function(t){return t!=="theme"},EL=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?Nce:$ce},PL=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(a){return t.__emotion_forwardProp(a)&&o(a)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Fce=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Uj(n,r,i),lee(function(){return Vj(n,r,i)}),null},Bce=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,a;n!==void 0&&(o=n.label,a=n.target);var s=PL(t,n,r),l=s||EL(i),u=!l("as");return function(){var d=arguments,h=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&h.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)h.push.apply(h,d);else{h.push(d[0][0]);for(var m=d.length,y=1;yt=>{const{theme:n,css:r,__css:i,sx:o,...a}=t,s=_F(a,(h,m)=>Nre(m)),l=EF(e,t),u=Ice({},i,l,kF(s),o),d=uF(u)(t.theme);return r?[d,r]:d};function q5(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=Oce);const i=Wce({baseStyle:n}),o=Hce(e,r)(i);return Ke.forwardRef(function(l,u){const{colorMode:d,forced:h}=Qy();return Ke.createElement(o,{ref:u,"data-theme":h?d:void 0,...l})})}function Uce(){const e=new Map;return new Proxy(q5,{apply(t,n,r){return q5(...r)},get(t,n){return e.has(n)||e.set(n,q5(n)),e.get(n)}})}var Ne=Uce();function Ze(e){return S.forwardRef(e)}function Vce(e={}){const{strict:t=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:r}=e,i=S.createContext(void 0);i.displayName=r;function o(){var a;const s=S.useContext(i);if(!s&&t){const l=new Error(n);throw l.name="ContextError",(a=Error.captureStackTrace)==null||a.call(Error,l,o),l}return s}return[i.Provider,o,i]}function Gce(e){const{cssVarsRoot:t,theme:n,children:r}=e,i=S.useMemo(()=>Rre(n),[n]);return g.jsxs(fee,{theme:i,children:[g.jsx(qce,{root:t}),r]})}function qce({root:e=":host, :root"}){const t=[e,"[data-theme]"].join(",");return g.jsx(ow,{styles:n=>({[t]:n.__cssVars})})}Vce({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function Kce(){const{colorMode:e}=Qy();return g.jsx(ow,{styles:t=>{const n=CF(t,"styles.global"),r=EF(n,{theme:t,colorMode:e});return r?uF(r)(t):void 0}})}var AF=S.createContext({getDocument(){return document},getWindow(){return window}});AF.displayName="EnvironmentContext";function OF(e){const{children:t,environment:n,disabled:r}=e,i=S.useRef(null),o=S.useMemo(()=>n||{getDocument:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument)!=null?l:document},getWindow:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument.defaultView)!=null?l:window}},[n]),a=!r||!n;return g.jsxs(AF.Provider,{value:o,children:[t,a&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}OF.displayName="EnvironmentProvider";var Yce=e=>{const{children:t,colorModeManager:n,portalZIndex:r,resetCSS:i=!0,theme:o={},environment:a,cssVarsRoot:s,disableEnvironment:l}=e,u=g.jsx(OF,{environment:a,disabled:l,children:t});return g.jsx(Gce,{theme:o,cssVarsRoot:s,children:g.jsxs(J$,{colorModeManager:n,options:o.config,children:[i?g.jsx(gee,{}):g.jsx(pee,{}),g.jsx(Kce,{}),r?g.jsx(Zj,{zIndex:r,children:u}):u]})})},Xce=(e,t)=>e.find(n=>n.id===t);function ML(e,t){const n=RF(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function RF(e,t){for(const[n,r]of Object.entries(e))if(Xce(r,t))return n}function Zce(e){const t=e.includes("right"),n=e.includes("left");let r="center";return t&&(r="flex-end"),n&&(r="flex-start"),{display:"flex",flexDirection:"column",alignItems:r}}function Qce(e){const n=e==="top"||e==="bottom"?"0 auto":void 0,r=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,i=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,o=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",a=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:5500,pointerEvents:"none",display:"flex",flexDirection:"column",margin:n,top:r,bottom:i,right:o,left:a}}function Qr(e,t=[]){const n=S.useRef(e);return S.useEffect(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Jce(e,t){const n=Qr(e);S.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function rc(e,t){const n=S.useRef(!1),r=S.useRef(!1);S.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),S.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}const IF=S.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Pw=S.createContext({});function ede(){return S.useContext(Pw).visualElement}const n2=S.createContext(null),Tw=typeof document<"u",YS=Tw?S.useLayoutEffect:S.useEffect,DF=S.createContext({strict:!1});function tde(e,t,n,r){const i=ede(),o=S.useContext(DF),a=S.useContext(n2),s=S.useContext(IF).reducedMotion,l=S.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:s}));const u=l.current;return S.useInsertionEffect(()=>{u&&u.update(n,a)}),YS(()=>{u&&u.render()}),S.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?YS:S.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Qg(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function nde(e,t,n){return S.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Qg(n)&&(n.current=r))},[t])}function _y(e){return typeof e=="string"||Array.isArray(e)}function Mw(e){return typeof e=="object"&&typeof e.start=="function"}const rde=["initial","animate","exit","whileHover","whileDrag","whileTap","whileFocus","whileInView"];function Lw(e){return Mw(e.animate)||rde.some(t=>_y(e[t]))}function jF(e){return Boolean(Lw(e)||e.variants)}function ide(e,t){if(Lw(e)){const{initial:n,animate:r}=e;return{initial:n===!1||_y(n)?n:void 0,animate:_y(r)?r:void 0}}return e.inherit!==!1?t:{}}function ode(e){const{initial:t,animate:n}=ide(e,S.useContext(Pw));return S.useMemo(()=>({initial:t,animate:n}),[LL(t),LL(n)])}function LL(e){return Array.isArray(e)?e.join(" "):e}const AL={animation:["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},ky={};for(const e in AL)ky[e]={isEnabled:t=>AL[e].some(n=>!!t[n])};function ade(e){for(const t in e)ky[t]={...ky[t],...e[t]}}function R9(e){const t=S.useRef(null);return t.current===null&&(t.current=e()),t.current}const N1={hasAnimatedSinceResize:!0,hasEverUpdated:!1};let sde=1;function lde(){return R9(()=>{if(N1.hasEverUpdated)return sde++})}const I9=S.createContext({}),NF=S.createContext({}),ude=Symbol.for("motionComponentSymbol");function cde({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&ade(e);function o(s,l){let u;const d={...S.useContext(IF),...s,layoutId:dde(s)},{isStatic:h}=d,m=ode(s),y=h?void 0:lde(),b=r(s,h);if(!h&&Tw){m.visualElement=tde(i,b,d,t);const w=S.useContext(NF),E=S.useContext(DF).strict;m.visualElement&&(u=m.visualElement.loadFeatures(d,E,e,y,w))}return S.createElement(Pw.Provider,{value:m},u&&m.visualElement?S.createElement(u,{visualElement:m.visualElement,...d}):null,n(i,s,y,nde(b,m.visualElement,l),b,h,m.visualElement))}const a=S.forwardRef(o);return a[ude]=i,a}function dde({layoutId:e}){const t=S.useContext(I9).id;return t&&e!==void 0?t+"-"+e:e}function fde(e){function t(r,i={}){return cde(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const hde=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function D9(e){return typeof e!="string"||e.includes("-")?!1:!!(hde.indexOf(e)>-1||/[A-Z]/.test(e))}const XS={};function pde(e){Object.assign(XS,e)}const Aw=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],d0=new Set(Aw);function $F(e,{layout:t,layoutId:n}){return d0.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!XS[e]||e==="opacity")}const ta=e=>Boolean(e&&e.getVelocity),gde={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},mde=Aw.length;function vde(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let a=0;at&&typeof e=="number"?t.transform(e):e,Vm=(e,t,n)=>Math.min(Math.max(n,e),t),np={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},$1={...np,transform:e=>Vm(0,1,e)},zb={...np,default:1},F1=e=>Math.round(e*1e5)/1e5,Ey=/(-)?([\d]*\.?[\d])+/g,S_=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,bde=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function r2(e){return typeof e=="string"}const i2=e=>({test:t=>r2(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),cd=i2("deg"),Yl=i2("%"),Pt=i2("px"),xde=i2("vh"),Sde=i2("vw"),OL={...Yl,parse:e=>Yl.parse(e)/100,transform:e=>Yl.transform(e*100)},RL={...np,transform:Math.round},BF={borderWidth:Pt,borderTopWidth:Pt,borderRightWidth:Pt,borderBottomWidth:Pt,borderLeftWidth:Pt,borderRadius:Pt,radius:Pt,borderTopLeftRadius:Pt,borderTopRightRadius:Pt,borderBottomRightRadius:Pt,borderBottomLeftRadius:Pt,width:Pt,maxWidth:Pt,height:Pt,maxHeight:Pt,size:Pt,top:Pt,right:Pt,bottom:Pt,left:Pt,padding:Pt,paddingTop:Pt,paddingRight:Pt,paddingBottom:Pt,paddingLeft:Pt,margin:Pt,marginTop:Pt,marginRight:Pt,marginBottom:Pt,marginLeft:Pt,rotate:cd,rotateX:cd,rotateY:cd,rotateZ:cd,scale:zb,scaleX:zb,scaleY:zb,scaleZ:zb,skew:cd,skewX:cd,skewY:cd,distance:Pt,translateX:Pt,translateY:Pt,translateZ:Pt,x:Pt,y:Pt,z:Pt,perspective:Pt,transformPerspective:Pt,opacity:$1,originX:OL,originY:OL,originZ:Pt,zIndex:RL,fillOpacity:$1,strokeOpacity:$1,numOctaves:RL};function j9(e,t,n,r){const{style:i,vars:o,transform:a,transformOrigin:s}=e;let l=!1,u=!1,d=!0;for(const h in t){const m=t[h];if(FF(h)){o[h]=m;continue}const y=BF[h],b=yde(m,y);if(d0.has(h)){if(l=!0,a[h]=b,!d)continue;m!==(y.default||0)&&(d=!1)}else h.startsWith("origin")?(u=!0,s[h]=b):i[h]=b}if(t.transform||(l||r?i.transform=vde(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:h="50%",originY:m="50%",originZ:y=0}=s;i.transformOrigin=`${h} ${m} ${y}`}}const N9=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function zF(e,t,n){for(const r in t)!ta(t[r])&&!$F(r,n)&&(e[r]=t[r])}function wde({transformTemplate:e},t,n){return S.useMemo(()=>{const r=N9();return j9(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Cde(e,t,n){const r=e.style||{},i={};return zF(i,r,e),Object.assign(i,wde(e,t,n)),e.transformValues?e.transformValues(i):i}function _de(e,t,n){const r={},i=Cde(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const kde=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function ZS(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||kde.has(e)}let HF=e=>!ZS(e);function Ede(e){e&&(HF=t=>t.startsWith("on")?!ZS(t):e(t))}try{Ede(require("@emotion/is-prop-valid").default)}catch{}function Pde(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(HF(i)||n===!0&&ZS(i)||!t&&!ZS(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function IL(e,t,n){return typeof e=="string"?e:Pt.transform(t+n*e)}function Tde(e,t,n){const r=IL(t,e.x,e.width),i=IL(n,e.y,e.height);return`${r} ${i}`}const Mde={offset:"stroke-dashoffset",array:"stroke-dasharray"},Lde={offset:"strokeDashoffset",array:"strokeDasharray"};function Ade(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?Mde:Lde;e[o.offset]=Pt.transform(-r);const a=Pt.transform(t),s=Pt.transform(n);e[o.array]=`${a} ${s}`}function $9(e,{attrX:t,attrY:n,originX:r,originY:i,pathLength:o,pathSpacing:a=1,pathOffset:s=0,...l},u,d,h){if(j9(e,l,u,h),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:m,style:y,dimensions:b}=e;m.transform&&(b&&(y.transform=m.transform),delete m.transform),b&&(r!==void 0||i!==void 0||y.transform)&&(y.transformOrigin=Tde(b,r!==void 0?r:.5,i!==void 0?i:.5)),t!==void 0&&(m.x=t),n!==void 0&&(m.y=n),o!==void 0&&Ade(m,o,a,s,!1)}const WF=()=>({...N9(),attrs:{}}),F9=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Ode(e,t,n,r){const i=S.useMemo(()=>{const o=WF();return $9(o,t,{enableHardwareAcceleration:!1},F9(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};zF(o,e.style,e),i.style={...o,...i.style}}return i}function Rde(e=!1){return(n,r,i,o,{latestValues:a},s)=>{const u=(D9(n)?Ode:_de)(r,a,s,n),h={...Pde(r,typeof n=="string",e),...u,ref:o},{children:m}=r,y=S.useMemo(()=>ta(m)?m.get():m,[m]);return i&&(h["data-projection-id"]=i),S.createElement(n,{...h,children:y})}}const B9=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function UF(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const VF=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function GF(e,t,n,r){UF(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(VF.has(i)?i:B9(i),t.attrs[i])}function z9(e,t){const{style:n}=e,r={};for(const i in n)(ta(n[i])||t.style&&ta(t.style[i])||$F(i,e))&&(r[i]=n[i]);return r}function qF(e,t){const n=z9(e,t);for(const r in e)if(ta(e[r])||ta(t[r])){const i=r==="x"||r==="y"?"attr"+r.toUpperCase():r;n[i]=e[r]}return n}function H9(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}const QS=e=>Array.isArray(e),Ide=e=>Boolean(e&&typeof e=="object"&&e.mix&&e.toValue),Dde=e=>QS(e)?e[e.length-1]||0:e;function Xx(e){const t=ta(e)?e.get():e;return Ide(t)?t.toValue():t}function jde({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const a={latestValues:Nde(r,i,o,e),renderState:t()};return n&&(a.mount=s=>n(r,s,a)),a}const KF=e=>(t,n)=>{const r=S.useContext(Pw),i=S.useContext(n2),o=()=>jde(e,t,r,i);return n?o():R9(o)};function Nde(e,t,n,r){const i={},o=r(e,{});for(const m in o)i[m]=Xx(o[m]);let{initial:a,animate:s}=e;const l=Lw(e),u=jF(e);t&&u&&!l&&e.inherit!==!1&&(a===void 0&&(a=t.initial),s===void 0&&(s=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const h=d?s:a;return h&&typeof h!="boolean"&&!Mw(h)&&(Array.isArray(h)?h:[h]).forEach(y=>{const b=H9(e,y);if(!b)return;const{transitionEnd:w,transition:E,..._}=b;for(const k in _){let T=_[k];if(Array.isArray(T)){const L=d?T.length-1:0;T=T[L]}T!==null&&(i[k]=T)}for(const k in w)i[k]=w[k]}),i}const $de={useVisualState:KF({scrapeMotionValuesFromProps:qF,createRenderState:WF,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}$9(n,r,{enableHardwareAcceleration:!1},F9(t.tagName),e.transformTemplate),GF(t,n)}})},Fde={useVisualState:KF({scrapeMotionValuesFromProps:z9,createRenderState:N9})};function Bde(e,{forwardMotionProps:t=!1},n,r){return{...D9(e)?$de:Fde,preloadedFeatures:n,useRender:Rde(t),createVisualElement:r,Component:e}}function Hu(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const YF=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function Ow(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const zde=e=>t=>YF(t)&&e(t,Ow(t));function Gu(e,t,n,r){return Hu(e,t,zde(n),r)}var tr;(function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.InView="whileInView",e.Exit="exit"})(tr||(tr={}));const Hde=(e,t)=>n=>t(e(n)),Nd=(...e)=>e.reduce(Hde);function XF(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const DL=XF("dragHorizontal"),jL=XF("dragVertical");function ZF(e){let t=!1;if(e==="y")t=jL();else if(e==="x")t=DL();else{const n=DL(),r=jL();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function QF(){const e=ZF(!0);return e?(e(),!1):!0}let sf=class{constructor(t){this.isMounted=!1,this.node=t}update(){}};function NL(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,a)=>{if(o.type==="touch"||QF())return;const s=e.getProps();e.animationState&&s.whileHover&&e.animationState.setActive(tr.Hover,t),s[r]&&s[r](o,a)};return Gu(e.current,n,i,{passive:!e.getProps()[r]})}class Wde extends sf{mount(){this.unmount=Nd(NL(this.node,!0),NL(this.node,!1))}unmount(){}}class Ude extends sf{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive(tr.Focus,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(tr.Focus,!1),this.isActive=!1)}mount(){this.unmount=Nd(Hu(this.node.current,"focus",()=>this.onFocus()),Hu(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const JF=(e,t)=>t?e===t?!0:JF(e,t.parentElement):!1,Xl=e=>e;function K5(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Ow(n))}class Vde extends sf{constructor(){super(...arguments),this.removeStartListeners=Xl,this.removeEndListeners=Xl,this.removeAccessibleListeners=Xl,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Gu(window,"pointerup",(s,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();JF(this.node.current,s.target)?u&&u(s,l):d&&d(s,l)},{passive:!(r.onTap||r.onPointerUp)}),a=Gu(window,"pointercancel",(s,l)=>this.cancelPress(s,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nd(o,a),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const a=s=>{s.key!=="Enter"||!this.checkPressEnd()||K5("up",this.node.getProps().onTap)};this.removeEndListeners(),this.removeEndListeners=Hu(this.node.current,"keyup",a),K5("down",(s,l)=>{this.startPress(s,l)})},n=Hu(this.node.current,"keydown",t),r=()=>{this.isPressing&&K5("cancel",(o,a)=>this.cancelPress(o,a))},i=Hu(this.node.current,"blur",r);this.removeAccessibleListeners=Nd(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!0),r&&r(t,n)}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!1),!QF()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&r(t,n)}mount(){const t=this.node.getProps(),n=Gu(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Hu(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nd(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const w_=new WeakMap,Y5=new WeakMap,Gde=e=>{const t=w_.get(e.target);t&&t(e)},qde=e=>{e.forEach(Gde)};function Kde({root:e,...t}){const n=e||document;Y5.has(n)||Y5.set(n,{});const r=Y5.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(qde,{root:e,...t})),r[i]}function Yde(e,t,n){const r=Kde(t);return w_.set(e,n),r.observe(e),()=>{w_.delete(e),r.unobserve(e)}}const Xde={some:0,all:1};class Zde extends sf{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}viewportFallback(){requestAnimationFrame(()=>{this.hasEnteredView=!0;const{onViewportEnter:t}=this.node.getProps();t&&t(null),this.node.animationState&&this.node.animationState.setActive(tr.InView,!0)})}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o,fallback:a=!0}=t;if(typeof IntersectionObserver>"u"){a&&this.viewportFallback();return}const s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:Xde[i]},l=u=>{const{isIntersecting:d}=u;if(this.isInView===d||(this.isInView=d,o&&!d&&this.hasEnteredView))return;d&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(tr.InView,d);const{onViewportEnter:h,onViewportLeave:m}=this.node.getProps(),y=d?h:m;y&&y(u)};return Yde(this.node.current,s,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(Qde(t,n))&&this.startObserver()}unmount(){}}function Qde({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Jde={inView:{Feature:Zde},tap:{Feature:Vde},focus:{Feature:Ude},hover:{Feature:Wde}};function eB(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r/^\-?\d*\.?\d+$/.test(e),tfe=e=>/^0[^.\s]+$/.test(e),qu={delta:0,timestamp:0},tB=1/60*1e3,nfe=typeof performance<"u"?()=>performance.now():()=>Date.now(),nB=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(nfe()),tB);function rfe(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const h=d&&i,m=h?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),h&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(e[t]=rfe(()=>Py=!0),e),{}),so=o2.reduce((e,t)=>{const n=Rw[t];return e[t]=(r,i=!1,o=!1)=>(Py||afe(),n.schedule(r,i,o)),e},{}),Gd=o2.reduce((e,t)=>(e[t]=Rw[t].cancel,e),{}),X5=o2.reduce((e,t)=>(e[t]=()=>Rw[t].process(qu),e),{}),ofe=e=>Rw[e].process(qu),rB=e=>{Py=!1,qu.delta=C_?tB:Math.max(Math.min(e-qu.timestamp,ife),1),qu.timestamp=e,__=!0,o2.forEach(ofe),__=!1,Py&&(C_=!1,nB(rB))},afe=()=>{Py=!0,C_=!0,__||nB(rB)};function W9(e,t){e.indexOf(t)===-1&&e.push(t)}function U9(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class V9{constructor(){this.subscriptions=[]}add(t){return W9(this.subscriptions,t),()=>U9(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class lfe{constructor(t,n={}){this.version="9.0.4",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:a}=qu;this.lastUpdated!==a&&(this.timeDelta=o,this.lastUpdated=a,so.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>so.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=sfe(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new V9);const r=this.events[t].add(n);return t==="change"?()=>{r(),so.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?G9(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n)||null,this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){this.animation=null}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Gm(e,t){return new lfe(e,t)}const q9=(e,t)=>n=>Boolean(r2(n)&&bde.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),iB=(e,t,n)=>r=>{if(!r2(r))return r;const[i,o,a,s]=r.match(Ey);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(a),alpha:s!==void 0?parseFloat(s):1}},ufe=e=>Vm(0,255,e),Z5={...np,transform:e=>Math.round(ufe(e))},Eh={test:q9("rgb","red"),parse:iB("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Z5.transform(e)+", "+Z5.transform(t)+", "+Z5.transform(n)+", "+F1($1.transform(r))+")"};function cfe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const k_={test:q9("#"),parse:cfe,transform:Eh.transform},Jg={test:q9("hsl","hue"),parse:iB("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Yl.transform(F1(t))+", "+Yl.transform(F1(n))+", "+F1($1.transform(r))+")"},bo={test:e=>Eh.test(e)||k_.test(e)||Jg.test(e),parse:e=>Eh.test(e)?Eh.parse(e):Jg.test(e)?Jg.parse(e):k_.parse(e),transform:e=>r2(e)?e:e.hasOwnProperty("red")?Eh.transform(e):Jg.transform(e)},oB="${c}",aB="${n}";function dfe(e){var t,n;return isNaN(e)&&r2(e)&&(((t=e.match(Ey))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(S_))===null||n===void 0?void 0:n.length)||0)>0}function JS(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0,r=0;const i=e.match(S_);i&&(n=i.length,e=e.replace(S_,oB),t.push(...i.map(bo.parse)));const o=e.match(Ey);return o&&(r=o.length,e=e.replace(Ey,aB),t.push(...o.map(np.parse))),{values:t,numColors:n,numNumbers:r,tokenised:e}}function sB(e){return JS(e).values}function lB(e){const{values:t,numColors:n,tokenised:r}=JS(e),i=t.length;return o=>{let a=r;for(let s=0;stypeof e=="number"?0:e;function hfe(e){const t=sB(e);return lB(e)(t.map(ffe))}const qd={test:dfe,parse:sB,createTransformer:lB,getAnimatableNone:hfe},pfe=new Set(["brightness","contrast","saturate","opacity"]);function gfe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Ey)||[];if(!r)return e;const i=n.replace(r,"");let o=pfe.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const mfe=/([a-z-]*)\(.*?\)/g,E_={...qd,getAnimatableNone:e=>{const t=e.match(mfe);return t?t.map(gfe).join(" "):e}},vfe={...BF,color:bo,backgroundColor:bo,outlineColor:bo,fill:bo,stroke:bo,borderColor:bo,borderTopColor:bo,borderRightColor:bo,borderBottomColor:bo,borderLeftColor:bo,filter:E_,WebkitFilter:E_},K9=e=>vfe[e];function Y9(e,t){let n=K9(e);return n!==E_&&(n=qd),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const uB=e=>t=>t.test(e),yfe={test:e=>e==="auto",parse:e=>e},cB=[np,Pt,Yl,cd,Sde,xde,yfe],Hv=e=>cB.find(uB(e)),bfe=[...cB,bo,qd],xfe=e=>bfe.find(uB(e));function Sfe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.get()),t}function wfe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function Iw(e,t,n){const r=e.getProps();return H9(r,t,n!==void 0?n:r.custom,Sfe(e),wfe(e))}function Cfe(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Gm(n))}function _fe(e,t){const n=Iw(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const a in o){const s=Dde(o[a]);Cfe(e,a,s)}}function kfe(e,t,n){var r,i;const o=Object.keys(t).filter(s=>!e.hasValue(s)),a=o.length;if(a)for(let s=0;se*1e3,Afe={current:!1},X9=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Z9=e=>t=>1-e(1-t),Q9=e=>e*e,Ofe=Z9(Q9),J9=X9(Q9),Fr=(e,t,n)=>-n*e+n*t+e;function Q5(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Rfe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,a=0;if(!t)i=o=a=n;else{const s=n<.5?n*(1+t):n+t-n*t,l=2*n-s;i=Q5(l,s,e+1/3),o=Q5(l,s,e),a=Q5(l,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(a*255),alpha:r}}const J5=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Ife=[k_,Eh,Jg],Dfe=e=>Ife.find(t=>t.test(e));function $L(e){const t=Dfe(e);let n=t.parse(e);return t===Jg&&(n=Rfe(n)),n}const dB=(e,t)=>{const n=$L(e),r=$L(t),i={...n};return o=>(i.red=J5(n.red,r.red,o),i.green=J5(n.green,r.green,o),i.blue=J5(n.blue,r.blue,o),i.alpha=Fr(n.alpha,r.alpha,o),Eh.transform(i))};function fB(e,t){return typeof e=="number"?n=>Fr(e,t,n):bo.test(e)?dB(e,t):pB(e,t)}const hB=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,a)=>fB(o,t[a]));return o=>{for(let a=0;a{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=fB(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},pB=(e,t)=>{const n=qd.createTransformer(t),r=JS(e),i=JS(t);return r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nd(hB(r.values,i.values),n):a=>`${a>0?t:e}`},n3=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},FL=(e,t)=>n=>Fr(e,t,n);function Nfe(e){return typeof e=="number"?FL:typeof e=="string"?bo.test(e)?dB:pB:Array.isArray(e)?hB:typeof e=="object"?jfe:FL}function $fe(e,t,n){const r=[],i=n||Nfe(e[0]),o=e.length-1;for(let a=0;ae[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=$fe(t,r,i),s=a.length,l=u=>{let d=0;if(s>1)for(;dl(Vm(e[0],e[o-1],u)):l}const mB=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Ffe=1e-7,Bfe=12;function zfe(e,t,n,r,i){let o,a,s=0;do a=t+(n-t)/2,o=mB(a,r,i)-e,o>0?n=a:t=a;while(Math.abs(o)>Ffe&&++szfe(o,0,1,e,n);return o=>o===0||o===1?o:mB(i(o),t,r)}const yB=e=>1-Math.sin(Math.acos(e)),e8=Z9(yB),Hfe=X9(e8),bB=vB(.33,1.53,.69,.99),t8=Z9(bB),Wfe=X9(t8),Ufe=e=>(e*=2)<1?.5*t8(e):.5*(2-Math.pow(2,-10*(e-1))),Vfe={linear:Xl,easeIn:Q9,easeInOut:J9,easeOut:Ofe,circIn:yB,circInOut:Hfe,circOut:e8,backIn:t8,backInOut:Wfe,backOut:bB,anticipate:Ufe},BL=e=>{if(Array.isArray(e)){t3(e.length===4);const[t,n,r,i]=e;return vB(t,n,r,i)}else if(typeof e=="string")return Vfe[e];return e},Gfe=e=>Array.isArray(e)&&typeof e[0]!="number";function qfe(e,t){return e.map(()=>t||J9).splice(0,e.length-1)}function Kfe(e){const t=e.length;return e.map((n,r)=>r!==0?r/(t-1):0)}function Yfe(e,t){return e.map(n=>n*t)}function P_({keyframes:e,ease:t=J9,times:n,duration:r=300}){e=[...e];const i=Gfe(t)?t.map(BL):BL(t),o={done:!1,value:e[0]},a=Yfe(n&&n.length===e.length?n:Kfe(e),r);function s(){return gB(a,e,{ease:Array.isArray(i)?i:qfe(e,i)})}let l=s();return{next:u=>(o.value=l(u),o.done=u>=r,o),flipTarget:()=>{e.reverse(),l=s()}}}const eC=.001,Xfe=.01,zL=10,Zfe=.05,Qfe=1;function Jfe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Lfe(e<=zL*1e3);let a=1-t;a=Vm(Zfe,Qfe,a),e=Vm(Xfe,zL,e/1e3),a<1?(i=u=>{const d=u*a,h=d*e,m=d-n,y=T_(u,a),b=Math.exp(-h);return eC-m/y*b},o=u=>{const h=u*a*e,m=h*n+n,y=Math.pow(a,2)*Math.pow(u,2)*e,b=Math.exp(-h),w=T_(Math.pow(u,2),a);return(-i(u)+eC>0?-1:1)*((m-y)*b)/w}):(i=u=>{const d=Math.exp(-u*e),h=(u-n)*e+1;return-eC+d*h},o=u=>{const d=Math.exp(-u*e),h=(n-u)*(e*e);return d*h});const s=5/e,l=the(i,o,s);if(e=e*1e3,isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:a*2*Math.sqrt(r*u),duration:e}}}const ehe=12;function the(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function ihe(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!HL(e,rhe)&&HL(e,nhe)){const n=Jfe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}const ohe=5;function xB({keyframes:e,restDelta:t,restSpeed:n,...r}){let i=e[0],o=e[e.length-1];const a={done:!1,value:i},{stiffness:s,damping:l,mass:u,velocity:d,duration:h,isResolvedFromDuration:m}=ihe(r);let y=ahe,b=d?-(d/1e3):0;const w=l/(2*Math.sqrt(s*u));function E(){const _=o-i,k=Math.sqrt(s/u)/1e3,T=Math.abs(_)<5;if(n||(n=T?.01:2),t||(t=T?.005:.5),w<1){const L=T_(k,w);y=O=>{const D=Math.exp(-w*k*O);return o-D*((b+w*k*_)/L*Math.sin(L*O)+_*Math.cos(L*O))}}else if(w===1)y=L=>o-Math.exp(-k*L)*(_+(b+k*_)*L);else{const L=k*Math.sqrt(w*w-1);y=O=>{const D=Math.exp(-w*k*O),I=Math.min(L*O,300);return o-D*((b+w*k*_)*Math.sinh(I)+L*_*Math.cosh(I))/L}}}return E(),{next:_=>{const k=y(_);if(m)a.done=_>=h;else{let T=b;if(_!==0)if(w<1){const D=Math.max(0,_-ohe);T=G9(k-y(D),_-D)}else T=0;const L=Math.abs(T)<=n,O=Math.abs(o-k)<=t;a.done=L&&O}return a.value=a.done?o:k,a},flipTarget:()=>{b=-b,[i,o]=[o,i],E()}}}xB.needsInterpolation=(e,t)=>typeof e=="string"||typeof t=="string";const ahe=e=>0;function she({keyframes:e=[0],velocity:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:o}){const a=e[0],s={done:!1,value:a};let l=n*t;const u=a+l,d=o===void 0?u:o(u);return d!==u&&(l=d-a),{next:h=>{const m=-l*Math.exp(-h/r);return s.done=!(m>i||m<-i),s.value=s.done?d:d+m,s},flipTarget:()=>{}}}const lhe={decay:she,keyframes:P_,tween:P_,spring:xB};function SB(e,t,n=0){return e-t-n}function uhe(e,t=0,n=0,r=!0){return r?SB(t+-e,t,n):t-(e-t)+n}function che(e,t,n,r){return r?e>=t+n:e<=-n}const dhe=e=>{const t=({delta:n})=>e(n);return{start:()=>so.update(t,!0),stop:()=>Gd.update(t)}};function r3({duration:e,driver:t=dhe,elapsed:n=0,repeat:r=0,repeatType:i="loop",repeatDelay:o=0,keyframes:a,autoplay:s=!0,onPlay:l,onStop:u,onComplete:d,onRepeat:h,onUpdate:m,type:y="keyframes",...b}){const w=n;let E,_=0,k=e,T=!1,L=!0,O;const D=lhe[a.length>2?"keyframes":y]||P_,I=a[0],N=a[a.length-1];let W={done:!1,value:I};const{needsInterpolation:B}=D;B&&B(I,N)&&(O=gB([0,100],[I,N],{clamp:!1}),a=[0,100]);const K=D({...b,duration:e,keyframes:a});function ne(){_++,i==="reverse"?(L=_%2===0,n=uhe(n,k,o,L)):(n=SB(n,k,o),i==="mirror"&&K.flipTarget()),T=!1,h&&h()}function z(){E&&E.stop(),d&&d()}function $(X){L||(X=-X),n+=X,T||(W=K.next(Math.max(0,n)),O&&(W.value=O(W.value)),T=L?W.done:n<=0),m&&m(W.value),T&&(_===0&&(k=k!==void 0?k:n),_{u&&u(),E&&E.stop()},set currentTime(X){n=w,$(X)},sample:X=>{n=w;const Q=e&&typeof e=="number"?Math.max(e*.5,50):50;let G=0;for($(0);G<=X;){const Y=X-G;$(Math.min(Y,Q)),G+=Q}return W}}}function fhe(e){return!e||Array.isArray(e)||typeof e=="string"&&wB[e]}const d1=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,wB={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:d1([0,.65,.55,1]),circOut:d1([.55,0,1,.45]),backIn:d1([.31,.01,.66,-.59]),backOut:d1([.33,1.53,.69,.99])};function hhe(e){if(e)return Array.isArray(e)?d1(e):wB[e]}function phe(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:a="loop",ease:s,times:l}={}){return e.animate({[t]:n,offset:l},{delay:r,duration:i,easing:hhe(s),fill:"both",iterations:o+1,direction:a==="reverse"?"alternate":"normal"})}const WL={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},tC={},CB={};for(const e in WL)CB[e]=()=>(tC[e]===void 0&&(tC[e]=WL[e]()),tC[e]);function ghe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const mhe=new Set(["opacity"]),Hb=10;function vhe(e,t,{onUpdate:n,onComplete:r,...i}){if(!(CB.waapi()&&mhe.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0))return!1;let{keyframes:a,duration:s=300,elapsed:l=0,ease:u}=i;if(i.type==="spring"||!fhe(i.ease)){if(i.repeat===1/0)return;const h=r3({...i,elapsed:0});let m={done:!1,value:a[0]};const y=[];let b=0;for(;!m.done&&b<2e4;)m=h.sample(b),y.push(m.value),b+=Hb;a=y,s=b-Hb,u="linear"}const d=phe(e.owner.current,t,a,{...i,delay:-l,duration:s,ease:u});return d.onfinish=()=>{e.set(ghe(a,i)),so.update(()=>d.cancel()),r&&r()},{get currentTime(){return d.currentTime||0},set currentTime(h){d.currentTime=h},stop:()=>{const{currentTime:h}=d;if(h){const m=r3({...i,autoplay:!1});e.setWithVelocity(m.sample(h-Hb).value,m.sample(h).value,Hb)}so.update(()=>d.cancel())}}}function _B(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Gd.read(r),e(o-t))};return so.read(r,!0),()=>Gd.read(r)}function yhe({keyframes:e,elapsed:t,onUpdate:n,onComplete:r}){const i=()=>{n&&n(e[e.length-1]),r&&r()};return t?{stop:_B(i,-t)}:i()}function bhe({keyframes:e,velocity:t=0,min:n,max:r,power:i=.8,timeConstant:o=750,bounceStiffness:a=500,bounceDamping:s=10,restDelta:l=1,modifyTarget:u,driver:d,onUpdate:h,onComplete:m,onStop:y}){const b=e[0];let w;function E(L){return n!==void 0&&Lr}function _(L){return n===void 0?r:r===void 0||Math.abs(n-L){h&&h(O),L.onUpdate&&L.onUpdate(O)},onComplete:m,onStop:y})}function T(L){k({type:"spring",stiffness:a,damping:s,restDelta:l,...L})}if(E(b))T({velocity:t,keyframes:[b,_(b)]});else{let L=i*t+b;typeof u<"u"&&(L=u(L));const O=_(L),D=O===n?-1:1;let I,N;const W=B=>{I=N,N=B,t=G9(B-I,qu.delta),(D===1&&B>O||D===-1&&Bw&&w.stop()}}const nh=()=>({type:"spring",stiffness:500,damping:25,restSpeed:10}),Wb=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),nC=()=>({type:"keyframes",ease:"linear",duration:.3}),xhe={type:"keyframes",duration:.8},UL={x:nh,y:nh,z:nh,rotate:nh,rotateX:nh,rotateY:nh,rotateZ:nh,scaleX:Wb,scaleY:Wb,scale:Wb,opacity:nC,backgroundColor:nC,color:nC,default:Wb},She=(e,{keyframes:t})=>t.length>2?xhe:(UL[e]||UL.default)(t[1]),M_=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&qd.test(t)&&!t.startsWith("url("));function whe({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:o,repeatType:a,repeatDelay:s,from:l,elapsed:u,...d}){return!!Object.keys(d).length}function VL(e){return e===0||typeof e=="string"&&parseFloat(e)===0&&e.indexOf(" ")===-1}function GL(e){return typeof e=="number"?0:Y9("",e)}function kB(e,t){return e[t]||e.default||e}function Che(e,t,n,r){const i=M_(t,n);let o=r.from!==void 0?r.from:e.get();return o==="none"&&i&&typeof n=="string"?o=Y9(t,n):VL(o)&&typeof n=="string"?o=GL(n):!Array.isArray(n)&&VL(n)&&typeof o=="string"&&(n=GL(o)),Array.isArray(n)?(n[0]===null&&(n[0]=o),n):[o,n]}const n8=(e,t,n,r={})=>i=>{const o=kB(r,e)||{},a=o.delay||r.delay||0;let{elapsed:s=0}=r;s=s-Zx(a);const l=Che(t,e,n,o),u=l[0],d=l[l.length-1],h=M_(e,u),m=M_(e,d);let y={keyframes:l,velocity:t.getVelocity(),...o,elapsed:s,onUpdate:b=>{t.set(b),o.onUpdate&&o.onUpdate(b)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(!h||!m||Afe.current||o.type===!1)return yhe(y);if(o.type==="inertia")return bhe(y);if(whe(o)||(y={...y,...She(e,y)}),y.duration&&(y.duration=Zx(y.duration)),y.repeatDelay&&(y.repeatDelay=Zx(y.repeatDelay)),t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const b=vhe(t,e,y);if(b)return b}return r3(y)};function _he(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>L_(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=L_(e,t,n);else{const i=typeof t=="function"?Iw(e,t,n.custom):t;r=EB(e,i,n)}return r.then(()=>e.notify("AnimationComplete",t))}function L_(e,t,n={}){const r=Iw(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>EB(e,r,n):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:h}=i;return khe(e,t,u+l,d,h,n)}:()=>Promise.resolve(),{when:s}=i;if(s){const[l,u]=s==="beforeChildren"?[o,a]:[a,o];return l().then(u)}else return Promise.all([o(),a(n.delay)])}function EB(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:a,...s}=e.makeTargetAnimatable(t);const l=e.getValue("willChange");r&&(o=r);const u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(const h in s){const m=e.getValue(h),y=s[h];if(!m||y===void 0||d&&Phe(d,h))continue;const b={delay:n,elapsed:0,...o};if(window.HandoffAppearAnimations&&!m.hasAnimated){const E=e.getProps()[Mfe];E&&(b.elapsed=window.HandoffAppearAnimations(E,h,m,so))}let w=m.start(n8(h,m,y,e.shouldReduceMotion&&d0.has(h)?{type:!1}:b));e3(l)&&(l.add(h),w=w.then(()=>l.remove(h))),u.push(w)}return Promise.all(u).then(()=>{a&&_fe(e,a)})}function khe(e,t,n=0,r=0,i=1,o){const a=[],s=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>s-u*r;return Array.from(e.variantChildren).sort(Ehe).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(L_(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function Ehe(e,t){return e.sortNodePosition(t)}function Phe({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}const r8=[tr.Animate,tr.InView,tr.Focus,tr.Hover,tr.Tap,tr.Drag,tr.Exit],The=[...r8].reverse(),Mhe=r8.length;function Lhe(e){return t=>Promise.all(t.map(({animation:n,options:r})=>_he(e,n,r)))}function Ahe(e){let t=Lhe(e);const n=Rhe();let r=!0;const i=(l,u)=>{const d=Iw(e,u);if(d){const{transition:h,transitionEnd:m,...y}=d;l={...l,...y,...m}}return l};function o(l){t=l(e)}function a(l,u){const d=e.getProps(),h=e.getVariantContext(!0)||{},m=[],y=new Set;let b={},w=1/0;for(let _=0;_w&&O;const B=Array.isArray(L)?L:[L];let K=B.reduce(i,{});D===!1&&(K={});const{prevResolvedValues:ne={}}=T,z={...ne,...K},$=V=>{W=!0,y.delete(V),T.needsAnimating[V]=!0};for(const V in z){const X=K[V],Q=ne[V];b.hasOwnProperty(V)||(X!==Q?QS(X)&&QS(Q)?!eB(X,Q)||N?$(V):T.protectedKeys[V]=!0:X!==void 0?$(V):y.add(V):X!==void 0&&y.has(V)?$(V):T.protectedKeys[V]=!0)}T.prevProp=L,T.prevResolvedValues=K,T.isActive&&(b={...b,...K}),r&&e.blockInitialAnimation&&(W=!1),W&&!I&&m.push(...B.map(V=>({animation:V,options:{type:k,...l}})))}if(y.size){const _={};y.forEach(k=>{const T=e.getBaseTarget(k);T!==void 0&&(_[k]=T)}),m.push({animation:_})}let E=Boolean(m.length);return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(E=!1),r=!1,E?t(m):Promise.resolve()}function s(l,u,d){if(n[l].isActive===u)return Promise.resolve();e.variantChildren&&e.variantChildren.forEach(m=>{m.animationState&&m.animationState.setActive(l,u)}),n[l].isActive=u;const h=a(d,l);for(const m in n)n[m].protectedKeys={};return h}return{animateChanges:a,setActive:s,setAnimateFunction:o,getState:()=>n}}function Ohe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!eB(t,e):!1}function rh(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Rhe(){return{[tr.Animate]:rh(!0),[tr.InView]:rh(),[tr.Hover]:rh(),[tr.Tap]:rh(),[tr.Drag]:rh(),[tr.Focus]:rh(),[tr.Exit]:rh()}}class Ihe extends sf{constructor(t){super(t),t.animationState||(t.animationState=Ahe(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),Mw(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let Dhe=0;class jhe extends sf{constructor(){super(...arguments),this.id=Dhe++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive(tr.Exit,!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const Nhe={animation:{Feature:Ihe},exit:{Feature:jhe}},qL=(e,t)=>Math.abs(e-t);function $he(e,t){const n=qL(e.x,t.x),r=qL(e.y,t.y);return Math.sqrt(n**2+r**2)}class PB{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=iC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,h=$he(u.offset,{x:0,y:0})>=3;if(!d&&!h)return;const{point:m}=u,{timestamp:y}=qu;this.history.push({...m,timestamp:y});const{onStart:b,onMove:w}=this.handlers;d||(b&&b(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),w&&w(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=rC(d,this.transformPagePoint),so.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:h,onSessionEnd:m}=this.handlers,y=iC(u.type==="pointercancel"?this.lastMoveEventInfo:rC(d,this.transformPagePoint),this.history);this.startEvent&&h&&h(u,y),m&&m(u,y)},!YF(t))return;this.handlers=n,this.transformPagePoint=r;const i=Ow(t),o=rC(i,this.transformPagePoint),{point:a}=o,{timestamp:s}=qu;this.history=[{...a,timestamp:s}];const{onSessionStart:l}=n;l&&l(t,iC(o,this.history)),this.removeListeners=Nd(Gu(window,"pointermove",this.handlePointerMove),Gu(window,"pointerup",this.handlePointerUp),Gu(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Gd.update(this.updatePoint)}}function rC(e,t){return t?{point:t(e.point)}:e}function KL(e,t){return{x:e.x-t.x,y:e.y-t.y}}function iC({point:e},t){return{point:e,delta:KL(e,TB(t)),offset:KL(e,Fhe(t)),velocity:Bhe(t,.1)}}function Fhe(e){return e[0]}function TB(e){return e[e.length-1]}function Bhe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=TB(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Zx(t)));)n--;if(!r)return{x:0,y:0};const o=(i.timestamp-r.timestamp)/1e3;if(o===0)return{x:0,y:0};const a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function Aa(e){return e.max-e.min}function A_(e,t=0,n=.01){return Math.abs(e-t)<=n}function YL(e,t,n,r=.5){e.origin=r,e.originPoint=Fr(t.min,t.max,e.origin),e.scale=Aa(n)/Aa(t),(A_(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Fr(n.min,n.max,e.origin)-e.originPoint,(A_(e.translate)||isNaN(e.translate))&&(e.translate=0)}function B1(e,t,n,r){YL(e.x,t.x,n.x,r?r.originX:void 0),YL(e.y,t.y,n.y,r?r.originY:void 0)}function XL(e,t,n){e.min=n.min+t.min,e.max=e.min+Aa(t)}function zhe(e,t,n){XL(e.x,t.x,n.x),XL(e.y,t.y,n.y)}function ZL(e,t,n){e.min=t.min-n.min,e.max=e.min+Aa(t)}function z1(e,t,n){ZL(e.x,t.x,n.x),ZL(e.y,t.y,n.y)}function Hhe(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Fr(n,e,r.max):Math.min(e,n)),e}function QL(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Whe(e,{top:t,left:n,bottom:r,right:i}){return{x:QL(e.x,n,i),y:QL(e.y,t,r)}}function JL(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=n3(t.min,t.max-r,e.min):r>i&&(n=n3(e.min,e.max-i,t.min)),Vm(0,1,n)}function Ghe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const O_=.35;function qhe(e=O_){return e===!1?e=0:e===!0&&(e=O_),{x:eA(e,"left","right"),y:eA(e,"top","bottom")}}function eA(e,t,n){return{min:tA(e,t),max:tA(e,n)}}function tA(e,t){return typeof e=="number"?e:e[t]||0}const nA=()=>({translate:0,scale:1,origin:0,originPoint:0}),H1=()=>({x:nA(),y:nA()}),rA=()=>({min:0,max:0}),gi=()=>({x:rA(),y:rA()});function Al(e){return[e("x"),e("y")]}function MB({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Khe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Yhe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function oC(e){return e===void 0||e===1}function R_({scale:e,scaleX:t,scaleY:n}){return!oC(e)||!oC(t)||!oC(n)}function dh(e){return R_(e)||LB(e)||e.z||e.rotate||e.rotateX||e.rotateY}function LB(e){return iA(e.x)||iA(e.y)}function iA(e){return e&&e!=="0%"}function i3(e,t,n){const r=e-n,i=t*r;return n+i}function oA(e,t,n,r,i){return i!==void 0&&(e=i3(e,i,r)),i3(e,n,r)+t}function I_(e,t=0,n=1,r,i){e.min=oA(e.min,t,n,r,i),e.max=oA(e.max,t,n,r,i)}function AB(e,{x:t,y:n}){I_(e.x,t.translate,t.scale,t.originPoint),I_(e.y,n.translate,n.scale,n.originPoint)}function Xhe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,a;for(let s=0;s1.0000000000001||e<.999999999999?e:1}function gd(e,t){e.min=e.min+t,e.max=e.max+t}function sA(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,a=Fr(e.min,e.max,o);I_(e,t[n],t[r],a,t.scale)}const Zhe=["x","scaleX","originX"],Qhe=["y","scaleY","originY"];function em(e,t){sA(e.x,t,Zhe),sA(e.y,t,Qhe)}function OB(e,t){return MB(Yhe(e.getBoundingClientRect(),t))}function Jhe(e,t,n){const r=OB(e,n),{scroll:i}=t;return i&&(gd(r.x,i.offset.x),gd(r.y,i.offset.y)),r}const epe=new WeakMap;class tpe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=gi(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(Ow(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:h,onDragStart:m}=this.getProps();if(d&&!h&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=ZF(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Al(b=>{let w=this.getAxisMotionValue(b).get()||0;if(Yl.test(w)){const{projection:E}=this.visualElement;if(E&&E.layout){const _=E.layout.layoutBox[b];_&&(w=Aa(_)*(parseFloat(w)/100))}}this.originPoint[b]=w}),m&&m(l,u);const{animationState:y}=this.visualElement;y&&y.setActive(tr.Drag,!0)},a=(l,u)=>{const{dragPropagation:d,dragDirectionLock:h,onDirectionLock:m,onDrag:y}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:b}=u;if(h&&this.currentDirection===null){this.currentDirection=npe(b),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",u.point,b),this.updateAxis("y",u.point,b),this.visualElement.render(),y&&y(l,u)},s=(l,u)=>this.stop(l,u);this.panSession=new PB(t,{onSessionStart:i,onStart:o,onMove:a,onSessionEnd:s},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&o(t,n)}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive(tr.Drag,!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!Ub(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let a=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(a=Hhe(a,this.constraints[t],this.elastic[t])),o.set(a)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&Qg(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Whe(r.layoutBox,t):this.constraints=!1,this.elastic=qhe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Al(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Ghe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Qg(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=Jhe(r,i.root,this.visualElement.getTransformPagePoint());let a=Uhe(i.layout.layoutBox,o);if(n){const s=n(Khe(a));this.hasMutatedConstraints=!!s,s&&(a=MB(s))}return a}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:a,onDragTransitionEnd:s}=this.getProps(),l=this.constraints||{},u=Al(d=>{if(!Ub(d,n,this.currentDirection))return;let h=l&&l[d]||{};a&&(h={min:0,max:0});const m=i?200:1e6,y=i?40:1e7,b={type:"inertia",velocity:r?t[d]:0,bounceStiffness:m,bounceDamping:y,timeConstant:750,restDelta:1,restSpeed:10,...o,...h};return this.startAxisValueAnimation(d,b)});return Promise.all(u).then(s)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(n8(t,r,0,n))}stopAnimation(){Al(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Al(n=>{const{drag:r}=this.getProps();if(!Ub(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:a,max:s}=i.layout.layoutBox[n];o.set(t[n]-Fr(a,s,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Qg(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Al(a=>{const s=this.getAxisMotionValue(a);if(s){const l=s.get();i[a]=Vhe({min:l,max:l},this.constraints[a])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Al(a=>{if(!Ub(a,t,null))return;const s=this.getAxisMotionValue(a),{min:l,max:u}=this.constraints[a];s.set(Fr(l,u,i[a]))})}addListeners(){if(!this.visualElement.current)return;epe.set(this.visualElement,this);const t=this.visualElement.current,n=Gu(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Qg(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const a=Hu(window,"resize",()=>this.scalePositionWithinConstraints()),s=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Al(d=>{const h=this.getAxisMotionValue(d);h&&(this.originPoint[d]+=l[d].translate,h.set(h.get()+l[d].translate))}),this.visualElement.render())});return()=>{a(),n(),o(),s&&s()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:a=O_,dragMomentum:s=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:a,dragMomentum:s}}}function Ub(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function npe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class rpe extends sf{constructor(t){super(t),this.removeGroupControls=Xl,this.removeListeners=Xl,this.controls=new tpe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Xl}unmount(){this.removeGroupControls(),this.removeListeners()}}class ipe extends sf{constructor(){super(...arguments),this.removePointerDownListener=Xl}onPointerDown(t){this.session=new PB(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:t,onStart:n,onMove:r,onEnd:(o,a)=>{delete this.session,i&&i(o,a)}}}mount(){this.removePointerDownListener=Gu(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function RB(){const e=S.useContext(n2);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=S.useId();return S.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function ope(){return ape(S.useContext(n2))}function ape(e){return e===null?!0:e.isPresent}function lA(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Wv={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Pt.test(e))e=parseFloat(e);else return e;const n=lA(e,t.target.x),r=lA(e,t.target.y);return`${n}% ${r}%`}};function D_(e){return typeof e=="string"&&e.startsWith("var(--")}const IB=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function spe(e){const t=IB.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function j_(e,t,n=1){const[r,i]=spe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():D_(i)?j_(i,t,n+1):i}function lpe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!D_(o))return;const a=j_(o,r);a&&i.set(a)});for(const i in t){const o=t[i];if(!D_(o))continue;const a=j_(o,r);a&&(t[i]=a,n&&n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const uA="_$css",upe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=e.includes("var("),o=[];i&&(e=e.replace(IB,y=>(o.push(y),uA)));const a=qd.parse(e);if(a.length>5)return r;const s=qd.createTransformer(e),l=typeof a[0]!="number"?1:0,u=n.x.scale*t.x,d=n.y.scale*t.y;a[0+l]/=u,a[1+l]/=d;const h=Fr(u,d,.5);typeof a[2+l]=="number"&&(a[2+l]/=h),typeof a[3+l]=="number"&&(a[3+l]/=h);let m=s(a);if(i){let y=0;m=m.replace(uA,()=>{const b=o[y];return y++,b})}return m}};class cpe extends Ke.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;pde(dpe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),N1.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,a=r.projection;return a&&(a.isPresent=o,i||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?a.promote():a.relegate()||so.postRender(()=>{const s=a.getStack();(!s||!s.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),!t.currentAnimation&&t.isLead()&&this.safeToRemove())}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function DB(e){const[t,n]=RB(),r=S.useContext(I9);return Ke.createElement(cpe,{...e,layoutGroup:r,switchLayoutGroup:S.useContext(NF),isPresent:t,safeToRemove:n})}const dpe={borderRadius:{...Wv,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Wv,borderTopRightRadius:Wv,borderBottomLeftRadius:Wv,borderBottomRightRadius:Wv,boxShadow:upe};function fpe(e,t,n={}){const r=ta(e)?e:Gm(e);return r.start(n8("",r,t,n)),{stop:()=>r.stop(),isAnimating:()=>r.isAnimating()}}const jB=["TopLeft","TopRight","BottomLeft","BottomRight"],hpe=jB.length,cA=e=>typeof e=="string"?parseFloat(e):e,dA=e=>typeof e=="number"||Pt.test(e);function ppe(e,t,n,r,i,o){i?(e.opacity=Fr(0,n.opacity!==void 0?n.opacity:1,gpe(r)),e.opacityExit=Fr(t.opacity!==void 0?t.opacity:1,0,mpe(r))):o&&(e.opacity=Fr(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let a=0;art?1:n(n3(e,t,r))}function hA(e,t){e.min=t.min,e.max=t.max}function Ns(e,t){hA(e.x,t.x),hA(e.y,t.y)}function pA(e,t,n,r,i){return e-=t,e=i3(e,1/n,r),i!==void 0&&(e=i3(e,1/i,r)),e}function vpe(e,t=0,n=1,r=.5,i,o=e,a=e){if(Yl.test(t)&&(t=parseFloat(t),t=Fr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let s=Fr(o.min,o.max,r);e===o&&(s-=t),e.min=pA(e.min,t,n,s,i),e.max=pA(e.max,t,n,s,i)}function gA(e,t,[n,r,i],o,a){vpe(e,t[n],t[r],t[i],t.scale,o,a)}const ype=["x","scaleX","originX"],bpe=["y","scaleY","originY"];function mA(e,t,n,r){gA(e.x,t,ype,n?n.x:void 0,r?r.x:void 0),gA(e.y,t,bpe,n?n.y:void 0,r?r.y:void 0)}function vA(e){return e.translate===0&&e.scale===1}function $B(e){return vA(e.x)&&vA(e.y)}function FB(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function yA(e){return Aa(e.x)/Aa(e.y)}class xpe{constructor(){this.members=[]}add(t){W9(this.members,t),t.scheduleRender()}remove(t){if(U9(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function bA(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const a=e.x.scale*t.x,s=e.y.scale*t.y;return(a!==1||s!==1)&&(r+=`scale(${a}, ${s})`),r||"none"}const Spe=(e,t)=>e.depth-t.depth;class wpe{constructor(){this.children=[],this.isDirty=!1}add(t){W9(this.children,t),this.isDirty=!0}remove(t){U9(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Spe),this.isDirty=!1,this.children.forEach(t)}}const xA=["","X","Y","Z"],SA=1e3;let Cpe=0;function BB({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(a,s={},l=t==null?void 0:t()){this.id=Cpe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isTransformDirty=!1,this.isProjectionDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.potentialNodes=new Map,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.nodes.forEach(Epe),this.nodes.forEach(Mpe),this.nodes.forEach(Lpe)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.elementId=a,this.latestValues=s,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0,a&&this.root.registerPotentialNode(a,this);for(let u=0;uthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,h&&h(),h=_B(m,250),N1.hasAnimatedSinceResize&&(N1.hasAnimatedSinceResize=!1,this.nodes.forEach(CA))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:h,hasLayoutChanged:m,hasRelativeTargetChanged:y,layout:b})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||d.getDefaultTransition()||Dpe,{onLayoutAnimationStart:E,onLayoutAnimationComplete:_}=d.getProps(),k=!this.targetLayout||!FB(this.targetLayout,b)||y,T=!m&&y;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||T||m&&(k||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(h,T);const L={...kB(w,"layout"),onPlay:E,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L)}else!m&&this.animationProgress===0&&CA(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=b})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Gd.preRender(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Ape),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const L=T/1e3;_A(h.x,a.x,L),_A(h.y,a.y,L),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(z1(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Rpe(this.relativeTarget,this.relativeTargetOrigin,m,L)),w&&(this.animationValues=d,ppe(d,u,this.latestValues,L,k,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=L},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Gd.update(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=so.update(()=>{N1.hasAnimatedSinceResize=!0,this.currentAnimation=fpe(0,SA,{...a,onUpdate:s=>{this.mixTargetDelta(s),a.onUpdate&&a.onUpdate(s)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(SA),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:s,target:l,layout:u,latestValues:d}=a;if(!(!s||!l||!u)){if(this!==a&&this.layout&&u&&zB(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||gi();const h=Aa(this.layout.layoutBox.x);l.x.min=a.target.x.min,l.x.max=l.x.min+h;const m=Aa(this.layout.layoutBox.y);l.y.min=a.target.y.min,l.y.max=l.y.min+m}Ns(s,l),em(s,d),B1(this.projectionDeltaWithTransform,this.layoutCorrected,s,d)}}registerSharedNode(a,s){this.sharedNodes.has(a)||this.sharedNodes.set(a,new xpe),this.sharedNodes.get(a).add(s);const u=s.options.initialPromotionConfig;s.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(s):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:s}=this.options;return s?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:s}=this.options;return s?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:s,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),a&&(this.projectionDelta=void 0,this.needsReset=!0),s&&this.setOptions({transition:s})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetRotation(){const{visualElement:a}=this.options;if(!a)return;let s=!1;const{latestValues:l}=a;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(s=!0),!s)return;const u={};for(let d=0;d{var s;return(s=a.currentAnimation)===null||s===void 0?void 0:s.stop()}),this.root.nodes.forEach(wA),this.root.sharedNodes.clear()}}}function _pe(e){e.updateLayout()}function kpe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,a=n.source!==e.layout.source;o==="size"?Al(h=>{const m=a?n.measuredBox[h]:n.layoutBox[h],y=Aa(m);m.min=r[h].min,m.max=m.min+y}):zB(o,n.layoutBox,r)&&Al(h=>{const m=a?n.measuredBox[h]:n.layoutBox[h],y=Aa(r[h]);m.max=m.min+y});const s=H1();B1(s,r,n.layoutBox);const l=H1();a?B1(l,e.applyTransform(i,!0),n.measuredBox):B1(l,r,n.layoutBox);const u=!$B(s);let d=!1;if(!e.resumeFrom){const h=e.getClosestProjectingParent();if(h&&!h.resumeFrom){const{snapshot:m,layout:y}=h;if(m&&y){const b=gi();z1(b,n.layoutBox,m.layoutBox);const w=gi();z1(w,r,y.layoutBox),FB(b,w)||(d=!0),h.options.layoutRoot&&(e.relativeTarget=w,e.relativeTargetOrigin=b,e.relativeParent=h)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:s,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Epe(e){e.isProjectionDirty||(e.isProjectionDirty=Boolean(e.parent&&e.parent.isProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=Boolean(e.parent&&e.parent.isTransformDirty))}function Ppe(e){e.clearSnapshot()}function wA(e){e.clearMeasurements()}function Tpe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function CA(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0}function Mpe(e){e.resolveTargetDelta()}function Lpe(e){e.calcProjection()}function Ape(e){e.resetRotation()}function Ope(e){e.removeLeadSnapshot()}function _A(e,t,n){e.translate=Fr(t.translate,0,n),e.scale=Fr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function kA(e,t,n,r){e.min=Fr(t.min,n.min,r),e.max=Fr(t.max,n.max,r)}function Rpe(e,t,n,r){kA(e.x,t.x,n.x,r),kA(e.y,t.y,n.y,r)}function Ipe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Dpe={duration:.45,ease:[.4,0,.1,1]};function jpe(e,t){let n=e.root;for(let o=e.path.length-1;o>=0;o--)if(Boolean(e.path[o].instance)){n=e.path[o];break}const i=(n&&n!==e.root?n.instance:document).querySelector(`[data-projection-id="${t}"]`);i&&e.mount(i,!0)}function EA(e){e.min=Math.round(e.min),e.max=Math.round(e.max)}function Npe(e){EA(e.x),EA(e.y)}function zB(e,t,n){return e==="position"||e==="preserve-aspect"&&!A_(yA(t),yA(n),.2)}const $pe=BB({attachResizeListener:(e,t)=>Hu(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),aC={current:void 0},HB=BB({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!aC.current){const e=new $pe(0,{});e.mount(window),e.setOptions({layoutScroll:!0}),aC.current=e}return aC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>Boolean(window.getComputedStyle(e).position==="fixed")}),Fpe={pan:{Feature:ipe},drag:{Feature:rpe,ProjectionNode:HB,MeasureLayout:DB}},Bpe=new Set(["width","height","top","left","right","bottom","x","y"]),WB=e=>Bpe.has(e),zpe=e=>Object.keys(e).some(WB),PA=e=>e===np||e===Pt;var TA;(function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"})(TA||(TA={}));const MA=(e,t)=>parseFloat(e.split(", ")[t]),LA=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return MA(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?MA(o[1],e):0}},Hpe=new Set(["x","y","z"]),Wpe=Aw.filter(e=>!Hpe.has(e));function Upe(e){const t=[];return Wpe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const AA={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:LA(4,13),y:LA(5,14)},Vpe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:a}=o,s={};a==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{s[u]=AA[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(s[u]),e[u]=AA[u](l,o)}),e},Gpe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(WB);let o=[],a=!1;const s=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],h=Hv(d);const m=t[l];let y;if(QS(m)){const b=m.length,w=m[0]===null?1:0;d=m[w],h=Hv(d);for(let E=w;E=0?window.pageYOffset:null,u=Vpe(t,e,s);return o.length&&o.forEach(([d,h])=>{e.getValue(d).set(h)}),e.render(),Tw&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function qpe(e,t,n,r){return zpe(t)?Gpe(e,t,n,r):{target:t,transitionEnd:r}}const Kpe=(e,t,n,r)=>{const i=lpe(e,t,r);return t=i.target,r=i.transitionEnd,qpe(e,t,n,r)},N_={current:null},UB={current:!1};function Ype(){if(UB.current=!0,!!Tw)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>N_.current=e.matches;e.addListener(t),t()}else N_.current=!1}function Xpe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],a=n[i];if(ta(o))e.addValue(i,o),e3(r)&&r.add(i);else if(ta(a))e.addValue(i,Gm(o,{owner:e})),e3(r)&&r.remove(i);else if(a!==o)if(e.hasValue(i)){const s=e.getValue(i);!s.hasAnimated&&s.set(o)}else{const s=e.getStaticValue(i);e.addValue(i,Gm(s!==void 0?s:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const VB=Object.keys(ky),Zpe=VB.length,OA=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Qpe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>so.render(this.render,!1,!0);const{latestValues:s,renderState:l}=o;this.latestValues=s,this.baseTarget={...s},this.initialValues=n.initial?{...s}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.isControllingVariants=Lw(n),this.isVariantNode=jF(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const h in d){const m=d[h];s[h]!==void 0&&ta(m)&&(m.set(s[h],!1),e3(u)&&u.add(h))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,this.projection&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),UB.current||Ype(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:N_.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Gd.update(this.notifyUpdate),Gd.render(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=d0.has(t),i=n.on("change",a=>{this.latestValues[t]=a,this.props.onUpdate&&so.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o,a){let s,l;for(let u=0;uthis.scheduleRender(),animationType:typeof d=="string"?d:"both",initialPromotionConfig:a,layoutScroll:y,layoutRoot:b})}return l}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update(this.props,this.prevProps):(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):gi()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Gm(n,{owner:this}),this.addValue(t,r)),r}readValue(t){return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=H9(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ta(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new V9),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}const GB=["initial",...r8],Jpe=GB.length;class qB extends Qpe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let a=Pfe(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),a&&(a=i(a))),o){kfe(this,r,a);const s=Kpe(this,r,a,n);n=s.transitionEnd,r=s.target}return{transition:t,transitionEnd:n,...r}}}function ege(e){return window.getComputedStyle(e)}class tge extends qB{readValueFromInstance(t,n){if(d0.has(n)){const r=K9(n);return r&&r.default||0}else{const r=ege(t),i=(FF(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return OB(t,n)}build(t,n,r,i){j9(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return z9(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ta(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){UF(t,n,r,i)}}class nge extends qB{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(d0.has(n)){const r=K9(n);return r&&r.default||0}return n=VF.has(n)?n:B9(n),t.getAttribute(n)}measureInstanceViewportBox(){return gi()}scrapeMotionValuesFromProps(t,n){return qF(t,n)}build(t,n,r,i){$9(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){GF(t,n,r,i)}mount(t){this.isSVGTag=F9(t.tagName),super.mount(t)}}const rge=(e,t)=>D9(e)?new nge(t,{enableHardwareAcceleration:!1}):new tge(t,{enableHardwareAcceleration:!0}),ige={layout:{ProjectionNode:HB,MeasureLayout:DB}},oge={...Nhe,...Jde,...Fpe,...ige},su=fde((e,t)=>Bde(e,t,oge,rge));function KB(){const e=S.useRef(!1);return YS(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function age(){const e=KB(),[t,n]=S.useState(0),r=S.useCallback(()=>{e.current&&n(t+1)},[t]);return[S.useCallback(()=>so.postRender(r),[r]),t]}class sge extends S.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function lge({children:e,isPresent:t}){const n=S.useId(),r=S.useRef(null),i=S.useRef({width:0,height:0,top:0,left:0});return S.useInsertionEffect(()=>{const{width:o,height:a,top:s,left:l}=i.current;if(t||!r.current||!o||!a)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` + )`;return{...!r&&i&&o,...r?{bgImage:s}:{bgColor:a}}},_ae={lineHeight:"1",fontSize:"0.25em",fontWeight:"bold",color:"white"},kae=e=>({bg:wt("gray.100","whiteAlpha.300")(e)}),Eae=e=>({transitionProperty:"common",transitionDuration:"slow",...Cae(e)}),Pae=c1(e=>({label:_ae,filledTrack:Eae(e),track:kae(e)})),Tae={xs:c1({track:{h:"1"}}),sm:c1({track:{h:"2"}}),md:c1({track:{h:"3"}}),lg:c1({track:{h:"4"}})},Mae=wae({sizes:Tae,baseStyle:Pae,defaultProps:{size:"md",colorScheme:"blue"}}),Lae=e=>typeof e=="function";function Po(e,...t){return Lae(e)?e(...t):e}var{definePartsStyle:Gx,defineMultiStyleConfig:Aae}=dr(Cie.keys),D1=gn("checkbox-size"),Oae=e=>{const{colorScheme:t}=e;return{w:D1.reference,h:D1.reference,transitionProperty:"box-shadow",transitionDuration:"normal",border:"2px solid",borderRadius:"sm",borderColor:"inherit",color:"white",_checked:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e),_hover:{bg:wt(`${t}.600`,`${t}.300`)(e),borderColor:wt(`${t}.600`,`${t}.300`)(e)},_disabled:{borderColor:wt("gray.200","transparent")(e),bg:wt("gray.200","whiteAlpha.300")(e),color:wt("gray.500","whiteAlpha.500")(e)}},_indeterminate:{bg:wt(`${t}.500`,`${t}.200`)(e),borderColor:wt(`${t}.500`,`${t}.200`)(e),color:wt("white","gray.900")(e)},_disabled:{bg:wt("gray.100","whiteAlpha.100")(e),borderColor:wt("gray.100","transparent")(e)},_focusVisible:{boxShadow:"outline"},_invalid:{borderColor:wt("red.500","red.300")(e)}}},Rae={_disabled:{cursor:"not-allowed"}},Iae={userSelect:"none",_disabled:{opacity:.4}},Dae={transitionProperty:"transform",transitionDuration:"normal"},jae=Gx(e=>({icon:Dae,container:Rae,control:Po(Oae,e),label:Iae})),Nae={sm:Gx({control:{[D1.variable]:"sizes.3"},label:{fontSize:"sm"},icon:{fontSize:"3xs"}}),md:Gx({control:{[D1.variable]:"sizes.4"},label:{fontSize:"md"},icon:{fontSize:"2xs"}}),lg:Gx({control:{[D1.variable]:"sizes.5"},label:{fontSize:"lg"},icon:{fontSize:"2xs"}})},GS=Aae({baseStyle:jae,sizes:Nae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:$ae,definePartsStyle:qx}=dr(Die.keys),Fae=e=>{var t;const n=(t=Po(GS.baseStyle,e))==null?void 0:t.control;return{...n,borderRadius:"full",_checked:{...n==null?void 0:n._checked,_before:{content:'""',display:"inline-block",pos:"relative",w:"50%",h:"50%",borderRadius:"50%",bg:"currentColor"}}}},Bae=qx(e=>{var t,n,r,i;return{label:(n=(t=GS).baseStyle)==null?void 0:n.call(t,e).label,container:(i=(r=GS).baseStyle)==null?void 0:i.call(r,e).container,control:Fae(e)}}),zae={md:qx({control:{w:"4",h:"4"},label:{fontSize:"md"}}),lg:qx({control:{w:"5",h:"5"},label:{fontSize:"lg"}}),sm:qx({control:{width:"3",height:"3"},label:{fontSize:"sm"}})},Hae=$ae({baseStyle:Bae,sizes:zae,defaultProps:{size:"md",colorScheme:"blue"}}),{defineMultiStyleConfig:Wae,definePartsStyle:Uae}=dr(jie.keys),Nb=gn("select-bg"),dL,Vae={...(dL=xn.baseStyle)==null?void 0:dL.field,appearance:"none",paddingBottom:"1px",lineHeight:"normal",bg:Nb.reference,[Nb.variable]:"colors.white",_dark:{[Nb.variable]:"colors.gray.700"},"> option, > optgroup":{bg:Nb.reference}},Gae={width:"6",height:"100%",insetEnd:"2",position:"relative",color:"currentColor",fontSize:"xl",_disabled:{opacity:.5}},qae=Uae({field:Vae,icon:Gae}),$b={paddingInlineEnd:"8"},fL,hL,pL,gL,mL,vL,yL,bL,Kae={lg:{...(fL=xn.sizes)==null?void 0:fL.lg,field:{...(hL=xn.sizes)==null?void 0:hL.lg.field,...$b}},md:{...(pL=xn.sizes)==null?void 0:pL.md,field:{...(gL=xn.sizes)==null?void 0:gL.md.field,...$b}},sm:{...(mL=xn.sizes)==null?void 0:mL.sm,field:{...(vL=xn.sizes)==null?void 0:vL.sm.field,...$b}},xs:{...(yL=xn.sizes)==null?void 0:yL.xs,field:{...(bL=xn.sizes)==null?void 0:bL.xs.field,...$b},icon:{insetEnd:"1"}}},Yae=Wae({baseStyle:qae,sizes:Kae,variants:xn.variants,defaultProps:xn.defaultProps}),j5=gn("skeleton-start-color"),N5=gn("skeleton-end-color"),Xae={[j5.variable]:"colors.gray.100",[N5.variable]:"colors.gray.400",_dark:{[j5.variable]:"colors.gray.800",[N5.variable]:"colors.gray.600"},background:j5.reference,borderColor:N5.reference,opacity:.7,borderRadius:"sm"},Zae={baseStyle:Xae},$5=gn("skip-link-bg"),Qae={borderRadius:"md",fontWeight:"semibold",_focusVisible:{boxShadow:"outline",padding:"4",position:"fixed",top:"6",insetStart:"6",[$5.variable]:"colors.white",_dark:{[$5.variable]:"colors.gray.700"},bg:$5.reference}},Jae={baseStyle:Qae},{defineMultiStyleConfig:ese,definePartsStyle:kw}=dr(Nie.keys),Sy=gn("slider-thumb-size"),wy=gn("slider-track-size"),bd=gn("slider-bg"),tse=e=>{const{orientation:t}=e;return{display:"inline-block",position:"relative",cursor:"pointer",_disabled:{opacity:.6,cursor:"default",pointerEvents:"none"},...M9({orientation:t,vertical:{h:"100%"},horizontal:{w:"100%"}})}},nse=e=>({...M9({orientation:e.orientation,horizontal:{h:wy.reference},vertical:{w:wy.reference}}),overflow:"hidden",borderRadius:"sm",[bd.variable]:"colors.gray.200",_dark:{[bd.variable]:"colors.whiteAlpha.200"},_disabled:{[bd.variable]:"colors.gray.300",_dark:{[bd.variable]:"colors.whiteAlpha.300"}},bg:bd.reference}),rse=e=>{const{orientation:t}=e;return{...M9({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",_active:{transform:"translateX(-50%) scale(1.15)"}},horizontal:{top:"50%",transform:"translateY(-50%)",_active:{transform:"translateY(-50%) scale(1.15)"}}}),w:Sy.reference,h:Sy.reference,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0,zIndex:1,borderRadius:"full",bg:"white",boxShadow:"base",border:"1px solid",borderColor:"transparent",transitionProperty:"transform",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{bg:"gray.300"}}},ise=e=>{const{colorScheme:t}=e;return{width:"inherit",height:"inherit",[bd.variable]:`colors.${t}.500`,_dark:{[bd.variable]:`colors.${t}.200`},bg:bd.reference}},ose=kw(e=>({container:tse(e),track:nse(e),thumb:rse(e),filledTrack:ise(e)})),ase=kw({container:{[Sy.variable]:"sizes.4",[wy.variable]:"sizes.1"}}),sse=kw({container:{[Sy.variable]:"sizes.3.5",[wy.variable]:"sizes.1"}}),lse=kw({container:{[Sy.variable]:"sizes.2.5",[wy.variable]:"sizes.0.5"}}),use={lg:ase,md:sse,sm:lse},cse=ese({baseStyle:ose,sizes:use,defaultProps:{size:"md",colorScheme:"blue"}}),xh=yi("spinner-size"),dse={width:[xh.reference],height:[xh.reference]},fse={xs:{[xh.variable]:"sizes.3"},sm:{[xh.variable]:"sizes.4"},md:{[xh.variable]:"sizes.6"},lg:{[xh.variable]:"sizes.8"},xl:{[xh.variable]:"sizes.12"}},hse={baseStyle:dse,sizes:fse,defaultProps:{size:"md"}},{defineMultiStyleConfig:pse,definePartsStyle:gF}=dr($ie.keys),gse={fontWeight:"medium"},mse={opacity:.8,marginBottom:"2"},vse={verticalAlign:"baseline",fontWeight:"semibold"},yse={marginEnd:1,w:"3.5",h:"3.5",verticalAlign:"middle"},bse=gF({container:{},label:gse,helpText:mse,number:vse,icon:yse}),xse={md:gF({label:{fontSize:"sm"},helpText:{fontSize:"sm"},number:{fontSize:"2xl"}})},Sse=pse({baseStyle:bse,sizes:xse,defaultProps:{size:"md"}}),F5=gn("kbd-bg"),wse={[F5.variable]:"colors.gray.100",_dark:{[F5.variable]:"colors.whiteAlpha.100"},bg:F5.reference,borderRadius:"md",borderWidth:"1px",borderBottomWidth:"3px",fontSize:"0.8em",fontWeight:"bold",lineHeight:"normal",px:"0.4em",whiteSpace:"nowrap"},Cse={baseStyle:wse},_se={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},kse={baseStyle:_se},{defineMultiStyleConfig:Ese,definePartsStyle:Pse}=dr(Mie.keys),Tse={marginEnd:"2",display:"inline",verticalAlign:"text-bottom"},Mse=Pse({icon:Tse}),Lse=Ese({baseStyle:Mse}),{defineMultiStyleConfig:Ase,definePartsStyle:Ose}=dr(Lie.keys),Rl=gn("menu-bg"),B5=gn("menu-shadow"),Rse={[Rl.variable]:"#fff",[B5.variable]:"shadows.sm",_dark:{[Rl.variable]:"colors.gray.700",[B5.variable]:"shadows.dark-lg"},color:"inherit",minW:"3xs",py:"2",zIndex:1,borderRadius:"md",borderWidth:"1px",bg:Rl.reference,boxShadow:B5.reference},Ise={py:"1.5",px:"3",transitionProperty:"background",transitionDuration:"ultra-fast",transitionTimingFunction:"ease-in",_focus:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_active:{[Rl.variable]:"colors.gray.200",_dark:{[Rl.variable]:"colors.whiteAlpha.200"}},_expanded:{[Rl.variable]:"colors.gray.100",_dark:{[Rl.variable]:"colors.whiteAlpha.100"}},_disabled:{opacity:.4,cursor:"not-allowed"},bg:Rl.reference},Dse={mx:4,my:2,fontWeight:"semibold",fontSize:"sm"},jse={opacity:.6},Nse={border:0,borderBottom:"1px solid",borderColor:"inherit",my:"2",opacity:.6},$se={transitionProperty:"common",transitionDuration:"normal"},Fse=Ose({button:$se,list:Rse,item:Ise,groupTitle:Dse,command:jse,divider:Nse}),Bse=Ase({baseStyle:Fse}),{defineMultiStyleConfig:zse,definePartsStyle:v_}=dr(Aie.keys),Hse={bg:"blackAlpha.600",zIndex:"modal"},Wse=e=>{const{isCentered:t,scrollBehavior:n}=e;return{display:"flex",zIndex:"modal",justifyContent:"center",alignItems:t?"center":"flex-start",overflow:n==="inside"?"hidden":"auto",overscrollBehaviorY:"none"}},Use=e=>{const{scrollBehavior:t}=e;return{borderRadius:"md",bg:wt("white","gray.700")(e),color:"inherit",my:"16",zIndex:"modal",maxH:t==="inside"?"calc(100% - 7.5rem)":void 0,boxShadow:wt("lg","dark-lg")(e)}},Vse={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Gse={position:"absolute",top:"2",insetEnd:"3"},qse=e=>{const{scrollBehavior:t}=e;return{px:"6",py:"2",flex:"1",overflow:t==="inside"?"auto":void 0}},Kse={px:"6",py:"4"},Yse=v_(e=>({overlay:Hse,dialogContainer:Po(Wse,e),dialog:Po(Use,e),header:Vse,closeButton:Gse,body:Po(qse,e),footer:Kse}));function js(e){return v_(e==="full"?{dialog:{maxW:"100vw",minH:"$100vh",my:"0",borderRadius:"0"}}:{dialog:{maxW:e}})}var Xse={xs:js("xs"),sm:js("sm"),md:js("md"),lg:js("lg"),xl:js("xl"),"2xl":js("2xl"),"3xl":js("3xl"),"4xl":js("4xl"),"5xl":js("5xl"),"6xl":js("6xl"),full:js("full")},Zse=zse({baseStyle:Yse,sizes:Xse,defaultProps:{size:"md"}}),{defineMultiStyleConfig:Qse,definePartsStyle:mF}=dr(Oie.keys),A9=yi("number-input-stepper-width"),vF=yi("number-input-input-padding"),Jse=Nu(A9).add("0.5rem").toString(),z5=yi("number-input-bg"),H5=yi("number-input-color"),W5=yi("number-input-border-color"),ele={[A9.variable]:"sizes.6",[vF.variable]:Jse},tle=e=>{var t,n;return(n=(t=Po(xn.baseStyle,e))==null?void 0:t.field)!=null?n:{}},nle={width:A9.reference},rle={borderStart:"1px solid",borderStartColor:W5.reference,color:H5.reference,bg:z5.reference,[H5.variable]:"colors.chakra-body-text",[W5.variable]:"colors.chakra-border-color",_dark:{[H5.variable]:"colors.whiteAlpha.800",[W5.variable]:"colors.whiteAlpha.300"},_active:{[z5.variable]:"colors.gray.200",_dark:{[z5.variable]:"colors.whiteAlpha.300"}},_disabled:{opacity:.4,cursor:"not-allowed"}},ile=mF(e=>{var t;return{root:ele,field:(t=Po(tle,e))!=null?t:{},stepperGroup:nle,stepper:rle}});function Fb(e){var t,n,r;const i=(t=xn.sizes)==null?void 0:t[e],o={lg:"md",md:"md",sm:"sm",xs:"sm"},a=(r=(n=i.field)==null?void 0:n.fontSize)!=null?r:"md",s=cF.fontSizes[a];return mF({field:{...i.field,paddingInlineEnd:vF.reference,verticalAlign:"top"},stepper:{fontSize:Nu(s).multiply(.75).toString(),_first:{borderTopEndRadius:o[e]},_last:{borderBottomEndRadius:o[e],mt:"-1px",borderTopWidth:1}}})}var ole={xs:Fb("xs"),sm:Fb("sm"),md:Fb("md"),lg:Fb("lg")},ale=Qse({baseStyle:ile,sizes:ole,variants:xn.variants,defaultProps:xn.defaultProps}),xL,sle={...(xL=xn.baseStyle)==null?void 0:xL.field,textAlign:"center"},lle={lg:{fontSize:"lg",w:12,h:12,borderRadius:"md"},md:{fontSize:"md",w:10,h:10,borderRadius:"md"},sm:{fontSize:"sm",w:8,h:8,borderRadius:"sm"},xs:{fontSize:"xs",w:6,h:6,borderRadius:"sm"}},SL,wL,ule={outline:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.outline,e))==null?void 0:n.field)!=null?r:{}},flushed:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.flushed,e))==null?void 0:n.field)!=null?r:{}},filled:e=>{var t,n,r;return(r=(n=Po((t=xn.variants)==null?void 0:t.filled,e))==null?void 0:n.field)!=null?r:{}},unstyled:(wL=(SL=xn.variants)==null?void 0:SL.unstyled.field)!=null?wL:{}},cle={baseStyle:sle,sizes:lle,variants:ule,defaultProps:xn.defaultProps},{defineMultiStyleConfig:dle,definePartsStyle:fle}=dr(Rie.keys),Bb=yi("popper-bg"),hle=yi("popper-arrow-bg"),CL=yi("popper-arrow-shadow-color"),ple={zIndex:10},gle={[Bb.variable]:"colors.white",bg:Bb.reference,[hle.variable]:Bb.reference,[CL.variable]:"colors.gray.200",_dark:{[Bb.variable]:"colors.gray.700",[CL.variable]:"colors.whiteAlpha.300"},width:"xs",border:"1px solid",borderColor:"inherit",borderRadius:"md",boxShadow:"sm",zIndex:"inherit",_focusVisible:{outline:0,boxShadow:"outline"}},mle={px:3,py:2,borderBottomWidth:"1px"},vle={px:3,py:2},yle={px:3,py:2,borderTopWidth:"1px"},ble={position:"absolute",borderRadius:"md",top:1,insetEnd:2,padding:2},xle=fle({popper:ple,content:gle,header:mle,body:vle,footer:yle,closeButton:ble}),Sle=dle({baseStyle:xle}),{definePartsStyle:y_,defineMultiStyleConfig:wle}=dr(_ie.keys),U5=gn("drawer-bg"),V5=gn("drawer-box-shadow");function bg(e){return y_(e==="full"?{dialog:{maxW:"100vw",h:"100vh"}}:{dialog:{maxW:e}})}var Cle={bg:"blackAlpha.600",zIndex:"overlay"},_le={display:"flex",zIndex:"modal",justifyContent:"center"},kle=e=>{const{isFullHeight:t}=e;return{...t&&{height:"100vh"},zIndex:"modal",maxH:"100vh",color:"inherit",[U5.variable]:"colors.white",[V5.variable]:"shadows.lg",_dark:{[U5.variable]:"colors.gray.700",[V5.variable]:"shadows.dark-lg"},bg:U5.reference,boxShadow:V5.reference}},Ele={px:"6",py:"4",fontSize:"xl",fontWeight:"semibold"},Ple={position:"absolute",top:"2",insetEnd:"3"},Tle={px:"6",py:"2",flex:"1",overflow:"auto"},Mle={px:"6",py:"4"},Lle=y_(e=>({overlay:Cle,dialogContainer:_le,dialog:Po(kle,e),header:Ele,closeButton:Ple,body:Tle,footer:Mle})),Ale={xs:bg("xs"),sm:bg("md"),md:bg("lg"),lg:bg("2xl"),xl:bg("4xl"),full:bg("full")},Ole=wle({baseStyle:Lle,sizes:Ale,defaultProps:{size:"xs"}}),{definePartsStyle:Rle,defineMultiStyleConfig:Ile}=dr(kie.keys),Dle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal"},jle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},Nle={borderRadius:"md",py:"1",transitionProperty:"common",transitionDuration:"normal",width:"full",_focusVisible:{boxShadow:"outline"},_placeholder:{opacity:.6}},$le=Rle({preview:Dle,input:jle,textarea:Nle}),Fle=Ile({baseStyle:$le}),{definePartsStyle:Ble,defineMultiStyleConfig:zle}=dr(Eie.keys),xm=gn("form-control-color"),Hle={marginStart:"1",[xm.variable]:"colors.red.500",_dark:{[xm.variable]:"colors.red.300"},color:xm.reference},Wle={mt:"2",[xm.variable]:"colors.gray.600",_dark:{[xm.variable]:"colors.whiteAlpha.600"},color:xm.reference,lineHeight:"normal",fontSize:"sm"},Ule=Ble({container:{width:"100%",position:"relative"},requiredIndicator:Hle,helperText:Wle}),Vle=zle({baseStyle:Ule}),{definePartsStyle:Gle,defineMultiStyleConfig:qle}=dr(Pie.keys),Sm=gn("form-error-color"),Kle={[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference,mt:"2",fontSize:"sm",lineHeight:"normal"},Yle={marginEnd:"0.5em",[Sm.variable]:"colors.red.500",_dark:{[Sm.variable]:"colors.red.300"},color:Sm.reference},Xle=Gle({text:Kle,icon:Yle}),Zle=qle({baseStyle:Xle}),Qle={fontSize:"md",marginEnd:"3",mb:"2",fontWeight:"medium",transitionProperty:"common",transitionDuration:"normal",opacity:1,_disabled:{opacity:.4}},Jle={baseStyle:Qle},eue={fontFamily:"heading",fontWeight:"bold"},tue={"4xl":{fontSize:["6xl",null,"7xl"],lineHeight:1},"3xl":{fontSize:["5xl",null,"6xl"],lineHeight:1},"2xl":{fontSize:["4xl",null,"5xl"],lineHeight:[1.2,null,1]},xl:{fontSize:["3xl",null,"4xl"],lineHeight:[1.33,null,1.2]},lg:{fontSize:["2xl",null,"3xl"],lineHeight:[1.33,null,1.2]},md:{fontSize:"xl",lineHeight:1.2},sm:{fontSize:"md",lineHeight:1.2},xs:{fontSize:"sm",lineHeight:1.2}},nue={baseStyle:eue,sizes:tue,defaultProps:{size:"xl"}},{defineMultiStyleConfig:rue,definePartsStyle:iue}=dr(wie.keys),oue={transitionProperty:"common",transitionDuration:"fast",transitionTimingFunction:"ease-out",cursor:"pointer",textDecoration:"none",outline:"none",color:"inherit",_hover:{textDecoration:"underline"},_focusVisible:{boxShadow:"outline"}},aue=iue({link:oue}),sue=rue({baseStyle:aue}),lue={lineHeight:"1.2",borderRadius:"md",fontWeight:"semibold",transitionProperty:"common",transitionDuration:"normal",_focusVisible:{boxShadow:"outline"},_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{_disabled:{bg:"initial"}}},yF=e=>{const{colorScheme:t,theme:n}=e;if(t==="gray")return{color:wt("inherit","whiteAlpha.900")(e),_hover:{bg:wt("gray.100","whiteAlpha.200")(e)},_active:{bg:wt("gray.200","whiteAlpha.300")(e)}};const r=Um(`${t}.200`,.12)(n),i=Um(`${t}.200`,.24)(n);return{color:wt(`${t}.600`,`${t}.200`)(e),bg:"transparent",_hover:{bg:wt(`${t}.50`,r)(e)},_active:{bg:wt(`${t}.100`,i)(e)}}},uue=e=>{const{colorScheme:t}=e,n=wt("gray.200","whiteAlpha.300")(e);return{border:"1px solid",borderColor:t==="gray"?n:"currentColor",".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)":{marginEnd:"-1px"},".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)":{marginBottom:"-1px"},...Po(yF,e)}},cue={yellow:{bg:"yellow.400",color:"black",hoverBg:"yellow.500",activeBg:"yellow.600"},cyan:{bg:"cyan.400",color:"black",hoverBg:"cyan.500",activeBg:"cyan.600"}},due=e=>{var t;const{colorScheme:n}=e;if(n==="gray"){const l=wt("gray.100","whiteAlpha.200")(e);return{bg:l,_hover:{bg:wt("gray.200","whiteAlpha.300")(e),_disabled:{bg:l}},_active:{bg:wt("gray.300","whiteAlpha.400")(e)}}}const{bg:r=`${n}.500`,color:i="white",hoverBg:o=`${n}.600`,activeBg:a=`${n}.700`}=(t=cue[n])!=null?t:{},s=wt(r,`${n}.200`)(e);return{bg:s,color:wt(i,"gray.800")(e),_hover:{bg:wt(o,`${n}.300`)(e),_disabled:{bg:s}},_active:{bg:wt(a,`${n}.400`)(e)}}},fue=e=>{const{colorScheme:t}=e;return{padding:0,height:"auto",lineHeight:"normal",verticalAlign:"baseline",color:wt(`${t}.500`,`${t}.200`)(e),_hover:{textDecoration:"underline",_disabled:{textDecoration:"none"}},_active:{color:wt(`${t}.700`,`${t}.500`)(e)}}},hue={bg:"none",color:"inherit",display:"inline",lineHeight:"inherit",m:"0",p:"0"},pue={ghost:yF,outline:uue,solid:due,link:fue,unstyled:hue},gue={lg:{h:"12",minW:"12",fontSize:"lg",px:"6"},md:{h:"10",minW:"10",fontSize:"md",px:"4"},sm:{h:"8",minW:"8",fontSize:"sm",px:"3"},xs:{h:"6",minW:"6",fontSize:"xs",px:"2"}},mue={baseStyle:lue,variants:pue,sizes:gue,defaultProps:{variant:"solid",size:"md",colorScheme:"gray"}},{definePartsStyle:Rh,defineMultiStyleConfig:vue}=dr(Wie.keys),qS=gn("card-bg"),Vu=gn("card-padding"),bF=gn("card-shadow"),Kx=gn("card-radius"),xF=gn("card-border-width","0"),SF=gn("card-border-color"),yue=Rh({container:{[qS.variable]:"colors.chakra-body-bg",backgroundColor:qS.reference,boxShadow:bF.reference,borderRadius:Kx.reference,color:"chakra-body-text",borderWidth:xF.reference,borderColor:SF.reference},body:{padding:Vu.reference,flex:"1 1 0%"},header:{padding:Vu.reference},footer:{padding:Vu.reference}}),bue={sm:Rh({container:{[Kx.variable]:"radii.base",[Vu.variable]:"space.3"}}),md:Rh({container:{[Kx.variable]:"radii.md",[Vu.variable]:"space.5"}}),lg:Rh({container:{[Kx.variable]:"radii.xl",[Vu.variable]:"space.7"}})},xue={elevated:Rh({container:{[bF.variable]:"shadows.base",_dark:{[qS.variable]:"colors.gray.700"}}}),outline:Rh({container:{[xF.variable]:"1px",[SF.variable]:"colors.chakra-border-color"}}),filled:Rh({container:{[qS.variable]:"colors.chakra-subtle-bg"}}),unstyled:{body:{[Vu.variable]:0},header:{[Vu.variable]:0},footer:{[Vu.variable]:0}}},Sue=vue({baseStyle:yue,variants:xue,sizes:bue,defaultProps:{variant:"elevated",size:"md"}}),j1=yi("close-button-size"),zv=yi("close-button-bg"),wue={w:[j1.reference],h:[j1.reference],borderRadius:"md",transitionProperty:"common",transitionDuration:"normal",_disabled:{opacity:.4,cursor:"not-allowed",boxShadow:"none"},_hover:{[zv.variable]:"colors.blackAlpha.100",_dark:{[zv.variable]:"colors.whiteAlpha.100"}},_active:{[zv.variable]:"colors.blackAlpha.200",_dark:{[zv.variable]:"colors.whiteAlpha.200"}},_focusVisible:{boxShadow:"outline"},bg:zv.reference},Cue={lg:{[j1.variable]:"sizes.10",fontSize:"md"},md:{[j1.variable]:"sizes.8",fontSize:"xs"},sm:{[j1.variable]:"sizes.6",fontSize:"2xs"}},_ue={baseStyle:wue,sizes:Cue,defaultProps:{size:"md"}},{variants:kue,defaultProps:Eue}=I1,Pue={fontFamily:"mono",fontSize:"sm",px:"0.2em",borderRadius:"sm"},Tue={baseStyle:Pue,variants:kue,defaultProps:Eue},Mue={w:"100%",mx:"auto",maxW:"prose",px:"4"},Lue={baseStyle:Mue},Aue={opacity:.6,borderColor:"inherit"},Oue={borderStyle:"solid"},Rue={borderStyle:"dashed"},Iue={solid:Oue,dashed:Rue},Due={baseStyle:Aue,variants:Iue,defaultProps:{variant:"solid"}},{definePartsStyle:jue,defineMultiStyleConfig:Nue}=dr(bie.keys),$ue={borderTopWidth:"1px",borderColor:"inherit",_last:{borderBottomWidth:"1px"}},Fue={transitionProperty:"common",transitionDuration:"normal",fontSize:"md",_focusVisible:{boxShadow:"outline"},_hover:{bg:"blackAlpha.50"},_disabled:{opacity:.4,cursor:"not-allowed"},px:"4",py:"2"},Bue={pt:"2",px:"4",pb:"5"},zue={fontSize:"1.25em"},Hue=jue({container:$ue,button:Fue,panel:Bue,icon:zue}),Wue=Nue({baseStyle:Hue}),{definePartsStyle:e2,defineMultiStyleConfig:Uue}=dr(xie.keys),Ta=gn("alert-fg"),nc=gn("alert-bg"),Vue=e2({container:{bg:nc.reference,px:"4",py:"3"},title:{fontWeight:"bold",lineHeight:"6",marginEnd:"2"},description:{lineHeight:"6"},icon:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"6"},spinner:{color:Ta.reference,flexShrink:0,marginEnd:"3",w:"5",h:"5"}});function O9(e){const{theme:t,colorScheme:n}=e,r=Um(`${n}.200`,.16)(t);return{light:`colors.${n}.100`,dark:r}}var Gue=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark}}}}),que=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},paddingStart:"3",borderStartWidth:"4px",borderStartColor:Ta.reference}}}),Kue=e2(e=>{const{colorScheme:t}=e,n=O9(e);return{container:{[Ta.variable]:`colors.${t}.500`,[nc.variable]:n.light,_dark:{[Ta.variable]:`colors.${t}.200`,[nc.variable]:n.dark},pt:"2",borderTopWidth:"4px",borderTopColor:Ta.reference}}}),Yue=e2(e=>{const{colorScheme:t}=e;return{container:{[Ta.variable]:"colors.white",[nc.variable]:`colors.${t}.500`,_dark:{[Ta.variable]:"colors.gray.900",[nc.variable]:`colors.${t}.200`},color:Ta.reference}}}),Xue={subtle:Gue,"left-accent":que,"top-accent":Kue,solid:Yue},Zue=Uue({baseStyle:Vue,variants:Xue,defaultProps:{variant:"subtle",colorScheme:"blue"}}),{definePartsStyle:wF,defineMultiStyleConfig:Que}=dr(Sie.keys),wm=gn("avatar-border-color"),G5=gn("avatar-bg"),Jue={borderRadius:"full",border:"0.2em solid",[wm.variable]:"white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference},ece={[G5.variable]:"colors.gray.200",_dark:{[G5.variable]:"colors.whiteAlpha.400"},bgColor:G5.reference},_L=gn("avatar-background"),tce=e=>{const{name:t,theme:n}=e,r=t?uoe({string:t}):"colors.gray.400",i=soe(r)(n);let o="white";return i||(o="gray.800"),{bg:_L.reference,"&:not([data-loaded])":{[_L.variable]:r},color:o,[wm.variable]:"colors.white",_dark:{[wm.variable]:"colors.gray.800"},borderColor:wm.reference,verticalAlign:"top"}},nce=wF(e=>({badge:Po(Jue,e),excessLabel:Po(ece,e),container:Po(tce,e)}));function ld(e){const t=e!=="100%"?fF[e]:void 0;return wF({container:{width:e,height:e,fontSize:`calc(${t??e} / 2.5)`},excessLabel:{width:e,height:e},label:{fontSize:`calc(${t??e} / 2.5)`,lineHeight:e!=="100%"?t??e:void 0}})}var rce={"2xs":ld(4),xs:ld(6),sm:ld(8),md:ld(12),lg:ld(16),xl:ld(24),"2xl":ld(32),full:ld("100%")},ice=Que({baseStyle:nce,sizes:rce,defaultProps:{size:"md"}}),oce={Accordion:Wue,Alert:Zue,Avatar:ice,Badge:I1,Breadcrumb:sue,Button:mue,Checkbox:GS,CloseButton:_ue,Code:Tue,Container:Lue,Divider:Due,Drawer:Ole,Editable:Fle,Form:Vle,FormError:Zle,FormLabel:Jle,Heading:nue,Input:xn,Kbd:Cse,Link:kse,List:Lse,Menu:Bse,Modal:Zse,NumberInput:ale,PinInput:cle,Popover:Sle,Progress:Mae,Radio:Hae,Select:Yae,Skeleton:Zae,SkipLink:Jae,Slider:cse,Spinner:hse,Stat:Sse,Switch:koe,Table:Ooe,Tabs:qoe,Tag:aae,Textarea:yae,Tooltip:Sae,Card:Sue},ace={colors:{"chakra-body-text":{_light:"gray.800",_dark:"whiteAlpha.900"},"chakra-body-bg":{_light:"white",_dark:"gray.800"},"chakra-border-color":{_light:"gray.200",_dark:"whiteAlpha.300"},"chakra-subtle-bg":{_light:"gray.100",_dark:"gray.700"},"chakra-placeholder-color":{_light:"gray.500",_dark:"whiteAlpha.400"}}},sce={global:{body:{fontFamily:"body",color:"chakra-body-text",bg:"chakra-body-bg",transitionProperty:"background-color",transitionDuration:"normal",lineHeight:"base"},"*::placeholder":{color:"chakra-placeholder-color"},"*, *::before, &::after":{borderColor:"chakra-border-color",wordWrap:"break-word"}}},lce="ltr",uce={useSystemColorMode:!1,initialColorMode:"light",cssVarPrefix:"chakra"},cce={semanticTokens:ace,direction:lce,...yie,components:oce,styles:sce,config:uce};function dce(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var fce=dce();function hce(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function pce(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,a)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const s=t.get(r);if(s.has(i))return s.get(i);const l=e(r,i,o,a);return s.set(i,l),l}},CF=gce(pce);function _F(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var kF=e=>_F(e,t=>t!=null);function mce(e){return typeof e=="function"}function EF(e,...t){return mce(e)?e(...t):e}function vce(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}const PF=1/60*1e3,yce=typeof performance<"u"?()=>performance.now():()=>Date.now(),TF=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(yce()),PF);function bce(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const h=d&&i,m=h?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),h&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(e[t]=bce(()=>Cy=!0),e),{}),Sce=t2.reduce((e,t)=>{const n=Ew[t];return e[t]=(r,i=!1,o=!1)=>(Cy||_ce(),n.schedule(r,i,o)),e},{}),wce=t2.reduce((e,t)=>(e[t]=Ew[t].cancel,e),{});t2.reduce((e,t)=>(e[t]=()=>Ew[t].process(Cm),e),{});const Cce=e=>Ew[e].process(Cm),MF=e=>{Cy=!1,Cm.delta=b_?PF:Math.max(Math.min(e-Cm.timestamp,xce),1),Cm.timestamp=e,x_=!0,t2.forEach(Cce),x_=!1,Cy&&(b_=!1,TF(MF))},_ce=()=>{Cy=!0,b_=!0,x_||TF(MF)},kL=()=>Cm;var kce=typeof Element<"u",Ece=typeof Map=="function",Pce=typeof Set=="function",Tce=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Yx(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Yx(e[r],t[r]))return!1;return!0}var o;if(Ece&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Yx(r.value[1],t.get(r.value[0])))return!1;return!0}if(Pce&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Tce&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(kce&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Yx(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Mce=function(t,n){try{return Yx(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};function LF(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:a}=eF(),s=e?CF(o,`components.${e}`):void 0,l=r||s,u=Bl({theme:o,colorMode:a},(n=l==null?void 0:l.defaultProps)!=null?n:{},kF(hce(i,["children"]))),d=S.useRef({});if(l){const m=qre(l)(u);Mce(d.current,m)||(d.current=m)}return d.current}function au(e,t={}){return LF(e,t)}function Yi(e,t={}){return LF(e,t)}var Lce=new Set([...Dre,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Ace=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function Oce(e){return Ace.has(e)||!Lce.has(e)}function Rce(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function Ice(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var Dce=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,jce=$j(function(e){return Dce.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),Nce=jce,$ce=function(t){return t!=="theme"},EL=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?Nce:$ce},PL=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(a){return t.__emotion_forwardProp(a)&&o(a)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Fce=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Uj(n,r,i),lee(function(){return Vj(n,r,i)}),null},Bce=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,a;n!==void 0&&(o=n.label,a=n.target);var s=PL(t,n,r),l=s||EL(i),u=!l("as");return function(){var d=arguments,h=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&h.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)h.push.apply(h,d);else{h.push(d[0][0]);for(var m=d.length,y=1;yt=>{const{theme:n,css:r,__css:i,sx:o,...a}=t,s=_F(a,(h,m)=>Nre(m)),l=EF(e,t),u=Ice({},i,l,kF(s),o),d=uF(u)(t.theme);return r?[d,r]:d};function q5(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=Oce);const i=Wce({baseStyle:n}),o=Hce(e,r)(i);return Ke.forwardRef(function(l,u){const{colorMode:d,forced:h}=Qy();return Ke.createElement(o,{ref:u,"data-theme":h?d:void 0,...l})})}function Uce(){const e=new Map;return new Proxy(q5,{apply(t,n,r){return q5(...r)},get(t,n){return e.has(n)||e.set(n,q5(n)),e.get(n)}})}var Ne=Uce();function Ze(e){return S.forwardRef(e)}function Vce(e={}){const{strict:t=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:r}=e,i=S.createContext(void 0);i.displayName=r;function o(){var a;const s=S.useContext(i);if(!s&&t){const l=new Error(n);throw l.name="ContextError",(a=Error.captureStackTrace)==null||a.call(Error,l,o),l}return s}return[i.Provider,o,i]}function Gce(e){const{cssVarsRoot:t,theme:n,children:r}=e,i=S.useMemo(()=>Rre(n),[n]);return g.jsxs(fee,{theme:i,children:[g.jsx(qce,{root:t}),r]})}function qce({root:e=":host, :root"}){const t=[e,"[data-theme]"].join(",");return g.jsx(ow,{styles:n=>({[t]:n.__cssVars})})}Vce({name:"StylesContext",errorMessage:"useStyles: `styles` is undefined. Seems you forgot to wrap the components in `` "});function Kce(){const{colorMode:e}=Qy();return g.jsx(ow,{styles:t=>{const n=CF(t,"styles.global"),r=EF(n,{theme:t,colorMode:e});return r?uF(r)(t):void 0}})}var AF=S.createContext({getDocument(){return document},getWindow(){return window}});AF.displayName="EnvironmentContext";function OF(e){const{children:t,environment:n,disabled:r}=e,i=S.useRef(null),o=S.useMemo(()=>n||{getDocument:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument)!=null?l:document},getWindow:()=>{var s,l;return(l=(s=i.current)==null?void 0:s.ownerDocument.defaultView)!=null?l:window}},[n]),a=!r||!n;return g.jsxs(AF.Provider,{value:o,children:[t,a&&g.jsx("span",{id:"__chakra_env",hidden:!0,ref:i})]})}OF.displayName="EnvironmentProvider";var Yce=e=>{const{children:t,colorModeManager:n,portalZIndex:r,resetCSS:i=!0,theme:o={},environment:a,cssVarsRoot:s,disableEnvironment:l}=e,u=g.jsx(OF,{environment:a,disabled:l,children:t});return g.jsx(Gce,{theme:o,cssVarsRoot:s,children:g.jsxs(J$,{colorModeManager:n,options:o.config,children:[i?g.jsx(gee,{}):g.jsx(pee,{}),g.jsx(Kce,{}),r?g.jsx(Zj,{zIndex:r,children:u}):u]})})},Xce=(e,t)=>e.find(n=>n.id===t);function ML(e,t){const n=RF(e,t),r=n?e[n].findIndex(i=>i.id===t):-1;return{position:n,index:r}}function RF(e,t){for(const[n,r]of Object.entries(e))if(Xce(r,t))return n}function Zce(e){const t=e.includes("right"),n=e.includes("left");let r="center";return t&&(r="flex-end"),n&&(r="flex-start"),{display:"flex",flexDirection:"column",alignItems:r}}function Qce(e){const n=e==="top"||e==="bottom"?"0 auto":void 0,r=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,i=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,o=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",a=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:5500,pointerEvents:"none",display:"flex",flexDirection:"column",margin:n,top:r,bottom:i,right:o,left:a}}function Qr(e,t=[]){const n=S.useRef(e);return S.useEffect(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function Jce(e,t){const n=Qr(e);S.useEffect(()=>{if(t==null)return;let r=null;return r=window.setTimeout(()=>{n()},t),()=>{r&&window.clearTimeout(r)}},[t,n])}function rc(e,t){const n=S.useRef(!1),r=S.useRef(!1);S.useEffect(()=>{if(n.current&&r.current)return e();r.current=!0},t),S.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[])}const IF=S.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Pw=S.createContext({});function ede(){return S.useContext(Pw).visualElement}const n2=S.createContext(null),Tw=typeof document<"u",YS=Tw?S.useLayoutEffect:S.useEffect,DF=S.createContext({strict:!1});function tde(e,t,n,r){const i=ede(),o=S.useContext(DF),a=S.useContext(n2),s=S.useContext(IF).reducedMotion,l=S.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:s}));const u=l.current;return S.useInsertionEffect(()=>{u&&u.update(n,a)}),YS(()=>{u&&u.render()}),S.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?YS:S.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Qg(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function nde(e,t,n){return S.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Qg(n)&&(n.current=r))},[t])}function _y(e){return typeof e=="string"||Array.isArray(e)}function Mw(e){return typeof e=="object"&&typeof e.start=="function"}const rde=["initial","animate","exit","whileHover","whileDrag","whileTap","whileFocus","whileInView"];function Lw(e){return Mw(e.animate)||rde.some(t=>_y(e[t]))}function jF(e){return Boolean(Lw(e)||e.variants)}function ide(e,t){if(Lw(e)){const{initial:n,animate:r}=e;return{initial:n===!1||_y(n)?n:void 0,animate:_y(r)?r:void 0}}return e.inherit!==!1?t:{}}function ode(e){const{initial:t,animate:n}=ide(e,S.useContext(Pw));return S.useMemo(()=>({initial:t,animate:n}),[LL(t),LL(n)])}function LL(e){return Array.isArray(e)?e.join(" "):e}const AL={animation:["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},ky={};for(const e in AL)ky[e]={isEnabled:t=>AL[e].some(n=>!!t[n])};function ade(e){for(const t in e)ky[t]={...ky[t],...e[t]}}function R9(e){const t=S.useRef(null);return t.current===null&&(t.current=e()),t.current}const N1={hasAnimatedSinceResize:!0,hasEverUpdated:!1};let sde=1;function lde(){return R9(()=>{if(N1.hasEverUpdated)return sde++})}const I9=S.createContext({}),NF=S.createContext({}),ude=Symbol.for("motionComponentSymbol");function cde({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&ade(e);function o(s,l){let u;const d={...S.useContext(IF),...s,layoutId:dde(s)},{isStatic:h}=d,m=ode(s),y=h?void 0:lde(),b=r(s,h);if(!h&&Tw){m.visualElement=tde(i,b,d,t);const w=S.useContext(NF),E=S.useContext(DF).strict;m.visualElement&&(u=m.visualElement.loadFeatures(d,E,e,y,w))}return S.createElement(Pw.Provider,{value:m},u&&m.visualElement?S.createElement(u,{visualElement:m.visualElement,...d}):null,n(i,s,y,nde(b,m.visualElement,l),b,h,m.visualElement))}const a=S.forwardRef(o);return a[ude]=i,a}function dde({layoutId:e}){const t=S.useContext(I9).id;return t&&e!==void 0?t+"-"+e:e}function fde(e){function t(r,i={}){return cde(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const hde=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function D9(e){return typeof e!="string"||e.includes("-")?!1:!!(hde.indexOf(e)>-1||/[A-Z]/.test(e))}const XS={};function pde(e){Object.assign(XS,e)}const Aw=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],d0=new Set(Aw);function $F(e,{layout:t,layoutId:n}){return d0.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!XS[e]||e==="opacity")}const ta=e=>Boolean(e&&e.getVelocity),gde={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},mde=Aw.length;function vde(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let a=0;at&&typeof e=="number"?t.transform(e):e,Vm=(e,t,n)=>Math.min(Math.max(n,e),t),np={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},$1={...np,transform:e=>Vm(0,1,e)},zb={...np,default:1},F1=e=>Math.round(e*1e5)/1e5,Ey=/(-)?([\d]*\.?[\d])+/g,S_=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,bde=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function r2(e){return typeof e=="string"}const i2=e=>({test:t=>r2(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),cd=i2("deg"),Yl=i2("%"),Pt=i2("px"),xde=i2("vh"),Sde=i2("vw"),OL={...Yl,parse:e=>Yl.parse(e)/100,transform:e=>Yl.transform(e*100)},RL={...np,transform:Math.round},BF={borderWidth:Pt,borderTopWidth:Pt,borderRightWidth:Pt,borderBottomWidth:Pt,borderLeftWidth:Pt,borderRadius:Pt,radius:Pt,borderTopLeftRadius:Pt,borderTopRightRadius:Pt,borderBottomRightRadius:Pt,borderBottomLeftRadius:Pt,width:Pt,maxWidth:Pt,height:Pt,maxHeight:Pt,size:Pt,top:Pt,right:Pt,bottom:Pt,left:Pt,padding:Pt,paddingTop:Pt,paddingRight:Pt,paddingBottom:Pt,paddingLeft:Pt,margin:Pt,marginTop:Pt,marginRight:Pt,marginBottom:Pt,marginLeft:Pt,rotate:cd,rotateX:cd,rotateY:cd,rotateZ:cd,scale:zb,scaleX:zb,scaleY:zb,scaleZ:zb,skew:cd,skewX:cd,skewY:cd,distance:Pt,translateX:Pt,translateY:Pt,translateZ:Pt,x:Pt,y:Pt,z:Pt,perspective:Pt,transformPerspective:Pt,opacity:$1,originX:OL,originY:OL,originZ:Pt,zIndex:RL,fillOpacity:$1,strokeOpacity:$1,numOctaves:RL};function j9(e,t,n,r){const{style:i,vars:o,transform:a,transformOrigin:s}=e;let l=!1,u=!1,d=!0;for(const h in t){const m=t[h];if(FF(h)){o[h]=m;continue}const y=BF[h],b=yde(m,y);if(d0.has(h)){if(l=!0,a[h]=b,!d)continue;m!==(y.default||0)&&(d=!1)}else h.startsWith("origin")?(u=!0,s[h]=b):i[h]=b}if(t.transform||(l||r?i.transform=vde(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:h="50%",originY:m="50%",originZ:y=0}=s;i.transformOrigin=`${h} ${m} ${y}`}}const N9=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function zF(e,t,n){for(const r in t)!ta(t[r])&&!$F(r,n)&&(e[r]=t[r])}function wde({transformTemplate:e},t,n){return S.useMemo(()=>{const r=N9();return j9(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function Cde(e,t,n){const r=e.style||{},i={};return zF(i,r,e),Object.assign(i,wde(e,t,n)),e.transformValues?e.transformValues(i):i}function _de(e,t,n){const r={},i=Cde(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const kde=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function ZS(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||kde.has(e)}let HF=e=>!ZS(e);function Ede(e){e&&(HF=t=>t.startsWith("on")?!ZS(t):e(t))}try{Ede(require("@emotion/is-prop-valid").default)}catch{}function Pde(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(HF(i)||n===!0&&ZS(i)||!t&&!ZS(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function IL(e,t,n){return typeof e=="string"?e:Pt.transform(t+n*e)}function Tde(e,t,n){const r=IL(t,e.x,e.width),i=IL(n,e.y,e.height);return`${r} ${i}`}const Mde={offset:"stroke-dashoffset",array:"stroke-dasharray"},Lde={offset:"strokeDashoffset",array:"strokeDasharray"};function Ade(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?Mde:Lde;e[o.offset]=Pt.transform(-r);const a=Pt.transform(t),s=Pt.transform(n);e[o.array]=`${a} ${s}`}function $9(e,{attrX:t,attrY:n,originX:r,originY:i,pathLength:o,pathSpacing:a=1,pathOffset:s=0,...l},u,d,h){if(j9(e,l,u,h),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:m,style:y,dimensions:b}=e;m.transform&&(b&&(y.transform=m.transform),delete m.transform),b&&(r!==void 0||i!==void 0||y.transform)&&(y.transformOrigin=Tde(b,r!==void 0?r:.5,i!==void 0?i:.5)),t!==void 0&&(m.x=t),n!==void 0&&(m.y=n),o!==void 0&&Ade(m,o,a,s,!1)}const WF=()=>({...N9(),attrs:{}}),F9=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Ode(e,t,n,r){const i=S.useMemo(()=>{const o=WF();return $9(o,t,{enableHardwareAcceleration:!1},F9(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};zF(o,e.style,e),i.style={...o,...i.style}}return i}function Rde(e=!1){return(n,r,i,o,{latestValues:a},s)=>{const u=(D9(n)?Ode:_de)(r,a,s,n),h={...Pde(r,typeof n=="string",e),...u,ref:o},{children:m}=r,y=S.useMemo(()=>ta(m)?m.get():m,[m]);return i&&(h["data-projection-id"]=i),S.createElement(n,{...h,children:y})}}const B9=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function UF(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const VF=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function GF(e,t,n,r){UF(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(VF.has(i)?i:B9(i),t.attrs[i])}function z9(e,t){const{style:n}=e,r={};for(const i in n)(ta(n[i])||t.style&&ta(t.style[i])||$F(i,e))&&(r[i]=n[i]);return r}function qF(e,t){const n=z9(e,t);for(const r in e)if(ta(e[r])||ta(t[r])){const i=r==="x"||r==="y"?"attr"+r.toUpperCase():r;n[i]=e[r]}return n}function H9(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}const QS=e=>Array.isArray(e),Ide=e=>Boolean(e&&typeof e=="object"&&e.mix&&e.toValue),Dde=e=>QS(e)?e[e.length-1]||0:e;function Xx(e){const t=ta(e)?e.get():e;return Ide(t)?t.toValue():t}function jde({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const a={latestValues:Nde(r,i,o,e),renderState:t()};return n&&(a.mount=s=>n(r,s,a)),a}const KF=e=>(t,n)=>{const r=S.useContext(Pw),i=S.useContext(n2),o=()=>jde(e,t,r,i);return n?o():R9(o)};function Nde(e,t,n,r){const i={},o=r(e,{});for(const m in o)i[m]=Xx(o[m]);let{initial:a,animate:s}=e;const l=Lw(e),u=jF(e);t&&u&&!l&&e.inherit!==!1&&(a===void 0&&(a=t.initial),s===void 0&&(s=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const h=d?s:a;return h&&typeof h!="boolean"&&!Mw(h)&&(Array.isArray(h)?h:[h]).forEach(y=>{const b=H9(e,y);if(!b)return;const{transitionEnd:w,transition:E,..._}=b;for(const k in _){let T=_[k];if(Array.isArray(T)){const L=d?T.length-1:0;T=T[L]}T!==null&&(i[k]=T)}for(const k in w)i[k]=w[k]}),i}const $de={useVisualState:KF({scrapeMotionValuesFromProps:qF,createRenderState:WF,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}$9(n,r,{enableHardwareAcceleration:!1},F9(t.tagName),e.transformTemplate),GF(t,n)}})},Fde={useVisualState:KF({scrapeMotionValuesFromProps:z9,createRenderState:N9})};function Bde(e,{forwardMotionProps:t=!1},n,r){return{...D9(e)?$de:Fde,preloadedFeatures:n,useRender:Rde(t),createVisualElement:r,Component:e}}function Hu(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const YF=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function Ow(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const zde=e=>t=>YF(t)&&e(t,Ow(t));function Gu(e,t,n,r){return Hu(e,t,zde(n),r)}var tr;(function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.InView="whileInView",e.Exit="exit"})(tr||(tr={}));const Hde=(e,t)=>n=>t(e(n)),Nd=(...e)=>e.reduce(Hde);function XF(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const DL=XF("dragHorizontal"),jL=XF("dragVertical");function ZF(e){let t=!1;if(e==="y")t=jL();else if(e==="x")t=DL();else{const n=DL(),r=jL();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function QF(){const e=ZF(!0);return e?(e(),!1):!0}let sf=class{constructor(t){this.isMounted=!1,this.node=t}update(){}};function NL(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,a)=>{if(o.type==="touch"||QF())return;const s=e.getProps();e.animationState&&s.whileHover&&e.animationState.setActive(tr.Hover,t),s[r]&&s[r](o,a)};return Gu(e.current,n,i,{passive:!e.getProps()[r]})}class Wde extends sf{mount(){this.unmount=Nd(NL(this.node,!0),NL(this.node,!1))}unmount(){}}class Ude extends sf{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive(tr.Focus,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(tr.Focus,!1),this.isActive=!1)}mount(){this.unmount=Nd(Hu(this.node.current,"focus",()=>this.onFocus()),Hu(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const JF=(e,t)=>t?e===t?!0:JF(e,t.parentElement):!1,Xl=e=>e;function K5(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Ow(n))}class Vde extends sf{constructor(){super(...arguments),this.removeStartListeners=Xl,this.removeEndListeners=Xl,this.removeAccessibleListeners=Xl,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Gu(window,"pointerup",(s,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();JF(this.node.current,s.target)?u&&u(s,l):d&&d(s,l)},{passive:!(r.onTap||r.onPointerUp)}),a=Gu(window,"pointercancel",(s,l)=>this.cancelPress(s,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nd(o,a),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const a=s=>{s.key!=="Enter"||!this.checkPressEnd()||K5("up",this.node.getProps().onTap)};this.removeEndListeners(),this.removeEndListeners=Hu(this.node.current,"keyup",a),K5("down",(s,l)=>{this.startPress(s,l)})},n=Hu(this.node.current,"keydown",t),r=()=>{this.isPressing&&K5("cancel",(o,a)=>this.cancelPress(o,a))},i=Hu(this.node.current,"blur",r);this.removeAccessibleListeners=Nd(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!0),r&&r(t,n)}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive(tr.Tap,!1),!QF()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&r(t,n)}mount(){const t=this.node.getProps(),n=Gu(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Hu(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nd(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const w_=new WeakMap,Y5=new WeakMap,Gde=e=>{const t=w_.get(e.target);t&&t(e)},qde=e=>{e.forEach(Gde)};function Kde({root:e,...t}){const n=e||document;Y5.has(n)||Y5.set(n,{});const r=Y5.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(qde,{root:e,...t})),r[i]}function Yde(e,t,n){const r=Kde(t);return w_.set(e,n),r.observe(e),()=>{w_.delete(e),r.unobserve(e)}}const Xde={some:0,all:1};class Zde extends sf{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}viewportFallback(){requestAnimationFrame(()=>{this.hasEnteredView=!0;const{onViewportEnter:t}=this.node.getProps();t&&t(null),this.node.animationState&&this.node.animationState.setActive(tr.InView,!0)})}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o,fallback:a=!0}=t;if(typeof IntersectionObserver>"u"){a&&this.viewportFallback();return}const s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:Xde[i]},l=u=>{const{isIntersecting:d}=u;if(this.isInView===d||(this.isInView=d,o&&!d&&this.hasEnteredView))return;d&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(tr.InView,d);const{onViewportEnter:h,onViewportLeave:m}=this.node.getProps(),y=d?h:m;y&&y(u)};return Yde(this.node.current,s,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(Qde(t,n))&&this.startObserver()}unmount(){}}function Qde({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Jde={inView:{Feature:Zde},tap:{Feature:Vde},focus:{Feature:Ude},hover:{Feature:Wde}};function eB(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r/^\-?\d*\.?\d+$/.test(e),tfe=e=>/^0[^.\s]+$/.test(e),qu={delta:0,timestamp:0},tB=1/60*1e3,nfe=typeof performance<"u"?()=>performance.now():()=>Date.now(),nB=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(nfe()),tB);function rfe(e){let t=[],n=[],r=0,i=!1,o=!1;const a=new WeakSet,s={schedule:(l,u=!1,d=!1)=>{const h=d&&i,m=h?t:n;return u&&a.add(l),m.indexOf(l)===-1&&(m.push(l),h&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),a.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(e[t]=rfe(()=>Py=!0),e),{}),so=o2.reduce((e,t)=>{const n=Rw[t];return e[t]=(r,i=!1,o=!1)=>(Py||afe(),n.schedule(r,i,o)),e},{}),Gd=o2.reduce((e,t)=>(e[t]=Rw[t].cancel,e),{}),X5=o2.reduce((e,t)=>(e[t]=()=>Rw[t].process(qu),e),{}),ofe=e=>Rw[e].process(qu),rB=e=>{Py=!1,qu.delta=C_?tB:Math.max(Math.min(e-qu.timestamp,ife),1),qu.timestamp=e,__=!0,o2.forEach(ofe),__=!1,Py&&(C_=!1,nB(rB))},afe=()=>{Py=!0,C_=!0,__||nB(rB)};function W9(e,t){e.indexOf(t)===-1&&e.push(t)}function U9(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class V9{constructor(){this.subscriptions=[]}add(t){return W9(this.subscriptions,t),()=>U9(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class lfe{constructor(t,n={}){this.version="9.0.4",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:a}=qu;this.lastUpdated!==a&&(this.timeDelta=o,this.lastUpdated=a,so.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>so.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=sfe(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new V9);const r=this.events[t].add(n);return t==="change"?()=>{r(),so.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?G9(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n)||null,this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){this.animation=null}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Gm(e,t){return new lfe(e,t)}const q9=(e,t)=>n=>Boolean(r2(n)&&bde.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),iB=(e,t,n)=>r=>{if(!r2(r))return r;const[i,o,a,s]=r.match(Ey);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(a),alpha:s!==void 0?parseFloat(s):1}},ufe=e=>Vm(0,255,e),Z5={...np,transform:e=>Math.round(ufe(e))},Eh={test:q9("rgb","red"),parse:iB("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Z5.transform(e)+", "+Z5.transform(t)+", "+Z5.transform(n)+", "+F1($1.transform(r))+")"};function cfe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const k_={test:q9("#"),parse:cfe,transform:Eh.transform},Jg={test:q9("hsl","hue"),parse:iB("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Yl.transform(F1(t))+", "+Yl.transform(F1(n))+", "+F1($1.transform(r))+")"},bo={test:e=>Eh.test(e)||k_.test(e)||Jg.test(e),parse:e=>Eh.test(e)?Eh.parse(e):Jg.test(e)?Jg.parse(e):k_.parse(e),transform:e=>r2(e)?e:e.hasOwnProperty("red")?Eh.transform(e):Jg.transform(e)},oB="${c}",aB="${n}";function dfe(e){var t,n;return isNaN(e)&&r2(e)&&(((t=e.match(Ey))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(S_))===null||n===void 0?void 0:n.length)||0)>0}function JS(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0,r=0;const i=e.match(S_);i&&(n=i.length,e=e.replace(S_,oB),t.push(...i.map(bo.parse)));const o=e.match(Ey);return o&&(r=o.length,e=e.replace(Ey,aB),t.push(...o.map(np.parse))),{values:t,numColors:n,numNumbers:r,tokenised:e}}function sB(e){return JS(e).values}function lB(e){const{values:t,numColors:n,tokenised:r}=JS(e),i=t.length;return o=>{let a=r;for(let s=0;stypeof e=="number"?0:e;function hfe(e){const t=sB(e);return lB(e)(t.map(ffe))}const qd={test:dfe,parse:sB,createTransformer:lB,getAnimatableNone:hfe},pfe=new Set(["brightness","contrast","saturate","opacity"]);function gfe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Ey)||[];if(!r)return e;const i=n.replace(r,"");let o=pfe.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const mfe=/([a-z-]*)\(.*?\)/g,E_={...qd,getAnimatableNone:e=>{const t=e.match(mfe);return t?t.map(gfe).join(" "):e}},vfe={...BF,color:bo,backgroundColor:bo,outlineColor:bo,fill:bo,stroke:bo,borderColor:bo,borderTopColor:bo,borderRightColor:bo,borderBottomColor:bo,borderLeftColor:bo,filter:E_,WebkitFilter:E_},K9=e=>vfe[e];function Y9(e,t){let n=K9(e);return n!==E_&&(n=qd),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const uB=e=>t=>t.test(e),yfe={test:e=>e==="auto",parse:e=>e},cB=[np,Pt,Yl,cd,Sde,xde,yfe],Hv=e=>cB.find(uB(e)),bfe=[...cB,bo,qd],xfe=e=>bfe.find(uB(e));function Sfe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.get()),t}function wfe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function Iw(e,t,n){const r=e.getProps();return H9(r,t,n!==void 0?n:r.custom,Sfe(e),wfe(e))}function Cfe(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Gm(n))}function _fe(e,t){const n=Iw(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const a in o){const s=Dde(o[a]);Cfe(e,a,s)}}function kfe(e,t,n){var r,i;const o=Object.keys(t).filter(s=>!e.hasValue(s)),a=o.length;if(a)for(let s=0;se*1e3,Afe={current:!1},X9=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Z9=e=>t=>1-e(1-t),Q9=e=>e*e,Ofe=Z9(Q9),J9=X9(Q9),Fr=(e,t,n)=>-n*e+n*t+e;function Q5(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Rfe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,a=0;if(!t)i=o=a=n;else{const s=n<.5?n*(1+t):n+t-n*t,l=2*n-s;i=Q5(l,s,e+1/3),o=Q5(l,s,e),a=Q5(l,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(a*255),alpha:r}}const J5=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},Ife=[k_,Eh,Jg],Dfe=e=>Ife.find(t=>t.test(e));function $L(e){const t=Dfe(e);let n=t.parse(e);return t===Jg&&(n=Rfe(n)),n}const dB=(e,t)=>{const n=$L(e),r=$L(t),i={...n};return o=>(i.red=J5(n.red,r.red,o),i.green=J5(n.green,r.green,o),i.blue=J5(n.blue,r.blue,o),i.alpha=Fr(n.alpha,r.alpha,o),Eh.transform(i))};function fB(e,t){return typeof e=="number"?n=>Fr(e,t,n):bo.test(e)?dB(e,t):pB(e,t)}const hB=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,a)=>fB(o,t[a]));return o=>{for(let a=0;a{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=fB(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},pB=(e,t)=>{const n=qd.createTransformer(t),r=JS(e),i=JS(t);return r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nd(hB(r.values,i.values),n):a=>`${a>0?t:e}`},n3=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},FL=(e,t)=>n=>Fr(e,t,n);function Nfe(e){return typeof e=="number"?FL:typeof e=="string"?bo.test(e)?dB:pB:Array.isArray(e)?hB:typeof e=="object"?jfe:FL}function $fe(e,t,n){const r=[],i=n||Nfe(e[0]),o=e.length-1;for(let a=0;ae[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=$fe(t,r,i),s=a.length,l=u=>{let d=0;if(s>1)for(;dl(Vm(e[0],e[o-1],u)):l}const mB=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Ffe=1e-7,Bfe=12;function zfe(e,t,n,r,i){let o,a,s=0;do a=t+(n-t)/2,o=mB(a,r,i)-e,o>0?n=a:t=a;while(Math.abs(o)>Ffe&&++szfe(o,0,1,e,n);return o=>o===0||o===1?o:mB(i(o),t,r)}const yB=e=>1-Math.sin(Math.acos(e)),e8=Z9(yB),Hfe=X9(e8),bB=vB(.33,1.53,.69,.99),t8=Z9(bB),Wfe=X9(t8),Ufe=e=>(e*=2)<1?.5*t8(e):.5*(2-Math.pow(2,-10*(e-1))),Vfe={linear:Xl,easeIn:Q9,easeInOut:J9,easeOut:Ofe,circIn:yB,circInOut:Hfe,circOut:e8,backIn:t8,backInOut:Wfe,backOut:bB,anticipate:Ufe},BL=e=>{if(Array.isArray(e)){t3(e.length===4);const[t,n,r,i]=e;return vB(t,n,r,i)}else if(typeof e=="string")return Vfe[e];return e},Gfe=e=>Array.isArray(e)&&typeof e[0]!="number";function qfe(e,t){return e.map(()=>t||J9).splice(0,e.length-1)}function Kfe(e){const t=e.length;return e.map((n,r)=>r!==0?r/(t-1):0)}function Yfe(e,t){return e.map(n=>n*t)}function P_({keyframes:e,ease:t=J9,times:n,duration:r=300}){e=[...e];const i=Gfe(t)?t.map(BL):BL(t),o={done:!1,value:e[0]},a=Yfe(n&&n.length===e.length?n:Kfe(e),r);function s(){return gB(a,e,{ease:Array.isArray(i)?i:qfe(e,i)})}let l=s();return{next:u=>(o.value=l(u),o.done=u>=r,o),flipTarget:()=>{e.reverse(),l=s()}}}const eC=.001,Xfe=.01,zL=10,Zfe=.05,Qfe=1;function Jfe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;Lfe(e<=zL*1e3);let a=1-t;a=Vm(Zfe,Qfe,a),e=Vm(Xfe,zL,e/1e3),a<1?(i=u=>{const d=u*a,h=d*e,m=d-n,y=T_(u,a),b=Math.exp(-h);return eC-m/y*b},o=u=>{const h=u*a*e,m=h*n+n,y=Math.pow(a,2)*Math.pow(u,2)*e,b=Math.exp(-h),w=T_(Math.pow(u,2),a);return(-i(u)+eC>0?-1:1)*((m-y)*b)/w}):(i=u=>{const d=Math.exp(-u*e),h=(u-n)*e+1;return-eC+d*h},o=u=>{const d=Math.exp(-u*e),h=(n-u)*(e*e);return d*h});const s=5/e,l=the(i,o,s);if(e=e*1e3,isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:a*2*Math.sqrt(r*u),duration:e}}}const ehe=12;function the(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function ihe(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!HL(e,rhe)&&HL(e,nhe)){const n=Jfe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}const ohe=5;function xB({keyframes:e,restDelta:t,restSpeed:n,...r}){let i=e[0],o=e[e.length-1];const a={done:!1,value:i},{stiffness:s,damping:l,mass:u,velocity:d,duration:h,isResolvedFromDuration:m}=ihe(r);let y=ahe,b=d?-(d/1e3):0;const w=l/(2*Math.sqrt(s*u));function E(){const _=o-i,k=Math.sqrt(s/u)/1e3,T=Math.abs(_)<5;if(n||(n=T?.01:2),t||(t=T?.005:.5),w<1){const L=T_(k,w);y=O=>{const D=Math.exp(-w*k*O);return o-D*((b+w*k*_)/L*Math.sin(L*O)+_*Math.cos(L*O))}}else if(w===1)y=L=>o-Math.exp(-k*L)*(_+(b+k*_)*L);else{const L=k*Math.sqrt(w*w-1);y=O=>{const D=Math.exp(-w*k*O),I=Math.min(L*O,300);return o-D*((b+w*k*_)*Math.sinh(I)+L*_*Math.cosh(I))/L}}}return E(),{next:_=>{const k=y(_);if(m)a.done=_>=h;else{let T=b;if(_!==0)if(w<1){const D=Math.max(0,_-ohe);T=G9(k-y(D),_-D)}else T=0;const L=Math.abs(T)<=n,O=Math.abs(o-k)<=t;a.done=L&&O}return a.value=a.done?o:k,a},flipTarget:()=>{b=-b,[i,o]=[o,i],E()}}}xB.needsInterpolation=(e,t)=>typeof e=="string"||typeof t=="string";const ahe=e=>0;function she({keyframes:e=[0],velocity:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:o}){const a=e[0],s={done:!1,value:a};let l=n*t;const u=a+l,d=o===void 0?u:o(u);return d!==u&&(l=d-a),{next:h=>{const m=-l*Math.exp(-h/r);return s.done=!(m>i||m<-i),s.value=s.done?d:d+m,s},flipTarget:()=>{}}}const lhe={decay:she,keyframes:P_,tween:P_,spring:xB};function SB(e,t,n=0){return e-t-n}function uhe(e,t=0,n=0,r=!0){return r?SB(t+-e,t,n):t-(e-t)+n}function che(e,t,n,r){return r?e>=t+n:e<=-n}const dhe=e=>{const t=({delta:n})=>e(n);return{start:()=>so.update(t,!0),stop:()=>Gd.update(t)}};function r3({duration:e,driver:t=dhe,elapsed:n=0,repeat:r=0,repeatType:i="loop",repeatDelay:o=0,keyframes:a,autoplay:s=!0,onPlay:l,onStop:u,onComplete:d,onRepeat:h,onUpdate:m,type:y="keyframes",...b}){const w=n;let E,_=0,k=e,T=!1,L=!0,O;const D=lhe[a.length>2?"keyframes":y]||P_,I=a[0],N=a[a.length-1];let W={done:!1,value:I};const{needsInterpolation:B}=D;B&&B(I,N)&&(O=gB([0,100],[I,N],{clamp:!1}),a=[0,100]);const K=D({...b,duration:e,keyframes:a});function ne(){_++,i==="reverse"?(L=_%2===0,n=uhe(n,k,o,L)):(n=SB(n,k,o),i==="mirror"&&K.flipTarget()),T=!1,h&&h()}function z(){E&&E.stop(),d&&d()}function $(X){L||(X=-X),n+=X,T||(W=K.next(Math.max(0,n)),O&&(W.value=O(W.value)),T=L?W.done:n<=0),m&&m(W.value),T&&(_===0&&(k=k!==void 0?k:n),_{u&&u(),E&&E.stop()},set currentTime(X){n=w,$(X)},sample:X=>{n=w;const Q=e&&typeof e=="number"?Math.max(e*.5,50):50;let G=0;for($(0);G<=X;){const Y=X-G;$(Math.min(Y,Q)),G+=Q}return W}}}function fhe(e){return!e||Array.isArray(e)||typeof e=="string"&&wB[e]}const d1=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,wB={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:d1([0,.65,.55,1]),circOut:d1([.55,0,1,.45]),backIn:d1([.31,.01,.66,-.59]),backOut:d1([.33,1.53,.69,.99])};function hhe(e){if(e)return Array.isArray(e)?d1(e):wB[e]}function phe(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:a="loop",ease:s,times:l}={}){return e.animate({[t]:n,offset:l},{delay:r,duration:i,easing:hhe(s),fill:"both",iterations:o+1,direction:a==="reverse"?"alternate":"normal"})}const WL={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},tC={},CB={};for(const e in WL)CB[e]=()=>(tC[e]===void 0&&(tC[e]=WL[e]()),tC[e]);function ghe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const mhe=new Set(["opacity"]),Hb=10;function vhe(e,t,{onUpdate:n,onComplete:r,...i}){if(!(CB.waapi()&&mhe.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0))return!1;let{keyframes:a,duration:s=300,elapsed:l=0,ease:u}=i;if(i.type==="spring"||!fhe(i.ease)){if(i.repeat===1/0)return;const h=r3({...i,elapsed:0});let m={done:!1,value:a[0]};const y=[];let b=0;for(;!m.done&&b<2e4;)m=h.sample(b),y.push(m.value),b+=Hb;a=y,s=b-Hb,u="linear"}const d=phe(e.owner.current,t,a,{...i,delay:-l,duration:s,ease:u});return d.onfinish=()=>{e.set(ghe(a,i)),so.update(()=>d.cancel()),r&&r()},{get currentTime(){return d.currentTime||0},set currentTime(h){d.currentTime=h},stop:()=>{const{currentTime:h}=d;if(h){const m=r3({...i,autoplay:!1});e.setWithVelocity(m.sample(h-Hb).value,m.sample(h).value,Hb)}so.update(()=>d.cancel())}}}function _B(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Gd.read(r),e(o-t))};return so.read(r,!0),()=>Gd.read(r)}function yhe({keyframes:e,elapsed:t,onUpdate:n,onComplete:r}){const i=()=>{n&&n(e[e.length-1]),r&&r()};return t?{stop:_B(i,-t)}:i()}function bhe({keyframes:e,velocity:t=0,min:n,max:r,power:i=.8,timeConstant:o=750,bounceStiffness:a=500,bounceDamping:s=10,restDelta:l=1,modifyTarget:u,driver:d,onUpdate:h,onComplete:m,onStop:y}){const b=e[0];let w;function E(L){return n!==void 0&&Lr}function _(L){return n===void 0?r:r===void 0||Math.abs(n-L){h&&h(O),L.onUpdate&&L.onUpdate(O)},onComplete:m,onStop:y})}function T(L){k({type:"spring",stiffness:a,damping:s,restDelta:l,...L})}if(E(b))T({velocity:t,keyframes:[b,_(b)]});else{let L=i*t+b;typeof u<"u"&&(L=u(L));const O=_(L),D=O===n?-1:1;let I,N;const W=B=>{I=N,N=B,t=G9(B-I,qu.delta),(D===1&&B>O||D===-1&&Bw&&w.stop()}}const nh=()=>({type:"spring",stiffness:500,damping:25,restSpeed:10}),Wb=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),nC=()=>({type:"keyframes",ease:"linear",duration:.3}),xhe={type:"keyframes",duration:.8},UL={x:nh,y:nh,z:nh,rotate:nh,rotateX:nh,rotateY:nh,rotateZ:nh,scaleX:Wb,scaleY:Wb,scale:Wb,opacity:nC,backgroundColor:nC,color:nC,default:Wb},She=(e,{keyframes:t})=>t.length>2?xhe:(UL[e]||UL.default)(t[1]),M_=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&qd.test(t)&&!t.startsWith("url("));function whe({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:o,repeatType:a,repeatDelay:s,from:l,elapsed:u,...d}){return!!Object.keys(d).length}function VL(e){return e===0||typeof e=="string"&&parseFloat(e)===0&&e.indexOf(" ")===-1}function GL(e){return typeof e=="number"?0:Y9("",e)}function kB(e,t){return e[t]||e.default||e}function Che(e,t,n,r){const i=M_(t,n);let o=r.from!==void 0?r.from:e.get();return o==="none"&&i&&typeof n=="string"?o=Y9(t,n):VL(o)&&typeof n=="string"?o=GL(n):!Array.isArray(n)&&VL(n)&&typeof o=="string"&&(n=GL(o)),Array.isArray(n)?(n[0]===null&&(n[0]=o),n):[o,n]}const n8=(e,t,n,r={})=>i=>{const o=kB(r,e)||{},a=o.delay||r.delay||0;let{elapsed:s=0}=r;s=s-Zx(a);const l=Che(t,e,n,o),u=l[0],d=l[l.length-1],h=M_(e,u),m=M_(e,d);let y={keyframes:l,velocity:t.getVelocity(),...o,elapsed:s,onUpdate:b=>{t.set(b),o.onUpdate&&o.onUpdate(b)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(!h||!m||Afe.current||o.type===!1)return yhe(y);if(o.type==="inertia")return bhe(y);if(whe(o)||(y={...y,...She(e,y)}),y.duration&&(y.duration=Zx(y.duration)),y.repeatDelay&&(y.repeatDelay=Zx(y.repeatDelay)),t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const b=vhe(t,e,y);if(b)return b}return r3(y)};function _he(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>L_(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=L_(e,t,n);else{const i=typeof t=="function"?Iw(e,t,n.custom):t;r=EB(e,i,n)}return r.then(()=>e.notify("AnimationComplete",t))}function L_(e,t,n={}){const r=Iw(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>EB(e,r,n):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:h}=i;return khe(e,t,u+l,d,h,n)}:()=>Promise.resolve(),{when:s}=i;if(s){const[l,u]=s==="beforeChildren"?[o,a]:[a,o];return l().then(u)}else return Promise.all([o(),a(n.delay)])}function EB(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:o=e.getDefaultTransition(),transitionEnd:a,...s}=e.makeTargetAnimatable(t);const l=e.getValue("willChange");r&&(o=r);const u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(const h in s){const m=e.getValue(h),y=s[h];if(!m||y===void 0||d&&Phe(d,h))continue;const b={delay:n,elapsed:0,...o};if(window.HandoffAppearAnimations&&!m.hasAnimated){const E=e.getProps()[Mfe];E&&(b.elapsed=window.HandoffAppearAnimations(E,h,m,so))}let w=m.start(n8(h,m,y,e.shouldReduceMotion&&d0.has(h)?{type:!1}:b));e3(l)&&(l.add(h),w=w.then(()=>l.remove(h))),u.push(w)}return Promise.all(u).then(()=>{a&&_fe(e,a)})}function khe(e,t,n=0,r=0,i=1,o){const a=[],s=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>s-u*r;return Array.from(e.variantChildren).sort(Ehe).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(L_(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function Ehe(e,t){return e.sortNodePosition(t)}function Phe({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}const r8=[tr.Animate,tr.InView,tr.Focus,tr.Hover,tr.Tap,tr.Drag,tr.Exit],The=[...r8].reverse(),Mhe=r8.length;function Lhe(e){return t=>Promise.all(t.map(({animation:n,options:r})=>_he(e,n,r)))}function Ahe(e){let t=Lhe(e);const n=Rhe();let r=!0;const i=(l,u)=>{const d=Iw(e,u);if(d){const{transition:h,transitionEnd:m,...y}=d;l={...l,...y,...m}}return l};function o(l){t=l(e)}function a(l,u){const d=e.getProps(),h=e.getVariantContext(!0)||{},m=[],y=new Set;let b={},w=1/0;for(let _=0;_w&&O;const B=Array.isArray(L)?L:[L];let K=B.reduce(i,{});D===!1&&(K={});const{prevResolvedValues:ne={}}=T,z={...ne,...K},$=V=>{W=!0,y.delete(V),T.needsAnimating[V]=!0};for(const V in z){const X=K[V],Q=ne[V];b.hasOwnProperty(V)||(X!==Q?QS(X)&&QS(Q)?!eB(X,Q)||N?$(V):T.protectedKeys[V]=!0:X!==void 0?$(V):y.add(V):X!==void 0&&y.has(V)?$(V):T.protectedKeys[V]=!0)}T.prevProp=L,T.prevResolvedValues=K,T.isActive&&(b={...b,...K}),r&&e.blockInitialAnimation&&(W=!1),W&&!I&&m.push(...B.map(V=>({animation:V,options:{type:k,...l}})))}if(y.size){const _={};y.forEach(k=>{const T=e.getBaseTarget(k);T!==void 0&&(_[k]=T)}),m.push({animation:_})}let E=Boolean(m.length);return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(E=!1),r=!1,E?t(m):Promise.resolve()}function s(l,u,d){if(n[l].isActive===u)return Promise.resolve();e.variantChildren&&e.variantChildren.forEach(m=>{m.animationState&&m.animationState.setActive(l,u)}),n[l].isActive=u;const h=a(d,l);for(const m in n)n[m].protectedKeys={};return h}return{animateChanges:a,setActive:s,setAnimateFunction:o,getState:()=>n}}function Ohe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!eB(t,e):!1}function rh(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Rhe(){return{[tr.Animate]:rh(!0),[tr.InView]:rh(),[tr.Hover]:rh(),[tr.Tap]:rh(),[tr.Drag]:rh(),[tr.Focus]:rh(),[tr.Exit]:rh()}}class Ihe extends sf{constructor(t){super(t),t.animationState||(t.animationState=Ahe(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),Mw(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let Dhe=0;class jhe extends sf{constructor(){super(...arguments),this.id=Dhe++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive(tr.Exit,!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const Nhe={animation:{Feature:Ihe},exit:{Feature:jhe}},qL=(e,t)=>Math.abs(e-t);function $he(e,t){const n=qL(e.x,t.x),r=qL(e.y,t.y);return Math.sqrt(n**2+r**2)}class PB{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=iC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,h=$he(u.offset,{x:0,y:0})>=3;if(!d&&!h)return;const{point:m}=u,{timestamp:y}=qu;this.history.push({...m,timestamp:y});const{onStart:b,onMove:w}=this.handlers;d||(b&&b(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),w&&w(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=rC(d,this.transformPagePoint),so.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:h,onSessionEnd:m}=this.handlers,y=iC(u.type==="pointercancel"?this.lastMoveEventInfo:rC(d,this.transformPagePoint),this.history);this.startEvent&&h&&h(u,y),m&&m(u,y)},!YF(t))return;this.handlers=n,this.transformPagePoint=r;const i=Ow(t),o=rC(i,this.transformPagePoint),{point:a}=o,{timestamp:s}=qu;this.history=[{...a,timestamp:s}];const{onSessionStart:l}=n;l&&l(t,iC(o,this.history)),this.removeListeners=Nd(Gu(window,"pointermove",this.handlePointerMove),Gu(window,"pointerup",this.handlePointerUp),Gu(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Gd.update(this.updatePoint)}}function rC(e,t){return t?{point:t(e.point)}:e}function KL(e,t){return{x:e.x-t.x,y:e.y-t.y}}function iC({point:e},t){return{point:e,delta:KL(e,TB(t)),offset:KL(e,Fhe(t)),velocity:Bhe(t,.1)}}function Fhe(e){return e[0]}function TB(e){return e[e.length-1]}function Bhe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=TB(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Zx(t)));)n--;if(!r)return{x:0,y:0};const o=(i.timestamp-r.timestamp)/1e3;if(o===0)return{x:0,y:0};const a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function Aa(e){return e.max-e.min}function A_(e,t=0,n=.01){return Math.abs(e-t)<=n}function YL(e,t,n,r=.5){e.origin=r,e.originPoint=Fr(t.min,t.max,e.origin),e.scale=Aa(n)/Aa(t),(A_(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Fr(n.min,n.max,e.origin)-e.originPoint,(A_(e.translate)||isNaN(e.translate))&&(e.translate=0)}function B1(e,t,n,r){YL(e.x,t.x,n.x,r?r.originX:void 0),YL(e.y,t.y,n.y,r?r.originY:void 0)}function XL(e,t,n){e.min=n.min+t.min,e.max=e.min+Aa(t)}function zhe(e,t,n){XL(e.x,t.x,n.x),XL(e.y,t.y,n.y)}function ZL(e,t,n){e.min=t.min-n.min,e.max=e.min+Aa(t)}function z1(e,t,n){ZL(e.x,t.x,n.x),ZL(e.y,t.y,n.y)}function Hhe(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Fr(n,e,r.max):Math.min(e,n)),e}function QL(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Whe(e,{top:t,left:n,bottom:r,right:i}){return{x:QL(e.x,n,i),y:QL(e.y,t,r)}}function JL(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=n3(t.min,t.max-r,e.min):r>i&&(n=n3(e.min,e.max-i,t.min)),Vm(0,1,n)}function Ghe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const O_=.35;function qhe(e=O_){return e===!1?e=0:e===!0&&(e=O_),{x:eA(e,"left","right"),y:eA(e,"top","bottom")}}function eA(e,t,n){return{min:tA(e,t),max:tA(e,n)}}function tA(e,t){return typeof e=="number"?e:e[t]||0}const nA=()=>({translate:0,scale:1,origin:0,originPoint:0}),H1=()=>({x:nA(),y:nA()}),rA=()=>({min:0,max:0}),gi=()=>({x:rA(),y:rA()});function Al(e){return[e("x"),e("y")]}function MB({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Khe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Yhe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function oC(e){return e===void 0||e===1}function R_({scale:e,scaleX:t,scaleY:n}){return!oC(e)||!oC(t)||!oC(n)}function dh(e){return R_(e)||LB(e)||e.z||e.rotate||e.rotateX||e.rotateY}function LB(e){return iA(e.x)||iA(e.y)}function iA(e){return e&&e!=="0%"}function i3(e,t,n){const r=e-n,i=t*r;return n+i}function oA(e,t,n,r,i){return i!==void 0&&(e=i3(e,i,r)),i3(e,n,r)+t}function I_(e,t=0,n=1,r,i){e.min=oA(e.min,t,n,r,i),e.max=oA(e.max,t,n,r,i)}function AB(e,{x:t,y:n}){I_(e.x,t.translate,t.scale,t.originPoint),I_(e.y,n.translate,n.scale,n.originPoint)}function Xhe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,a;for(let s=0;s1.0000000000001||e<.999999999999?e:1}function gd(e,t){e.min=e.min+t,e.max=e.max+t}function sA(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,a=Fr(e.min,e.max,o);I_(e,t[n],t[r],a,t.scale)}const Zhe=["x","scaleX","originX"],Qhe=["y","scaleY","originY"];function em(e,t){sA(e.x,t,Zhe),sA(e.y,t,Qhe)}function OB(e,t){return MB(Yhe(e.getBoundingClientRect(),t))}function Jhe(e,t,n){const r=OB(e,n),{scroll:i}=t;return i&&(gd(r.x,i.offset.x),gd(r.y,i.offset.y)),r}const epe=new WeakMap;class tpe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=gi(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(Ow(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:h,onDragStart:m}=this.getProps();if(d&&!h&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=ZF(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Al(b=>{let w=this.getAxisMotionValue(b).get()||0;if(Yl.test(w)){const{projection:E}=this.visualElement;if(E&&E.layout){const _=E.layout.layoutBox[b];_&&(w=Aa(_)*(parseFloat(w)/100))}}this.originPoint[b]=w}),m&&m(l,u);const{animationState:y}=this.visualElement;y&&y.setActive(tr.Drag,!0)},a=(l,u)=>{const{dragPropagation:d,dragDirectionLock:h,onDirectionLock:m,onDrag:y}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:b}=u;if(h&&this.currentDirection===null){this.currentDirection=npe(b),this.currentDirection!==null&&m&&m(this.currentDirection);return}this.updateAxis("x",u.point,b),this.updateAxis("y",u.point,b),this.visualElement.render(),y&&y(l,u)},s=(l,u)=>this.stop(l,u);this.panSession=new PB(t,{onSessionStart:i,onStart:o,onMove:a,onSessionEnd:s},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&o(t,n)}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive(tr.Drag,!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!Ub(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let a=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(a=Hhe(a,this.constraints[t],this.elastic[t])),o.set(a)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&Qg(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Whe(r.layoutBox,t):this.constraints=!1,this.elastic=qhe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Al(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Ghe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Qg(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=Jhe(r,i.root,this.visualElement.getTransformPagePoint());let a=Uhe(i.layout.layoutBox,o);if(n){const s=n(Khe(a));this.hasMutatedConstraints=!!s,s&&(a=MB(s))}return a}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:a,onDragTransitionEnd:s}=this.getProps(),l=this.constraints||{},u=Al(d=>{if(!Ub(d,n,this.currentDirection))return;let h=l&&l[d]||{};a&&(h={min:0,max:0});const m=i?200:1e6,y=i?40:1e7,b={type:"inertia",velocity:r?t[d]:0,bounceStiffness:m,bounceDamping:y,timeConstant:750,restDelta:1,restSpeed:10,...o,...h};return this.startAxisValueAnimation(d,b)});return Promise.all(u).then(s)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(n8(t,r,0,n))}stopAnimation(){Al(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Al(n=>{const{drag:r}=this.getProps();if(!Ub(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:a,max:s}=i.layout.layoutBox[n];o.set(t[n]-Fr(a,s,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Qg(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Al(a=>{const s=this.getAxisMotionValue(a);if(s){const l=s.get();i[a]=Vhe({min:l,max:l},this.constraints[a])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Al(a=>{if(!Ub(a,t,null))return;const s=this.getAxisMotionValue(a),{min:l,max:u}=this.constraints[a];s.set(Fr(l,u,i[a]))})}addListeners(){if(!this.visualElement.current)return;epe.set(this.visualElement,this);const t=this.visualElement.current,n=Gu(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Qg(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const a=Hu(window,"resize",()=>this.scalePositionWithinConstraints()),s=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Al(d=>{const h=this.getAxisMotionValue(d);h&&(this.originPoint[d]+=l[d].translate,h.set(h.get()+l[d].translate))}),this.visualElement.render())});return()=>{a(),n(),o(),s&&s()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:a=O_,dragMomentum:s=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:a,dragMomentum:s}}}function Ub(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function npe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class rpe extends sf{constructor(t){super(t),this.removeGroupControls=Xl,this.removeListeners=Xl,this.controls=new tpe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Xl}unmount(){this.removeGroupControls(),this.removeListeners()}}class ipe extends sf{constructor(){super(...arguments),this.removePointerDownListener=Xl}onPointerDown(t){this.session=new PB(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:t,onStart:n,onMove:r,onEnd:(o,a)=>{delete this.session,i&&i(o,a)}}}mount(){this.removePointerDownListener=Gu(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function RB(){const e=S.useContext(n2);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=S.useId();return S.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function ope(){return ape(S.useContext(n2))}function ape(e){return e===null?!0:e.isPresent}function lA(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Wv={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Pt.test(e))e=parseFloat(e);else return e;const n=lA(e,t.target.x),r=lA(e,t.target.y);return`${n}% ${r}%`}};function D_(e){return typeof e=="string"&&e.startsWith("var(--")}const IB=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function spe(e){const t=IB.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function j_(e,t,n=1){const[r,i]=spe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():D_(i)?j_(i,t,n+1):i}function lpe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!D_(o))return;const a=j_(o,r);a&&i.set(a)});for(const i in t){const o=t[i];if(!D_(o))continue;const a=j_(o,r);a&&(t[i]=a,n&&n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const uA="_$css",upe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=e.includes("var("),o=[];i&&(e=e.replace(IB,y=>(o.push(y),uA)));const a=qd.parse(e);if(a.length>5)return r;const s=qd.createTransformer(e),l=typeof a[0]!="number"?1:0,u=n.x.scale*t.x,d=n.y.scale*t.y;a[0+l]/=u,a[1+l]/=d;const h=Fr(u,d,.5);typeof a[2+l]=="number"&&(a[2+l]/=h),typeof a[3+l]=="number"&&(a[3+l]/=h);let m=s(a);if(i){let y=0;m=m.replace(uA,()=>{const b=o[y];return y++,b})}return m}};class cpe extends Ke.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;pde(dpe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),N1.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,a=r.projection;return a&&(a.isPresent=o,i||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?a.promote():a.relegate()||so.postRender(()=>{const s=a.getStack();(!s||!s.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),!t.currentAnimation&&t.isLead()&&this.safeToRemove())}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function DB(e){const[t,n]=RB(),r=S.useContext(I9);return Ke.createElement(cpe,{...e,layoutGroup:r,switchLayoutGroup:S.useContext(NF),isPresent:t,safeToRemove:n})}const dpe={borderRadius:{...Wv,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Wv,borderTopRightRadius:Wv,borderBottomLeftRadius:Wv,borderBottomRightRadius:Wv,boxShadow:upe};function fpe(e,t,n={}){const r=ta(e)?e:Gm(e);return r.start(n8("",r,t,n)),{stop:()=>r.stop(),isAnimating:()=>r.isAnimating()}}const jB=["TopLeft","TopRight","BottomLeft","BottomRight"],hpe=jB.length,cA=e=>typeof e=="string"?parseFloat(e):e,dA=e=>typeof e=="number"||Pt.test(e);function ppe(e,t,n,r,i,o){i?(e.opacity=Fr(0,n.opacity!==void 0?n.opacity:1,gpe(r)),e.opacityExit=Fr(t.opacity!==void 0?t.opacity:1,0,mpe(r))):o&&(e.opacity=Fr(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let a=0;art?1:n(n3(e,t,r))}function hA(e,t){e.min=t.min,e.max=t.max}function Ns(e,t){hA(e.x,t.x),hA(e.y,t.y)}function pA(e,t,n,r,i){return e-=t,e=i3(e,1/n,r),i!==void 0&&(e=i3(e,1/i,r)),e}function vpe(e,t=0,n=1,r=.5,i,o=e,a=e){if(Yl.test(t)&&(t=parseFloat(t),t=Fr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let s=Fr(o.min,o.max,r);e===o&&(s-=t),e.min=pA(e.min,t,n,s,i),e.max=pA(e.max,t,n,s,i)}function gA(e,t,[n,r,i],o,a){vpe(e,t[n],t[r],t[i],t.scale,o,a)}const ype=["x","scaleX","originX"],bpe=["y","scaleY","originY"];function mA(e,t,n,r){gA(e.x,t,ype,n?n.x:void 0,r?r.x:void 0),gA(e.y,t,bpe,n?n.y:void 0,r?r.y:void 0)}function vA(e){return e.translate===0&&e.scale===1}function $B(e){return vA(e.x)&&vA(e.y)}function FB(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function yA(e){return Aa(e.x)/Aa(e.y)}class xpe{constructor(){this.members=[]}add(t){W9(this.members,t),t.scheduleRender()}remove(t){if(U9(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function bA(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const a=e.x.scale*t.x,s=e.y.scale*t.y;return(a!==1||s!==1)&&(r+=`scale(${a}, ${s})`),r||"none"}const Spe=(e,t)=>e.depth-t.depth;class wpe{constructor(){this.children=[],this.isDirty=!1}add(t){W9(this.children,t),this.isDirty=!0}remove(t){U9(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Spe),this.isDirty=!1,this.children.forEach(t)}}const xA=["","X","Y","Z"],SA=1e3;let Cpe=0;function BB({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(a,s={},l=t==null?void 0:t()){this.id=Cpe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isTransformDirty=!1,this.isProjectionDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.potentialNodes=new Map,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.nodes.forEach(Epe),this.nodes.forEach(Mpe),this.nodes.forEach(Lpe)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.elementId=a,this.latestValues=s,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0,a&&this.root.registerPotentialNode(a,this);for(let u=0;uthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,h&&h(),h=_B(m,250),N1.hasAnimatedSinceResize&&(N1.hasAnimatedSinceResize=!1,this.nodes.forEach(CA))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:h,hasLayoutChanged:m,hasRelativeTargetChanged:y,layout:b})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||d.getDefaultTransition()||Dpe,{onLayoutAnimationStart:E,onLayoutAnimationComplete:_}=d.getProps(),k=!this.targetLayout||!FB(this.targetLayout,b)||y,T=!m&&y;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||T||m&&(k||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(h,T);const L={...kB(w,"layout"),onPlay:E,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L)}else!m&&this.animationProgress===0&&CA(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=b})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Gd.preRender(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Ape),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const L=T/1e3;_A(h.x,a.x,L),_A(h.y,a.y,L),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(z1(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Rpe(this.relativeTarget,this.relativeTargetOrigin,m,L)),w&&(this.animationValues=d,ppe(d,u,this.latestValues,L,k,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=L},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Gd.update(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=so.update(()=>{N1.hasAnimatedSinceResize=!0,this.currentAnimation=fpe(0,SA,{...a,onUpdate:s=>{this.mixTargetDelta(s),a.onUpdate&&a.onUpdate(s)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(SA),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:s,target:l,layout:u,latestValues:d}=a;if(!(!s||!l||!u)){if(this!==a&&this.layout&&u&&zB(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||gi();const h=Aa(this.layout.layoutBox.x);l.x.min=a.target.x.min,l.x.max=l.x.min+h;const m=Aa(this.layout.layoutBox.y);l.y.min=a.target.y.min,l.y.max=l.y.min+m}Ns(s,l),em(s,d),B1(this.projectionDeltaWithTransform,this.layoutCorrected,s,d)}}registerSharedNode(a,s){this.sharedNodes.has(a)||this.sharedNodes.set(a,new xpe),this.sharedNodes.get(a).add(s);const u=s.options.initialPromotionConfig;s.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(s):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:s}=this.options;return s?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:s}=this.options;return s?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:s,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),a&&(this.projectionDelta=void 0,this.needsReset=!0),s&&this.setOptions({transition:s})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetRotation(){const{visualElement:a}=this.options;if(!a)return;let s=!1;const{latestValues:l}=a;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(s=!0),!s)return;const u={};for(let d=0;d{var s;return(s=a.currentAnimation)===null||s===void 0?void 0:s.stop()}),this.root.nodes.forEach(wA),this.root.sharedNodes.clear()}}}function _pe(e){e.updateLayout()}function kpe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,a=n.source!==e.layout.source;o==="size"?Al(h=>{const m=a?n.measuredBox[h]:n.layoutBox[h],y=Aa(m);m.min=r[h].min,m.max=m.min+y}):zB(o,n.layoutBox,r)&&Al(h=>{const m=a?n.measuredBox[h]:n.layoutBox[h],y=Aa(r[h]);m.max=m.min+y});const s=H1();B1(s,r,n.layoutBox);const l=H1();a?B1(l,e.applyTransform(i,!0),n.measuredBox):B1(l,r,n.layoutBox);const u=!$B(s);let d=!1;if(!e.resumeFrom){const h=e.getClosestProjectingParent();if(h&&!h.resumeFrom){const{snapshot:m,layout:y}=h;if(m&&y){const b=gi();z1(b,n.layoutBox,m.layoutBox);const w=gi();z1(w,r,y.layoutBox),FB(b,w)||(d=!0),h.options.layoutRoot&&(e.relativeTarget=w,e.relativeTargetOrigin=b,e.relativeParent=h)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:s,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Epe(e){e.isProjectionDirty||(e.isProjectionDirty=Boolean(e.parent&&e.parent.isProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=Boolean(e.parent&&e.parent.isTransformDirty))}function Ppe(e){e.clearSnapshot()}function wA(e){e.clearMeasurements()}function Tpe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function CA(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0}function Mpe(e){e.resolveTargetDelta()}function Lpe(e){e.calcProjection()}function Ape(e){e.resetRotation()}function Ope(e){e.removeLeadSnapshot()}function _A(e,t,n){e.translate=Fr(t.translate,0,n),e.scale=Fr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function kA(e,t,n,r){e.min=Fr(t.min,n.min,r),e.max=Fr(t.max,n.max,r)}function Rpe(e,t,n,r){kA(e.x,t.x,n.x,r),kA(e.y,t.y,n.y,r)}function Ipe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Dpe={duration:.45,ease:[.4,0,.1,1]};function jpe(e,t){let n=e.root;for(let o=e.path.length-1;o>=0;o--)if(Boolean(e.path[o].instance)){n=e.path[o];break}const i=(n&&n!==e.root?n.instance:document).querySelector(`[data-projection-id="${t}"]`);i&&e.mount(i,!0)}function EA(e){e.min=Math.round(e.min),e.max=Math.round(e.max)}function Npe(e){EA(e.x),EA(e.y)}function zB(e,t,n){return e==="position"||e==="preserve-aspect"&&!A_(yA(t),yA(n),.2)}const $pe=BB({attachResizeListener:(e,t)=>Hu(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),aC={current:void 0},HB=BB({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!aC.current){const e=new $pe(0,{});e.mount(window),e.setOptions({layoutScroll:!0}),aC.current=e}return aC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>Boolean(window.getComputedStyle(e).position==="fixed")}),Fpe={pan:{Feature:ipe},drag:{Feature:rpe,ProjectionNode:HB,MeasureLayout:DB}},Bpe=new Set(["width","height","top","left","right","bottom","x","y"]),WB=e=>Bpe.has(e),zpe=e=>Object.keys(e).some(WB),PA=e=>e===np||e===Pt;var TA;(function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"})(TA||(TA={}));const MA=(e,t)=>parseFloat(e.split(", ")[t]),LA=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return MA(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?MA(o[1],e):0}},Hpe=new Set(["x","y","z"]),Wpe=Aw.filter(e=>!Hpe.has(e));function Upe(e){const t=[];return Wpe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const AA={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:LA(4,13),y:LA(5,14)},Vpe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:a}=o,s={};a==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{s[u]=AA[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(s[u]),e[u]=AA[u](l,o)}),e},Gpe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(WB);let o=[],a=!1;const s=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],h=Hv(d);const m=t[l];let y;if(QS(m)){const b=m.length,w=m[0]===null?1:0;d=m[w],h=Hv(d);for(let E=w;E=0?window.pageYOffset:null,u=Vpe(t,e,s);return o.length&&o.forEach(([d,h])=>{e.getValue(d).set(h)}),e.render(),Tw&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function qpe(e,t,n,r){return zpe(t)?Gpe(e,t,n,r):{target:t,transitionEnd:r}}const Kpe=(e,t,n,r)=>{const i=lpe(e,t,r);return t=i.target,r=i.transitionEnd,qpe(e,t,n,r)},N_={current:null},UB={current:!1};function Ype(){if(UB.current=!0,!!Tw)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>N_.current=e.matches;e.addListener(t),t()}else N_.current=!1}function Xpe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],a=n[i];if(ta(o))e.addValue(i,o),e3(r)&&r.add(i);else if(ta(a))e.addValue(i,Gm(o,{owner:e})),e3(r)&&r.remove(i);else if(a!==o)if(e.hasValue(i)){const s=e.getValue(i);!s.hasAnimated&&s.set(o)}else{const s=e.getStaticValue(i);e.addValue(i,Gm(s!==void 0?s:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const VB=Object.keys(ky),Zpe=VB.length,OA=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Qpe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>so.render(this.render,!1,!0);const{latestValues:s,renderState:l}=o;this.latestValues=s,this.baseTarget={...s},this.initialValues=n.initial?{...s}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=a,this.isControllingVariants=Lw(n),this.isVariantNode=jF(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const h in d){const m=d[h];s[h]!==void 0&&ta(m)&&(m.set(s[h],!1),e3(u)&&u.add(h))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,this.projection&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),UB.current||Ype(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:N_.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Gd.update(this.notifyUpdate),Gd.render(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=d0.has(t),i=n.on("change",a=>{this.latestValues[t]=a,this.props.onUpdate&&so.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o,a){let s,l;for(let u=0;uthis.scheduleRender(),animationType:typeof d=="string"?d:"both",initialPromotionConfig:a,layoutScroll:y,layoutRoot:b})}return l}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update(this.props,this.prevProps):(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):gi()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Gm(n,{owner:this}),this.addValue(t,r)),r}readValue(t){return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=H9(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ta(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new V9),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}const GB=["initial",...r8],Jpe=GB.length;class qB extends Qpe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let a=Pfe(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),a&&(a=i(a))),o){kfe(this,r,a);const s=Kpe(this,r,a,n);n=s.transitionEnd,r=s.target}return{transition:t,transitionEnd:n,...r}}}function ege(e){return window.getComputedStyle(e)}class tge extends qB{readValueFromInstance(t,n){if(d0.has(n)){const r=K9(n);return r&&r.default||0}else{const r=ege(t),i=(FF(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return OB(t,n)}build(t,n,r,i){j9(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return z9(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ta(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){UF(t,n,r,i)}}class nge extends qB{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(d0.has(n)){const r=K9(n);return r&&r.default||0}return n=VF.has(n)?n:B9(n),t.getAttribute(n)}measureInstanceViewportBox(){return gi()}scrapeMotionValuesFromProps(t,n){return qF(t,n)}build(t,n,r,i){$9(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){GF(t,n,r,i)}mount(t){this.isSVGTag=F9(t.tagName),super.mount(t)}}const rge=(e,t)=>D9(e)?new nge(t,{enableHardwareAcceleration:!1}):new tge(t,{enableHardwareAcceleration:!0}),ige={layout:{ProjectionNode:HB,MeasureLayout:DB}},oge={...Nhe,...Jde,...Fpe,...ige},su=fde((e,t)=>Bde(e,t,oge,rge));function KB(){const e=S.useRef(!1);return YS(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function age(){const e=KB(),[t,n]=S.useState(0),r=S.useCallback(()=>{e.current&&n(t+1)},[t]);return[S.useCallback(()=>so.postRender(r),[r]),t]}class sge extends S.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function lge({children:e,isPresent:t}){const n=S.useId(),r=S.useRef(null),i=S.useRef({width:0,height:0,top:0,left:0});return S.useInsertionEffect(()=>{const{width:o,height:a,top:s,left:l}=i.current;if(t||!r.current||!o||!a)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${o}px !important; @@ -367,7 +367,7 @@ Error generating stack: `+o.message+` left: ${l}px !important; } `),()=>{document.head.removeChild(u)}},[t]),S.createElement(sge,{isPresent:t,childRef:r,sizeRef:i},S.cloneElement(e,{ref:r}))}const sC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:a})=>{const s=R9(uge),l=S.useId(),u=S.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{s.set(d,!0);for(const h of s.values())if(!h)return;r&&r()},register:d=>(s.set(d,!1),()=>s.delete(d))}),o?void 0:[n]);return S.useMemo(()=>{s.forEach((d,h)=>s.set(h,!1))},[n]),S.useEffect(()=>{!n&&!s.size&&r&&r()},[n]),a==="popLayout"&&(e=S.createElement(lge,{isPresent:n},e)),S.createElement(n2.Provider,{value:u},e)};function uge(){return new Map}function cge(e){return S.useEffect(()=>()=>e(),[])}const jg=e=>e.key||"";function dge(e,t){e.forEach(n=>{const r=jg(n);t.set(r,n)})}function fge(e){const t=[];return S.Children.forEach(e,n=>{S.isValidElement(n)&&t.push(n)}),t}const rp=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:a="sync"})=>{i&&(a="wait");let[s]=age();const l=S.useContext(I9).forceRender;l&&(s=l);const u=KB(),d=fge(e);let h=d;const m=new Set,y=S.useRef(h),b=S.useRef(new Map).current,w=S.useRef(!0);if(YS(()=>{w.current=!1,dge(d,b),y.current=h}),cge(()=>{w.current=!0,b.clear(),m.clear()}),w.current)return S.createElement(S.Fragment,null,h.map(T=>S.createElement(sC,{key:jg(T),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:a},T)));h=[...h];const E=y.current.map(jg),_=d.map(jg),k=E.length;for(let T=0;T{if(_.indexOf(T)!==-1)return;const L=b.get(T);if(!L)return;const O=E.indexOf(T),D=()=>{b.delete(T),m.delete(T);const I=y.current.findIndex(N=>N.key===T);if(y.current.splice(I,1),!m.size){if(y.current=d,u.current===!1)return;s(),r&&r()}};h.splice(O,0,S.createElement(sC,{key:jg(L),isPresent:!1,onExitComplete:D,custom:t,presenceAffectsLayout:o,mode:a},L))}),h=h.map(T=>{const L=T.key;return m.has(L)?T:S.createElement(sC,{key:jg(T),isPresent:!0,presenceAffectsLayout:o,mode:a},T)}),S.createElement(S.Fragment,null,m.size?h:h.map(T=>S.cloneElement(T)))};var Nl=function(){return Nl=Object.assign||function(t){for(var n,r=1,i=arguments.length;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function $_(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r{const{position:t}=e,n=["top","bottom"].includes(t)?"y":"x";let r=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(r=1),{opacity:0,[n]:r*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},XB=S.memo(e=>{const{id:t,message:n,onCloseComplete:r,onRequestRemove:i,requestClose:o=!1,position:a="bottom",duration:s=5e3,containerStyle:l,motionVariants:u=hge,toastSpacing:d="0.5rem"}=e,[h,m]=S.useState(s),y=ope();rc(()=>{y||r==null||r()},[y]),rc(()=>{m(s)},[s]);const b=()=>m(null),w=()=>m(s),E=()=>{y&&i()};S.useEffect(()=>{y&&o&&i()},[y,o,i]),Jce(E,h);const _=S.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:d,...l}),[l,d]),k=S.useMemo(()=>Zce(a),[a]);return g.jsx(su.li,{layout:!0,className:"chakra-toast",variants:u,initial:"initial",animate:"animate",exit:"exit",onHoverStart:b,onHoverEnd:w,custom:{position:a},style:k,children:g.jsx(Ne.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:_,children:ts(n,{id:t,onClose:E})})})});XB.displayName="ToastComponent";function pge(e,t){var n;const r=e??"bottom",o={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[r];return(n=o==null?void 0:o[t])!=null?n:r}var IA={path:g.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[g.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),g.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),g.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},ja=Ze((e,t)=>{const{as:n,viewBox:r,color:i="currentColor",focusable:o=!1,children:a,className:s,__css:l,...u}=e,d=xt("chakra-icon",s),h=au("Icon",e),m={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:i,...l,...h},y={ref:t,focusable:o,className:d,__css:m},b=r??IA.viewBox;if(n&&typeof n!="string")return g.jsx(Ne.svg,{as:n,...y,...u});const w=a??IA.path;return g.jsx(Ne.svg,{verticalAlign:"middle",viewBox:b,...y,...u,children:w})});ja.displayName="Icon";function fc(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:i={}}=e,o=S.Children.toArray(e.path),a=Ze((s,l)=>g.jsx(ja,{ref:l,viewBox:t,...i,...s,children:o.length?o:g.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}function gge(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mge(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function DA(e){return g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var vge=nf({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),p0=Ze((e,t)=>{const n=au("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:a="transparent",className:s,...l}=fr(e),u=xt("chakra-spinner",s),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:a,borderLeftColor:a,animation:`${vge} ${o} linear infinite`,...n};return g.jsx(Ne.div,{ref:t,__css:d,className:u,...l,children:r&&g.jsx(Ne.span,{srOnly:!0,children:r})})});p0.displayName="Spinner";var[yge,bge]=Pn({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[xge,i8]=Pn({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),ZB={info:{icon:mge,colorScheme:"blue"},warning:{icon:DA,colorScheme:"orange"},success:{icon:gge,colorScheme:"green"},error:{icon:DA,colorScheme:"red"},loading:{icon:p0,colorScheme:"blue"}};function Sge(e){return ZB[e].colorScheme}function wge(e){return ZB[e].icon}var QB=Ze(function(t,n){const i={display:"inline",...i8().description};return g.jsx(Ne.div,{ref:n,...t,className:xt("chakra-alert__desc",t.className),__css:i})});QB.displayName="AlertDescription";function JB(e){const{status:t}=bge(),n=wge(t),r=i8(),i=t==="loading"?r.spinner:r.icon;return g.jsx(Ne.span,{display:"inherit",...e,className:xt("chakra-alert__icon",e.className),__css:i,children:e.children||g.jsx(n,{h:"100%",w:"100%"})})}JB.displayName="AlertIcon";var ez=Ze(function(t,n){const r=i8();return g.jsx(Ne.div,{ref:n,...t,className:xt("chakra-alert__title",t.className),__css:r.title})});ez.displayName="AlertTitle";var tz=Ze(function(t,n){var r;const{status:i="info",addRole:o=!0,...a}=fr(t),s=(r=t.colorScheme)!=null?r:Sge(i),l=Yi("Alert",{...t,colorScheme:s}),u={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return g.jsx(yge,{value:{status:i},children:g.jsx(xge,{value:l,children:g.jsx(Ne.div,{role:o?"alert":void 0,ref:n,...a,className:xt("chakra-alert",t.className),__css:u})})})});tz.displayName="Alert";function Cge(e){return g.jsx(ja,{focusable:"false","aria-hidden":!0,...e,children:g.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var o8=Ze(function(t,n){const r=au("CloseButton",t),{children:i,isDisabled:o,__css:a,...s}=fr(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return g.jsx(Ne.button,{type:"button","aria-label":"Close",ref:n,disabled:o,__css:{...l,...r,...a},...s,children:i||g.jsx(Cge,{width:"1em",height:"1em"})})});o8.displayName="CloseButton";var _ge={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},$l=kge(_ge);function kge(e){let t=e;const n=new Set,r=i=>{t=i(t),n.forEach(o=>o())};return{getState:()=>t,subscribe:i=>(n.add(i),()=>{r(()=>e),n.delete(i)}),removeToast:(i,o)=>{r(a=>({...a,[o]:a[o].filter(s=>s.id!=i)}))},notify:(i,o)=>{const a=Ege(i,o),{position:s,id:l}=a;return r(u=>{var d,h;const y=s.includes("top")?[a,...(d=u[s])!=null?d:[]]:[...(h=u[s])!=null?h:[],a];return{...u,[s]:y}}),l},update:(i,o)=>{i&&r(a=>{const s={...a},{position:l,index:u}=ML(s,i);return l&&u!==-1&&(s[l][u]={...s[l][u],...o,message:nz(o)}),s})},closeAll:({positions:i}={})=>{r(o=>(i??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,u)=>(l[u]=o[u].map(d=>({...d,requestClose:!0})),l),{...o}))},close:i=>{r(o=>{const a=RF(o,i);return a?{...o,[a]:o[a].map(s=>s.id==i?{...s,requestClose:!0}:s)}:o})},isActive:i=>Boolean(ML($l.getState(),i).position)}}var jA=0;function Ege(e,t={}){var n,r;jA+=1;const i=(n=t.id)!=null?n:jA,o=(r=t.position)!=null?r:"bottom";return{id:i,message:e,position:o,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>$l.removeToast(String(i),o),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Pge=e=>{const{status:t,variant:n="solid",id:r,title:i,isClosable:o,onClose:a,description:s,icon:l}=e,u=r?{root:`toast-${r}`,title:`toast-${r}-title`,description:`toast-${r}-description`}:void 0;return g.jsxs(tz,{addRole:!1,status:t,variant:n,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",children:[g.jsx(JB,{children:l}),g.jsxs(Ne.div,{flex:"1",maxWidth:"100%",children:[i&&g.jsx(ez,{id:u==null?void 0:u.title,children:i}),s&&g.jsx(QB,{id:u==null?void 0:u.description,display:"block",children:s})]}),o&&g.jsx(o8,{size:"sm",onClick:a,position:"absolute",insetEnd:1,top:1})]})};function nz(e={}){const{render:t,toastComponent:n=Pge}=e;return i=>typeof t=="function"?t({...i,...e}):g.jsx(n,{...i,...e})}function Tge(e,t){const n=i=>{var o;return{...t,...i,position:pge((o=i==null?void 0:i.position)!=null?o:t==null?void 0:t.position,e)}},r=i=>{const o=n(i),a=nz(o);return $l.notify(a,o)};return r.update=(i,o)=>{$l.update(i,n(o))},r.promise=(i,o)=>{const a=r({...o.loading,status:"loading",duration:null});i.then(s=>r.update(a,{status:"success",duration:5e3,...ts(o.success,s)})).catch(s=>r.update(a,{status:"error",duration:5e3,...ts(o.error,s)}))},r.closeAll=$l.closeAll,r.close=$l.close,r.isActive=$l.isActive,r}var[Mge,Lge]=Pn({name:"ToastOptionsContext",strict:!1}),Age=e=>{const t=S.useSyncExternalStore($l.subscribe,$l.getState,$l.getState),{motionVariants:n,component:r=XB,portalProps:i}=e,a=Object.keys(t).map(s=>{const l=t[s];return g.jsx("ul",{role:"region","aria-live":"polite",id:`chakra-toast-manager-${s}`,style:Qce(s),children:g.jsx(rp,{initial:!1,children:l.map(u=>g.jsx(r,{motionVariants:n,...u},u.id))})},s)});return g.jsx(c0,{...i,children:a})};function a2(e){const{theme:t}=eF(),n=Lge();return S.useMemo(()=>Tge(t.direction,{...n,...e}),[e,t.direction,n])}var Oge=e=>function({children:n,theme:r=e,toastOptions:i,...o}){return g.jsxs(Yce,{theme:r,...o,children:[g.jsx(Mge,{value:i==null?void 0:i.defaultOptions,children:n}),g.jsx(Age,{...i})]})},Rge=Oge(cce),Ige=Object.defineProperty,Dge=(e,t,n)=>t in e?Ige(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nr=(e,t,n)=>(Dge(e,typeof t!="symbol"?t+"":t,n),n);function NA(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var jge=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function $A(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function FA(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var F_=typeof window<"u"?S.useLayoutEffect:S.useEffect,o3=e=>e,Nge=class{constructor(){Nr(this,"descendants",new Map),Nr(this,"register",e=>{if(e!=null)return jge(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),Nr(this,"unregister",e=>{this.descendants.delete(e);const t=NA(Array.from(this.descendants.keys()));this.assignIndex(t)}),Nr(this,"destroy",()=>{this.descendants.clear()}),Nr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),Nr(this,"count",()=>this.descendants.size),Nr(this,"enabledCount",()=>this.enabledValues().length),Nr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),Nr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),Nr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),Nr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),Nr(this,"first",()=>this.item(0)),Nr(this,"firstEnabled",()=>this.enabledItem(0)),Nr(this,"last",()=>this.item(this.descendants.size-1)),Nr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),Nr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),Nr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),Nr(this,"next",(e,t=!0)=>{const n=$A(e,this.count(),t);return this.item(n)}),Nr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=$A(r,this.enabledCount(),t);return this.enabledItem(i)}),Nr(this,"prev",(e,t=!0)=>{const n=FA(e,this.count()-1,t);return this.item(n)}),Nr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),i=FA(r,this.enabledCount()-1,t);return this.enabledItem(i)}),Nr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=NA(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const i={node:e,index:-1,...t};this.descendants.set(e,i),this.assignIndex(r)})}};function $ge(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function Rn(...e){return t=>{e.forEach(n=>{$ge(n,t)})}}function Fge(...e){return S.useMemo(()=>Rn(...e),e)}function Bge(){const e=S.useRef(new Nge);return F_(()=>()=>e.current.destroy()),e.current}var[zge,rz]=Pn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function Hge(e){const t=rz(),[n,r]=S.useState(-1),i=S.useRef(null);F_(()=>()=>{i.current&&t.unregister(i.current)},[]),F_(()=>{if(!i.current)return;const a=Number(i.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const o=o3(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(i.current),register:Rn(o,i)}}function a8(){return[o3(zge),()=>o3(rz()),()=>Bge(),i=>Hge(i)]}var[Wge,Dw]=Pn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[Uge,s8]=Pn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[Vge,pNe,Gge,qge]=a8(),tm=Ze(function(t,n){const{getButtonProps:r}=s8(),i=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...Dw().button};return g.jsx(Ne.button,{...i,className:xt("chakra-accordion__button",t.className),__css:a})});tm.displayName="AccordionButton";function l8(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:i=(m,y)=>m!==y}=e,o=Qr(r),a=Qr(i),[s,l]=S.useState(n),u=t!==void 0,d=u?t:s,h=Qr(m=>{const b=typeof m=="function"?m(d):m;a(d,b)&&(u||l(b),o(b))},[u,o,d,a]);return[d,h]}function Kge(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:i,allowToggle:o,...a}=e;Zge(e),Qge(e);const s=Gge(),[l,u]=S.useState(-1);S.useEffect(()=>()=>{u(-1)},[]);const[d,h]=l8({value:r,defaultValue(){return i?n??[]:n??-1},onChange:t});return{index:d,setIndex:h,htmlProps:a,getAccordionItemProps:y=>{let b=!1;return y!==null&&(b=Array.isArray(d)?d.includes(y):d===y),{isOpen:b,onChange:E=>{if(y!==null)if(i&&Array.isArray(d)){const _=E?d.concat(y):d.filter(k=>k!==y);h(_)}else E?h(y):o&&h(-1)}}},focusedIndex:l,setFocusedIndex:u,descendants:s}}var[Yge,u8]=Pn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function Xge(e){const{isDisabled:t,isFocusable:n,id:r,...i}=e,{getAccordionItemProps:o,setFocusedIndex:a}=u8(),s=S.useRef(null),l=S.useId(),u=r??l,d=`accordion-button-${u}`,h=`accordion-panel-${u}`;Jge(e);const{register:m,index:y,descendants:b}=qge({disabled:t&&!n}),{isOpen:w,onChange:E}=o(y===-1?null:y);eme({isOpen:w,isDisabled:t});const _=()=>{E==null||E(!0)},k=()=>{E==null||E(!1)},T=S.useCallback(()=>{E==null||E(!w),a(y)},[y,a,w,E]),L=S.useCallback(N=>{const B={ArrowDown:()=>{const K=b.nextEnabled(y);K==null||K.node.focus()},ArrowUp:()=>{const K=b.prevEnabled(y);K==null||K.node.focus()},Home:()=>{const K=b.firstEnabled();K==null||K.node.focus()},End:()=>{const K=b.lastEnabled();K==null||K.node.focus()}}[N.key];B&&(N.preventDefault(),B(N))},[b,y]),O=S.useCallback(()=>{a(y)},[a,y]),D=S.useCallback(function(W={},B=null){return{...W,type:"button",ref:Rn(m,s,B),id:d,disabled:!!t,"aria-expanded":!!w,"aria-controls":h,onClick:ht(W.onClick,T),onFocus:ht(W.onFocus,O),onKeyDown:ht(W.onKeyDown,L)}},[d,t,w,T,O,L,h,m]),I=S.useCallback(function(W={},B=null){return{...W,ref:B,role:"region",id:h,"aria-labelledby":d,hidden:!w}},[d,w,h]);return{isOpen:w,isDisabled:t,isFocusable:n,onOpen:_,onClose:k,getButtonProps:D,getPanelProps:I,htmlProps:i}}function Zge(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;Jy({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function Qge(e){Jy({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function Jge(e){Jy({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. - `})}function eme(e){Jy({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function nm(e){const{isOpen:t,isDisabled:n}=s8(),{reduceMotion:r}=u8(),i=xt("chakra-accordion__icon",e.className),o=Dw(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...o.icon};return g.jsx(ja,{viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:a,...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}nm.displayName="AccordionIcon";var rm=Ze(function(t,n){const{children:r,className:i}=t,{htmlProps:o,...a}=Xge(t),l={...Dw().container,overflowAnchor:"none"},u=S.useMemo(()=>a,[a]);return g.jsx(Uge,{value:u,children:g.jsx(Ne.div,{ref:n,...o,className:xt("chakra-accordion__item",i),__css:l,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});rm.displayName="AccordionItem";var im={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},Ih={enter:{duration:.2,ease:im.easeOut},exit:{duration:.1,ease:im.easeIn}},Ku={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},tme=e=>e!=null&&parseInt(e.toString(),10)>0,BA={exit:{height:{duration:.2,ease:im.ease},opacity:{duration:.3,ease:im.ease}},enter:{height:{duration:.3,ease:im.ease},opacity:{duration:.4,ease:im.ease}}},nme={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:tme(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(BA.exit,i)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(o=n==null?void 0:n.enter)!=null?o:Ku.enter(BA.enter,i)}}},iz=S.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:i=!0,startingHeight:o=0,endingHeight:a="auto",style:s,className:l,transition:u,transitionEnd:d,...h}=e,[m,y]=S.useState(!1);S.useEffect(()=>{const k=setTimeout(()=>{y(!0)});return()=>clearTimeout(k)},[]),Jy({condition:Boolean(o>0&&r),message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const b=parseFloat(o.toString())>0,w={startingHeight:o,endingHeight:a,animateOpacity:i,transition:m?u:{enter:{duration:0}},transitionEnd:{enter:d==null?void 0:d.enter,exit:r?d==null?void 0:d.exit:{...d==null?void 0:d.exit,display:b?"block":"none"}}},E=r?n:!0,_=n||r?"enter":"exit";return g.jsx(rp,{initial:!1,custom:w,children:E&&g.jsx(su.div,{ref:t,...h,className:xt("chakra-collapse",l),style:{overflow:"hidden",display:"block",...s},custom:w,variants:nme,initial:r?"exit":!1,animate:_,exit:"exit"})})});iz.displayName="Collapse";var rme={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:Ku.exit(Ih.exit,n),transitionEnd:t==null?void 0:t.exit}}},oz={initial:"exit",animate:"enter",exit:"exit",variants:rme},ime=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,className:o,transition:a,transitionEnd:s,delay:l,...u}=t,d=i||r?"enter":"exit",h=r?i&&r:!0,m={transition:a,transitionEnd:s,delay:l};return g.jsx(rp,{custom:m,children:h&&g.jsx(su.div,{ref:n,className:xt("chakra-fade",o),custom:m,...oz,animate:d,...u})})});ime.displayName="Fade";var ome={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:e==null?void 0:e.enter}}},az={initial:"exit",animate:"enter",exit:"exit",variants:ome},ame=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,initialScale:a=.95,className:s,transition:l,transitionEnd:u,delay:d,...h}=t,m=r?i&&r:!0,y=i||r?"enter":"exit",b={initialScale:a,reverse:o,transition:l,transitionEnd:u,delay:d};return g.jsx(rp,{custom:b,children:m&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",s),...az,animate:y,custom:b,...h})})});ame.displayName="ScaleFade";var sme={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,x:e,y:t,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:i,delay:o})=>{var a;const s={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Ku.exit(Ih.exit,o),...i?{...s,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...s,...r==null?void 0:r.exit}}}}},B_={initial:"initial",animate:"enter",exit:"exit",variants:sme},lme=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,className:a,offsetX:s=0,offsetY:l=8,transition:u,transitionEnd:d,delay:h,...m}=t,y=r?i&&r:!0,b=i||r?"enter":"exit",w={offsetX:s,offsetY:l,reverse:o,transition:u,transitionEnd:d,delay:h};return g.jsx(rp,{custom:w,children:y&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",a),custom:w,...B_,animate:b,...m})})});lme.displayName="SlideFade";var om=Ze(function(t,n){const{className:r,motionProps:i,...o}=t,{reduceMotion:a}=u8(),{getPanelProps:s,isOpen:l}=s8(),u=s(o,n),d=xt("chakra-accordion__panel",r),h=Dw();a||delete u.hidden;const m=g.jsx(Ne.div,{...u,__css:h.panel,className:d});return a?m:g.jsx(iz,{in:l,...i,children:m})});om.displayName="AccordionPanel";var c8=Ze(function({children:t,reduceMotion:n,...r},i){const o=Yi("Accordion",r),a=fr(r),{htmlProps:s,descendants:l,...u}=Kge(a),d=S.useMemo(()=>({...u,reduceMotion:!!n}),[u,n]);return g.jsx(Vge,{value:l,children:g.jsx(Yge,{value:d,children:g.jsx(Wge,{value:o,children:g.jsx(Ne.div,{ref:i,...s,className:xt("chakra-accordion",r.className),__css:o.root,children:t})})})})});c8.displayName="Accordion";var z_=Ze(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...a}=t;return g.jsx("img",{width:r,height:i,ref:n,alt:o,...a})});z_.displayName="NativeImage";function ume(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:a,sizes:s,ignoreFallback:l}=e,[u,d]=S.useState("pending");S.useEffect(()=>{d(n?"loading":"pending")},[n]);const h=S.useRef(),m=S.useCallback(()=>{if(!n)return;y();const b=new Image;b.src=n,a&&(b.crossOrigin=a),r&&(b.srcset=r),s&&(b.sizes=s),t&&(b.loading=t),b.onload=w=>{y(),d("loaded"),i==null||i(w)},b.onerror=w=>{y(),d("failed"),o==null||o(w)},h.current=b},[n,a,r,s,i,o,t]),y=()=>{h.current&&(h.current.onload=null,h.current.onerror=null,h.current=null)};return Vl(()=>{if(!l)return u==="loading"&&m(),()=>{y()}},[u,m,l]),l?"loaded":u}var cme=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function dme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var jw=Ze(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:a,align:s,fit:l,loading:u,ignoreFallback:d,crossOrigin:h,fallbackStrategy:m="beforeLoadOrError",referrerPolicy:y,...b}=t,w=r!==void 0||i!==void 0,E=u!=null||d||!w,_=ume({...t,ignoreFallback:E}),k=cme(_,m),T={ref:n,objectFit:l,objectPosition:s,...E?b:dme(b,["onError","onLoad"])};return k?i||g.jsx(Ne.img,{as:z_,className:"chakra-image__placeholder",src:r,...T}):g.jsx(Ne.img,{as:z_,src:o,srcSet:a,crossOrigin:h,loading:u,referrerPolicy:y,className:"chakra-image",...T})});jw.displayName="Image";function d8(e){return S.Children.toArray(e).filter(t=>S.isValidElement(t))}var[fme,hme]=Pn({strict:!1,name:"ButtonGroupContext"}),pme={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},gme={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},Gi=Ze(function(t,n){const{size:r,colorScheme:i,variant:o,className:a,spacing:s="0.5rem",isAttached:l,isDisabled:u,orientation:d="horizontal",...h}=t,m=xt("chakra-button__group",a),y=S.useMemo(()=>({size:r,colorScheme:i,variant:o,isDisabled:u}),[r,i,o,u]);let b={display:"inline-flex",...l?pme[d]:gme[d](s)};const w=d==="vertical";return g.jsx(fme,{value:y,children:g.jsx(Ne.div,{ref:n,role:"group",__css:b,className:m,"data-attached":l?"":void 0,"data-orientation":d,flexDir:w?"column":void 0,...h})})});Gi.displayName="ButtonGroup";function mme(e){const[t,n]=S.useState(!e);return{ref:S.useCallback(o=>{o&&n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}function H_(e){const{children:t,className:n,...r}=e,i=S.isValidElement(t)?S.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=xt("chakra-button__icon",n);return g.jsx(Ne.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o,children:i})}H_.displayName="ButtonIcon";function a3(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=g.jsx(p0,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:a,...s}=e,l=xt("chakra-button__spinner",o),u=n==="start"?"marginEnd":"marginStart",d=S.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[u]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,u,r]);return g.jsx(Ne.div,{className:l,...s,__css:d,children:i})}a3.displayName="ButtonSpinner";var ss=Ze((e,t)=>{const n=hme(),r=au("Button",{...n,...e}),{isDisabled:i=n==null?void 0:n.isDisabled,isLoading:o,isActive:a,children:s,leftIcon:l,rightIcon:u,loadingText:d,iconSpacing:h="0.5rem",type:m,spinner:y,spinnerPlacement:b="start",className:w,as:E,..._}=fr(e),k=S.useMemo(()=>{const D={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:D}}},[r,n]),{ref:T,type:L}=mme(E),O={rightIcon:u,leftIcon:l,iconSpacing:h,children:s};return g.jsxs(Ne.button,{ref:Fge(t,T),as:E,type:m??L,"data-active":Bt(a),"data-loading":Bt(o),__css:k,className:xt("chakra-button",w),..._,disabled:i||o,children:[o&&b==="start"&&g.jsx(a3,{className:"chakra-button__spinner--start",label:d,placement:"start",spacing:h,children:y}),o?d||g.jsx(Ne.span,{opacity:0,children:g.jsx(zA,{...O})}):g.jsx(zA,{...O}),o&&b==="end"&&g.jsx(a3,{className:"chakra-button__spinner--end",label:d,placement:"end",spacing:h,children:y})]})});ss.displayName="Button";function zA(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return g.jsxs(g.Fragment,{children:[t&&g.jsx(H_,{marginEnd:i,children:t}),r,n&&g.jsx(H_,{marginStart:i,children:n})]})}var ls=Ze((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...a}=e,s=n||r,l=S.isValidElement(s)?S.cloneElement(s,{"aria-hidden":!0,focusable:!1}):null;return g.jsx(ss,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...a,children:l})});ls.displayName="IconButton";var[gNe,vme]=Pn({name:"CheckboxGroupContext",strict:!1});function yme(e){return g.jsx(Ne.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:g.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function bme(e){return g.jsx(Ne.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:g.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function xme(e){const{isIndeterminate:t,isChecked:n,...r}=e,i=t?bme:yme;return n||t?g.jsx(Ne.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:g.jsx(i,{...r})}):null}var[Sme,sz]=Pn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[wme,ip]=Pn({strict:!1,name:"FormControlContext"});function Cme(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...a}=e,s=S.useId(),l=t||`field-${s}`,u=`${l}-label`,d=`${l}-feedback`,h=`${l}-helptext`,[m,y]=S.useState(!1),[b,w]=S.useState(!1),[E,_]=S.useState(!1),k=S.useCallback((I={},N=null)=>({id:h,...I,ref:Rn(N,W=>{W&&w(!0)})}),[h]),T=S.useCallback((I={},N=null)=>{var W,B;return{...I,ref:N,"data-focus":Bt(E),"data-disabled":Bt(i),"data-invalid":Bt(r),"data-readonly":Bt(o),id:(W=I.id)!=null?W:u,htmlFor:(B=I.htmlFor)!=null?B:l}},[l,i,E,r,o,u]),L=S.useCallback((I={},N=null)=>({id:d,...I,ref:Rn(N,W=>{W&&y(!0)}),"aria-live":"polite"}),[d]),O=S.useCallback((I={},N=null)=>({...I,...a,ref:N,role:"group"}),[a]),D=S.useCallback((I={},N=null)=>({...I,ref:N,role:"presentation","aria-hidden":!0,children:I.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!E,onFocus:()=>_(!0),onBlur:()=>_(!1),hasFeedbackText:m,setHasFeedbackText:y,hasHelpText:b,setHasHelpText:w,id:l,labelId:u,feedbackId:d,helpTextId:h,htmlProps:a,getHelpTextProps:k,getErrorMessageProps:L,getRootProps:O,getLabelProps:T,getRequiredIndicatorProps:D}}var sn=Ze(function(t,n){const r=Yi("Form",t),i=fr(t),{getRootProps:o,htmlProps:a,...s}=Cme(i),l=xt("chakra-form-control",t.className);return g.jsx(wme,{value:s,children:g.jsx(Sme,{value:r,children:g.jsx(Ne.div,{...o({},n),className:l,__css:r.container})})})});sn.displayName="FormControl";var sr=Ze(function(t,n){const r=ip(),i=sz(),o=xt("chakra-form__helper-text",t.className);return g.jsx(Ne.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:i.helperText,className:o})});sr.displayName="FormHelperText";var[_me,kme]=Pn({name:"FormErrorStylesContext",errorMessage:`useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),lr=Ze((e,t)=>{const n=Yi("FormError",e),r=fr(e),i=ip();return i!=null&&i.isInvalid?g.jsx(_me,{value:n,children:g.jsx(Ne.div,{...i==null?void 0:i.getErrorMessageProps(r,t),className:xt("chakra-form__error-message",e.className),__css:{display:"flex",alignItems:"center",...n.text}})}):null});lr.displayName="FormErrorMessage";var Eme=Ze((e,t)=>{const n=kme(),r=ip();if(!(r!=null&&r.isInvalid))return null;const i=xt("chakra-form__error-icon",e.className);return g.jsx(ja,{ref:t,"aria-hidden":!0,...e,__css:n.icon,className:i,children:g.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})});Eme.displayName="FormErrorIcon";var Sn=Ze(function(t,n){var r;const i=au("FormLabel",t),o=fr(t),{className:a,children:s,requiredIndicator:l=g.jsx(lz,{}),optionalIndicator:u=null,...d}=o,h=ip(),m=(r=h==null?void 0:h.getLabelProps(d,n))!=null?r:{ref:n,...d};return g.jsxs(Ne.label,{...m,className:xt("chakra-form__label",o.className),__css:{display:"block",textAlign:"start",...i},children:[s,h!=null&&h.isRequired?l:u]})});Sn.displayName="FormLabel";var lz=Ze(function(t,n){const r=ip(),i=sz();if(!(r!=null&&r.isRequired))return null;const o=xt("chakra-form__required-indicator",t.className);return g.jsx(Ne.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});lz.displayName="RequiredIndicator";function f8(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=h8(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Uu(n),"aria-required":Uu(i),"aria-readonly":Uu(r)}}function h8(e){var t,n,r;const i=ip(),{id:o,disabled:a,readOnly:s,required:l,isRequired:u,isInvalid:d,isReadOnly:h,isDisabled:m,onFocus:y,onBlur:b,...w}=e,E=e["aria-describedby"]?[e["aria-describedby"]]:[];return i!=null&&i.hasFeedbackText&&(i!=null&&i.isInvalid)&&E.push(i.feedbackId),i!=null&&i.hasHelpText&&E.push(i.helpTextId),{...w,"aria-describedby":E.join(" ")||void 0,id:o??(i==null?void 0:i.id),isDisabled:(t=a??m)!=null?t:i==null?void 0:i.isDisabled,isReadOnly:(n=s??h)!=null?n:i==null?void 0:i.isReadOnly,isRequired:(r=l??u)!=null?r:i==null?void 0:i.isRequired,isInvalid:d??(i==null?void 0:i.isInvalid),onFocus:ht(i==null?void 0:i.onFocus,y),onBlur:ht(i==null?void 0:i.onBlur,b)}}var Pme={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},HA=!1,s2=null,qh=!1,W_=!1,U_=new Set;function p8(e,t){U_.forEach(n=>n(e,t))}var Tme=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function Mme(e){return!(e.metaKey||!Tme&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function WA(e){qh=!0,Mme(e)&&(s2="keyboard",p8("keyboard",e))}function xg(e){if(s2="pointer",e.type==="mousedown"||e.type==="pointerdown"){qh=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;p8("pointer",e)}}function Lme(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function Ame(e){Lme(e)&&(qh=!0,s2="virtual")}function Ome(e){e.target===window||e.target===document||(!qh&&!W_&&(s2="virtual",p8("virtual",e)),qh=!1,W_=!1)}function Rme(){qh=!1,W_=!0}function UA(){return s2!=="pointer"}function Ime(){if(typeof window>"u"||HA)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){qh=!0,e.apply(this,n)},document.addEventListener("keydown",WA,!0),document.addEventListener("keyup",WA,!0),document.addEventListener("click",Ame,!0),window.addEventListener("focus",Ome,!0),window.addEventListener("blur",Rme,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",xg,!0),document.addEventListener("pointermove",xg,!0),document.addEventListener("pointerup",xg,!0)):(document.addEventListener("mousedown",xg,!0),document.addEventListener("mousemove",xg,!0),document.addEventListener("mouseup",xg,!0)),HA=!0}function uz(e){Ime(),e(UA());const t=()=>e(UA());return U_.add(t),()=>{U_.delete(t)}}function Dme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function cz(e={}){const t=h8(e),{isDisabled:n,isReadOnly:r,isRequired:i,isInvalid:o,id:a,onBlur:s,onFocus:l,"aria-describedby":u}=t,{defaultChecked:d,isChecked:h,isFocusable:m,onChange:y,isIndeterminate:b,name:w,value:E,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":T,"aria-invalid":L,...O}=e,D=Dme(O,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),I=Qr(y),N=Qr(s),W=Qr(l),[B,K]=S.useState(!1),[ne,z]=S.useState(!1),[$,V]=S.useState(!1),[X,Q]=S.useState(!1);S.useEffect(()=>uz(K),[]);const G=S.useRef(null),[Y,ee]=S.useState(!0),[fe,Ce]=S.useState(!!d),we=h!==void 0,xe=we?h:fe,Le=S.useCallback(Fe=>{if(r||n){Fe.preventDefault();return}we||Ce(xe?Fe.target.checked:b?!0:Fe.target.checked),I==null||I(Fe)},[r,n,xe,we,b,I]);Vl(()=>{G.current&&(G.current.indeterminate=Boolean(b))},[b]),rc(()=>{n&&z(!1)},[n,z]),Vl(()=>{const Fe=G.current;Fe!=null&&Fe.form&&(Fe.form.onreset=()=>{Ce(!!d)})},[]);const Se=n&&!m,Qe=S.useCallback(Fe=>{Fe.key===" "&&Q(!0)},[Q]),Xe=S.useCallback(Fe=>{Fe.key===" "&&Q(!1)},[Q]);Vl(()=>{if(!G.current)return;G.current.checked!==xe&&Ce(G.current.checked)},[G.current]);const tt=S.useCallback((Fe={},at=null)=>{const jt=mt=>{ne&&mt.preventDefault(),Q(!0)};return{...Fe,ref:at,"data-active":Bt(X),"data-hover":Bt($),"data-checked":Bt(xe),"data-focus":Bt(ne),"data-focus-visible":Bt(ne&&B),"data-indeterminate":Bt(b),"data-disabled":Bt(n),"data-invalid":Bt(o),"data-readonly":Bt(r),"aria-hidden":!0,onMouseDown:ht(Fe.onMouseDown,jt),onMouseUp:ht(Fe.onMouseUp,()=>Q(!1)),onMouseEnter:ht(Fe.onMouseEnter,()=>V(!0)),onMouseLeave:ht(Fe.onMouseLeave,()=>V(!1))}},[X,xe,n,ne,B,$,b,o,r]),yt=S.useCallback((Fe={},at=null)=>({...D,...Fe,ref:Rn(at,jt=>{jt&&ee(jt.tagName==="LABEL")}),onClick:ht(Fe.onClick,()=>{var jt;Y||((jt=G.current)==null||jt.click(),requestAnimationFrame(()=>{var mt;(mt=G.current)==null||mt.focus()}))}),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[D,n,xe,o,Y]),Be=S.useCallback((Fe={},at=null)=>({...Fe,ref:Rn(G,at),type:"checkbox",name:w,value:E,id:a,tabIndex:_,onChange:ht(Fe.onChange,Le),onBlur:ht(Fe.onBlur,N,()=>z(!1)),onFocus:ht(Fe.onFocus,W,()=>z(!0)),onKeyDown:ht(Fe.onKeyDown,Qe),onKeyUp:ht(Fe.onKeyUp,Xe),required:i,checked:xe,disabled:Se,readOnly:r,"aria-label":k,"aria-labelledby":T,"aria-invalid":L?Boolean(L):o,"aria-describedby":u,"aria-disabled":n,style:Pme}),[w,E,a,Le,N,W,Qe,Xe,i,xe,Se,r,k,T,L,o,u,n,_]),Ae=S.useCallback((Fe={},at=null)=>({...Fe,ref:at,onMouseDown:ht(Fe.onMouseDown,VA),onTouchStart:ht(Fe.onTouchStart,VA),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[xe,n,o]);return{state:{isInvalid:o,isFocused:ne,isChecked:xe,isActive:X,isHovered:$,isIndeterminate:b,isDisabled:n,isReadOnly:r,isRequired:i},getRootProps:yt,getCheckboxProps:tt,getInputProps:Be,getLabelProps:Ae,htmlProps:D}}function VA(e){e.preventDefault(),e.stopPropagation()}var jme={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},Nme={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},$me=nf({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),Fme=nf({from:{opacity:0},to:{opacity:1}}),Bme=nf({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),dz=Ze(function(t,n){const r=vme(),i={...r,...t},o=Yi("Checkbox",i),a=fr(t),{spacing:s="0.5rem",className:l,children:u,iconColor:d,iconSize:h,icon:m=g.jsx(xme,{}),isChecked:y,isDisabled:b=r==null?void 0:r.isDisabled,onChange:w,inputProps:E,..._}=a;let k=y;r!=null&&r.value&&a.value&&(k=r.value.includes(a.value));let T=w;r!=null&&r.onChange&&a.value&&(T=Sw(r.onChange,w));const{state:L,getInputProps:O,getCheckboxProps:D,getLabelProps:I,getRootProps:N}=cz({..._,isDisabled:b,isChecked:k,onChange:T}),W=S.useMemo(()=>({animation:L.isIndeterminate?`${Fme} 20ms linear, ${Bme} 200ms linear`:`${$me} 200ms linear`,fontSize:h,color:d,...o.icon}),[d,h,,L.isIndeterminate,o.icon]),B=S.cloneElement(m,{__css:W,isIndeterminate:L.isIndeterminate,isChecked:L.isChecked});return g.jsxs(Ne.label,{__css:{...Nme,...o.container},className:xt("chakra-checkbox",l),...N(),children:[g.jsx("input",{className:"chakra-checkbox__input",...O(E,n)}),g.jsx(Ne.span,{__css:{...jme,...o.control},className:"chakra-checkbox__control",...D(),children:B}),u&&g.jsx(Ne.span,{className:"chakra-checkbox__label",...I(),__css:{marginStart:s,...o.label},children:u})]})});dz.displayName="Checkbox";function zme(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function g8(e,t){let n=zme(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function V_(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function GA(e,t,n){return(e-t)*100/(n-t)}function Hme(e,t,n){return(n-t)*e+t}function qA(e,t,n){const r=Math.round((e-t)/n)*n+t,i=V_(n);return g8(r,i)}function Qx(e,t,n){return e==null?e:(n{var B;return r==null?"":(B=lC(r,o,n))!=null?B:""}),m=typeof i<"u",y=m?i:d,b=fz(dd(y),o),w=n??b,E=S.useCallback(B=>{B!==y&&(m||h(B.toString()),u==null||u(B.toString(),dd(B)))},[u,m,y]),_=S.useCallback(B=>{let K=B;return l&&(K=Qx(K,a,s)),g8(K,w)},[w,l,s,a]),k=S.useCallback((B=o)=>{let K;y===""?K=dd(B):K=dd(y)+B,K=_(K),E(K)},[_,o,E,y]),T=S.useCallback((B=o)=>{let K;y===""?K=dd(-B):K=dd(y)-B,K=_(K),E(K)},[_,o,E,y]),L=S.useCallback(()=>{var B;let K;r==null?K="":K=(B=lC(r,o,n))!=null?B:a,E(K)},[r,n,o,E,a]),O=S.useCallback(B=>{var K;const ne=(K=lC(B,o,w))!=null?K:a;E(ne)},[w,o,E,a]),D=dd(y);return{isOutOfRange:D>s||D{const o=typeof e=="function"?e():e??document;if(!(!n||!o))return o.addEventListener(t,i,r),()=>{o.removeEventListener(t,i,r)}},[t,e,r,i,n]),()=>{const o=typeof e=="function"?e():e??document;o==null||o.removeEventListener(t,i,r)}}function Ume(e){return"current"in e}var hz=()=>typeof window<"u";function Vme(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var Gme=e=>hz()&&e.test(navigator.vendor),qme=e=>hz()&&e.test(Vme()),Kme=()=>qme(/mac|iphone|ipad|ipod/i),Yme=()=>Kme()&&Gme(/apple/i);function Xme(e){const{ref:t,elements:n,enabled:r}=e,i=()=>{var o,a;return(a=(o=t.current)==null?void 0:o.ownerDocument)!=null?a:document};Dh(i,"pointerdown",o=>{if(!Yme()||!r)return;const a=o.target,l=(n??[t]).some(u=>{const d=Ume(u)?u.current:u;return(d==null?void 0:d.contains(a))||d===a});i().activeElement!==a&&l&&(o.preventDefault(),a.focus())})}function m8(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var An={},Zme={get exports(){return An},set exports(e){An=e}},Qme="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Jme=Qme,e0e=Jme;function pz(){}function gz(){}gz.resetWarningCache=pz;var t0e=function(){function e(r,i,o,a,s,l){if(l!==e0e){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:gz,resetWarningCache:pz};return n.PropTypes=n,n};Zme.exports=t0e();var G_="data-focus-lock",mz="data-focus-lock-disabled",n0e="data-no-focus-lock",r0e="data-autofocus-inside",i0e="data-no-autofocus";function o0e(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function a0e(e,t){var n=S.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=t,n.facade}function vz(e,t){return a0e(t||null,function(n){return e.forEach(function(r){return o0e(r,n)})})}var uC={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function yz(e){return e}function bz(e,t){t===void 0&&(t=yz);var n=[],r=!1,i={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var a=t(o,r);return n.push(a),function(){n=n.filter(function(s){return s!==a})}},assignSyncMedium:function(o){for(r=!0;n.length;){var a=n;n=[],a.forEach(o)}n={push:function(s){return o(s)},filter:function(){return n}}},assignMedium:function(o){r=!0;var a=[];if(n.length){var s=n;n=[],s.forEach(o),a=n}var l=function(){var d=a;a=[],d.forEach(o)},u=function(){return Promise.resolve().then(l)};u(),n={push:function(d){a.push(d),u()},filter:function(d){return a=a.filter(d),n}}}};return i}function v8(e,t){return t===void 0&&(t=yz),bz(e,t)}function xz(e){e===void 0&&(e={});var t=bz(null);return t.options=Nl({async:!0,ssr:!1},e),t}var Sz=function(e){var t=e.sideCar,n=YB(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return S.createElement(r,Nl({},n))};Sz.isSideCarExport=!0;function s0e(e,t){return e.useMedium(t),Sz}var wz=v8({},function(e){var t=e.target,n=e.currentTarget;return{target:t,currentTarget:n}}),Cz=v8(),l0e=v8(),u0e=xz({async:!0}),c0e=[],y8=S.forwardRef(function(t,n){var r,i=S.useState(),o=i[0],a=i[1],s=S.useRef(),l=S.useRef(!1),u=S.useRef(null),d=t.children,h=t.disabled,m=t.noFocusGuards,y=t.persistentFocus,b=t.crossFrame,w=t.autoFocus;t.allowTextSelection;var E=t.group,_=t.className,k=t.whiteList,T=t.hasPositiveIndices,L=t.shards,O=L===void 0?c0e:L,D=t.as,I=D===void 0?"div":D,N=t.lockProps,W=N===void 0?{}:N,B=t.sideCar,K=t.returnFocus,ne=t.focusOptions,z=t.onActivation,$=t.onDeactivation,V=S.useState({}),X=V[0],Q=S.useCallback(function(){u.current=u.current||document&&document.activeElement,s.current&&z&&z(s.current),l.current=!0},[z]),G=S.useCallback(function(){l.current=!1,$&&$(s.current)},[$]);S.useEffect(function(){h||(u.current=null)},[]);var Y=S.useCallback(function(Qe){var Xe=u.current;if(Xe&&Xe.focus){var tt=typeof K=="function"?K(Xe):K;if(tt){var yt=typeof tt=="object"?tt:void 0;u.current=null,Qe?Promise.resolve().then(function(){return Xe.focus(yt)}):Xe.focus(yt)}}},[K]),ee=S.useCallback(function(Qe){l.current&&wz.useMedium(Qe)},[]),fe=Cz.useMedium,Ce=S.useCallback(function(Qe){s.current!==Qe&&(s.current=Qe,a(Qe))},[]),we=pn((r={},r[mz]=h&&"disabled",r[G_]=E,r),W),xe=m!==!0,Le=xe&&m!=="tail",Se=vz([n,Ce]);return S.createElement(S.Fragment,null,xe&&[S.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:h?-1:0,style:uC}),T?S.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:h?-1:1,style:uC}):null],!h&&S.createElement(B,{id:X,sideCar:u0e,observed:o,disabled:h,persistentFocus:y,crossFrame:b,autoFocus:w,whiteList:k,shards:O,onActivation:Q,onDeactivation:G,returnFocus:Y,focusOptions:ne}),S.createElement(I,pn({ref:Se},we,{className:_,onBlur:fe,onFocus:ee}),d),Le&&S.createElement("div",{"data-focus-guard":!0,tabIndex:h?-1:0,style:uC}))});y8.propTypes={};y8.defaultProps={children:void 0,disabled:!1,returnFocus:!1,focusOptions:void 0,noFocusGuards:!1,autoFocus:!0,persistentFocus:!1,crossFrame:!0,hasPositiveIndices:void 0,allowTextSelection:void 0,group:void 0,className:void 0,whiteList:void 0,shards:void 0,as:"div",lockProps:{},onActivation:void 0,onDeactivation:void 0};const _z=y8;function s3(e,t){return s3=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},s3(e,t)}function b8(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,s3(e,t)}function Ks(e){return Ks=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},Ks(e)}function d0e(e,t){if(Ks(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Ks(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kz(e){var t=d0e(e,"string");return Ks(t)==="symbol"?t:String(t)}function fs(e,t,n){return t=kz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f0e(e,t){function n(r){return r.displayName||r.name||"Component"}return function(i){var o=[],a;function s(){a=e(o.map(function(u){return u.props})),t(a)}var l=function(u){b8(d,u);function d(){return u.apply(this,arguments)||this}d.peek=function(){return a};var h=d.prototype;return h.componentDidMount=function(){o.push(this),s()},h.componentDidUpdate=function(){s()},h.componentWillUnmount=function(){var y=o.indexOf(this);o.splice(y,1),s()},h.render=function(){return Ke.createElement(i,this.props)},d}(S.PureComponent);return fs(l,"displayName","SideEffect("+n(i)+")"),l}}var lu=function(e){for(var t=Array(e.length),n=0;n=0}).sort(x0e)},S0e=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],S8=S0e.join(","),w0e="".concat(S8,", [data-focus-guard]"),Dz=function(e,t){return lu((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?w0e:S8)?[r]:[],Dz(r))},[])},C0e=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?Nw([e.contentDocument.body],t):[e]},Nw=function(e,t){return e.reduce(function(n,r){var i,o=Dz(r,t),a=(i=[]).concat.apply(i,o.map(function(s){return C0e(s,t)}));return n.concat(a,r.parentNode?lu(r.parentNode.querySelectorAll(S8)).filter(function(s){return s===r}):[])},[])},_0e=function(e){var t=e.querySelectorAll("[".concat(r0e,"]"));return lu(t).map(function(n){return Nw([n])}).reduce(function(n,r){return n.concat(r)},[])},w8=function(e,t){return lu(e).filter(function(n){return Mz(t,n)}).filter(function(n){return v0e(n)})},KA=function(e,t){return t===void 0&&(t=new Map),lu(e).filter(function(n){return Lz(t,n)})},q_=function(e,t,n){return Iz(w8(Nw(e,n),t),!0,n)},YA=function(e,t){return Iz(w8(Nw(e),t),!1)},k0e=function(e,t){return w8(_0e(e),t)},_m=function(e,t){return e.shadowRoot?_m(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:lu(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var i=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return i?_m(i,t):!1}return _m(n,t)})},E0e=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(i),(o&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,s){return!t.has(s)})},jz=function(e){return e.parentNode?jz(e.parentNode):e},C8=function(e){var t=l3(e);return t.filter(Boolean).reduce(function(n,r){var i=r.getAttribute(G_);return n.push.apply(n,i?E0e(lu(jz(r).querySelectorAll("[".concat(G_,'="').concat(i,'"]:not([').concat(mz,'="disabled"])')))):[r]),n},[])},P0e=function(e){try{return e()}catch{return}},Ty=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Ty(t.shadowRoot):t instanceof HTMLIFrameElement&&P0e(function(){return t.contentWindow.document})?Ty(t.contentWindow.document):t}},T0e=function(e,t){return e===t},M0e=function(e,t){return Boolean(lu(e.querySelectorAll("iframe")).some(function(n){return T0e(n,t)}))},Nz=function(e,t){return t===void 0&&(t=Ty(Ez(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:C8(e).some(function(n){return _m(n,t)||M0e(n,t)})},L0e=function(e){e===void 0&&(e=document);var t=Ty(e);return t?lu(e.querySelectorAll("[".concat(n0e,"]"))).some(function(n){return _m(n,t)}):!1},A0e=function(e,t){return t.filter(Rz).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},_8=function(e,t){return Rz(e)&&e.name?A0e(e,t):e},O0e=function(e){var t=new Set;return e.forEach(function(n){return t.add(_8(n,e))}),e.filter(function(n){return t.has(n)})},XA=function(e){return e[0]&&e.length>1?_8(e[0],e):e[0]},ZA=function(e,t){return e.length>1?e.indexOf(_8(e[t],e)):t},$z="NEW_FOCUS",R0e=function(e,t,n,r){var i=e.length,o=e[0],a=e[i-1],s=x8(n);if(!(n&&e.indexOf(n)>=0)){var l=n!==void 0?t.indexOf(n):-1,u=r?t.indexOf(r):l,d=r?e.indexOf(r):-1,h=l-u,m=t.indexOf(o),y=t.indexOf(a),b=O0e(t),w=n!==void 0?b.indexOf(n):-1,E=w-(r?b.indexOf(r):l),_=ZA(e,0),k=ZA(e,i-1);if(l===-1||d===-1)return $z;if(!h&&d>=0)return d;if(l<=m&&s&&Math.abs(h)>1)return k;if(l>=y&&s&&Math.abs(h)>1)return _;if(h&&Math.abs(E)>1)return d;if(l<=m)return k;if(l>y)return _;if(h)return Math.abs(h)>1?d:(i+d+h)%i}},I0e=function(e){return function(t){var n,r=(n=Az(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},D0e=function(e,t,n){var r=e.map(function(o){var a=o.node;return a}),i=KA(r.filter(I0e(n)));return i&&i.length?XA(i):XA(KA(t))},K_=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&K_(e.parentNode.host||e.parentNode,t),t},cC=function(e,t){for(var n=K_(e),r=K_(t),i=0;i=0)return o}return!1},Fz=function(e,t,n){var r=l3(e),i=l3(t),o=r[0],a=!1;return i.filter(Boolean).forEach(function(s){a=cC(a||s,s)||a,n.filter(Boolean).forEach(function(l){var u=cC(o,l);u&&(!a||_m(u,a)?a=u:a=cC(u,a))})}),a},j0e=function(e,t){return e.reduce(function(n,r){return n.concat(k0e(r,t))},[])},N0e=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(b0e)},$0e=function(e,t){var n=Ty(l3(e).length>0?document:Ez(e).ownerDocument),r=C8(e).filter(u3),i=Fz(n||e,e,r),o=new Map,a=YA(r,o),s=q_(r,o).filter(function(y){var b=y.node;return u3(b)});if(!(!s[0]&&(s=a,!s[0]))){var l=YA([i],o).map(function(y){var b=y.node;return b}),u=N0e(l,s),d=u.map(function(y){var b=y.node;return b}),h=R0e(d,l,n,t);if(h===$z){var m=D0e(a,d,j0e(r,o));if(m)return{node:m};console.warn("focus-lock: cannot find any node to move focus into");return}return h===void 0?h:u[h]}},F0e=function(e){var t=C8(e).filter(u3),n=Fz(e,e,t),r=new Map,i=q_([n],r,!0),o=q_(t,r).filter(function(a){var s=a.node;return u3(s)}).map(function(a){var s=a.node;return s});return i.map(function(a){var s=a.node,l=a.index;return{node:s,index:l,lockItem:o.indexOf(s)>=0,guard:x8(s)}})},B0e=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},dC=0,fC=!1,Bz=function(e,t,n){n===void 0&&(n={});var r=$0e(e,t);if(!fC&&r){if(dC>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),fC=!0,setTimeout(function(){fC=!1},1);return}dC++,B0e(r.node,n.focusOptions),dC--}};function zz(e){var t=window,n=t.setImmediate;typeof n<"u"?n(e):setTimeout(e,1)}var z0e=function(){return document&&document.activeElement===document.body},H0e=function(){return z0e()||L0e()},km=null,am=null,Em=null,My=!1,W0e=function(){return!0},U0e=function(t){return(km.whiteList||W0e)(t)},V0e=function(t,n){Em={observerNode:t,portaledElement:n}},G0e=function(t){return Em&&Em.portaledElement===t};function QA(e,t,n,r){var i=null,o=e;do{var a=r[o];if(a.guard)a.node.dataset.focusAutoGuard&&(i=a);else if(a.lockItem){if(o!==e)return;i=null}else break}while((o+=n)!==t);i&&(i.node.tabIndex=0)}var q0e=function(t){return t&&"current"in t?t.current:t},K0e=function(t){return t?Boolean(My):My==="meanwhile"},Y0e=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},X0e=function(t,n){return n.some(function(r){return Y0e(t,r,r)})},c3=function(){var t=!1;if(km){var n=km,r=n.observed,i=n.persistentFocus,o=n.autoFocus,a=n.shards,s=n.crossFrame,l=n.focusOptions,u=r||Em&&Em.portaledElement,d=document&&document.activeElement;if(u){var h=[u].concat(a.map(q0e).filter(Boolean));if((!d||U0e(d))&&(i||K0e(s)||!H0e()||!am&&o)&&(u&&!(Nz(h)||d&&X0e(d,h)||G0e(d))&&(document&&!am&&d&&!o?(d.blur&&d.blur(),document.body.focus()):(t=Bz(h,am,{focusOptions:l}),Em={})),My=!1,am=document&&document.activeElement),document){var m=document&&document.activeElement,y=F0e(h),b=y.map(function(w){var E=w.node;return E}).indexOf(m);b>-1&&(y.filter(function(w){var E=w.guard,_=w.node;return E&&_.dataset.focusAutoGuard}).forEach(function(w){var E=w.node;return E.removeAttribute("tabIndex")}),QA(b,y.length,1,y),QA(b,-1,-1,y))}}}return t},Hz=function(t){c3()&&t&&(t.stopPropagation(),t.preventDefault())},k8=function(){return zz(c3)},Z0e=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||V0e(r,n)},Q0e=function(){return null},Wz=function(){My="just",setTimeout(function(){My="meanwhile"},0)},J0e=function(){document.addEventListener("focusin",Hz),document.addEventListener("focusout",k8),window.addEventListener("blur",Wz)},eve=function(){document.removeEventListener("focusin",Hz),document.removeEventListener("focusout",k8),window.removeEventListener("blur",Wz)};function tve(e){return e.filter(function(t){var n=t.disabled;return!n})}function nve(e){var t=e.slice(-1)[0];t&&!km&&J0e();var n=km,r=n&&t&&t.id===n.id;km=t,n&&!r&&(n.onDeactivation(),e.filter(function(i){var o=i.id;return o===n.id}).length||n.returnFocus(!t)),t?(am=null,(!r||n.observed!==t.observed)&&t.onActivation(),c3(),zz(c3)):(eve(),am=null)}wz.assignSyncMedium(Z0e);Cz.assignMedium(k8);l0e.assignMedium(function(e){return e({moveFocusInside:Bz,focusInside:Nz})});const rve=f0e(tve,nve)(Q0e);var Uz=S.forwardRef(function(t,n){return S.createElement(_z,pn({sideCar:rve,ref:n},t))}),Vz=_z.propTypes||{};Vz.sideCar;m8(Vz,["sideCar"]);Uz.propTypes={};const JA=Uz;function Gz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function qz(e){var t;if(!Gz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function ive(e){var t,n;return(n=(t=Kz(e))==null?void 0:t.defaultView)!=null?n:window}function Kz(e){return Gz(e)?e.ownerDocument:document}function ove(e){return Kz(e).activeElement}var Yz=e=>e.hasAttribute("tabindex"),ave=e=>Yz(e)&&e.tabIndex===-1;function sve(e){return Boolean(e.getAttribute("disabled"))===!0||Boolean(e.getAttribute("aria-disabled"))===!0}function Xz(e){return e.parentElement&&Xz(e.parentElement)?!0:e.hidden}function lve(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Zz(e){if(!qz(e)||Xz(e)||sve(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():lve(e)?!0:Yz(e)}function uve(e){return e?qz(e)&&Zz(e)&&!ave(e):!1}var cve=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],dve=cve.join(),fve=e=>e.offsetWidth>0&&e.offsetHeight>0;function Qz(e){const t=Array.from(e.querySelectorAll(dve));return t.unshift(e),t.filter(n=>Zz(n)&&fve(n))}var eO,hve=(eO=JA.default)!=null?eO:JA,Jz=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:i,children:o,isDisabled:a,autoFocus:s,persistentFocus:l,lockFocusAcrossFrames:u}=e,d=S.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Qz(r.current).length===0&&requestAnimationFrame(()=>{var b;(b=r.current)==null||b.focus()})},[t,r]),h=S.useCallback(()=>{var y;(y=n==null?void 0:n.current)==null||y.focus()},[n]),m=i&&!n;return g.jsx(hve,{crossFrame:u,persistentFocus:l,autoFocus:s,disabled:a,onActivation:d,onDeactivation:h,returnFocus:m,children:o})};Jz.displayName="FocusLock";var pve=fce?S.useLayoutEffect:S.useEffect;function tO(e,t=[]){const n=S.useRef(e);return pve(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function gve(e,t){const n=S.useId();return S.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function mve(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Kd(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=tO(n),a=tO(t),[s,l]=S.useState(e.defaultIsOpen||!1),[u,d]=mve(r,s),h=gve(i,"disclosure"),m=S.useCallback(()=>{u||l(!1),a==null||a()},[u,a]),y=S.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),b=S.useCallback(()=>{(d?m:y)()},[d,y,m]);return{isOpen:!!d,onOpen:y,onClose:m,onToggle:b,isControlled:u,getButtonProps:(w={})=>({...w,"aria-expanded":d,"aria-controls":h,onClick:vce(w.onClick,b)}),getDisclosureProps:(w={})=>({...w,hidden:!d,id:h})}}var E8=Ze(function(t,n){const{htmlSize:r,...i}=t,o=Yi("Input",i),a=fr(i),s=f8(a),l=xt("chakra-input",t.className);return g.jsx(Ne.input,{size:r,...s,__css:o.field,ref:n,className:l})});E8.displayName="Input";E8.id="Input";var[vve,eH]=Pn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),P8=Ze(function(t,n){const r=Yi("List",t),{children:i,styleType:o="none",stylePosition:a,spacing:s,...l}=fr(t),u=d8(i),h=s?{["& > *:not(style) ~ *:not(style)"]:{mt:s}}:{};return g.jsx(vve,{value:r,children:g.jsx(Ne.ul,{ref:n,listStyleType:o,listStylePosition:a,role:"list",__css:{...r.container,...h},...l,children:u})})});P8.displayName="List";var yve=Ze((e,t)=>{const{as:n,...r}=e;return g.jsx(P8,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});yve.displayName="OrderedList";var tH=Ze(function(t,n){const{as:r,...i}=t;return g.jsx(P8,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...i})});tH.displayName="UnorderedList";var f1=Ze(function(t,n){const r=eH();return g.jsx(Ne.li,{ref:n,...t,__css:r.item})});f1.displayName="ListItem";var bve=Ze(function(t,n){const r=eH();return g.jsx(ja,{ref:n,role:"presentation",...t,__css:r.icon})});bve.displayName="ListIcon";function nH(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):ko(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var rH=Ne("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});rH.displayName="Spacer";var Dt=Ze(function(t,n){const r=au("Text",t),{className:i,align:o,decoration:a,casing:s,...l}=fr(t),u=Rce({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return g.jsx(Ne.p,{ref:n,className:xt("chakra-text",t.className),...u,...l,__css:r})});Dt.displayName="Text";var iH=e=>g.jsx(Ne.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});iH.displayName="StackItem";var Y_="& > *:not(style) ~ *:not(style)";function xve(e){const{spacing:t,direction:n}=e,r={column:{marginTop:t,marginEnd:0,marginBottom:0,marginStart:0},row:{marginTop:0,marginEnd:0,marginBottom:0,marginStart:t},"column-reverse":{marginTop:0,marginEnd:0,marginBottom:t,marginStart:0},"row-reverse":{marginTop:0,marginEnd:t,marginBottom:0,marginStart:0}};return{flexDirection:n,[Y_]:nH(n,i=>r[i])}}function Sve(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":nH(n,i=>r[i])}}var T8=Ze((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:a="0.5rem",wrap:s,children:l,divider:u,className:d,shouldWrapChildren:h,...m}=e,y=n?"row":r??"column",b=S.useMemo(()=>xve({direction:y,spacing:a}),[y,a]),w=S.useMemo(()=>Sve({spacing:a,direction:y}),[a,y]),E=!!u,_=!h&&!E,k=S.useMemo(()=>{const L=d8(l);return _?L:L.map((O,D)=>{const I=typeof O.key<"u"?O.key:D,N=D+1===L.length,B=h?g.jsx(iH,{children:O},I):O;if(!E)return B;const K=S.cloneElement(u,{__css:w}),ne=N?null:K;return g.jsxs(S.Fragment,{children:[B,ne]},I)})},[u,w,E,_,h,l]),T=xt("chakra-stack",d);return g.jsx(Ne.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:b.flexDirection,flexWrap:s,className:T,__css:E?{}:{[Y_]:b[Y_]},...m,children:k})});T8.displayName="Stack";var hn=Ze((e,t)=>g.jsx(T8,{align:"center",...e,direction:"column",ref:t}));hn.displayName="VStack";var l2=Ze((e,t)=>g.jsx(T8,{align:"center",...e,direction:"row",ref:t}));l2.displayName="HStack";var jh=Ze(function(t,n){const r=au("Heading",t),{className:i,...o}=fr(t);return g.jsx(Ne.h2,{ref:n,className:xt("chakra-heading",t.className),...o,__css:r})});jh.displayName="Heading";var ao=Ne("div");ao.displayName="Box";var oH=Ze(function(t,n){const{size:r,centerContent:i=!0,...o}=t,a=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return g.jsx(ao,{ref:n,boxSize:r,__css:{...a,flexShrink:0,flexGrow:0},...o})});oH.displayName="Square";var wve=Ze(function(t,n){const{size:r,...i}=t;return g.jsx(oH,{size:r,ref:n,borderRadius:"9999px",...i})});wve.displayName="Circle";var Nh=Ze(function(t,n){const r=au("Link",t),{className:i,isExternal:o,...a}=fr(t);return g.jsx(Ne.a,{target:o?"_blank":void 0,rel:o?"noopener":void 0,ref:n,className:xt("chakra-link",i),...a,__css:r})});Nh.displayName="Link";var aH=Ne("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});aH.displayName="Center";var Cve={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}};Ze(function(t,n){const{axis:r="both",...i}=t;return g.jsx(Ne.div,{ref:n,__css:Cve[r],...i,position:"absolute"})});var ke=Ze(function(t,n){const{direction:r,align:i,justify:o,wrap:a,basis:s,grow:l,shrink:u,...d}=t,h={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:a,flexBasis:s,flexGrow:l,flexShrink:u};return g.jsx(Ne.div,{ref:n,__css:h,...d})});ke.displayName="Flex";function _ve(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function kve(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,i]=S.useState([]),o=S.useRef(),a=()=>{o.current&&(clearTimeout(o.current),o.current=null)},s=()=>{a(),o.current=setTimeout(()=>{i([]),o.current=null},t)};S.useEffect(()=>a,[]);function l(u){return d=>{if(d.key==="Backspace"){const h=[...r];h.pop(),i(h);return}if(_ve(d)){const h=r.concat(d.key);n(d)&&(d.preventDefault(),d.stopPropagation()),i(h),u(h.join("")),s()}}}return l}function Eve(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const i=e.filter(o=>n(o).toLowerCase().startsWith(t.toLowerCase()));if(i.length>0){let o;return i.includes(r)?(o=i.indexOf(r)+1,o===i.length&&(o=0),i[o]):(o=e.indexOf(i[0]),e[o])}return r}function Pve(){const e=S.useRef(new Map),t=e.current,n=S.useCallback((i,o,a,s)=>{e.current.set(a,{type:o,el:i,options:s}),i.addEventListener(o,a,s)},[]),r=S.useCallback((i,o,a,s)=>{i.removeEventListener(o,a,s),e.current.delete(a)},[]);return S.useEffect(()=>()=>{t.forEach((i,o)=>{r(i.el,i.type,o,i.options)})},[r,t]),{add:n,remove:r}}function hC(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function sH(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:i=!0,clickOnSpace:o=!0,onMouseDown:a,onMouseUp:s,onClick:l,onKeyDown:u,onKeyUp:d,tabIndex:h,onMouseOver:m,onMouseLeave:y,...b}=e,[w,E]=S.useState(!0),[_,k]=S.useState(!1),T=Pve(),L=Q=>{Q&&Q.tagName!=="BUTTON"&&E(!1)},O=w?h:h||0,D=n&&!r,I=S.useCallback(Q=>{if(n){Q.stopPropagation(),Q.preventDefault();return}Q.currentTarget.focus(),l==null||l(Q)},[n,l]),N=S.useCallback(Q=>{_&&hC(Q)&&(Q.preventDefault(),Q.stopPropagation(),k(!1),T.remove(document,"keyup",N,!1))},[_,T]),W=S.useCallback(Q=>{if(u==null||u(Q),n||Q.defaultPrevented||Q.metaKey||!hC(Q.nativeEvent)||w)return;const G=i&&Q.key==="Enter";o&&Q.key===" "&&(Q.preventDefault(),k(!0)),G&&(Q.preventDefault(),Q.currentTarget.click()),T.add(document,"keyup",N,!1)},[n,w,u,i,o,T,N]),B=S.useCallback(Q=>{if(d==null||d(Q),n||Q.defaultPrevented||Q.metaKey||!hC(Q.nativeEvent)||w)return;o&&Q.key===" "&&(Q.preventDefault(),k(!1),Q.currentTarget.click())},[o,w,n,d]),K=S.useCallback(Q=>{Q.button===0&&(k(!1),T.remove(document,"mouseup",K,!1))},[T]),ne=S.useCallback(Q=>{if(Q.button!==0)return;if(n){Q.stopPropagation(),Q.preventDefault();return}w||k(!0),Q.currentTarget.focus({preventScroll:!0}),T.add(document,"mouseup",K,!1),a==null||a(Q)},[n,w,a,T,K]),z=S.useCallback(Q=>{Q.button===0&&(w||k(!1),s==null||s(Q))},[s,w]),$=S.useCallback(Q=>{if(n){Q.preventDefault();return}m==null||m(Q)},[n,m]),V=S.useCallback(Q=>{_&&(Q.preventDefault(),k(!1)),y==null||y(Q)},[_,y]),X=Rn(t,L);return w?{...b,ref:X,type:"button","aria-disabled":D?void 0:n,disabled:D,onClick:I,onMouseDown:a,onMouseUp:s,onKeyUp:d,onKeyDown:u,onMouseOver:m,onMouseLeave:y}:{...b,ref:X,role:"button","data-active":Bt(_),"aria-disabled":n?"true":void 0,tabIndex:D?void 0:O,onClick:I,onMouseDown:ne,onMouseUp:z,onKeyUp:B,onKeyDown:W,onMouseOver:$,onMouseLeave:V}}function Tve(e){const t=e.current;if(!t)return!1;const n=ove(t);return!n||t.contains(n)?!1:!!uve(n)}function lH(e,t){const{shouldFocus:n,visible:r,focusRef:i}=t,o=n&&!r;rc(()=>{if(!o||Tve(e))return;const a=(i==null?void 0:i.current)||e.current;a&&requestAnimationFrame(()=>{a.focus()})},[o,e,i])}var Mve={preventScroll:!0,shouldFocus:!1};function Lve(e,t=Mve){const{focusRef:n,preventScroll:r,shouldFocus:i,visible:o}=t,a=Ave(e)?e.current:e,s=i&&o,l=S.useRef(s),u=S.useRef(o);Vl(()=>{!u.current&&o&&(l.current=s),u.current=o},[o,s]);const d=S.useCallback(()=>{if(!(!o||!a||!l.current)&&(l.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var h;(h=n.current)==null||h.focus({preventScroll:r})});else{const h=Qz(a);h.length>0&&requestAnimationFrame(()=>{h[0].focus({preventScroll:r})})}},[o,r,a,n]);rc(()=>{d()},[d]),Dh(a,"transitionend",d)}function Ave(e){return"current"in e}var Sg=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),ii={arrowShadowColor:Sg("--popper-arrow-shadow-color"),arrowSize:Sg("--popper-arrow-size","8px"),arrowSizeHalf:Sg("--popper-arrow-size-half"),arrowBg:Sg("--popper-arrow-bg"),transformOrigin:Sg("--popper-transform-origin"),arrowOffset:Sg("--popper-arrow-offset")};function Ove(e){if(e.includes("top"))return"1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 1px 0 var(--popper-arrow-shadow-color)"}var Rve={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},Ive=e=>Rve[e],nO={scroll:!0,resize:!0};function Dve(e){let t;return typeof e=="object"?t={enabled:!0,options:{...nO,...e}}:t={enabled:e,options:nO},t}var jve={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},Nve={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{rO(e)},effect:({state:e})=>()=>{rO(e)}},rO=e=>{e.elements.popper.style.setProperty(ii.transformOrigin.var,Ive(e.placement))},$ve={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Fve(e)}},Fve=e=>{var t;if(!e.placement)return;const n=Bve(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:ii.arrowSize.varRef,height:ii.arrowSize.varRef,zIndex:-1});const r={[ii.arrowSizeHalf.var]:`calc(${ii.arrowSize.varRef} / 2)`,[ii.arrowOffset.var]:`calc(${ii.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},Bve=e=>{if(e.startsWith("top"))return{property:"bottom",value:ii.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:ii.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:ii.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:ii.arrowOffset.varRef}},zve={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{iO(e)},effect:({state:e})=>()=>{iO(e)}},iO=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=Ove(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:ii.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},Hve={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},Wve={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function Uve(e,t="ltr"){var n,r;const i=((n=Hve[e])==null?void 0:n[t])||e;return t==="ltr"?i:(r=Wve[e])!=null?r:i}var Zo="top",us="bottom",cs="right",Qo="left",M8="auto",u2=[Zo,us,cs,Qo],qm="start",Ly="end",Vve="clippingParents",uH="viewport",Uv="popper",Gve="reference",oO=u2.reduce(function(e,t){return e.concat([t+"-"+qm,t+"-"+Ly])},[]),cH=[].concat(u2,[M8]).reduce(function(e,t){return e.concat([t,t+"-"+qm,t+"-"+Ly])},[]),qve="beforeRead",Kve="read",Yve="afterRead",Xve="beforeMain",Zve="main",Qve="afterMain",Jve="beforeWrite",e1e="write",t1e="afterWrite",n1e=[qve,Kve,Yve,Xve,Zve,Qve,Jve,e1e,t1e];function nu(e){return e?(e.nodeName||"").toLowerCase():null}function hs(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Kh(e){var t=hs(e).Element;return e instanceof t||e instanceof Element}function is(e){var t=hs(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function L8(e){if(typeof ShadowRoot>"u")return!1;var t=hs(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function r1e(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!is(o)||!nu(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(a){var s=i[a];s===!1?o.removeAttribute(a):o.setAttribute(a,s===!0?"":s)}))})}function i1e(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],o=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),s=a.reduce(function(l,u){return l[u]="",l},{});!is(i)||!nu(i)||(Object.assign(i.style,s),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const o1e={name:"applyStyles",enabled:!0,phase:"write",fn:r1e,effect:i1e,requires:["computeStyles"]};function Zl(e){return e.split("-")[0]}var $h=Math.max,d3=Math.min,Km=Math.round;function X_(){var e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function dH(){return!/^((?!chrome|android).)*safari/i.test(X_())}function Ym(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&is(e)&&(i=e.offsetWidth>0&&Km(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Km(r.height)/e.offsetHeight||1);var a=Kh(e)?hs(e):window,s=a.visualViewport,l=!dH()&&n,u=(r.left+(l&&s?s.offsetLeft:0))/i,d=(r.top+(l&&s?s.offsetTop:0))/o,h=r.width/i,m=r.height/o;return{width:h,height:m,top:d,right:u+h,bottom:d+m,left:u,x:u,y:d}}function A8(e){var t=Ym(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function fH(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&L8(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ic(e){return hs(e).getComputedStyle(e)}function a1e(e){return["table","td","th"].indexOf(nu(e))>=0}function lf(e){return((Kh(e)?e.ownerDocument:e.document)||window.document).documentElement}function $w(e){return nu(e)==="html"?e:e.assignedSlot||e.parentNode||(L8(e)?e.host:null)||lf(e)}function aO(e){return!is(e)||ic(e).position==="fixed"?null:e.offsetParent}function s1e(e){var t=/firefox/i.test(X_()),n=/Trident/i.test(X_());if(n&&is(e)){var r=ic(e);if(r.position==="fixed")return null}var i=$w(e);for(L8(i)&&(i=i.host);is(i)&&["html","body"].indexOf(nu(i))<0;){var o=ic(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function c2(e){for(var t=hs(e),n=aO(e);n&&a1e(n)&&ic(n).position==="static";)n=aO(n);return n&&(nu(n)==="html"||nu(n)==="body"&&ic(n).position==="static")?t:n||s1e(e)||t}function O8(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function W1(e,t,n){return $h(e,d3(t,n))}function l1e(e,t,n){var r=W1(e,t,n);return r>n?n:r}function hH(){return{top:0,right:0,bottom:0,left:0}}function pH(e){return Object.assign({},hH(),e)}function gH(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var u1e=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,pH(typeof t!="number"?t:gH(t,u2))};function c1e(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,s=Zl(n.placement),l=O8(s),u=[Qo,cs].indexOf(s)>=0,d=u?"height":"width";if(!(!o||!a)){var h=u1e(i.padding,n),m=A8(o),y=l==="y"?Zo:Qo,b=l==="y"?us:cs,w=n.rects.reference[d]+n.rects.reference[l]-a[l]-n.rects.popper[d],E=a[l]-n.rects.reference[l],_=c2(o),k=_?l==="y"?_.clientHeight||0:_.clientWidth||0:0,T=w/2-E/2,L=h[y],O=k-m[d]-h[b],D=k/2-m[d]/2+T,I=W1(L,D,O),N=l;n.modifiersData[r]=(t={},t[N]=I,t.centerOffset=I-D,t)}}function d1e(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||fH(t.elements.popper,i)&&(t.elements.arrow=i))}const f1e={name:"arrow",enabled:!0,phase:"main",fn:c1e,effect:d1e,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Xm(e){return e.split("-")[1]}var h1e={top:"auto",right:"auto",bottom:"auto",left:"auto"};function p1e(e){var t=e.x,n=e.y,r=window,i=r.devicePixelRatio||1;return{x:Km(t*i)/i||0,y:Km(n*i)/i||0}}function sO(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,d=e.roundOffsets,h=e.isFixed,m=a.x,y=m===void 0?0:m,b=a.y,w=b===void 0?0:b,E=typeof d=="function"?d({x:y,y:w}):{x:y,y:w};y=E.x,w=E.y;var _=a.hasOwnProperty("x"),k=a.hasOwnProperty("y"),T=Qo,L=Zo,O=window;if(u){var D=c2(n),I="clientHeight",N="clientWidth";if(D===hs(n)&&(D=lf(n),ic(D).position!=="static"&&s==="absolute"&&(I="scrollHeight",N="scrollWidth")),D=D,i===Zo||(i===Qo||i===cs)&&o===Ly){L=us;var W=h&&D===O&&O.visualViewport?O.visualViewport.height:D[I];w-=W-r.height,w*=l?1:-1}if(i===Qo||(i===Zo||i===us)&&o===Ly){T=cs;var B=h&&D===O&&O.visualViewport?O.visualViewport.width:D[N];y-=B-r.width,y*=l?1:-1}}var K=Object.assign({position:s},u&&h1e),ne=d===!0?p1e({x:y,y:w}):{x:y,y:w};if(y=ne.x,w=ne.y,l){var z;return Object.assign({},K,(z={},z[L]=k?"0":"",z[T]=_?"0":"",z.transform=(O.devicePixelRatio||1)<=1?"translate("+y+"px, "+w+"px)":"translate3d("+y+"px, "+w+"px, 0)",z))}return Object.assign({},K,(t={},t[L]=k?w+"px":"",t[T]=_?y+"px":"",t.transform="",t))}function g1e(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,s=n.roundOffsets,l=s===void 0?!0:s,u={placement:Zl(t.placement),variation:Xm(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,sO(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,sO(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const m1e={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:g1e,data:{}};var Vb={passive:!0};function v1e(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,a=r.resize,s=a===void 0?!0:a,l=hs(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(d){d.addEventListener("scroll",n.update,Vb)}),s&&l.addEventListener("resize",n.update,Vb),function(){o&&u.forEach(function(d){d.removeEventListener("scroll",n.update,Vb)}),s&&l.removeEventListener("resize",n.update,Vb)}}const y1e={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:v1e,data:{}};var b1e={left:"right",right:"left",bottom:"top",top:"bottom"};function Jx(e){return e.replace(/left|right|bottom|top/g,function(t){return b1e[t]})}var x1e={start:"end",end:"start"};function lO(e){return e.replace(/start|end/g,function(t){return x1e[t]})}function R8(e){var t=hs(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function I8(e){return Ym(lf(e)).left+R8(e).scrollLeft}function S1e(e,t){var n=hs(e),r=lf(e),i=n.visualViewport,o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;var u=dH();(u||!u&&t==="fixed")&&(s=i.offsetLeft,l=i.offsetTop)}return{width:o,height:a,x:s+I8(e),y:l}}function w1e(e){var t,n=lf(e),r=R8(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=$h(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=$h(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-r.scrollLeft+I8(e),l=-r.scrollTop;return ic(i||n).direction==="rtl"&&(s+=$h(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:l}}function D8(e){var t=ic(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function mH(e){return["html","body","#document"].indexOf(nu(e))>=0?e.ownerDocument.body:is(e)&&D8(e)?e:mH($w(e))}function U1(e,t){var n;t===void 0&&(t=[]);var r=mH(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=hs(r),a=i?[o].concat(o.visualViewport||[],D8(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(U1($w(a)))}function Z_(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function C1e(e,t){var n=Ym(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function uO(e,t,n){return t===uH?Z_(S1e(e,n)):Kh(t)?C1e(t,n):Z_(w1e(lf(e)))}function _1e(e){var t=U1($w(e)),n=["absolute","fixed"].indexOf(ic(e).position)>=0,r=n&&is(e)?c2(e):e;return Kh(r)?t.filter(function(i){return Kh(i)&&fH(i,r)&&nu(i)!=="body"}):[]}function k1e(e,t,n,r){var i=t==="clippingParents"?_1e(e):[].concat(t),o=[].concat(i,[n]),a=o[0],s=o.reduce(function(l,u){var d=uO(e,u,r);return l.top=$h(d.top,l.top),l.right=d3(d.right,l.right),l.bottom=d3(d.bottom,l.bottom),l.left=$h(d.left,l.left),l},uO(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function vH(e){var t=e.reference,n=e.element,r=e.placement,i=r?Zl(r):null,o=r?Xm(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(i){case Zo:l={x:a,y:t.y-n.height};break;case us:l={x:a,y:t.y+t.height};break;case cs:l={x:t.x+t.width,y:s};break;case Qo:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var u=i?O8(i):null;if(u!=null){var d=u==="y"?"height":"width";switch(o){case qm:l[u]=l[u]-(t[d]/2-n[d]/2);break;case Ly:l[u]=l[u]+(t[d]/2-n[d]/2);break}}return l}function Ay(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,s=n.boundary,l=s===void 0?Vve:s,u=n.rootBoundary,d=u===void 0?uH:u,h=n.elementContext,m=h===void 0?Uv:h,y=n.altBoundary,b=y===void 0?!1:y,w=n.padding,E=w===void 0?0:w,_=pH(typeof E!="number"?E:gH(E,u2)),k=m===Uv?Gve:Uv,T=e.rects.popper,L=e.elements[b?k:m],O=k1e(Kh(L)?L:L.contextElement||lf(e.elements.popper),l,d,a),D=Ym(e.elements.reference),I=vH({reference:D,element:T,strategy:"absolute",placement:i}),N=Z_(Object.assign({},T,I)),W=m===Uv?N:D,B={top:O.top-W.top+_.top,bottom:W.bottom-O.bottom+_.bottom,left:O.left-W.left+_.left,right:W.right-O.right+_.right},K=e.modifiersData.offset;if(m===Uv&&K){var ne=K[i];Object.keys(B).forEach(function(z){var $=[cs,us].indexOf(z)>=0?1:-1,V=[Zo,us].indexOf(z)>=0?"y":"x";B[z]+=ne[V]*$})}return B}function E1e(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?cH:l,d=Xm(r),h=d?s?oO:oO.filter(function(b){return Xm(b)===d}):u2,m=h.filter(function(b){return u.indexOf(b)>=0});m.length===0&&(m=h);var y=m.reduce(function(b,w){return b[w]=Ay(e,{placement:w,boundary:i,rootBoundary:o,padding:a})[Zl(w)],b},{});return Object.keys(y).sort(function(b,w){return y[b]-y[w]})}function P1e(e){if(Zl(e)===M8)return[];var t=Jx(e);return[lO(e),t,lO(t)]}function T1e(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,d=n.boundary,h=n.rootBoundary,m=n.altBoundary,y=n.flipVariations,b=y===void 0?!0:y,w=n.allowedAutoPlacements,E=t.options.placement,_=Zl(E),k=_===E,T=l||(k||!b?[Jx(E)]:P1e(E)),L=[E].concat(T).reduce(function(xe,Le){return xe.concat(Zl(Le)===M8?E1e(t,{placement:Le,boundary:d,rootBoundary:h,padding:u,flipVariations:b,allowedAutoPlacements:w}):Le)},[]),O=t.rects.reference,D=t.rects.popper,I=new Map,N=!0,W=L[0],B=0;B=0,V=$?"width":"height",X=Ay(t,{placement:K,boundary:d,rootBoundary:h,altBoundary:m,padding:u}),Q=$?z?cs:Qo:z?us:Zo;O[V]>D[V]&&(Q=Jx(Q));var G=Jx(Q),Y=[];if(o&&Y.push(X[ne]<=0),s&&Y.push(X[Q]<=0,X[G]<=0),Y.every(function(xe){return xe})){W=K,N=!1;break}I.set(K,Y)}if(N)for(var ee=b?3:1,fe=function(Le){var Se=L.find(function(Qe){var Xe=I.get(Qe);if(Xe)return Xe.slice(0,Le).every(function(tt){return tt})});if(Se)return W=Se,"break"},Ce=ee;Ce>0;Ce--){var we=fe(Ce);if(we==="break")break}t.placement!==W&&(t.modifiersData[r]._skip=!0,t.placement=W,t.reset=!0)}}const M1e={name:"flip",enabled:!0,phase:"main",fn:T1e,requiresIfExists:["offset"],data:{_skip:!1}};function cO(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function dO(e){return[Zo,cs,us,Qo].some(function(t){return e[t]>=0})}function L1e(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Ay(t,{elementContext:"reference"}),s=Ay(t,{altBoundary:!0}),l=cO(a,r),u=cO(s,i,o),d=dO(l),h=dO(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":h})}const A1e={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:L1e};function O1e(e,t,n){var r=Zl(e),i=[Qo,Zo].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[Qo,cs].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function R1e(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,a=cH.reduce(function(d,h){return d[h]=O1e(h,t.rects,o),d},{}),s=a[t.placement],l=s.x,u=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=a}const I1e={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:R1e};function D1e(e){var t=e.state,n=e.name;t.modifiersData[n]=vH({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const j1e={name:"popperOffsets",enabled:!0,phase:"read",fn:D1e,data:{}};function N1e(e){return e==="x"?"y":"x"}function $1e(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,h=n.padding,m=n.tether,y=m===void 0?!0:m,b=n.tetherOffset,w=b===void 0?0:b,E=Ay(t,{boundary:l,rootBoundary:u,padding:h,altBoundary:d}),_=Zl(t.placement),k=Xm(t.placement),T=!k,L=O8(_),O=N1e(L),D=t.modifiersData.popperOffsets,I=t.rects.reference,N=t.rects.popper,W=typeof w=="function"?w(Object.assign({},t.rects,{placement:t.placement})):w,B=typeof W=="number"?{mainAxis:W,altAxis:W}:Object.assign({mainAxis:0,altAxis:0},W),K=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,ne={x:0,y:0};if(D){if(o){var z,$=L==="y"?Zo:Qo,V=L==="y"?us:cs,X=L==="y"?"height":"width",Q=D[L],G=Q+E[$],Y=Q-E[V],ee=y?-N[X]/2:0,fe=k===qm?I[X]:N[X],Ce=k===qm?-N[X]:-I[X],we=t.elements.arrow,xe=y&&we?A8(we):{width:0,height:0},Le=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:hH(),Se=Le[$],Qe=Le[V],Xe=W1(0,I[X],xe[X]),tt=T?I[X]/2-ee-Xe-Se-B.mainAxis:fe-Xe-Se-B.mainAxis,yt=T?-I[X]/2+ee+Xe+Qe+B.mainAxis:Ce+Xe+Qe+B.mainAxis,Be=t.elements.arrow&&c2(t.elements.arrow),Ae=Be?L==="y"?Be.clientTop||0:Be.clientLeft||0:0,bt=(z=K==null?void 0:K[L])!=null?z:0,Fe=Q+tt-bt-Ae,at=Q+yt-bt,jt=W1(y?d3(G,Fe):G,Q,y?$h(Y,at):Y);D[L]=jt,ne[L]=jt-Q}if(s){var mt,Zt=L==="x"?Zo:Qo,on=L==="x"?us:cs,se=D[O],Ie=O==="y"?"height":"width",He=se+E[Zt],Ue=se-E[on],ye=[Zo,Qo].indexOf(_)!==-1,je=(mt=K==null?void 0:K[O])!=null?mt:0,vt=ye?He:se-I[Ie]-N[Ie]-je+B.altAxis,Mt=ye?se+I[Ie]+N[Ie]-je-B.altAxis:Ue,Me=y&&ye?l1e(vt,se,Mt):W1(y?vt:He,se,y?Mt:Ue);D[O]=Me,ne[O]=Me-se}t.modifiersData[r]=ne}}const F1e={name:"preventOverflow",enabled:!0,phase:"main",fn:$1e,requiresIfExists:["offset"]};function B1e(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function z1e(e){return e===hs(e)||!is(e)?R8(e):B1e(e)}function H1e(e){var t=e.getBoundingClientRect(),n=Km(t.width)/e.offsetWidth||1,r=Km(t.height)/e.offsetHeight||1;return n!==1||r!==1}function W1e(e,t,n){n===void 0&&(n=!1);var r=is(t),i=is(t)&&H1e(t),o=lf(t),a=Ym(e,i,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((nu(t)!=="body"||D8(o))&&(s=z1e(t)),is(t)?(l=Ym(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=I8(o))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function U1e(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var l=t.get(s);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function V1e(e){var t=U1e(e);return n1e.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function G1e(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function q1e(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var fO={placement:"bottom",modifiers:[],strategy:"absolute"};function hO(){for(var e=arguments.length,t=new Array(e),n=0;n{}),T=S.useCallback(()=>{var B;!t||!b.current||!w.current||((B=k.current)==null||B.call(k),E.current=X1e(b.current,w.current,{placement:_,modifiers:[zve,$ve,Nve,{...jve,enabled:!!m},{name:"eventListeners",...Dve(a)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:s??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!h,options:{boundary:d}},...n??[]],strategy:i}),E.current.forceUpdate(),k.current=E.current.destroy)},[_,t,n,m,a,o,s,l,u,h,d,i]);S.useEffect(()=>()=>{var B;!b.current&&!w.current&&((B=E.current)==null||B.destroy(),E.current=null)},[]);const L=S.useCallback(B=>{b.current=B,T()},[T]),O=S.useCallback((B={},K=null)=>({...B,ref:Rn(L,K)}),[L]),D=S.useCallback(B=>{w.current=B,T()},[T]),I=S.useCallback((B={},K=null)=>({...B,ref:Rn(D,K),style:{...B.style,position:i,minWidth:m?void 0:"max-content",inset:"0 auto auto 0"}}),[i,D,m]),N=S.useCallback((B={},K=null)=>{const{size:ne,shadowColor:z,bg:$,style:V,...X}=B;return{...X,ref:K,"data-popper-arrow":"",style:Z1e(B)}},[]),W=S.useCallback((B={},K=null)=>({...B,ref:K,"data-popper-arrow-inner":""}),[]);return{update(){var B;(B=E.current)==null||B.update()},forceUpdate(){var B;(B=E.current)==null||B.forceUpdate()},transformOrigin:ii.transformOrigin.varRef,referenceRef:L,popperRef:D,getPopperProps:I,getArrowProps:N,getArrowInnerProps:W,getReferenceProps:O}}function Z1e(e){const{size:t,shadowColor:n,bg:r,style:i}=e,o={...i,position:"absolute"};return t&&(o["--popper-arrow-size"]=t),n&&(o["--popper-arrow-shadow-color"]=n),r&&(o["--popper-arrow-bg"]=r),o}function N8(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=Qr(n),a=Qr(t),[s,l]=S.useState(e.defaultIsOpen||!1),u=r!==void 0?r:s,d=r!==void 0,h=S.useId(),m=i??`disclosure-${h}`,y=S.useCallback(()=>{d||l(!1),a==null||a()},[d,a]),b=S.useCallback(()=>{d||l(!0),o==null||o()},[d,o]),w=S.useCallback(()=>{u?y():b()},[u,b,y]);function E(k={}){return{...k,"aria-expanded":u,"aria-controls":m,onClick(T){var L;(L=k.onClick)==null||L.call(k,T),w()}}}function _(k={}){return{...k,hidden:!u,id:m}}return{isOpen:u,onOpen:b,onClose:y,onToggle:w,isControlled:d,getButtonProps:E,getDisclosureProps:_}}function Q1e(e){const{ref:t,handler:n,enabled:r=!0}=e,i=Qr(n),a=S.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;S.useEffect(()=>{if(!r)return;const s=h=>{pC(h,t)&&(a.isPointerDown=!0)},l=h=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&pC(h,t)&&(a.isPointerDown=!1,i(h))},u=h=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&pC(h,t)&&(a.isPointerDown=!1,i(h))},d=yH(t.current);return d.addEventListener("mousedown",s,!0),d.addEventListener("mouseup",l,!0),d.addEventListener("touchstart",s,!0),d.addEventListener("touchend",u,!0),()=>{d.removeEventListener("mousedown",s,!0),d.removeEventListener("mouseup",l,!0),d.removeEventListener("touchstart",s,!0),d.removeEventListener("touchend",u,!0)}},[n,t,i,a,r])}function pC(e,t){var n;const r=e.target;return e.button>0||r&&!yH(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function yH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function bH(e){const{isOpen:t,ref:n}=e,[r,i]=S.useState(t),[o,a]=S.useState(!1);return S.useEffect(()=>{o||(i(t),a(!0))},[t,o,r]),Dh(()=>n.current,"animationend",()=>{i(t)}),{present:!(t?!1:!r),onComplete(){var l;const u=ive(n.current),d=new u.CustomEvent("animationend",{bubbles:!0});(l=n.current)==null||l.dispatchEvent(d)}}}function $8(e){const{wasSelected:t,enabled:n,isSelected:r,mode:i="unmount"}=e;return!!(!n||r||i==="keepMounted"&&t)}var[J1e,eye,tye,nye]=a8(),[rye,d2]=Pn({strict:!1,name:"MenuContext"});function iye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}function xH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function pO(e){return xH(e).activeElement===e}function oye(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:i,autoSelect:o=!0,isLazy:a,isOpen:s,defaultIsOpen:l,onClose:u,onOpen:d,placement:h="bottom-start",lazyBehavior:m="unmount",direction:y,computePositionOnMount:b=!1,...w}=e,E=S.useRef(null),_=S.useRef(null),k=tye(),T=S.useCallback(()=>{requestAnimationFrame(()=>{var we;(we=E.current)==null||we.focus({preventScroll:!1})})},[]),L=S.useCallback(()=>{const we=setTimeout(()=>{var xe;if(i)(xe=i.current)==null||xe.focus();else{const Le=k.firstEnabled();Le&&z(Le.index)}});G.current.add(we)},[k,i]),O=S.useCallback(()=>{const we=setTimeout(()=>{const xe=k.lastEnabled();xe&&z(xe.index)});G.current.add(we)},[k]),D=S.useCallback(()=>{d==null||d(),o?L():T()},[o,L,T,d]),{isOpen:I,onOpen:N,onClose:W,onToggle:B}=N8({isOpen:s,defaultIsOpen:l,onClose:u,onOpen:D});Q1e({enabled:I&&r,ref:E,handler:we=>{var xe;(xe=_.current)!=null&&xe.contains(we.target)||W()}});const K=j8({...w,enabled:I||b,placement:h,direction:y}),[ne,z]=S.useState(-1);rc(()=>{I||z(-1)},[I]),lH(E,{focusRef:_,visible:I,shouldFocus:!0});const $=bH({isOpen:I,ref:E}),[V,X]=iye(t,"menu-button","menu-list"),Q=S.useCallback(()=>{N(),T()},[N,T]),G=S.useRef(new Set([]));fye(()=>{G.current.forEach(we=>clearTimeout(we)),G.current.clear()});const Y=S.useCallback(()=>{N(),L()},[L,N]),ee=S.useCallback(()=>{N(),O()},[N,O]),fe=S.useCallback(()=>{var we,xe;const Le=xH(E.current),Se=(we=E.current)==null?void 0:we.contains(Le.activeElement);if(!(I&&!Se))return;const Xe=(xe=k.item(ne))==null?void 0:xe.node;Xe==null||Xe.focus()},[I,ne,k]),Ce=S.useRef(null);return{openAndFocusMenu:Q,openAndFocusFirstItem:Y,openAndFocusLastItem:ee,onTransitionEnd:fe,unstable__animationState:$,descendants:k,popper:K,buttonId:V,menuId:X,forceUpdate:K.forceUpdate,orientation:"vertical",isOpen:I,onToggle:B,onOpen:N,onClose:W,menuRef:E,buttonRef:_,focusedIndex:ne,closeOnSelect:n,closeOnBlur:r,autoSelect:o,setFocusedIndex:z,isLazy:a,lazyBehavior:m,initialFocusRef:i,rafId:Ce}}function aye(e={},t=null){const n=d2(),{onToggle:r,popper:i,openAndFocusFirstItem:o,openAndFocusLastItem:a}=n,s=S.useCallback(l=>{const u=l.key,h={Enter:o,ArrowDown:o,ArrowUp:a}[u];h&&(l.preventDefault(),l.stopPropagation(),h(l))},[o,a]);return{...e,ref:Rn(n.buttonRef,t,i.referenceRef),id:n.buttonId,"data-active":Bt(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:ht(e.onClick,r),onKeyDown:ht(e.onKeyDown,s)}}function Q_(e){var t;return cye(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function sye(e={},t=null){const n=d2();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:i,menuRef:o,isOpen:a,onClose:s,menuId:l,isLazy:u,lazyBehavior:d,unstable__animationState:h}=n,m=eye(),y=kve({preventDefault:_=>_.key!==" "&&Q_(_.target)}),b=S.useCallback(_=>{const k=_.key,L={Tab:D=>D.preventDefault(),Escape:s,ArrowDown:()=>{const D=m.nextEnabled(r);D&&i(D.index)},ArrowUp:()=>{const D=m.prevEnabled(r);D&&i(D.index)}}[k];if(L){_.preventDefault(),L(_);return}const O=y(D=>{const I=Eve(m.values(),D,N=>{var W,B;return(B=(W=N==null?void 0:N.node)==null?void 0:W.textContent)!=null?B:""},m.item(r));if(I){const N=m.indexOf(I.node);i(N)}});Q_(_.target)&&O(_)},[m,r,y,s,i]),w=S.useRef(!1);a&&(w.current=!0);const E=$8({wasSelected:w.current,enabled:u,mode:d,isSelected:h.present});return{...e,ref:Rn(o,t),children:E?e.children:null,tabIndex:-1,role:"menu",id:l,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:ht(e.onKeyDown,b)}}function lye(e={}){const{popper:t,isOpen:n}=d2();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function uye(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onClick:o,onFocus:a,isDisabled:s,isFocusable:l,closeOnSelect:u,type:d,...h}=e,m=d2(),{setFocusedIndex:y,focusedIndex:b,closeOnSelect:w,onClose:E,menuRef:_,isOpen:k,menuId:T,rafId:L}=m,O=S.useRef(null),D=`${T}-menuitem-${S.useId()}`,{index:I,register:N}=nye({disabled:s&&!l}),W=S.useCallback(Q=>{n==null||n(Q),!s&&y(I)},[y,I,s,n]),B=S.useCallback(Q=>{r==null||r(Q),O.current&&!pO(O.current)&&W(Q)},[W,r]),K=S.useCallback(Q=>{i==null||i(Q),!s&&y(-1)},[y,s,i]),ne=S.useCallback(Q=>{o==null||o(Q),Q_(Q.currentTarget)&&(u??w)&&E()},[E,o,w,u]),z=S.useCallback(Q=>{a==null||a(Q),y(I)},[y,a,I]),$=I===b,V=s&&!l;rc(()=>{k&&($&&!V&&O.current?(L.current&&cancelAnimationFrame(L.current),L.current=requestAnimationFrame(()=>{var Q;(Q=O.current)==null||Q.focus(),L.current=null})):_.current&&!pO(_.current)&&_.current.focus())},[$,V,_,k]);const X=sH({onClick:ne,onFocus:z,onMouseEnter:W,onMouseMove:B,onMouseLeave:K,ref:Rn(N,O,t),isDisabled:s,isFocusable:l});return{...h,...X,type:d??X.type,id:D,role:"menuitem",tabIndex:$?0:-1}}function cye(e){var t;if(!dye(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function dye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function fye(e,t=[]){return S.useEffect(()=>()=>e(),t)}var[hye,Fw]=Pn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),SH=e=>{const{children:t}=e,n=Yi("Menu",e),r=fr(e),{direction:i}=Zy(),{descendants:o,...a}=oye({...r,direction:i}),s=S.useMemo(()=>a,[a]),{isOpen:l,onClose:u,forceUpdate:d}=s;return g.jsx(J1e,{value:o,children:g.jsx(rye,{value:s,children:g.jsx(hye,{value:n,children:ts(t,{isOpen:l,onClose:u,forceUpdate:d})})})})};SH.displayName="Menu";var wH=Ze((e,t)=>{const n=Fw();return g.jsx(Ne.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});wH.displayName="MenuCommand";var pye=Ze((e,t)=>{const{type:n,...r}=e,i=Fw(),o=r.as||n?n??void 0:"button",a=S.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...i.item}),[i.item]);return g.jsx(Ne.button,{ref:t,type:o,...r,__css:a})}),CH=e=>{const{className:t,children:n,...r}=e,i=S.Children.only(n),o=S.isValidElement(i)?S.cloneElement(i,{focusable:"false","aria-hidden":!0,className:xt("chakra-menu__icon",i.props.className)}):null,a=xt("chakra-menu__icon-wrapper",t);return g.jsx(Ne.span,{className:a,...r,__css:{flexShrink:0},children:o})};CH.displayName="MenuIcon";var _H=Ze((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:i,commandSpacing:o="0.75rem",children:a,...s}=e,l=uye(s,t),d=n||i?g.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return g.jsxs(pye,{...l,className:xt("chakra-menu__menuitem",l.className),children:[n&&g.jsx(CH,{fontSize:"0.8em",marginEnd:r,children:n}),d,i&&g.jsx(wH,{marginStart:o,children:i})]})});_H.displayName="MenuItem";var gye={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},mye=Ne(su.div),kH=Ze(function(t,n){var r,i;const{rootProps:o,motionProps:a,...s}=t,{isOpen:l,onTransitionEnd:u,unstable__animationState:d}=d2(),h=sye(s,n),m=lye(o),y=Fw();return g.jsx(Ne.div,{...m,__css:{zIndex:(i=t.zIndex)!=null?i:(r=y.list)==null?void 0:r.zIndex},children:g.jsx(mye,{variants:gye,initial:!1,animate:l?"enter":"exit",__css:{outline:0,...y.list},...a,className:xt("chakra-menu__menu-list",h.className),...h,onUpdate:u,onAnimationComplete:Sw(d.onComplete,h.onAnimationComplete)})})});kH.displayName="MenuList";var vye=Ze((e,t)=>{const n=Fw();return g.jsx(Ne.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),EH=Ze((e,t)=>{const{children:n,as:r,...i}=e,o=aye(i,t),a=r||vye;return g.jsx(a,{...o,className:xt("chakra-menu__menu-button",e.className),children:g.jsx(Ne.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});EH.displayName="MenuButton";var yye={slideInBottom:{...B_,custom:{offsetY:16,reverse:!0}},slideInRight:{...B_,custom:{offsetX:16,reverse:!0}},scale:{...az,custom:{initialScale:.95,reverse:!0}},none:{}},bye=Ne(su.section),xye=e=>yye[e||"none"],PH=S.forwardRef((e,t)=>{const{preset:n,motionProps:r=xye(n),...i}=e;return g.jsx(bye,{ref:t,...r,...i})});PH.displayName="ModalTransition";var Sye=Object.defineProperty,wye=(e,t,n)=>t in e?Sye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cye=(e,t,n)=>(wye(e,typeof t!="symbol"?t+"":t,n),n),_ye=class{constructor(){Cye(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},J_=new _ye;function TH(e,t){const[n,r]=S.useState(0);return S.useEffect(()=>{const i=e.current;if(i){if(t){const o=J_.add(i);r(o)}return()=>{J_.remove(i),r(0)}}},[t,e]),n}var kye=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},wg=new WeakMap,Gb=new WeakMap,qb={},gC=0,MH=function(e){return e&&(e.host||MH(e.parentNode))},Eye=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=MH(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return Boolean(n)})},Pye=function(e,t,n,r){var i=Eye(t,Array.isArray(e)?e:[e]);qb[n]||(qb[n]=new WeakMap);var o=qb[n],a=[],s=new Set,l=new Set(i),u=function(h){!h||s.has(h)||(s.add(h),u(h.parentNode))};i.forEach(u);var d=function(h){!h||l.has(h)||Array.prototype.forEach.call(h.children,function(m){if(s.has(m))d(m);else{var y=m.getAttribute(r),b=y!==null&&y!=="false",w=(wg.get(m)||0)+1,E=(o.get(m)||0)+1;wg.set(m,w),o.set(m,E),a.push(m),w===1&&b&&Gb.set(m,!0),E===1&&m.setAttribute(n,"true"),b||m.setAttribute(r,"true")}})};return d(t),s.clear(),gC++,function(){a.forEach(function(h){var m=wg.get(h)-1,y=o.get(h)-1;wg.set(h,m),o.set(h,y),m||(Gb.has(h)||h.removeAttribute(r),Gb.delete(h)),y||h.removeAttribute(n)}),gC--,gC||(wg=new WeakMap,wg=new WeakMap,Gb=new WeakMap,qb={})}},LH=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=t||kye(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),Pye(r,i,n,"aria-hidden")):function(){return null}};function Tye(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:i=!0,closeOnEsc:o=!0,useInert:a=!0,onOverlayClick:s,onEsc:l}=e,u=S.useRef(null),d=S.useRef(null),[h,m,y]=Lye(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Mye(u,t&&a),TH(u,t);const b=S.useRef(null),w=S.useCallback(N=>{b.current=N.target},[]),E=S.useCallback(N=>{N.key==="Escape"&&(N.stopPropagation(),o&&(n==null||n()),l==null||l())},[o,n,l]),[_,k]=S.useState(!1),[T,L]=S.useState(!1),O=S.useCallback((N={},W=null)=>({role:"dialog",...N,ref:Rn(W,u),id:h,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?m:void 0,"aria-describedby":T?y:void 0,onClick:ht(N.onClick,B=>B.stopPropagation())}),[y,T,h,m,_]),D=S.useCallback(N=>{N.stopPropagation(),b.current===N.target&&J_.isTopModal(u.current)&&(i&&(n==null||n()),s==null||s())},[n,i,s]),I=S.useCallback((N={},W=null)=>({...N,ref:Rn(W,d),onClick:ht(N.onClick,D),onKeyDown:ht(N.onKeyDown,E),onMouseDown:ht(N.onMouseDown,w)}),[E,w,D]);return{isOpen:t,onClose:n,headerId:m,bodyId:y,setBodyMounted:L,setHeaderMounted:k,dialogRef:u,overlayRef:d,getDialogProps:O,getDialogContainerProps:I}}function Mye(e,t){const n=e.current;S.useEffect(()=>{if(!(!e.current||!t))return LH(e.current)},[t,e,n])}function Lye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}var[Aye,g0]=Pn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Oye,Yh]=Pn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Yd=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:h,motionPreset:m,lockFocusAcrossFrames:y,onCloseComplete:b}=t,w=Yi("Modal",t),_={...Tye(t),autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:h,motionPreset:m,lockFocusAcrossFrames:y};return g.jsx(Oye,{value:_,children:g.jsx(Aye,{value:w,children:g.jsx(rp,{onExitComplete:b,children:_.isOpen&&g.jsx(c0,{...n,children:r})})})})};Yd.displayName="Modal";var eS="right-scroll-bar-position",tS="width-before-scroll-bar",Rye="with-scroll-bars-hidden",Iye="--removed-body-scroll-bar-size",AH=xz(),mC=function(){},Bw=S.forwardRef(function(e,t){var n=S.useRef(null),r=S.useState({onScrollCapture:mC,onWheelCapture:mC,onTouchMoveCapture:mC}),i=r[0],o=r[1],a=e.forwardProps,s=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,h=e.shards,m=e.sideCar,y=e.noIsolation,b=e.inert,w=e.allowPinchZoom,E=e.as,_=E===void 0?"div":E,k=YB(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),T=m,L=vz([n,t]),O=Nl(Nl({},k),i);return S.createElement(S.Fragment,null,d&&S.createElement(T,{sideCar:AH,removeScrollBar:u,shards:h,noIsolation:y,inert:b,setCallbacks:o,allowPinchZoom:!!w,lockRef:n}),a?S.cloneElement(S.Children.only(s),Nl(Nl({},O),{ref:L})):S.createElement(_,Nl({},O,{className:l,ref:L}),s))});Bw.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Bw.classNames={fullWidth:tS,zeroRight:eS};var gO,Dye=function(){if(gO)return gO;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function jye(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Dye();return t&&e.setAttribute("nonce",t),e}function Nye(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $ye(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Fye=function(){var e=0,t=null;return{add:function(n){e==0&&(t=jye())&&(Nye(t,n),$ye(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Bye=function(){var e=Fye();return function(t,n){S.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},OH=function(){var e=Bye(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},zye={left:0,top:0,right:0,gap:0},vC=function(e){return parseInt(e||"",10)||0},Hye=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[vC(n),vC(r),vC(i)]},Wye=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return zye;var t=Hye(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Uye=OH(),Vye=function(e,t,n,r){var i=e.left,o=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + `})}function eme(e){Jy({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function nm(e){const{isOpen:t,isDisabled:n}=s8(),{reduceMotion:r}=u8(),i=xt("chakra-accordion__icon",e.className),o=Dw(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...o.icon};return g.jsx(ja,{viewBox:"0 0 24 24","aria-hidden":!0,className:i,__css:a,...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}nm.displayName="AccordionIcon";var rm=Ze(function(t,n){const{children:r,className:i}=t,{htmlProps:o,...a}=Xge(t),l={...Dw().container,overflowAnchor:"none"},u=S.useMemo(()=>a,[a]);return g.jsx(Uge,{value:u,children:g.jsx(Ne.div,{ref:n,...o,className:xt("chakra-accordion__item",i),__css:l,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});rm.displayName="AccordionItem";var im={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},Ih={enter:{duration:.2,ease:im.easeOut},exit:{duration:.1,ease:im.easeIn}},Ku={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},tme=e=>e!=null&&parseInt(e.toString(),10)>0,BA={exit:{height:{duration:.2,ease:im.ease},opacity:{duration:.3,ease:im.ease}},enter:{height:{duration:.3,ease:im.ease},opacity:{duration:.4,ease:im.ease}}},nme={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:tme(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(BA.exit,i)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(o=n==null?void 0:n.enter)!=null?o:Ku.enter(BA.enter,i)}}},iz=S.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:i=!0,startingHeight:o=0,endingHeight:a="auto",style:s,className:l,transition:u,transitionEnd:d,...h}=e,[m,y]=S.useState(!1);S.useEffect(()=>{const k=setTimeout(()=>{y(!0)});return()=>clearTimeout(k)},[]),Jy({condition:Boolean(o>0&&r),message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const b=parseFloat(o.toString())>0,w={startingHeight:o,endingHeight:a,animateOpacity:i,transition:m?u:{enter:{duration:0}},transitionEnd:{enter:d==null?void 0:d.enter,exit:r?d==null?void 0:d.exit:{...d==null?void 0:d.exit,display:b?"block":"none"}}},E=r?n:!0,_=n||r?"enter":"exit";return g.jsx(rp,{initial:!1,custom:w,children:E&&g.jsx(su.div,{ref:t,...h,className:xt("chakra-collapse",l),style:{overflow:"hidden",display:"block",...s},custom:w,variants:nme,initial:r?"exit":!1,animate:_,exit:"exit"})})});iz.displayName="Collapse";var rme={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:Ku.exit(Ih.exit,n),transitionEnd:t==null?void 0:t.exit}}},oz={initial:"exit",animate:"enter",exit:"exit",variants:rme},ime=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,className:o,transition:a,transitionEnd:s,delay:l,...u}=t,d=i||r?"enter":"exit",h=r?i&&r:!0,m={transition:a,transitionEnd:s,delay:l};return g.jsx(rp,{custom:m,children:h&&g.jsx(su.div,{ref:n,className:xt("chakra-fade",o),custom:m,...oz,animate:d,...u})})});ime.displayName="Fade";var ome={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:e==null?void 0:e.enter}}},az={initial:"exit",animate:"enter",exit:"exit",variants:ome},ame=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,initialScale:a=.95,className:s,transition:l,transitionEnd:u,delay:d,...h}=t,m=r?i&&r:!0,y=i||r?"enter":"exit",b={initialScale:a,reverse:o,transition:l,transitionEnd:u,delay:d};return g.jsx(rp,{custom:b,children:m&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",s),...az,animate:y,custom:b,...h})})});ame.displayName="ScaleFade";var sme={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:i})=>{var o;return{opacity:0,x:e,y:t,transition:(o=n==null?void 0:n.exit)!=null?o:Ku.exit(Ih.exit,i),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:Ku.enter(Ih.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:i,delay:o})=>{var a;const s={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Ku.exit(Ih.exit,o),...i?{...s,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...s,...r==null?void 0:r.exit}}}}},B_={initial:"initial",animate:"enter",exit:"exit",variants:sme},lme=S.forwardRef(function(t,n){const{unmountOnExit:r,in:i,reverse:o=!0,className:a,offsetX:s=0,offsetY:l=8,transition:u,transitionEnd:d,delay:h,...m}=t,y=r?i&&r:!0,b=i||r?"enter":"exit",w={offsetX:s,offsetY:l,reverse:o,transition:u,transitionEnd:d,delay:h};return g.jsx(rp,{custom:w,children:y&&g.jsx(su.div,{ref:n,className:xt("chakra-offset-slide",a),custom:w,...B_,animate:b,...m})})});lme.displayName="SlideFade";var om=Ze(function(t,n){const{className:r,motionProps:i,...o}=t,{reduceMotion:a}=u8(),{getPanelProps:s,isOpen:l}=s8(),u=s(o,n),d=xt("chakra-accordion__panel",r),h=Dw();a||delete u.hidden;const m=g.jsx(Ne.div,{...u,__css:h.panel,className:d});return a?m:g.jsx(iz,{in:l,...i,children:m})});om.displayName="AccordionPanel";var c8=Ze(function({children:t,reduceMotion:n,...r},i){const o=Yi("Accordion",r),a=fr(r),{htmlProps:s,descendants:l,...u}=Kge(a),d=S.useMemo(()=>({...u,reduceMotion:!!n}),[u,n]);return g.jsx(Vge,{value:l,children:g.jsx(Yge,{value:d,children:g.jsx(Wge,{value:o,children:g.jsx(Ne.div,{ref:i,...s,className:xt("chakra-accordion",r.className),__css:o.root,children:t})})})})});c8.displayName="Accordion";var z_=Ze(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...a}=t;return g.jsx("img",{width:r,height:i,ref:n,alt:o,...a})});z_.displayName="NativeImage";function ume(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:a,sizes:s,ignoreFallback:l}=e,[u,d]=S.useState("pending");S.useEffect(()=>{d(n?"loading":"pending")},[n]);const h=S.useRef(),m=S.useCallback(()=>{if(!n)return;y();const b=new Image;b.src=n,a&&(b.crossOrigin=a),r&&(b.srcset=r),s&&(b.sizes=s),t&&(b.loading=t),b.onload=w=>{y(),d("loaded"),i==null||i(w)},b.onerror=w=>{y(),d("failed"),o==null||o(w)},h.current=b},[n,a,r,s,i,o,t]),y=()=>{h.current&&(h.current.onload=null,h.current.onerror=null,h.current=null)};return Vl(()=>{if(!l)return u==="loading"&&m(),()=>{y()}},[u,m,l]),l?"loaded":u}var cme=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function dme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var jw=Ze(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:a,align:s,fit:l,loading:u,ignoreFallback:d,crossOrigin:h,fallbackStrategy:m="beforeLoadOrError",referrerPolicy:y,...b}=t,w=r!==void 0||i!==void 0,E=u!=null||d||!w,_=ume({...t,ignoreFallback:E}),k=cme(_,m),T={ref:n,objectFit:l,objectPosition:s,...E?b:dme(b,["onError","onLoad"])};return k?i||g.jsx(Ne.img,{as:z_,className:"chakra-image__placeholder",src:r,...T}):g.jsx(Ne.img,{as:z_,src:o,srcSet:a,crossOrigin:h,loading:u,referrerPolicy:y,className:"chakra-image",...T})});jw.displayName="Image";function d8(e){return S.Children.toArray(e).filter(t=>S.isValidElement(t))}var[fme,hme]=Pn({strict:!1,name:"ButtonGroupContext"}),pme={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},gme={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},Gi=Ze(function(t,n){const{size:r,colorScheme:i,variant:o,className:a,spacing:s="0.5rem",isAttached:l,isDisabled:u,orientation:d="horizontal",...h}=t,m=xt("chakra-button__group",a),y=S.useMemo(()=>({size:r,colorScheme:i,variant:o,isDisabled:u}),[r,i,o,u]);let b={display:"inline-flex",...l?pme[d]:gme[d](s)};const w=d==="vertical";return g.jsx(fme,{value:y,children:g.jsx(Ne.div,{ref:n,role:"group",__css:b,className:m,"data-attached":l?"":void 0,"data-orientation":d,flexDir:w?"column":void 0,...h})})});Gi.displayName="ButtonGroup";function mme(e){const[t,n]=S.useState(!e);return{ref:S.useCallback(o=>{o&&n(o.tagName==="BUTTON")},[]),type:t?"button":void 0}}function H_(e){const{children:t,className:n,...r}=e,i=S.isValidElement(t)?S.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=xt("chakra-button__icon",n);return g.jsx(Ne.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:o,children:i})}H_.displayName="ButtonIcon";function a3(e){const{label:t,placement:n,spacing:r="0.5rem",children:i=g.jsx(p0,{color:"currentColor",width:"1em",height:"1em"}),className:o,__css:a,...s}=e,l=xt("chakra-button__spinner",o),u=n==="start"?"marginEnd":"marginStart",d=S.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[u]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,u,r]);return g.jsx(Ne.div,{className:l,...s,__css:d,children:i})}a3.displayName="ButtonSpinner";var ss=Ze((e,t)=>{const n=hme(),r=au("Button",{...n,...e}),{isDisabled:i=n==null?void 0:n.isDisabled,isLoading:o,isActive:a,children:s,leftIcon:l,rightIcon:u,loadingText:d,iconSpacing:h="0.5rem",type:m,spinner:y,spinnerPlacement:b="start",className:w,as:E,..._}=fr(e),k=S.useMemo(()=>{const D={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:D}}},[r,n]),{ref:T,type:L}=mme(E),O={rightIcon:u,leftIcon:l,iconSpacing:h,children:s};return g.jsxs(Ne.button,{ref:Fge(t,T),as:E,type:m??L,"data-active":Bt(a),"data-loading":Bt(o),__css:k,className:xt("chakra-button",w),..._,disabled:i||o,children:[o&&b==="start"&&g.jsx(a3,{className:"chakra-button__spinner--start",label:d,placement:"start",spacing:h,children:y}),o?d||g.jsx(Ne.span,{opacity:0,children:g.jsx(zA,{...O})}):g.jsx(zA,{...O}),o&&b==="end"&&g.jsx(a3,{className:"chakra-button__spinner--end",label:d,placement:"end",spacing:h,children:y})]})});ss.displayName="Button";function zA(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:i}=e;return g.jsxs(g.Fragment,{children:[t&&g.jsx(H_,{marginEnd:i,children:t}),r,n&&g.jsx(H_,{marginStart:i,children:n})]})}var ls=Ze((e,t)=>{const{icon:n,children:r,isRound:i,"aria-label":o,...a}=e,s=n||r,l=S.isValidElement(s)?S.cloneElement(s,{"aria-hidden":!0,focusable:!1}):null;return g.jsx(ss,{padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":o,...a,children:l})});ls.displayName="IconButton";var[gNe,vme]=Pn({name:"CheckboxGroupContext",strict:!1});function yme(e){return g.jsx(Ne.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:g.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function bme(e){return g.jsx(Ne.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:g.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function xme(e){const{isIndeterminate:t,isChecked:n,...r}=e,i=t?bme:yme;return n||t?g.jsx(Ne.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:g.jsx(i,{...r})}):null}var[Sme,sz]=Pn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[wme,ip]=Pn({strict:!1,name:"FormControlContext"});function Cme(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:i,isReadOnly:o,...a}=e,s=S.useId(),l=t||`field-${s}`,u=`${l}-label`,d=`${l}-feedback`,h=`${l}-helptext`,[m,y]=S.useState(!1),[b,w]=S.useState(!1),[E,_]=S.useState(!1),k=S.useCallback((I={},N=null)=>({id:h,...I,ref:Rn(N,W=>{W&&w(!0)})}),[h]),T=S.useCallback((I={},N=null)=>{var W,B;return{...I,ref:N,"data-focus":Bt(E),"data-disabled":Bt(i),"data-invalid":Bt(r),"data-readonly":Bt(o),id:(W=I.id)!=null?W:u,htmlFor:(B=I.htmlFor)!=null?B:l}},[l,i,E,r,o,u]),L=S.useCallback((I={},N=null)=>({id:d,...I,ref:Rn(N,W=>{W&&y(!0)}),"aria-live":"polite"}),[d]),O=S.useCallback((I={},N=null)=>({...I,...a,ref:N,role:"group"}),[a]),D=S.useCallback((I={},N=null)=>({...I,ref:N,role:"presentation","aria-hidden":!0,children:I.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!o,isDisabled:!!i,isFocused:!!E,onFocus:()=>_(!0),onBlur:()=>_(!1),hasFeedbackText:m,setHasFeedbackText:y,hasHelpText:b,setHasHelpText:w,id:l,labelId:u,feedbackId:d,helpTextId:h,htmlProps:a,getHelpTextProps:k,getErrorMessageProps:L,getRootProps:O,getLabelProps:T,getRequiredIndicatorProps:D}}var sn=Ze(function(t,n){const r=Yi("Form",t),i=fr(t),{getRootProps:o,htmlProps:a,...s}=Cme(i),l=xt("chakra-form-control",t.className);return g.jsx(wme,{value:s,children:g.jsx(Sme,{value:r,children:g.jsx(Ne.div,{...o({},n),className:l,__css:r.container})})})});sn.displayName="FormControl";var sr=Ze(function(t,n){const r=ip(),i=sz(),o=xt("chakra-form__helper-text",t.className);return g.jsx(Ne.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:i.helperText,className:o})});sr.displayName="FormHelperText";var[_me,kme]=Pn({name:"FormErrorStylesContext",errorMessage:`useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),lr=Ze((e,t)=>{const n=Yi("FormError",e),r=fr(e),i=ip();return i!=null&&i.isInvalid?g.jsx(_me,{value:n,children:g.jsx(Ne.div,{...i==null?void 0:i.getErrorMessageProps(r,t),className:xt("chakra-form__error-message",e.className),__css:{display:"flex",alignItems:"center",...n.text}})}):null});lr.displayName="FormErrorMessage";var Eme=Ze((e,t)=>{const n=kme(),r=ip();if(!(r!=null&&r.isInvalid))return null;const i=xt("chakra-form__error-icon",e.className);return g.jsx(ja,{ref:t,"aria-hidden":!0,...e,__css:n.icon,className:i,children:g.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})});Eme.displayName="FormErrorIcon";var Sn=Ze(function(t,n){var r;const i=au("FormLabel",t),o=fr(t),{className:a,children:s,requiredIndicator:l=g.jsx(lz,{}),optionalIndicator:u=null,...d}=o,h=ip(),m=(r=h==null?void 0:h.getLabelProps(d,n))!=null?r:{ref:n,...d};return g.jsxs(Ne.label,{...m,className:xt("chakra-form__label",o.className),__css:{display:"block",textAlign:"start",...i},children:[s,h!=null&&h.isRequired?l:u]})});Sn.displayName="FormLabel";var lz=Ze(function(t,n){const r=ip(),i=sz();if(!(r!=null&&r.isRequired))return null;const o=xt("chakra-form__required-indicator",t.className);return g.jsx(Ne.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:i.requiredIndicator,className:o})});lz.displayName="RequiredIndicator";function f8(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:i,...o}=h8(e);return{...o,disabled:t,readOnly:r,required:i,"aria-invalid":Uu(n),"aria-required":Uu(i),"aria-readonly":Uu(r)}}function h8(e){var t,n,r;const i=ip(),{id:o,disabled:a,readOnly:s,required:l,isRequired:u,isInvalid:d,isReadOnly:h,isDisabled:m,onFocus:y,onBlur:b,...w}=e,E=e["aria-describedby"]?[e["aria-describedby"]]:[];return i!=null&&i.hasFeedbackText&&(i!=null&&i.isInvalid)&&E.push(i.feedbackId),i!=null&&i.hasHelpText&&E.push(i.helpTextId),{...w,"aria-describedby":E.join(" ")||void 0,id:o??(i==null?void 0:i.id),isDisabled:(t=a??m)!=null?t:i==null?void 0:i.isDisabled,isReadOnly:(n=s??h)!=null?n:i==null?void 0:i.isReadOnly,isRequired:(r=l??u)!=null?r:i==null?void 0:i.isRequired,isInvalid:d??(i==null?void 0:i.isInvalid),onFocus:ht(i==null?void 0:i.onFocus,y),onBlur:ht(i==null?void 0:i.onBlur,b)}}var Pme={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},HA=!1,s2=null,qh=!1,W_=!1,U_=new Set;function p8(e,t){U_.forEach(n=>n(e,t))}var Tme=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function Mme(e){return!(e.metaKey||!Tme&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function WA(e){qh=!0,Mme(e)&&(s2="keyboard",p8("keyboard",e))}function xg(e){if(s2="pointer",e.type==="mousedown"||e.type==="pointerdown"){qh=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;p8("pointer",e)}}function Lme(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function Ame(e){Lme(e)&&(qh=!0,s2="virtual")}function Ome(e){e.target===window||e.target===document||(!qh&&!W_&&(s2="virtual",p8("virtual",e)),qh=!1,W_=!1)}function Rme(){qh=!1,W_=!0}function UA(){return s2!=="pointer"}function Ime(){if(typeof window>"u"||HA)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){qh=!0,e.apply(this,n)},document.addEventListener("keydown",WA,!0),document.addEventListener("keyup",WA,!0),document.addEventListener("click",Ame,!0),window.addEventListener("focus",Ome,!0),window.addEventListener("blur",Rme,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",xg,!0),document.addEventListener("pointermove",xg,!0),document.addEventListener("pointerup",xg,!0)):(document.addEventListener("mousedown",xg,!0),document.addEventListener("mousemove",xg,!0),document.addEventListener("mouseup",xg,!0)),HA=!0}function uz(e){Ime(),e(UA());const t=()=>e(UA());return U_.add(t),()=>{U_.delete(t)}}function Dme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function cz(e={}){const t=h8(e),{isDisabled:n,isReadOnly:r,isRequired:i,isInvalid:o,id:a,onBlur:s,onFocus:l,"aria-describedby":u}=t,{defaultChecked:d,isChecked:h,isFocusable:m,onChange:y,isIndeterminate:b,name:w,value:E,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":T,"aria-invalid":L,...O}=e,D=Dme(O,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),I=Qr(y),N=Qr(s),W=Qr(l),[B,K]=S.useState(!1),[ne,z]=S.useState(!1),[$,V]=S.useState(!1),[X,Q]=S.useState(!1);S.useEffect(()=>uz(K),[]);const G=S.useRef(null),[Y,ee]=S.useState(!0),[fe,Ce]=S.useState(!!d),we=h!==void 0,xe=we?h:fe,Le=S.useCallback(Fe=>{if(r||n){Fe.preventDefault();return}we||Ce(xe?Fe.target.checked:b?!0:Fe.target.checked),I==null||I(Fe)},[r,n,xe,we,b,I]);Vl(()=>{G.current&&(G.current.indeterminate=Boolean(b))},[b]),rc(()=>{n&&z(!1)},[n,z]),Vl(()=>{const Fe=G.current;Fe!=null&&Fe.form&&(Fe.form.onreset=()=>{Ce(!!d)})},[]);const Se=n&&!m,Qe=S.useCallback(Fe=>{Fe.key===" "&&Q(!0)},[Q]),Xe=S.useCallback(Fe=>{Fe.key===" "&&Q(!1)},[Q]);Vl(()=>{if(!G.current)return;G.current.checked!==xe&&Ce(G.current.checked)},[G.current]);const tt=S.useCallback((Fe={},at=null)=>{const jt=mt=>{ne&&mt.preventDefault(),Q(!0)};return{...Fe,ref:at,"data-active":Bt(X),"data-hover":Bt($),"data-checked":Bt(xe),"data-focus":Bt(ne),"data-focus-visible":Bt(ne&&B),"data-indeterminate":Bt(b),"data-disabled":Bt(n),"data-invalid":Bt(o),"data-readonly":Bt(r),"aria-hidden":!0,onMouseDown:ht(Fe.onMouseDown,jt),onMouseUp:ht(Fe.onMouseUp,()=>Q(!1)),onMouseEnter:ht(Fe.onMouseEnter,()=>V(!0)),onMouseLeave:ht(Fe.onMouseLeave,()=>V(!1))}},[X,xe,n,ne,B,$,b,o,r]),yt=S.useCallback((Fe={},at=null)=>({...D,...Fe,ref:Rn(at,jt=>{jt&&ee(jt.tagName==="LABEL")}),onClick:ht(Fe.onClick,()=>{var jt;Y||((jt=G.current)==null||jt.click(),requestAnimationFrame(()=>{var mt;(mt=G.current)==null||mt.focus()}))}),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[D,n,xe,o,Y]),Be=S.useCallback((Fe={},at=null)=>({...Fe,ref:Rn(G,at),type:"checkbox",name:w,value:E,id:a,tabIndex:_,onChange:ht(Fe.onChange,Le),onBlur:ht(Fe.onBlur,N,()=>z(!1)),onFocus:ht(Fe.onFocus,W,()=>z(!0)),onKeyDown:ht(Fe.onKeyDown,Qe),onKeyUp:ht(Fe.onKeyUp,Xe),required:i,checked:xe,disabled:Se,readOnly:r,"aria-label":k,"aria-labelledby":T,"aria-invalid":L?Boolean(L):o,"aria-describedby":u,"aria-disabled":n,style:Pme}),[w,E,a,Le,N,W,Qe,Xe,i,xe,Se,r,k,T,L,o,u,n,_]),Ae=S.useCallback((Fe={},at=null)=>({...Fe,ref:at,onMouseDown:ht(Fe.onMouseDown,VA),onTouchStart:ht(Fe.onTouchStart,VA),"data-disabled":Bt(n),"data-checked":Bt(xe),"data-invalid":Bt(o)}),[xe,n,o]);return{state:{isInvalid:o,isFocused:ne,isChecked:xe,isActive:X,isHovered:$,isIndeterminate:b,isDisabled:n,isReadOnly:r,isRequired:i},getRootProps:yt,getCheckboxProps:tt,getInputProps:Be,getLabelProps:Ae,htmlProps:D}}function VA(e){e.preventDefault(),e.stopPropagation()}var jme={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},Nme={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},$me=nf({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),Fme=nf({from:{opacity:0},to:{opacity:1}}),Bme=nf({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),dz=Ze(function(t,n){const r=vme(),i={...r,...t},o=Yi("Checkbox",i),a=fr(t),{spacing:s="0.5rem",className:l,children:u,iconColor:d,iconSize:h,icon:m=g.jsx(xme,{}),isChecked:y,isDisabled:b=r==null?void 0:r.isDisabled,onChange:w,inputProps:E,..._}=a;let k=y;r!=null&&r.value&&a.value&&(k=r.value.includes(a.value));let T=w;r!=null&&r.onChange&&a.value&&(T=Sw(r.onChange,w));const{state:L,getInputProps:O,getCheckboxProps:D,getLabelProps:I,getRootProps:N}=cz({..._,isDisabled:b,isChecked:k,onChange:T}),W=S.useMemo(()=>({animation:L.isIndeterminate?`${Fme} 20ms linear, ${Bme} 200ms linear`:`${$me} 200ms linear`,fontSize:h,color:d,...o.icon}),[d,h,,L.isIndeterminate,o.icon]),B=S.cloneElement(m,{__css:W,isIndeterminate:L.isIndeterminate,isChecked:L.isChecked});return g.jsxs(Ne.label,{__css:{...Nme,...o.container},className:xt("chakra-checkbox",l),...N(),children:[g.jsx("input",{className:"chakra-checkbox__input",...O(E,n)}),g.jsx(Ne.span,{__css:{...jme,...o.control},className:"chakra-checkbox__control",...D(),children:B}),u&&g.jsx(Ne.span,{className:"chakra-checkbox__label",...I(),__css:{marginStart:s,...o.label},children:u})]})});dz.displayName="Checkbox";function zme(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function g8(e,t){let n=zme(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function V_(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function GA(e,t,n){return(e-t)*100/(n-t)}function Hme(e,t,n){return(n-t)*e+t}function qA(e,t,n){const r=Math.round((e-t)/n)*n+t,i=V_(n);return g8(r,i)}function Qx(e,t,n){return e==null?e:(n{var B;return r==null?"":(B=lC(r,o,n))!=null?B:""}),m=typeof i<"u",y=m?i:d,b=fz(dd(y),o),w=n??b,E=S.useCallback(B=>{B!==y&&(m||h(B.toString()),u==null||u(B.toString(),dd(B)))},[u,m,y]),_=S.useCallback(B=>{let K=B;return l&&(K=Qx(K,a,s)),g8(K,w)},[w,l,s,a]),k=S.useCallback((B=o)=>{let K;y===""?K=dd(B):K=dd(y)+B,K=_(K),E(K)},[_,o,E,y]),T=S.useCallback((B=o)=>{let K;y===""?K=dd(-B):K=dd(y)-B,K=_(K),E(K)},[_,o,E,y]),L=S.useCallback(()=>{var B;let K;r==null?K="":K=(B=lC(r,o,n))!=null?B:a,E(K)},[r,n,o,E,a]),O=S.useCallback(B=>{var K;const ne=(K=lC(B,o,w))!=null?K:a;E(ne)},[w,o,E,a]),D=dd(y);return{isOutOfRange:D>s||D{const o=typeof e=="function"?e():e??document;if(!(!n||!o))return o.addEventListener(t,i,r),()=>{o.removeEventListener(t,i,r)}},[t,e,r,i,n]),()=>{const o=typeof e=="function"?e():e??document;o==null||o.removeEventListener(t,i,r)}}function Ume(e){return"current"in e}var hz=()=>typeof window<"u";function Vme(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var Gme=e=>hz()&&e.test(navigator.vendor),qme=e=>hz()&&e.test(Vme()),Kme=()=>qme(/mac|iphone|ipad|ipod/i),Yme=()=>Kme()&&Gme(/apple/i);function Xme(e){const{ref:t,elements:n,enabled:r}=e,i=()=>{var o,a;return(a=(o=t.current)==null?void 0:o.ownerDocument)!=null?a:document};Dh(i,"pointerdown",o=>{if(!Yme()||!r)return;const a=o.target,l=(n??[t]).some(u=>{const d=Ume(u)?u.current:u;return(d==null?void 0:d.contains(a))||d===a});i().activeElement!==a&&l&&(o.preventDefault(),a.focus())})}function m8(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var An={},Zme={get exports(){return An},set exports(e){An=e}},Qme="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Jme=Qme,e0e=Jme;function pz(){}function gz(){}gz.resetWarningCache=pz;var t0e=function(){function e(r,i,o,a,s,l){if(l!==e0e){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:gz,resetWarningCache:pz};return n.PropTypes=n,n};Zme.exports=t0e();var G_="data-focus-lock",mz="data-focus-lock-disabled",n0e="data-no-focus-lock",r0e="data-autofocus-inside",i0e="data-no-autofocus";function o0e(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function a0e(e,t){var n=S.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=t,n.facade}function vz(e,t){return a0e(t||null,function(n){return e.forEach(function(r){return o0e(r,n)})})}var uC={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function yz(e){return e}function bz(e,t){t===void 0&&(t=yz);var n=[],r=!1,i={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var a=t(o,r);return n.push(a),function(){n=n.filter(function(s){return s!==a})}},assignSyncMedium:function(o){for(r=!0;n.length;){var a=n;n=[],a.forEach(o)}n={push:function(s){return o(s)},filter:function(){return n}}},assignMedium:function(o){r=!0;var a=[];if(n.length){var s=n;n=[],s.forEach(o),a=n}var l=function(){var d=a;a=[],d.forEach(o)},u=function(){return Promise.resolve().then(l)};u(),n={push:function(d){a.push(d),u()},filter:function(d){return a=a.filter(d),n}}}};return i}function v8(e,t){return t===void 0&&(t=yz),bz(e,t)}function xz(e){e===void 0&&(e={});var t=bz(null);return t.options=Nl({async:!0,ssr:!1},e),t}var Sz=function(e){var t=e.sideCar,n=YB(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return S.createElement(r,Nl({},n))};Sz.isSideCarExport=!0;function s0e(e,t){return e.useMedium(t),Sz}var wz=v8({},function(e){var t=e.target,n=e.currentTarget;return{target:t,currentTarget:n}}),Cz=v8(),l0e=v8(),u0e=xz({async:!0}),c0e=[],y8=S.forwardRef(function(t,n){var r,i=S.useState(),o=i[0],a=i[1],s=S.useRef(),l=S.useRef(!1),u=S.useRef(null),d=t.children,h=t.disabled,m=t.noFocusGuards,y=t.persistentFocus,b=t.crossFrame,w=t.autoFocus;t.allowTextSelection;var E=t.group,_=t.className,k=t.whiteList,T=t.hasPositiveIndices,L=t.shards,O=L===void 0?c0e:L,D=t.as,I=D===void 0?"div":D,N=t.lockProps,W=N===void 0?{}:N,B=t.sideCar,K=t.returnFocus,ne=t.focusOptions,z=t.onActivation,$=t.onDeactivation,V=S.useState({}),X=V[0],Q=S.useCallback(function(){u.current=u.current||document&&document.activeElement,s.current&&z&&z(s.current),l.current=!0},[z]),G=S.useCallback(function(){l.current=!1,$&&$(s.current)},[$]);S.useEffect(function(){h||(u.current=null)},[]);var Y=S.useCallback(function(Qe){var Xe=u.current;if(Xe&&Xe.focus){var tt=typeof K=="function"?K(Xe):K;if(tt){var yt=typeof tt=="object"?tt:void 0;u.current=null,Qe?Promise.resolve().then(function(){return Xe.focus(yt)}):Xe.focus(yt)}}},[K]),ee=S.useCallback(function(Qe){l.current&&wz.useMedium(Qe)},[]),fe=Cz.useMedium,Ce=S.useCallback(function(Qe){s.current!==Qe&&(s.current=Qe,a(Qe))},[]),we=pn((r={},r[mz]=h&&"disabled",r[G_]=E,r),W),xe=m!==!0,Le=xe&&m!=="tail",Se=vz([n,Ce]);return S.createElement(S.Fragment,null,xe&&[S.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:h?-1:0,style:uC}),T?S.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:h?-1:1,style:uC}):null],!h&&S.createElement(B,{id:X,sideCar:u0e,observed:o,disabled:h,persistentFocus:y,crossFrame:b,autoFocus:w,whiteList:k,shards:O,onActivation:Q,onDeactivation:G,returnFocus:Y,focusOptions:ne}),S.createElement(I,pn({ref:Se},we,{className:_,onBlur:fe,onFocus:ee}),d),Le&&S.createElement("div",{"data-focus-guard":!0,tabIndex:h?-1:0,style:uC}))});y8.propTypes={};y8.defaultProps={children:void 0,disabled:!1,returnFocus:!1,focusOptions:void 0,noFocusGuards:!1,autoFocus:!0,persistentFocus:!1,crossFrame:!0,hasPositiveIndices:void 0,allowTextSelection:void 0,group:void 0,className:void 0,whiteList:void 0,shards:void 0,as:"div",lockProps:{},onActivation:void 0,onDeactivation:void 0};const _z=y8;function s3(e,t){return s3=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},s3(e,t)}function b8(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,s3(e,t)}function Ks(e){return Ks=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},Ks(e)}function d0e(e,t){if(Ks(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Ks(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kz(e){var t=d0e(e,"string");return Ks(t)==="symbol"?t:String(t)}function fs(e,t,n){return t=kz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f0e(e,t){function n(r){return r.displayName||r.name||"Component"}return function(i){var o=[],a;function s(){a=e(o.map(function(u){return u.props})),t(a)}var l=function(u){b8(d,u);function d(){return u.apply(this,arguments)||this}d.peek=function(){return a};var h=d.prototype;return h.componentDidMount=function(){o.push(this),s()},h.componentDidUpdate=function(){s()},h.componentWillUnmount=function(){var y=o.indexOf(this);o.splice(y,1),s()},h.render=function(){return Ke.createElement(i,this.props)},d}(S.PureComponent);return fs(l,"displayName","SideEffect("+n(i)+")"),l}}var lu=function(e){for(var t=Array(e.length),n=0;n=0}).sort(x0e)},S0e=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],S8=S0e.join(","),w0e="".concat(S8,", [data-focus-guard]"),Dz=function(e,t){return lu((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?w0e:S8)?[r]:[],Dz(r))},[])},C0e=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?Nw([e.contentDocument.body],t):[e]},Nw=function(e,t){return e.reduce(function(n,r){var i,o=Dz(r,t),a=(i=[]).concat.apply(i,o.map(function(s){return C0e(s,t)}));return n.concat(a,r.parentNode?lu(r.parentNode.querySelectorAll(S8)).filter(function(s){return s===r}):[])},[])},_0e=function(e){var t=e.querySelectorAll("[".concat(r0e,"]"));return lu(t).map(function(n){return Nw([n])}).reduce(function(n,r){return n.concat(r)},[])},w8=function(e,t){return lu(e).filter(function(n){return Mz(t,n)}).filter(function(n){return v0e(n)})},KA=function(e,t){return t===void 0&&(t=new Map),lu(e).filter(function(n){return Lz(t,n)})},q_=function(e,t,n){return Iz(w8(Nw(e,n),t),!0,n)},YA=function(e,t){return Iz(w8(Nw(e),t),!1)},k0e=function(e,t){return w8(_0e(e),t)},_m=function(e,t){return e.shadowRoot?_m(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:lu(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var i=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return i?_m(i,t):!1}return _m(n,t)})},E0e=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(i),(o&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,s){return!t.has(s)})},jz=function(e){return e.parentNode?jz(e.parentNode):e},C8=function(e){var t=l3(e);return t.filter(Boolean).reduce(function(n,r){var i=r.getAttribute(G_);return n.push.apply(n,i?E0e(lu(jz(r).querySelectorAll("[".concat(G_,'="').concat(i,'"]:not([').concat(mz,'="disabled"])')))):[r]),n},[])},P0e=function(e){try{return e()}catch{return}},Ty=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?Ty(t.shadowRoot):t instanceof HTMLIFrameElement&&P0e(function(){return t.contentWindow.document})?Ty(t.contentWindow.document):t}},T0e=function(e,t){return e===t},M0e=function(e,t){return Boolean(lu(e.querySelectorAll("iframe")).some(function(n){return T0e(n,t)}))},Nz=function(e,t){return t===void 0&&(t=Ty(Ez(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:C8(e).some(function(n){return _m(n,t)||M0e(n,t)})},L0e=function(e){e===void 0&&(e=document);var t=Ty(e);return t?lu(e.querySelectorAll("[".concat(n0e,"]"))).some(function(n){return _m(n,t)}):!1},A0e=function(e,t){return t.filter(Rz).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},_8=function(e,t){return Rz(e)&&e.name?A0e(e,t):e},O0e=function(e){var t=new Set;return e.forEach(function(n){return t.add(_8(n,e))}),e.filter(function(n){return t.has(n)})},XA=function(e){return e[0]&&e.length>1?_8(e[0],e):e[0]},ZA=function(e,t){return e.length>1?e.indexOf(_8(e[t],e)):t},$z="NEW_FOCUS",R0e=function(e,t,n,r){var i=e.length,o=e[0],a=e[i-1],s=x8(n);if(!(n&&e.indexOf(n)>=0)){var l=n!==void 0?t.indexOf(n):-1,u=r?t.indexOf(r):l,d=r?e.indexOf(r):-1,h=l-u,m=t.indexOf(o),y=t.indexOf(a),b=O0e(t),w=n!==void 0?b.indexOf(n):-1,E=w-(r?b.indexOf(r):l),_=ZA(e,0),k=ZA(e,i-1);if(l===-1||d===-1)return $z;if(!h&&d>=0)return d;if(l<=m&&s&&Math.abs(h)>1)return k;if(l>=y&&s&&Math.abs(h)>1)return _;if(h&&Math.abs(E)>1)return d;if(l<=m)return k;if(l>y)return _;if(h)return Math.abs(h)>1?d:(i+d+h)%i}},I0e=function(e){return function(t){var n,r=(n=Az(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},D0e=function(e,t,n){var r=e.map(function(o){var a=o.node;return a}),i=KA(r.filter(I0e(n)));return i&&i.length?XA(i):XA(KA(t))},K_=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&K_(e.parentNode.host||e.parentNode,t),t},cC=function(e,t){for(var n=K_(e),r=K_(t),i=0;i=0)return o}return!1},Fz=function(e,t,n){var r=l3(e),i=l3(t),o=r[0],a=!1;return i.filter(Boolean).forEach(function(s){a=cC(a||s,s)||a,n.filter(Boolean).forEach(function(l){var u=cC(o,l);u&&(!a||_m(u,a)?a=u:a=cC(u,a))})}),a},j0e=function(e,t){return e.reduce(function(n,r){return n.concat(k0e(r,t))},[])},N0e=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(b0e)},$0e=function(e,t){var n=Ty(l3(e).length>0?document:Ez(e).ownerDocument),r=C8(e).filter(u3),i=Fz(n||e,e,r),o=new Map,a=YA(r,o),s=q_(r,o).filter(function(y){var b=y.node;return u3(b)});if(!(!s[0]&&(s=a,!s[0]))){var l=YA([i],o).map(function(y){var b=y.node;return b}),u=N0e(l,s),d=u.map(function(y){var b=y.node;return b}),h=R0e(d,l,n,t);if(h===$z){var m=D0e(a,d,j0e(r,o));if(m)return{node:m};console.warn("focus-lock: cannot find any node to move focus into");return}return h===void 0?h:u[h]}},F0e=function(e){var t=C8(e).filter(u3),n=Fz(e,e,t),r=new Map,i=q_([n],r,!0),o=q_(t,r).filter(function(a){var s=a.node;return u3(s)}).map(function(a){var s=a.node;return s});return i.map(function(a){var s=a.node,l=a.index;return{node:s,index:l,lockItem:o.indexOf(s)>=0,guard:x8(s)}})},B0e=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},dC=0,fC=!1,Bz=function(e,t,n){n===void 0&&(n={});var r=$0e(e,t);if(!fC&&r){if(dC>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),fC=!0,setTimeout(function(){fC=!1},1);return}dC++,B0e(r.node,n.focusOptions),dC--}};function zz(e){var t=window,n=t.setImmediate;typeof n<"u"?n(e):setTimeout(e,1)}var z0e=function(){return document&&document.activeElement===document.body},H0e=function(){return z0e()||L0e()},km=null,am=null,Em=null,My=!1,W0e=function(){return!0},U0e=function(t){return(km.whiteList||W0e)(t)},V0e=function(t,n){Em={observerNode:t,portaledElement:n}},G0e=function(t){return Em&&Em.portaledElement===t};function QA(e,t,n,r){var i=null,o=e;do{var a=r[o];if(a.guard)a.node.dataset.focusAutoGuard&&(i=a);else if(a.lockItem){if(o!==e)return;i=null}else break}while((o+=n)!==t);i&&(i.node.tabIndex=0)}var q0e=function(t){return t&&"current"in t?t.current:t},K0e=function(t){return t?Boolean(My):My==="meanwhile"},Y0e=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},X0e=function(t,n){return n.some(function(r){return Y0e(t,r,r)})},c3=function(){var t=!1;if(km){var n=km,r=n.observed,i=n.persistentFocus,o=n.autoFocus,a=n.shards,s=n.crossFrame,l=n.focusOptions,u=r||Em&&Em.portaledElement,d=document&&document.activeElement;if(u){var h=[u].concat(a.map(q0e).filter(Boolean));if((!d||U0e(d))&&(i||K0e(s)||!H0e()||!am&&o)&&(u&&!(Nz(h)||d&&X0e(d,h)||G0e(d))&&(document&&!am&&d&&!o?(d.blur&&d.blur(),document.body.focus()):(t=Bz(h,am,{focusOptions:l}),Em={})),My=!1,am=document&&document.activeElement),document){var m=document&&document.activeElement,y=F0e(h),b=y.map(function(w){var E=w.node;return E}).indexOf(m);b>-1&&(y.filter(function(w){var E=w.guard,_=w.node;return E&&_.dataset.focusAutoGuard}).forEach(function(w){var E=w.node;return E.removeAttribute("tabIndex")}),QA(b,y.length,1,y),QA(b,-1,-1,y))}}}return t},Hz=function(t){c3()&&t&&(t.stopPropagation(),t.preventDefault())},k8=function(){return zz(c3)},Z0e=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||V0e(r,n)},Q0e=function(){return null},Wz=function(){My="just",setTimeout(function(){My="meanwhile"},0)},J0e=function(){document.addEventListener("focusin",Hz),document.addEventListener("focusout",k8),window.addEventListener("blur",Wz)},eve=function(){document.removeEventListener("focusin",Hz),document.removeEventListener("focusout",k8),window.removeEventListener("blur",Wz)};function tve(e){return e.filter(function(t){var n=t.disabled;return!n})}function nve(e){var t=e.slice(-1)[0];t&&!km&&J0e();var n=km,r=n&&t&&t.id===n.id;km=t,n&&!r&&(n.onDeactivation(),e.filter(function(i){var o=i.id;return o===n.id}).length||n.returnFocus(!t)),t?(am=null,(!r||n.observed!==t.observed)&&t.onActivation(),c3(),zz(c3)):(eve(),am=null)}wz.assignSyncMedium(Z0e);Cz.assignMedium(k8);l0e.assignMedium(function(e){return e({moveFocusInside:Bz,focusInside:Nz})});const rve=f0e(tve,nve)(Q0e);var Uz=S.forwardRef(function(t,n){return S.createElement(_z,pn({sideCar:rve,ref:n},t))}),Vz=_z.propTypes||{};Vz.sideCar;m8(Vz,["sideCar"]);Uz.propTypes={};const JA=Uz;function Gz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function qz(e){var t;if(!Gz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function ive(e){var t,n;return(n=(t=Kz(e))==null?void 0:t.defaultView)!=null?n:window}function Kz(e){return Gz(e)?e.ownerDocument:document}function ove(e){return Kz(e).activeElement}var Yz=e=>e.hasAttribute("tabindex"),ave=e=>Yz(e)&&e.tabIndex===-1;function sve(e){return Boolean(e.getAttribute("disabled"))===!0||Boolean(e.getAttribute("aria-disabled"))===!0}function Xz(e){return e.parentElement&&Xz(e.parentElement)?!0:e.hidden}function lve(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Zz(e){if(!qz(e)||Xz(e)||sve(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():lve(e)?!0:Yz(e)}function uve(e){return e?qz(e)&&Zz(e)&&!ave(e):!1}var cve=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],dve=cve.join(),fve=e=>e.offsetWidth>0&&e.offsetHeight>0;function Qz(e){const t=Array.from(e.querySelectorAll(dve));return t.unshift(e),t.filter(n=>Zz(n)&&fve(n))}var eO,hve=(eO=JA.default)!=null?eO:JA,Jz=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:i,children:o,isDisabled:a,autoFocus:s,persistentFocus:l,lockFocusAcrossFrames:u}=e,d=S.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Qz(r.current).length===0&&requestAnimationFrame(()=>{var b;(b=r.current)==null||b.focus()})},[t,r]),h=S.useCallback(()=>{var y;(y=n==null?void 0:n.current)==null||y.focus()},[n]),m=i&&!n;return g.jsx(hve,{crossFrame:u,persistentFocus:l,autoFocus:s,disabled:a,onActivation:d,onDeactivation:h,returnFocus:m,children:o})};Jz.displayName="FocusLock";var pve=fce?S.useLayoutEffect:S.useEffect;function tO(e,t=[]){const n=S.useRef(e);return pve(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function gve(e,t){const n=S.useId();return S.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function mve(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function Kd(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=tO(n),a=tO(t),[s,l]=S.useState(e.defaultIsOpen||!1),[u,d]=mve(r,s),h=gve(i,"disclosure"),m=S.useCallback(()=>{u||l(!1),a==null||a()},[u,a]),y=S.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),b=S.useCallback(()=>{(d?m:y)()},[d,y,m]);return{isOpen:!!d,onOpen:y,onClose:m,onToggle:b,isControlled:u,getButtonProps:(w={})=>({...w,"aria-expanded":d,"aria-controls":h,onClick:vce(w.onClick,b)}),getDisclosureProps:(w={})=>({...w,hidden:!d,id:h})}}var E8=Ze(function(t,n){const{htmlSize:r,...i}=t,o=Yi("Input",i),a=fr(i),s=f8(a),l=xt("chakra-input",t.className);return g.jsx(Ne.input,{size:r,...s,__css:o.field,ref:n,className:l})});E8.displayName="Input";E8.id="Input";var[vve,eH]=Pn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),P8=Ze(function(t,n){const r=Yi("List",t),{children:i,styleType:o="none",stylePosition:a,spacing:s,...l}=fr(t),u=d8(i),h=s?{["& > *:not(style) ~ *:not(style)"]:{mt:s}}:{};return g.jsx(vve,{value:r,children:g.jsx(Ne.ul,{ref:n,listStyleType:o,listStylePosition:a,role:"list",__css:{...r.container,...h},...l,children:u})})});P8.displayName="List";var yve=Ze((e,t)=>{const{as:n,...r}=e;return g.jsx(P8,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});yve.displayName="OrderedList";var tH=Ze(function(t,n){const{as:r,...i}=t;return g.jsx(P8,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...i})});tH.displayName="UnorderedList";var f1=Ze(function(t,n){const r=eH();return g.jsx(Ne.li,{ref:n,...t,__css:r.item})});f1.displayName="ListItem";var bve=Ze(function(t,n){const r=eH();return g.jsx(ja,{ref:n,role:"presentation",...t,__css:r.icon})});bve.displayName="ListIcon";function nH(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):Eo(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var rH=Ne("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});rH.displayName="Spacer";var Dt=Ze(function(t,n){const r=au("Text",t),{className:i,align:o,decoration:a,casing:s,...l}=fr(t),u=Rce({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return g.jsx(Ne.p,{ref:n,className:xt("chakra-text",t.className),...u,...l,__css:r})});Dt.displayName="Text";var iH=e=>g.jsx(Ne.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});iH.displayName="StackItem";var Y_="& > *:not(style) ~ *:not(style)";function xve(e){const{spacing:t,direction:n}=e,r={column:{marginTop:t,marginEnd:0,marginBottom:0,marginStart:0},row:{marginTop:0,marginEnd:0,marginBottom:0,marginStart:t},"column-reverse":{marginTop:0,marginEnd:0,marginBottom:t,marginStart:0},"row-reverse":{marginTop:0,marginEnd:t,marginBottom:0,marginStart:0}};return{flexDirection:n,[Y_]:nH(n,i=>r[i])}}function Sve(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":nH(n,i=>r[i])}}var T8=Ze((e,t)=>{const{isInline:n,direction:r,align:i,justify:o,spacing:a="0.5rem",wrap:s,children:l,divider:u,className:d,shouldWrapChildren:h,...m}=e,y=n?"row":r??"column",b=S.useMemo(()=>xve({direction:y,spacing:a}),[y,a]),w=S.useMemo(()=>Sve({spacing:a,direction:y}),[a,y]),E=!!u,_=!h&&!E,k=S.useMemo(()=>{const L=d8(l);return _?L:L.map((O,D)=>{const I=typeof O.key<"u"?O.key:D,N=D+1===L.length,B=h?g.jsx(iH,{children:O},I):O;if(!E)return B;const K=S.cloneElement(u,{__css:w}),ne=N?null:K;return g.jsxs(S.Fragment,{children:[B,ne]},I)})},[u,w,E,_,h,l]),T=xt("chakra-stack",d);return g.jsx(Ne.div,{ref:t,display:"flex",alignItems:i,justifyContent:o,flexDirection:b.flexDirection,flexWrap:s,className:T,__css:E?{}:{[Y_]:b[Y_]},...m,children:k})});T8.displayName="Stack";var hn=Ze((e,t)=>g.jsx(T8,{align:"center",...e,direction:"column",ref:t}));hn.displayName="VStack";var l2=Ze((e,t)=>g.jsx(T8,{align:"center",...e,direction:"row",ref:t}));l2.displayName="HStack";var jh=Ze(function(t,n){const r=au("Heading",t),{className:i,...o}=fr(t);return g.jsx(Ne.h2,{ref:n,className:xt("chakra-heading",t.className),...o,__css:r})});jh.displayName="Heading";var ao=Ne("div");ao.displayName="Box";var oH=Ze(function(t,n){const{size:r,centerContent:i=!0,...o}=t,a=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return g.jsx(ao,{ref:n,boxSize:r,__css:{...a,flexShrink:0,flexGrow:0},...o})});oH.displayName="Square";var wve=Ze(function(t,n){const{size:r,...i}=t;return g.jsx(oH,{size:r,ref:n,borderRadius:"9999px",...i})});wve.displayName="Circle";var Nh=Ze(function(t,n){const r=au("Link",t),{className:i,isExternal:o,...a}=fr(t);return g.jsx(Ne.a,{target:o?"_blank":void 0,rel:o?"noopener":void 0,ref:n,className:xt("chakra-link",i),...a,__css:r})});Nh.displayName="Link";var aH=Ne("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});aH.displayName="Center";var Cve={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}};Ze(function(t,n){const{axis:r="both",...i}=t;return g.jsx(Ne.div,{ref:n,__css:Cve[r],...i,position:"absolute"})});var ke=Ze(function(t,n){const{direction:r,align:i,justify:o,wrap:a,basis:s,grow:l,shrink:u,...d}=t,h={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:a,flexBasis:s,flexGrow:l,flexShrink:u};return g.jsx(Ne.div,{ref:n,__css:h,...d})});ke.displayName="Flex";function _ve(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function kve(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,i]=S.useState([]),o=S.useRef(),a=()=>{o.current&&(clearTimeout(o.current),o.current=null)},s=()=>{a(),o.current=setTimeout(()=>{i([]),o.current=null},t)};S.useEffect(()=>a,[]);function l(u){return d=>{if(d.key==="Backspace"){const h=[...r];h.pop(),i(h);return}if(_ve(d)){const h=r.concat(d.key);n(d)&&(d.preventDefault(),d.stopPropagation()),i(h),u(h.join("")),s()}}}return l}function Eve(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const i=e.filter(o=>n(o).toLowerCase().startsWith(t.toLowerCase()));if(i.length>0){let o;return i.includes(r)?(o=i.indexOf(r)+1,o===i.length&&(o=0),i[o]):(o=e.indexOf(i[0]),e[o])}return r}function Pve(){const e=S.useRef(new Map),t=e.current,n=S.useCallback((i,o,a,s)=>{e.current.set(a,{type:o,el:i,options:s}),i.addEventListener(o,a,s)},[]),r=S.useCallback((i,o,a,s)=>{i.removeEventListener(o,a,s),e.current.delete(a)},[]);return S.useEffect(()=>()=>{t.forEach((i,o)=>{r(i.el,i.type,o,i.options)})},[r,t]),{add:n,remove:r}}function hC(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function sH(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:i=!0,clickOnSpace:o=!0,onMouseDown:a,onMouseUp:s,onClick:l,onKeyDown:u,onKeyUp:d,tabIndex:h,onMouseOver:m,onMouseLeave:y,...b}=e,[w,E]=S.useState(!0),[_,k]=S.useState(!1),T=Pve(),L=Q=>{Q&&Q.tagName!=="BUTTON"&&E(!1)},O=w?h:h||0,D=n&&!r,I=S.useCallback(Q=>{if(n){Q.stopPropagation(),Q.preventDefault();return}Q.currentTarget.focus(),l==null||l(Q)},[n,l]),N=S.useCallback(Q=>{_&&hC(Q)&&(Q.preventDefault(),Q.stopPropagation(),k(!1),T.remove(document,"keyup",N,!1))},[_,T]),W=S.useCallback(Q=>{if(u==null||u(Q),n||Q.defaultPrevented||Q.metaKey||!hC(Q.nativeEvent)||w)return;const G=i&&Q.key==="Enter";o&&Q.key===" "&&(Q.preventDefault(),k(!0)),G&&(Q.preventDefault(),Q.currentTarget.click()),T.add(document,"keyup",N,!1)},[n,w,u,i,o,T,N]),B=S.useCallback(Q=>{if(d==null||d(Q),n||Q.defaultPrevented||Q.metaKey||!hC(Q.nativeEvent)||w)return;o&&Q.key===" "&&(Q.preventDefault(),k(!1),Q.currentTarget.click())},[o,w,n,d]),K=S.useCallback(Q=>{Q.button===0&&(k(!1),T.remove(document,"mouseup",K,!1))},[T]),ne=S.useCallback(Q=>{if(Q.button!==0)return;if(n){Q.stopPropagation(),Q.preventDefault();return}w||k(!0),Q.currentTarget.focus({preventScroll:!0}),T.add(document,"mouseup",K,!1),a==null||a(Q)},[n,w,a,T,K]),z=S.useCallback(Q=>{Q.button===0&&(w||k(!1),s==null||s(Q))},[s,w]),$=S.useCallback(Q=>{if(n){Q.preventDefault();return}m==null||m(Q)},[n,m]),V=S.useCallback(Q=>{_&&(Q.preventDefault(),k(!1)),y==null||y(Q)},[_,y]),X=Rn(t,L);return w?{...b,ref:X,type:"button","aria-disabled":D?void 0:n,disabled:D,onClick:I,onMouseDown:a,onMouseUp:s,onKeyUp:d,onKeyDown:u,onMouseOver:m,onMouseLeave:y}:{...b,ref:X,role:"button","data-active":Bt(_),"aria-disabled":n?"true":void 0,tabIndex:D?void 0:O,onClick:I,onMouseDown:ne,onMouseUp:z,onKeyUp:B,onKeyDown:W,onMouseOver:$,onMouseLeave:V}}function Tve(e){const t=e.current;if(!t)return!1;const n=ove(t);return!n||t.contains(n)?!1:!!uve(n)}function lH(e,t){const{shouldFocus:n,visible:r,focusRef:i}=t,o=n&&!r;rc(()=>{if(!o||Tve(e))return;const a=(i==null?void 0:i.current)||e.current;a&&requestAnimationFrame(()=>{a.focus()})},[o,e,i])}var Mve={preventScroll:!0,shouldFocus:!1};function Lve(e,t=Mve){const{focusRef:n,preventScroll:r,shouldFocus:i,visible:o}=t,a=Ave(e)?e.current:e,s=i&&o,l=S.useRef(s),u=S.useRef(o);Vl(()=>{!u.current&&o&&(l.current=s),u.current=o},[o,s]);const d=S.useCallback(()=>{if(!(!o||!a||!l.current)&&(l.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var h;(h=n.current)==null||h.focus({preventScroll:r})});else{const h=Qz(a);h.length>0&&requestAnimationFrame(()=>{h[0].focus({preventScroll:r})})}},[o,r,a,n]);rc(()=>{d()},[d]),Dh(a,"transitionend",d)}function Ave(e){return"current"in e}var Sg=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),ii={arrowShadowColor:Sg("--popper-arrow-shadow-color"),arrowSize:Sg("--popper-arrow-size","8px"),arrowSizeHalf:Sg("--popper-arrow-size-half"),arrowBg:Sg("--popper-arrow-bg"),transformOrigin:Sg("--popper-transform-origin"),arrowOffset:Sg("--popper-arrow-offset")};function Ove(e){if(e.includes("top"))return"1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 1px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 1px 0 var(--popper-arrow-shadow-color)"}var Rve={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},Ive=e=>Rve[e],nO={scroll:!0,resize:!0};function Dve(e){let t;return typeof e=="object"?t={enabled:!0,options:{...nO,...e}}:t={enabled:e,options:nO},t}var jve={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},Nve={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{rO(e)},effect:({state:e})=>()=>{rO(e)}},rO=e=>{e.elements.popper.style.setProperty(ii.transformOrigin.var,Ive(e.placement))},$ve={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{Fve(e)}},Fve=e=>{var t;if(!e.placement)return;const n=Bve(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:ii.arrowSize.varRef,height:ii.arrowSize.varRef,zIndex:-1});const r={[ii.arrowSizeHalf.var]:`calc(${ii.arrowSize.varRef} / 2)`,[ii.arrowOffset.var]:`calc(${ii.arrowSizeHalf.varRef} * -1)`};for(const i in r)e.elements.arrow.style.setProperty(i,r[i])}},Bve=e=>{if(e.startsWith("top"))return{property:"bottom",value:ii.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:ii.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:ii.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:ii.arrowOffset.varRef}},zve={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{iO(e)},effect:({state:e})=>()=>{iO(e)}},iO=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=Ove(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:ii.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},Hve={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},Wve={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function Uve(e,t="ltr"){var n,r;const i=((n=Hve[e])==null?void 0:n[t])||e;return t==="ltr"?i:(r=Wve[e])!=null?r:i}var Zo="top",us="bottom",cs="right",Qo="left",M8="auto",u2=[Zo,us,cs,Qo],qm="start",Ly="end",Vve="clippingParents",uH="viewport",Uv="popper",Gve="reference",oO=u2.reduce(function(e,t){return e.concat([t+"-"+qm,t+"-"+Ly])},[]),cH=[].concat(u2,[M8]).reduce(function(e,t){return e.concat([t,t+"-"+qm,t+"-"+Ly])},[]),qve="beforeRead",Kve="read",Yve="afterRead",Xve="beforeMain",Zve="main",Qve="afterMain",Jve="beforeWrite",e1e="write",t1e="afterWrite",n1e=[qve,Kve,Yve,Xve,Zve,Qve,Jve,e1e,t1e];function nu(e){return e?(e.nodeName||"").toLowerCase():null}function hs(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Kh(e){var t=hs(e).Element;return e instanceof t||e instanceof Element}function is(e){var t=hs(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function L8(e){if(typeof ShadowRoot>"u")return!1;var t=hs(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function r1e(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!is(o)||!nu(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(a){var s=i[a];s===!1?o.removeAttribute(a):o.setAttribute(a,s===!0?"":s)}))})}function i1e(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],o=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),s=a.reduce(function(l,u){return l[u]="",l},{});!is(i)||!nu(i)||(Object.assign(i.style,s),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const o1e={name:"applyStyles",enabled:!0,phase:"write",fn:r1e,effect:i1e,requires:["computeStyles"]};function Zl(e){return e.split("-")[0]}var $h=Math.max,d3=Math.min,Km=Math.round;function X_(){var e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function dH(){return!/^((?!chrome|android).)*safari/i.test(X_())}function Ym(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,o=1;t&&is(e)&&(i=e.offsetWidth>0&&Km(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Km(r.height)/e.offsetHeight||1);var a=Kh(e)?hs(e):window,s=a.visualViewport,l=!dH()&&n,u=(r.left+(l&&s?s.offsetLeft:0))/i,d=(r.top+(l&&s?s.offsetTop:0))/o,h=r.width/i,m=r.height/o;return{width:h,height:m,top:d,right:u+h,bottom:d+m,left:u,x:u,y:d}}function A8(e){var t=Ym(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function fH(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&L8(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ic(e){return hs(e).getComputedStyle(e)}function a1e(e){return["table","td","th"].indexOf(nu(e))>=0}function lf(e){return((Kh(e)?e.ownerDocument:e.document)||window.document).documentElement}function $w(e){return nu(e)==="html"?e:e.assignedSlot||e.parentNode||(L8(e)?e.host:null)||lf(e)}function aO(e){return!is(e)||ic(e).position==="fixed"?null:e.offsetParent}function s1e(e){var t=/firefox/i.test(X_()),n=/Trident/i.test(X_());if(n&&is(e)){var r=ic(e);if(r.position==="fixed")return null}var i=$w(e);for(L8(i)&&(i=i.host);is(i)&&["html","body"].indexOf(nu(i))<0;){var o=ic(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function c2(e){for(var t=hs(e),n=aO(e);n&&a1e(n)&&ic(n).position==="static";)n=aO(n);return n&&(nu(n)==="html"||nu(n)==="body"&&ic(n).position==="static")?t:n||s1e(e)||t}function O8(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function W1(e,t,n){return $h(e,d3(t,n))}function l1e(e,t,n){var r=W1(e,t,n);return r>n?n:r}function hH(){return{top:0,right:0,bottom:0,left:0}}function pH(e){return Object.assign({},hH(),e)}function gH(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var u1e=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,pH(typeof t!="number"?t:gH(t,u2))};function c1e(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,s=Zl(n.placement),l=O8(s),u=[Qo,cs].indexOf(s)>=0,d=u?"height":"width";if(!(!o||!a)){var h=u1e(i.padding,n),m=A8(o),y=l==="y"?Zo:Qo,b=l==="y"?us:cs,w=n.rects.reference[d]+n.rects.reference[l]-a[l]-n.rects.popper[d],E=a[l]-n.rects.reference[l],_=c2(o),k=_?l==="y"?_.clientHeight||0:_.clientWidth||0:0,T=w/2-E/2,L=h[y],O=k-m[d]-h[b],D=k/2-m[d]/2+T,I=W1(L,D,O),N=l;n.modifiersData[r]=(t={},t[N]=I,t.centerOffset=I-D,t)}}function d1e(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||fH(t.elements.popper,i)&&(t.elements.arrow=i))}const f1e={name:"arrow",enabled:!0,phase:"main",fn:c1e,effect:d1e,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Xm(e){return e.split("-")[1]}var h1e={top:"auto",right:"auto",bottom:"auto",left:"auto"};function p1e(e){var t=e.x,n=e.y,r=window,i=r.devicePixelRatio||1;return{x:Km(t*i)/i||0,y:Km(n*i)/i||0}}function sO(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,d=e.roundOffsets,h=e.isFixed,m=a.x,y=m===void 0?0:m,b=a.y,w=b===void 0?0:b,E=typeof d=="function"?d({x:y,y:w}):{x:y,y:w};y=E.x,w=E.y;var _=a.hasOwnProperty("x"),k=a.hasOwnProperty("y"),T=Qo,L=Zo,O=window;if(u){var D=c2(n),I="clientHeight",N="clientWidth";if(D===hs(n)&&(D=lf(n),ic(D).position!=="static"&&s==="absolute"&&(I="scrollHeight",N="scrollWidth")),D=D,i===Zo||(i===Qo||i===cs)&&o===Ly){L=us;var W=h&&D===O&&O.visualViewport?O.visualViewport.height:D[I];w-=W-r.height,w*=l?1:-1}if(i===Qo||(i===Zo||i===us)&&o===Ly){T=cs;var B=h&&D===O&&O.visualViewport?O.visualViewport.width:D[N];y-=B-r.width,y*=l?1:-1}}var K=Object.assign({position:s},u&&h1e),ne=d===!0?p1e({x:y,y:w}):{x:y,y:w};if(y=ne.x,w=ne.y,l){var z;return Object.assign({},K,(z={},z[L]=k?"0":"",z[T]=_?"0":"",z.transform=(O.devicePixelRatio||1)<=1?"translate("+y+"px, "+w+"px)":"translate3d("+y+"px, "+w+"px, 0)",z))}return Object.assign({},K,(t={},t[L]=k?w+"px":"",t[T]=_?y+"px":"",t.transform="",t))}function g1e(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,s=n.roundOffsets,l=s===void 0?!0:s,u={placement:Zl(t.placement),variation:Xm(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,sO(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,sO(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const m1e={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:g1e,data:{}};var Vb={passive:!0};function v1e(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,a=r.resize,s=a===void 0?!0:a,l=hs(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(d){d.addEventListener("scroll",n.update,Vb)}),s&&l.addEventListener("resize",n.update,Vb),function(){o&&u.forEach(function(d){d.removeEventListener("scroll",n.update,Vb)}),s&&l.removeEventListener("resize",n.update,Vb)}}const y1e={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:v1e,data:{}};var b1e={left:"right",right:"left",bottom:"top",top:"bottom"};function Jx(e){return e.replace(/left|right|bottom|top/g,function(t){return b1e[t]})}var x1e={start:"end",end:"start"};function lO(e){return e.replace(/start|end/g,function(t){return x1e[t]})}function R8(e){var t=hs(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function I8(e){return Ym(lf(e)).left+R8(e).scrollLeft}function S1e(e,t){var n=hs(e),r=lf(e),i=n.visualViewport,o=r.clientWidth,a=r.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;var u=dH();(u||!u&&t==="fixed")&&(s=i.offsetLeft,l=i.offsetTop)}return{width:o,height:a,x:s+I8(e),y:l}}function w1e(e){var t,n=lf(e),r=R8(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=$h(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=$h(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-r.scrollLeft+I8(e),l=-r.scrollTop;return ic(i||n).direction==="rtl"&&(s+=$h(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:s,y:l}}function D8(e){var t=ic(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function mH(e){return["html","body","#document"].indexOf(nu(e))>=0?e.ownerDocument.body:is(e)&&D8(e)?e:mH($w(e))}function U1(e,t){var n;t===void 0&&(t=[]);var r=mH(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=hs(r),a=i?[o].concat(o.visualViewport||[],D8(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(U1($w(a)))}function Z_(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function C1e(e,t){var n=Ym(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function uO(e,t,n){return t===uH?Z_(S1e(e,n)):Kh(t)?C1e(t,n):Z_(w1e(lf(e)))}function _1e(e){var t=U1($w(e)),n=["absolute","fixed"].indexOf(ic(e).position)>=0,r=n&&is(e)?c2(e):e;return Kh(r)?t.filter(function(i){return Kh(i)&&fH(i,r)&&nu(i)!=="body"}):[]}function k1e(e,t,n,r){var i=t==="clippingParents"?_1e(e):[].concat(t),o=[].concat(i,[n]),a=o[0],s=o.reduce(function(l,u){var d=uO(e,u,r);return l.top=$h(d.top,l.top),l.right=d3(d.right,l.right),l.bottom=d3(d.bottom,l.bottom),l.left=$h(d.left,l.left),l},uO(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function vH(e){var t=e.reference,n=e.element,r=e.placement,i=r?Zl(r):null,o=r?Xm(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(i){case Zo:l={x:a,y:t.y-n.height};break;case us:l={x:a,y:t.y+t.height};break;case cs:l={x:t.x+t.width,y:s};break;case Qo:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var u=i?O8(i):null;if(u!=null){var d=u==="y"?"height":"width";switch(o){case qm:l[u]=l[u]-(t[d]/2-n[d]/2);break;case Ly:l[u]=l[u]+(t[d]/2-n[d]/2);break}}return l}function Ay(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,s=n.boundary,l=s===void 0?Vve:s,u=n.rootBoundary,d=u===void 0?uH:u,h=n.elementContext,m=h===void 0?Uv:h,y=n.altBoundary,b=y===void 0?!1:y,w=n.padding,E=w===void 0?0:w,_=pH(typeof E!="number"?E:gH(E,u2)),k=m===Uv?Gve:Uv,T=e.rects.popper,L=e.elements[b?k:m],O=k1e(Kh(L)?L:L.contextElement||lf(e.elements.popper),l,d,a),D=Ym(e.elements.reference),I=vH({reference:D,element:T,strategy:"absolute",placement:i}),N=Z_(Object.assign({},T,I)),W=m===Uv?N:D,B={top:O.top-W.top+_.top,bottom:W.bottom-O.bottom+_.bottom,left:O.left-W.left+_.left,right:W.right-O.right+_.right},K=e.modifiersData.offset;if(m===Uv&&K){var ne=K[i];Object.keys(B).forEach(function(z){var $=[cs,us].indexOf(z)>=0?1:-1,V=[Zo,us].indexOf(z)>=0?"y":"x";B[z]+=ne[V]*$})}return B}function E1e(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?cH:l,d=Xm(r),h=d?s?oO:oO.filter(function(b){return Xm(b)===d}):u2,m=h.filter(function(b){return u.indexOf(b)>=0});m.length===0&&(m=h);var y=m.reduce(function(b,w){return b[w]=Ay(e,{placement:w,boundary:i,rootBoundary:o,padding:a})[Zl(w)],b},{});return Object.keys(y).sort(function(b,w){return y[b]-y[w]})}function P1e(e){if(Zl(e)===M8)return[];var t=Jx(e);return[lO(e),t,lO(t)]}function T1e(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,d=n.boundary,h=n.rootBoundary,m=n.altBoundary,y=n.flipVariations,b=y===void 0?!0:y,w=n.allowedAutoPlacements,E=t.options.placement,_=Zl(E),k=_===E,T=l||(k||!b?[Jx(E)]:P1e(E)),L=[E].concat(T).reduce(function(xe,Le){return xe.concat(Zl(Le)===M8?E1e(t,{placement:Le,boundary:d,rootBoundary:h,padding:u,flipVariations:b,allowedAutoPlacements:w}):Le)},[]),O=t.rects.reference,D=t.rects.popper,I=new Map,N=!0,W=L[0],B=0;B=0,V=$?"width":"height",X=Ay(t,{placement:K,boundary:d,rootBoundary:h,altBoundary:m,padding:u}),Q=$?z?cs:Qo:z?us:Zo;O[V]>D[V]&&(Q=Jx(Q));var G=Jx(Q),Y=[];if(o&&Y.push(X[ne]<=0),s&&Y.push(X[Q]<=0,X[G]<=0),Y.every(function(xe){return xe})){W=K,N=!1;break}I.set(K,Y)}if(N)for(var ee=b?3:1,fe=function(Le){var Se=L.find(function(Qe){var Xe=I.get(Qe);if(Xe)return Xe.slice(0,Le).every(function(tt){return tt})});if(Se)return W=Se,"break"},Ce=ee;Ce>0;Ce--){var we=fe(Ce);if(we==="break")break}t.placement!==W&&(t.modifiersData[r]._skip=!0,t.placement=W,t.reset=!0)}}const M1e={name:"flip",enabled:!0,phase:"main",fn:T1e,requiresIfExists:["offset"],data:{_skip:!1}};function cO(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function dO(e){return[Zo,cs,us,Qo].some(function(t){return e[t]>=0})}function L1e(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Ay(t,{elementContext:"reference"}),s=Ay(t,{altBoundary:!0}),l=cO(a,r),u=cO(s,i,o),d=dO(l),h=dO(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":h})}const A1e={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:L1e};function O1e(e,t,n){var r=Zl(e),i=[Qo,Zo].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[Qo,cs].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function R1e(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,a=cH.reduce(function(d,h){return d[h]=O1e(h,t.rects,o),d},{}),s=a[t.placement],l=s.x,u=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=a}const I1e={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:R1e};function D1e(e){var t=e.state,n=e.name;t.modifiersData[n]=vH({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const j1e={name:"popperOffsets",enabled:!0,phase:"read",fn:D1e,data:{}};function N1e(e){return e==="x"?"y":"x"}function $1e(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,a=n.altAxis,s=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,h=n.padding,m=n.tether,y=m===void 0?!0:m,b=n.tetherOffset,w=b===void 0?0:b,E=Ay(t,{boundary:l,rootBoundary:u,padding:h,altBoundary:d}),_=Zl(t.placement),k=Xm(t.placement),T=!k,L=O8(_),O=N1e(L),D=t.modifiersData.popperOffsets,I=t.rects.reference,N=t.rects.popper,W=typeof w=="function"?w(Object.assign({},t.rects,{placement:t.placement})):w,B=typeof W=="number"?{mainAxis:W,altAxis:W}:Object.assign({mainAxis:0,altAxis:0},W),K=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,ne={x:0,y:0};if(D){if(o){var z,$=L==="y"?Zo:Qo,V=L==="y"?us:cs,X=L==="y"?"height":"width",Q=D[L],G=Q+E[$],Y=Q-E[V],ee=y?-N[X]/2:0,fe=k===qm?I[X]:N[X],Ce=k===qm?-N[X]:-I[X],we=t.elements.arrow,xe=y&&we?A8(we):{width:0,height:0},Le=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:hH(),Se=Le[$],Qe=Le[V],Xe=W1(0,I[X],xe[X]),tt=T?I[X]/2-ee-Xe-Se-B.mainAxis:fe-Xe-Se-B.mainAxis,yt=T?-I[X]/2+ee+Xe+Qe+B.mainAxis:Ce+Xe+Qe+B.mainAxis,Be=t.elements.arrow&&c2(t.elements.arrow),Ae=Be?L==="y"?Be.clientTop||0:Be.clientLeft||0:0,bt=(z=K==null?void 0:K[L])!=null?z:0,Fe=Q+tt-bt-Ae,at=Q+yt-bt,jt=W1(y?d3(G,Fe):G,Q,y?$h(Y,at):Y);D[L]=jt,ne[L]=jt-Q}if(s){var mt,Zt=L==="x"?Zo:Qo,on=L==="x"?us:cs,se=D[O],Ie=O==="y"?"height":"width",He=se+E[Zt],Ue=se-E[on],ye=[Zo,Qo].indexOf(_)!==-1,je=(mt=K==null?void 0:K[O])!=null?mt:0,vt=ye?He:se-I[Ie]-N[Ie]-je+B.altAxis,Mt=ye?se+I[Ie]+N[Ie]-je-B.altAxis:Ue,Me=y&&ye?l1e(vt,se,Mt):W1(y?vt:He,se,y?Mt:Ue);D[O]=Me,ne[O]=Me-se}t.modifiersData[r]=ne}}const F1e={name:"preventOverflow",enabled:!0,phase:"main",fn:$1e,requiresIfExists:["offset"]};function B1e(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function z1e(e){return e===hs(e)||!is(e)?R8(e):B1e(e)}function H1e(e){var t=e.getBoundingClientRect(),n=Km(t.width)/e.offsetWidth||1,r=Km(t.height)/e.offsetHeight||1;return n!==1||r!==1}function W1e(e,t,n){n===void 0&&(n=!1);var r=is(t),i=is(t)&&H1e(t),o=lf(t),a=Ym(e,i,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((nu(t)!=="body"||D8(o))&&(s=z1e(t)),is(t)?(l=Ym(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=I8(o))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function U1e(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var l=t.get(s);l&&i(l)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function V1e(e){var t=U1e(e);return n1e.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function G1e(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function q1e(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var fO={placement:"bottom",modifiers:[],strategy:"absolute"};function hO(){for(var e=arguments.length,t=new Array(e),n=0;n{}),T=S.useCallback(()=>{var B;!t||!b.current||!w.current||((B=k.current)==null||B.call(k),E.current=X1e(b.current,w.current,{placement:_,modifiers:[zve,$ve,Nve,{...jve,enabled:!!m},{name:"eventListeners",...Dve(a)},{name:"arrow",options:{padding:o}},{name:"offset",options:{offset:s??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!h,options:{boundary:d}},...n??[]],strategy:i}),E.current.forceUpdate(),k.current=E.current.destroy)},[_,t,n,m,a,o,s,l,u,h,d,i]);S.useEffect(()=>()=>{var B;!b.current&&!w.current&&((B=E.current)==null||B.destroy(),E.current=null)},[]);const L=S.useCallback(B=>{b.current=B,T()},[T]),O=S.useCallback((B={},K=null)=>({...B,ref:Rn(L,K)}),[L]),D=S.useCallback(B=>{w.current=B,T()},[T]),I=S.useCallback((B={},K=null)=>({...B,ref:Rn(D,K),style:{...B.style,position:i,minWidth:m?void 0:"max-content",inset:"0 auto auto 0"}}),[i,D,m]),N=S.useCallback((B={},K=null)=>{const{size:ne,shadowColor:z,bg:$,style:V,...X}=B;return{...X,ref:K,"data-popper-arrow":"",style:Z1e(B)}},[]),W=S.useCallback((B={},K=null)=>({...B,ref:K,"data-popper-arrow-inner":""}),[]);return{update(){var B;(B=E.current)==null||B.update()},forceUpdate(){var B;(B=E.current)==null||B.forceUpdate()},transformOrigin:ii.transformOrigin.varRef,referenceRef:L,popperRef:D,getPopperProps:I,getArrowProps:N,getArrowInnerProps:W,getReferenceProps:O}}function Z1e(e){const{size:t,shadowColor:n,bg:r,style:i}=e,o={...i,position:"absolute"};return t&&(o["--popper-arrow-size"]=t),n&&(o["--popper-arrow-shadow-color"]=n),r&&(o["--popper-arrow-bg"]=r),o}function N8(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=Qr(n),a=Qr(t),[s,l]=S.useState(e.defaultIsOpen||!1),u=r!==void 0?r:s,d=r!==void 0,h=S.useId(),m=i??`disclosure-${h}`,y=S.useCallback(()=>{d||l(!1),a==null||a()},[d,a]),b=S.useCallback(()=>{d||l(!0),o==null||o()},[d,o]),w=S.useCallback(()=>{u?y():b()},[u,b,y]);function E(k={}){return{...k,"aria-expanded":u,"aria-controls":m,onClick(T){var L;(L=k.onClick)==null||L.call(k,T),w()}}}function _(k={}){return{...k,hidden:!u,id:m}}return{isOpen:u,onOpen:b,onClose:y,onToggle:w,isControlled:d,getButtonProps:E,getDisclosureProps:_}}function Q1e(e){const{ref:t,handler:n,enabled:r=!0}=e,i=Qr(n),a=S.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;S.useEffect(()=>{if(!r)return;const s=h=>{pC(h,t)&&(a.isPointerDown=!0)},l=h=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&pC(h,t)&&(a.isPointerDown=!1,i(h))},u=h=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&pC(h,t)&&(a.isPointerDown=!1,i(h))},d=yH(t.current);return d.addEventListener("mousedown",s,!0),d.addEventListener("mouseup",l,!0),d.addEventListener("touchstart",s,!0),d.addEventListener("touchend",u,!0),()=>{d.removeEventListener("mousedown",s,!0),d.removeEventListener("mouseup",l,!0),d.removeEventListener("touchstart",s,!0),d.removeEventListener("touchend",u,!0)}},[n,t,i,a,r])}function pC(e,t){var n;const r=e.target;return e.button>0||r&&!yH(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function yH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function bH(e){const{isOpen:t,ref:n}=e,[r,i]=S.useState(t),[o,a]=S.useState(!1);return S.useEffect(()=>{o||(i(t),a(!0))},[t,o,r]),Dh(()=>n.current,"animationend",()=>{i(t)}),{present:!(t?!1:!r),onComplete(){var l;const u=ive(n.current),d=new u.CustomEvent("animationend",{bubbles:!0});(l=n.current)==null||l.dispatchEvent(d)}}}function $8(e){const{wasSelected:t,enabled:n,isSelected:r,mode:i="unmount"}=e;return!!(!n||r||i==="keepMounted"&&t)}var[J1e,eye,tye,nye]=a8(),[rye,d2]=Pn({strict:!1,name:"MenuContext"});function iye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}function xH(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function pO(e){return xH(e).activeElement===e}function oye(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:i,autoSelect:o=!0,isLazy:a,isOpen:s,defaultIsOpen:l,onClose:u,onOpen:d,placement:h="bottom-start",lazyBehavior:m="unmount",direction:y,computePositionOnMount:b=!1,...w}=e,E=S.useRef(null),_=S.useRef(null),k=tye(),T=S.useCallback(()=>{requestAnimationFrame(()=>{var we;(we=E.current)==null||we.focus({preventScroll:!1})})},[]),L=S.useCallback(()=>{const we=setTimeout(()=>{var xe;if(i)(xe=i.current)==null||xe.focus();else{const Le=k.firstEnabled();Le&&z(Le.index)}});G.current.add(we)},[k,i]),O=S.useCallback(()=>{const we=setTimeout(()=>{const xe=k.lastEnabled();xe&&z(xe.index)});G.current.add(we)},[k]),D=S.useCallback(()=>{d==null||d(),o?L():T()},[o,L,T,d]),{isOpen:I,onOpen:N,onClose:W,onToggle:B}=N8({isOpen:s,defaultIsOpen:l,onClose:u,onOpen:D});Q1e({enabled:I&&r,ref:E,handler:we=>{var xe;(xe=_.current)!=null&&xe.contains(we.target)||W()}});const K=j8({...w,enabled:I||b,placement:h,direction:y}),[ne,z]=S.useState(-1);rc(()=>{I||z(-1)},[I]),lH(E,{focusRef:_,visible:I,shouldFocus:!0});const $=bH({isOpen:I,ref:E}),[V,X]=iye(t,"menu-button","menu-list"),Q=S.useCallback(()=>{N(),T()},[N,T]),G=S.useRef(new Set([]));fye(()=>{G.current.forEach(we=>clearTimeout(we)),G.current.clear()});const Y=S.useCallback(()=>{N(),L()},[L,N]),ee=S.useCallback(()=>{N(),O()},[N,O]),fe=S.useCallback(()=>{var we,xe;const Le=xH(E.current),Se=(we=E.current)==null?void 0:we.contains(Le.activeElement);if(!(I&&!Se))return;const Xe=(xe=k.item(ne))==null?void 0:xe.node;Xe==null||Xe.focus()},[I,ne,k]),Ce=S.useRef(null);return{openAndFocusMenu:Q,openAndFocusFirstItem:Y,openAndFocusLastItem:ee,onTransitionEnd:fe,unstable__animationState:$,descendants:k,popper:K,buttonId:V,menuId:X,forceUpdate:K.forceUpdate,orientation:"vertical",isOpen:I,onToggle:B,onOpen:N,onClose:W,menuRef:E,buttonRef:_,focusedIndex:ne,closeOnSelect:n,closeOnBlur:r,autoSelect:o,setFocusedIndex:z,isLazy:a,lazyBehavior:m,initialFocusRef:i,rafId:Ce}}function aye(e={},t=null){const n=d2(),{onToggle:r,popper:i,openAndFocusFirstItem:o,openAndFocusLastItem:a}=n,s=S.useCallback(l=>{const u=l.key,h={Enter:o,ArrowDown:o,ArrowUp:a}[u];h&&(l.preventDefault(),l.stopPropagation(),h(l))},[o,a]);return{...e,ref:Rn(n.buttonRef,t,i.referenceRef),id:n.buttonId,"data-active":Bt(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:ht(e.onClick,r),onKeyDown:ht(e.onKeyDown,s)}}function Q_(e){var t;return cye(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function sye(e={},t=null){const n=d2();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:i,menuRef:o,isOpen:a,onClose:s,menuId:l,isLazy:u,lazyBehavior:d,unstable__animationState:h}=n,m=eye(),y=kve({preventDefault:_=>_.key!==" "&&Q_(_.target)}),b=S.useCallback(_=>{const k=_.key,L={Tab:D=>D.preventDefault(),Escape:s,ArrowDown:()=>{const D=m.nextEnabled(r);D&&i(D.index)},ArrowUp:()=>{const D=m.prevEnabled(r);D&&i(D.index)}}[k];if(L){_.preventDefault(),L(_);return}const O=y(D=>{const I=Eve(m.values(),D,N=>{var W,B;return(B=(W=N==null?void 0:N.node)==null?void 0:W.textContent)!=null?B:""},m.item(r));if(I){const N=m.indexOf(I.node);i(N)}});Q_(_.target)&&O(_)},[m,r,y,s,i]),w=S.useRef(!1);a&&(w.current=!0);const E=$8({wasSelected:w.current,enabled:u,mode:d,isSelected:h.present});return{...e,ref:Rn(o,t),children:E?e.children:null,tabIndex:-1,role:"menu",id:l,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:ht(e.onKeyDown,b)}}function lye(e={}){const{popper:t,isOpen:n}=d2();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function uye(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onClick:o,onFocus:a,isDisabled:s,isFocusable:l,closeOnSelect:u,type:d,...h}=e,m=d2(),{setFocusedIndex:y,focusedIndex:b,closeOnSelect:w,onClose:E,menuRef:_,isOpen:k,menuId:T,rafId:L}=m,O=S.useRef(null),D=`${T}-menuitem-${S.useId()}`,{index:I,register:N}=nye({disabled:s&&!l}),W=S.useCallback(Q=>{n==null||n(Q),!s&&y(I)},[y,I,s,n]),B=S.useCallback(Q=>{r==null||r(Q),O.current&&!pO(O.current)&&W(Q)},[W,r]),K=S.useCallback(Q=>{i==null||i(Q),!s&&y(-1)},[y,s,i]),ne=S.useCallback(Q=>{o==null||o(Q),Q_(Q.currentTarget)&&(u??w)&&E()},[E,o,w,u]),z=S.useCallback(Q=>{a==null||a(Q),y(I)},[y,a,I]),$=I===b,V=s&&!l;rc(()=>{k&&($&&!V&&O.current?(L.current&&cancelAnimationFrame(L.current),L.current=requestAnimationFrame(()=>{var Q;(Q=O.current)==null||Q.focus(),L.current=null})):_.current&&!pO(_.current)&&_.current.focus())},[$,V,_,k]);const X=sH({onClick:ne,onFocus:z,onMouseEnter:W,onMouseMove:B,onMouseLeave:K,ref:Rn(N,O,t),isDisabled:s,isFocusable:l});return{...h,...X,type:d??X.type,id:D,role:"menuitem",tabIndex:$?0:-1}}function cye(e){var t;if(!dye(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function dye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function fye(e,t=[]){return S.useEffect(()=>()=>e(),t)}var[hye,Fw]=Pn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),SH=e=>{const{children:t}=e,n=Yi("Menu",e),r=fr(e),{direction:i}=Zy(),{descendants:o,...a}=oye({...r,direction:i}),s=S.useMemo(()=>a,[a]),{isOpen:l,onClose:u,forceUpdate:d}=s;return g.jsx(J1e,{value:o,children:g.jsx(rye,{value:s,children:g.jsx(hye,{value:n,children:ts(t,{isOpen:l,onClose:u,forceUpdate:d})})})})};SH.displayName="Menu";var wH=Ze((e,t)=>{const n=Fw();return g.jsx(Ne.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});wH.displayName="MenuCommand";var pye=Ze((e,t)=>{const{type:n,...r}=e,i=Fw(),o=r.as||n?n??void 0:"button",a=S.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...i.item}),[i.item]);return g.jsx(Ne.button,{ref:t,type:o,...r,__css:a})}),CH=e=>{const{className:t,children:n,...r}=e,i=S.Children.only(n),o=S.isValidElement(i)?S.cloneElement(i,{focusable:"false","aria-hidden":!0,className:xt("chakra-menu__icon",i.props.className)}):null,a=xt("chakra-menu__icon-wrapper",t);return g.jsx(Ne.span,{className:a,...r,__css:{flexShrink:0},children:o})};CH.displayName="MenuIcon";var _H=Ze((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:i,commandSpacing:o="0.75rem",children:a,...s}=e,l=uye(s,t),d=n||i?g.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return g.jsxs(pye,{...l,className:xt("chakra-menu__menuitem",l.className),children:[n&&g.jsx(CH,{fontSize:"0.8em",marginEnd:r,children:n}),d,i&&g.jsx(wH,{marginStart:o,children:i})]})});_H.displayName="MenuItem";var gye={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},mye=Ne(su.div),kH=Ze(function(t,n){var r,i;const{rootProps:o,motionProps:a,...s}=t,{isOpen:l,onTransitionEnd:u,unstable__animationState:d}=d2(),h=sye(s,n),m=lye(o),y=Fw();return g.jsx(Ne.div,{...m,__css:{zIndex:(i=t.zIndex)!=null?i:(r=y.list)==null?void 0:r.zIndex},children:g.jsx(mye,{variants:gye,initial:!1,animate:l?"enter":"exit",__css:{outline:0,...y.list},...a,className:xt("chakra-menu__menu-list",h.className),...h,onUpdate:u,onAnimationComplete:Sw(d.onComplete,h.onAnimationComplete)})})});kH.displayName="MenuList";var vye=Ze((e,t)=>{const n=Fw();return g.jsx(Ne.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),EH=Ze((e,t)=>{const{children:n,as:r,...i}=e,o=aye(i,t),a=r||vye;return g.jsx(a,{...o,className:xt("chakra-menu__menu-button",e.className),children:g.jsx(Ne.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});EH.displayName="MenuButton";var yye={slideInBottom:{...B_,custom:{offsetY:16,reverse:!0}},slideInRight:{...B_,custom:{offsetX:16,reverse:!0}},scale:{...az,custom:{initialScale:.95,reverse:!0}},none:{}},bye=Ne(su.section),xye=e=>yye[e||"none"],PH=S.forwardRef((e,t)=>{const{preset:n,motionProps:r=xye(n),...i}=e;return g.jsx(bye,{ref:t,...r,...i})});PH.displayName="ModalTransition";var Sye=Object.defineProperty,wye=(e,t,n)=>t in e?Sye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cye=(e,t,n)=>(wye(e,typeof t!="symbol"?t+"":t,n),n),_ye=class{constructor(){Cye(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},J_=new _ye;function TH(e,t){const[n,r]=S.useState(0);return S.useEffect(()=>{const i=e.current;if(i){if(t){const o=J_.add(i);r(o)}return()=>{J_.remove(i),r(0)}}},[t,e]),n}var kye=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},wg=new WeakMap,Gb=new WeakMap,qb={},gC=0,MH=function(e){return e&&(e.host||MH(e.parentNode))},Eye=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=MH(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return Boolean(n)})},Pye=function(e,t,n,r){var i=Eye(t,Array.isArray(e)?e:[e]);qb[n]||(qb[n]=new WeakMap);var o=qb[n],a=[],s=new Set,l=new Set(i),u=function(h){!h||s.has(h)||(s.add(h),u(h.parentNode))};i.forEach(u);var d=function(h){!h||l.has(h)||Array.prototype.forEach.call(h.children,function(m){if(s.has(m))d(m);else{var y=m.getAttribute(r),b=y!==null&&y!=="false",w=(wg.get(m)||0)+1,E=(o.get(m)||0)+1;wg.set(m,w),o.set(m,E),a.push(m),w===1&&b&&Gb.set(m,!0),E===1&&m.setAttribute(n,"true"),b||m.setAttribute(r,"true")}})};return d(t),s.clear(),gC++,function(){a.forEach(function(h){var m=wg.get(h)-1,y=o.get(h)-1;wg.set(h,m),o.set(h,y),m||(Gb.has(h)||h.removeAttribute(r),Gb.delete(h)),y||h.removeAttribute(n)}),gC--,gC||(wg=new WeakMap,wg=new WeakMap,Gb=new WeakMap,qb={})}},LH=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=t||kye(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),Pye(r,i,n,"aria-hidden")):function(){return null}};function Tye(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:i=!0,closeOnEsc:o=!0,useInert:a=!0,onOverlayClick:s,onEsc:l}=e,u=S.useRef(null),d=S.useRef(null),[h,m,y]=Lye(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Mye(u,t&&a),TH(u,t);const b=S.useRef(null),w=S.useCallback(N=>{b.current=N.target},[]),E=S.useCallback(N=>{N.key==="Escape"&&(N.stopPropagation(),o&&(n==null||n()),l==null||l())},[o,n,l]),[_,k]=S.useState(!1),[T,L]=S.useState(!1),O=S.useCallback((N={},W=null)=>({role:"dialog",...N,ref:Rn(W,u),id:h,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?m:void 0,"aria-describedby":T?y:void 0,onClick:ht(N.onClick,B=>B.stopPropagation())}),[y,T,h,m,_]),D=S.useCallback(N=>{N.stopPropagation(),b.current===N.target&&J_.isTopModal(u.current)&&(i&&(n==null||n()),s==null||s())},[n,i,s]),I=S.useCallback((N={},W=null)=>({...N,ref:Rn(W,d),onClick:ht(N.onClick,D),onKeyDown:ht(N.onKeyDown,E),onMouseDown:ht(N.onMouseDown,w)}),[E,w,D]);return{isOpen:t,onClose:n,headerId:m,bodyId:y,setBodyMounted:L,setHeaderMounted:k,dialogRef:u,overlayRef:d,getDialogProps:O,getDialogContainerProps:I}}function Mye(e,t){const n=e.current;S.useEffect(()=>{if(!(!e.current||!t))return LH(e.current)},[t,e,n])}function Lye(e,...t){const n=S.useId(),r=e||n;return S.useMemo(()=>t.map(i=>`${i}-${r}`),[r,t])}var[Aye,g0]=Pn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Oye,Yh]=Pn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),Yd=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:h,motionPreset:m,lockFocusAcrossFrames:y,onCloseComplete:b}=t,w=Yi("Modal",t),_={...Tye(t),autoFocus:i,trapFocus:o,initialFocusRef:a,finalFocusRef:s,returnFocusOnClose:l,blockScrollOnMount:u,allowPinchZoom:d,preserveScrollBarGap:h,motionPreset:m,lockFocusAcrossFrames:y};return g.jsx(Oye,{value:_,children:g.jsx(Aye,{value:w,children:g.jsx(rp,{onExitComplete:b,children:_.isOpen&&g.jsx(c0,{...n,children:r})})})})};Yd.displayName="Modal";var eS="right-scroll-bar-position",tS="width-before-scroll-bar",Rye="with-scroll-bars-hidden",Iye="--removed-body-scroll-bar-size",AH=xz(),mC=function(){},Bw=S.forwardRef(function(e,t){var n=S.useRef(null),r=S.useState({onScrollCapture:mC,onWheelCapture:mC,onTouchMoveCapture:mC}),i=r[0],o=r[1],a=e.forwardProps,s=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,h=e.shards,m=e.sideCar,y=e.noIsolation,b=e.inert,w=e.allowPinchZoom,E=e.as,_=E===void 0?"div":E,k=YB(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),T=m,L=vz([n,t]),O=Nl(Nl({},k),i);return S.createElement(S.Fragment,null,d&&S.createElement(T,{sideCar:AH,removeScrollBar:u,shards:h,noIsolation:y,inert:b,setCallbacks:o,allowPinchZoom:!!w,lockRef:n}),a?S.cloneElement(S.Children.only(s),Nl(Nl({},O),{ref:L})):S.createElement(_,Nl({},O,{className:l,ref:L}),s))});Bw.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Bw.classNames={fullWidth:tS,zeroRight:eS};var gO,Dye=function(){if(gO)return gO;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function jye(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Dye();return t&&e.setAttribute("nonce",t),e}function Nye(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $ye(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Fye=function(){var e=0,t=null;return{add:function(n){e==0&&(t=jye())&&(Nye(t,n),$ye(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Bye=function(){var e=Fye();return function(t,n){S.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},OH=function(){var e=Bye(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},zye={left:0,top:0,right:0,gap:0},vC=function(e){return parseInt(e||"",10)||0},Hye=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[vC(n),vC(r),vC(i)]},Wye=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return zye;var t=Hye(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Uye=OH(),Vye=function(e,t,n,r){var i=e.left,o=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` .`.concat(Rye,` { overflow: hidden `).concat(r,`; padding-right: `).concat(s,"px ").concat(r,`; @@ -407,7 +407,7 @@ Error generating stack: `+o.message+` `)},Gye=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r,o=S.useMemo(function(){return Wye(i)},[i]);return S.createElement(Uye,{styles:Vye(o,!t,i,n?"":"!important")})},ek=!1;if(typeof window<"u")try{var Kb=Object.defineProperty({},"passive",{get:function(){return ek=!0,!0}});window.addEventListener("test",Kb,Kb),window.removeEventListener("test",Kb,Kb)}catch{ek=!1}var Cg=ek?{passive:!1}:!1,qye=function(e){return e.tagName==="TEXTAREA"},RH=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!qye(e)&&n[t]==="visible")},Kye=function(e){return RH(e,"overflowY")},Yye=function(e){return RH(e,"overflowX")},mO=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=IH(e,n);if(r){var i=DH(e,n),o=i[1],a=i[2];if(o>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},Xye=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Zye=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},IH=function(e,t){return e==="v"?Kye(t):Yye(t)},DH=function(e,t){return e==="v"?Xye(t):Zye(t)},Qye=function(e,t){return e==="h"&&t==="rtl"?-1:1},Jye=function(e,t,n,r,i){var o=Qye(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,l=t.contains(s),u=!1,d=a>0,h=0,m=0;do{var y=DH(e,s),b=y[0],w=y[1],E=y[2],_=w-E-o*b;(b||_)&&IH(e,s)&&(h+=_,m+=b),s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(d&&(i&&h===0||!i&&a>h)||!d&&(i&&m===0||!i&&-a>m))&&(u=!0),u},Yb=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},vO=function(e){return[e.deltaX,e.deltaY]},yO=function(e){return e&&"current"in e?e.current:e},e2e=function(e,t){return e[0]===t[0]&&e[1]===t[1]},t2e=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},n2e=0,_g=[];function r2e(e){var t=S.useRef([]),n=S.useRef([0,0]),r=S.useRef(),i=S.useState(n2e++)[0],o=S.useState(function(){return OH()})[0],a=S.useRef(e);S.useEffect(function(){a.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var w=$_([e.lockRef.current],(e.shards||[]).map(yO),!0).filter(Boolean);return w.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),w.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=S.useCallback(function(w,E){if("touches"in w&&w.touches.length===2)return!a.current.allowPinchZoom;var _=Yb(w),k=n.current,T="deltaX"in w?w.deltaX:k[0]-_[0],L="deltaY"in w?w.deltaY:k[1]-_[1],O,D=w.target,I=Math.abs(T)>Math.abs(L)?"h":"v";if("touches"in w&&I==="h"&&D.type==="range")return!1;var N=mO(I,D);if(!N)return!0;if(N?O=I:(O=I==="v"?"h":"v",N=mO(I,D)),!N)return!1;if(!r.current&&"changedTouches"in w&&(T||L)&&(r.current=O),!O)return!0;var W=r.current||O;return Jye(W,E,w,W==="h"?T:L,!0)},[]),l=S.useCallback(function(w){var E=w;if(!(!_g.length||_g[_g.length-1]!==o)){var _="deltaY"in E?vO(E):Yb(E),k=t.current.filter(function(O){return O.name===E.type&&O.target===E.target&&e2e(O.delta,_)})[0];if(k&&k.should){E.cancelable&&E.preventDefault();return}if(!k){var T=(a.current.shards||[]).map(yO).filter(Boolean).filter(function(O){return O.contains(E.target)}),L=T.length>0?s(E,T[0]):!a.current.noIsolation;L&&E.cancelable&&E.preventDefault()}}},[]),u=S.useCallback(function(w,E,_,k){var T={name:w,delta:E,target:_,should:k};t.current.push(T),setTimeout(function(){t.current=t.current.filter(function(L){return L!==T})},1)},[]),d=S.useCallback(function(w){n.current=Yb(w),r.current=void 0},[]),h=S.useCallback(function(w){u(w.type,vO(w),w.target,s(w,e.lockRef.current))},[]),m=S.useCallback(function(w){u(w.type,Yb(w),w.target,s(w,e.lockRef.current))},[]);S.useEffect(function(){return _g.push(o),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Cg),document.addEventListener("touchmove",l,Cg),document.addEventListener("touchstart",d,Cg),function(){_g=_g.filter(function(w){return w!==o}),document.removeEventListener("wheel",l,Cg),document.removeEventListener("touchmove",l,Cg),document.removeEventListener("touchstart",d,Cg)}},[]);var y=e.removeScrollBar,b=e.inert;return S.createElement(S.Fragment,null,b?S.createElement(o,{styles:t2e(i)}):null,y?S.createElement(Gye,{gapMode:"margin"}):null)}const i2e=s0e(AH,r2e);var jH=S.forwardRef(function(e,t){return S.createElement(Bw,Nl({},e,{ref:t,sideCar:i2e}))});jH.classNames=Bw.classNames;const NH=jH;function o2e(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:i,blockScrollOnMount:o,allowPinchZoom:a,finalFocusRef:s,returnFocusOnClose:l,preserveScrollBarGap:u,lockFocusAcrossFrames:d,isOpen:h}=Yh(),[m,y]=RB();S.useEffect(()=>{!m&&y&&setTimeout(y)},[m,y]);const b=TH(r,h);return g.jsx(Jz,{autoFocus:t,isDisabled:!n,initialFocusRef:i,finalFocusRef:s,restoreFocus:l,contentRef:r,lockFocusAcrossFrames:d,children:g.jsx(NH,{removeScrollBar:!u,allowPinchZoom:a,enabled:b===1&&o,forwardProps:!0,children:e.children})})}var Xd=Ze((e,t)=>{const{className:n,children:r,containerProps:i,motionProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:l}=Yh(),u=s(a,t),d=l(i),h=xt("chakra-modal__content",n),m=g0(),y={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...m.dialog},b={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...m.dialogContainer},{motionPreset:w}=Yh();return g.jsx(o2e,{children:g.jsx(Ne.div,{...d,className:"chakra-modal__content-container",tabIndex:-1,__css:b,children:g.jsx(PH,{preset:w,motionProps:o,className:h,...u,__css:y,children:r})})})});Xd.displayName="ModalContent";function $H(e){const{leastDestructiveRef:t,...n}=e;return g.jsx(Yd,{...n,initialFocusRef:t})}var FH=Ze((e,t)=>g.jsx(Xd,{ref:t,role:"alertdialog",...e})),zw=Ze((e,t)=>{const{className:n,...r}=e,i=xt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...g0().footer};return g.jsx(Ne.footer,{ref:t,...r,__css:a,className:i})});zw.displayName="ModalFooter";var op=Ze((e,t)=>{const{className:n,...r}=e,{headerId:i,setHeaderMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__header",n),l={flex:0,...g0().header};return g.jsx(Ne.header,{ref:t,className:a,id:i,...r,__css:l})});op.displayName="ModalHeader";var a2e=Ne(su.div),oc=Ze((e,t)=>{const{className:n,transition:r,motionProps:i,...o}=e,a=xt("chakra-modal__overlay",n),l={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...g0().overlay},{motionPreset:u}=Yh(),h=i||(u==="none"?{}:oz);return g.jsx(a2e,{...h,__css:l,ref:t,className:a,...o})});oc.displayName="ModalOverlay";var Zm=Ze((e,t)=>{const{className:n,...r}=e,{bodyId:i,setBodyMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__body",n),s=g0();return g.jsx(Ne.div,{ref:t,className:a,id:i,...r,__css:s.body})});Zm.displayName="ModalBody";var m0=Ze((e,t)=>{const{onClick:n,className:r,...i}=e,{onClose:o}=Yh(),a=xt("chakra-modal__close-btn",r),s=g0();return g.jsx(o8,{ref:t,__css:s.closeButton,className:a,onClick:ht(n,l=>{l.stopPropagation(),o()}),...i})});m0.displayName="ModalCloseButton";var s2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),l2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function bO(e,t,n,r){S.useEffect(()=>{var i;if(!e.current||!r)return;const o=(i=e.current.ownerDocument.defaultView)!=null?i:window,a=Array.isArray(t)?t:[t],s=new o.MutationObserver(l=>{for(const u of l)u.type==="attributes"&&u.attributeName&&a.includes(u.attributeName)&&n(u)});return s.observe(e.current,{attributes:!0,attributeFilter:a}),()=>s.disconnect()})}function u2e(e,t){const n=Qr(e);S.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var c2e=50,xO=300;function d2e(e,t){const[n,r]=S.useState(!1),[i,o]=S.useState(null),[a,s]=S.useState(!0),l=S.useRef(null),u=()=>clearTimeout(l.current);u2e(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?c2e:null);const d=S.useCallback(()=>{a&&e(),l.current=setTimeout(()=>{s(!1),r(!0),o("increment")},xO)},[e,a]),h=S.useCallback(()=>{a&&t(),l.current=setTimeout(()=>{s(!1),r(!0),o("decrement")},xO)},[t,a]),m=S.useCallback(()=>{s(!0),r(!1),u()},[]);return S.useEffect(()=>()=>u(),[]),{up:d,down:h,stop:m,isSpinning:n}}var f2e=/^[Ee0-9+\-.]$/;function h2e(e){return f2e.test(e)}function p2e(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function g2e(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:i=Number.MIN_SAFE_INTEGER,max:o=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:s,isDisabled:l,isRequired:u,isInvalid:d,pattern:h="[0-9]*(.[0-9]+)?",inputMode:m="decimal",allowMouseWheel:y,id:b,onChange:w,precision:E,name:_,"aria-describedby":k,"aria-label":T,"aria-labelledby":L,onFocus:O,onBlur:D,onInvalid:I,getAriaValueText:N,isValidCharacter:W,format:B,parse:K,...ne}=e,z=Qr(O),$=Qr(D),V=Qr(I),X=Qr(W??h2e),Q=Qr(N),G=Wme(e),{update:Y,increment:ee,decrement:fe}=G,[Ce,we]=S.useState(!1),xe=!(s||l),Le=S.useRef(null),Se=S.useRef(null),Qe=S.useRef(null),Xe=S.useRef(null),tt=S.useCallback(Me=>Me.split("").filter(X).join(""),[X]),yt=S.useCallback(Me=>{var Ct;return(Ct=K==null?void 0:K(Me))!=null?Ct:Me},[K]),Be=S.useCallback(Me=>{var Ct;return((Ct=B==null?void 0:B(Me))!=null?Ct:Me).toString()},[B]);rc(()=>{(G.valueAsNumber>o||G.valueAsNumber{if(!Le.current)return;if(Le.current.value!=G.value){const Ct=yt(Le.current.value);G.setValue(tt(Ct))}},[yt,tt]);const Ae=S.useCallback((Me=a)=>{xe&&ee(Me)},[ee,xe,a]),bt=S.useCallback((Me=a)=>{xe&&fe(Me)},[fe,xe,a]),Fe=d2e(Ae,bt);bO(Qe,"disabled",Fe.stop,Fe.isSpinning),bO(Xe,"disabled",Fe.stop,Fe.isSpinning);const at=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;const zt=yt(Me.currentTarget.value);Y(tt(zt)),Se.current={start:Me.currentTarget.selectionStart,end:Me.currentTarget.selectionEnd}},[Y,tt,yt]),jt=S.useCallback(Me=>{var Ct,zt,$n;z==null||z(Me),Se.current&&(Me.target.selectionStart=(zt=Se.current.start)!=null?zt:(Ct=Me.currentTarget.value)==null?void 0:Ct.length,Me.currentTarget.selectionEnd=($n=Se.current.end)!=null?$n:Me.currentTarget.selectionStart)},[z]),mt=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;p2e(Me,X)||Me.preventDefault();const Ct=Zt(Me)*a,zt=Me.key,qe={ArrowUp:()=>Ae(Ct),ArrowDown:()=>bt(Ct),Home:()=>Y(i),End:()=>Y(o)}[zt];qe&&(Me.preventDefault(),qe(Me))},[X,a,Ae,bt,Y,i,o]),Zt=Me=>{let Ct=1;return(Me.metaKey||Me.ctrlKey)&&(Ct=.1),Me.shiftKey&&(Ct=10),Ct},on=S.useMemo(()=>{const Me=Q==null?void 0:Q(G.value);if(Me!=null)return Me;const Ct=G.value.toString();return Ct||void 0},[G.value,Q]),se=S.useCallback(()=>{let Me=G.value;if(G.value==="")return;/^[eE]/.test(G.value.toString())?G.setValue(""):(G.valueAsNumbero&&(Me=o),G.cast(Me))},[G,o,i]),Ie=S.useCallback(()=>{we(!1),n&&se()},[n,we,se]),He=S.useCallback(()=>{t&&requestAnimationFrame(()=>{var Me;(Me=Le.current)==null||Me.focus()})},[t]),Ue=S.useCallback(Me=>{Me.preventDefault(),Fe.up(),He()},[He,Fe]),ye=S.useCallback(Me=>{Me.preventDefault(),Fe.down(),He()},[He,Fe]);Dh(()=>Le.current,"wheel",Me=>{var Ct,zt;const qe=((zt=(Ct=Le.current)==null?void 0:Ct.ownerDocument)!=null?zt:document).activeElement===Le.current;if(!y||!qe)return;Me.preventDefault();const pt=Zt(Me)*a,zr=Math.sign(Me.deltaY);zr===-1?Ae(pt):zr===1&&bt(pt)},{passive:!1});const je=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMax;return{...Me,ref:Rn(Ct,Qe),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||Ue($n)}),onPointerLeave:ht(Me.onPointerLeave,Fe.stop),onPointerUp:ht(Me.onPointerUp,Fe.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMax,r,Ue,Fe.stop,l]),vt=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMin;return{...Me,ref:Rn(Ct,Xe),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||ye($n)}),onPointerLeave:ht(Me.onPointerLeave,Fe.stop),onPointerUp:ht(Me.onPointerUp,Fe.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMin,r,ye,Fe.stop,l]),Mt=S.useCallback((Me={},Ct=null)=>{var zt,$n,qe,pt;return{name:_,inputMode:m,type:"text",pattern:h,"aria-labelledby":L,"aria-label":T,"aria-describedby":k,id:b,disabled:l,...Me,readOnly:(zt=Me.readOnly)!=null?zt:s,"aria-readonly":($n=Me.readOnly)!=null?$n:s,"aria-required":(qe=Me.required)!=null?qe:u,required:(pt=Me.required)!=null?pt:u,ref:Rn(Le,Ct),value:Be(G.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(G.valueAsNumber)?void 0:G.valueAsNumber,"aria-invalid":Uu(d??G.isOutOfRange),"aria-valuetext":on,autoComplete:"off",autoCorrect:"off",onChange:ht(Me.onChange,at),onKeyDown:ht(Me.onKeyDown,mt),onFocus:ht(Me.onFocus,jt,()=>we(!0)),onBlur:ht(Me.onBlur,$,Ie)}},[_,m,h,L,T,Be,k,b,l,u,s,d,G.value,G.valueAsNumber,G.isOutOfRange,i,o,on,at,mt,jt,$,Ie]);return{value:Be(G.value),valueAsNumber:G.valueAsNumber,isFocused:Ce,isDisabled:l,isReadOnly:s,getIncrementButtonProps:je,getDecrementButtonProps:vt,getInputProps:Mt,htmlProps:ne}}var[m2e,Hw]=Pn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[v2e,F8]=Pn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),B8=Ze(function(t,n){const r=Yi("NumberInput",t),i=fr(t),o=h8(i),{htmlProps:a,...s}=g2e(o),l=S.useMemo(()=>s,[s]);return g.jsx(v2e,{value:l,children:g.jsx(m2e,{value:r,children:g.jsx(Ne.div,{...a,ref:n,className:xt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});B8.displayName="NumberInput";var BH=Ze(function(t,n){const r=Hw();return g.jsx(Ne.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});BH.displayName="NumberInputStepper";var z8=Ze(function(t,n){const{getInputProps:r}=F8(),i=r(t,n),o=Hw();return g.jsx(Ne.input,{...i,className:xt("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});z8.displayName="NumberInputField";var zH=Ne("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),H8=Ze(function(t,n){var r;const i=Hw(),{getDecrementButtonProps:o}=F8(),a=o(t,n);return g.jsx(zH,{...a,__css:i.stepper,children:(r=t.children)!=null?r:g.jsx(s2e,{})})});H8.displayName="NumberDecrementStepper";var W8=Ze(function(t,n){var r;const{getIncrementButtonProps:i}=F8(),o=i(t,n),a=Hw();return g.jsx(zH,{...o,__css:a.stepper,children:(r=t.children)!=null?r:g.jsx(l2e,{})})});W8.displayName="NumberIncrementStepper";var[y2e,Ww]=Pn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[b2e,HH]=Pn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function U8(e){const t=S.Children.only(e.children),{getTriggerProps:n}=Ww();return S.cloneElement(t,n(t.props,t.ref))}U8.displayName="PopoverTrigger";var kg={click:"click",hover:"hover"};function x2e(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:i,returnFocusOnClose:o=!0,autoFocus:a=!0,arrowSize:s,arrowShadowColor:l,trigger:u=kg.click,openDelay:d=200,closeDelay:h=200,isLazy:m,lazyBehavior:y="unmount",computePositionOnMount:b,...w}=e,{isOpen:E,onClose:_,onOpen:k,onToggle:T}=N8(e),L=S.useRef(null),O=S.useRef(null),D=S.useRef(null),I=S.useRef(!1),N=S.useRef(!1);E&&(N.current=!0);const[W,B]=S.useState(!1),[K,ne]=S.useState(!1),z=S.useId(),$=i??z,[V,X,Q,G]=["popover-trigger","popover-content","popover-header","popover-body"].map(at=>`${at}-${$}`),{referenceRef:Y,getArrowProps:ee,getPopperProps:fe,getArrowInnerProps:Ce,forceUpdate:we}=j8({...w,enabled:E||!!b}),xe=bH({isOpen:E,ref:D});Xme({enabled:E,ref:O}),lH(D,{focusRef:O,visible:E,shouldFocus:o&&u===kg.click}),Lve(D,{focusRef:r,visible:E,shouldFocus:a&&u===kg.click});const Le=$8({wasSelected:N.current,enabled:m,mode:y,isSelected:xe.present}),Se=S.useCallback((at={},jt=null)=>{const mt={...at,style:{...at.style,transformOrigin:ii.transformOrigin.varRef,[ii.arrowSize.var]:s?`${s}px`:void 0,[ii.arrowShadowColor.var]:l},ref:Rn(D,jt),children:Le?at.children:null,id:X,tabIndex:-1,role:"dialog",onKeyDown:ht(at.onKeyDown,Zt=>{n&&Zt.key==="Escape"&&_()}),onBlur:ht(at.onBlur,Zt=>{const on=SO(Zt),se=yC(D.current,on),Ie=yC(O.current,on);E&&t&&(!se&&!Ie)&&_()}),"aria-labelledby":W?Q:void 0,"aria-describedby":K?G:void 0};return u===kg.hover&&(mt.role="tooltip",mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0}),mt.onMouseLeave=ht(at.onMouseLeave,Zt=>{Zt.nativeEvent.relatedTarget!==null&&(I.current=!1,setTimeout(()=>_(),h))})),mt},[Le,X,W,Q,K,G,u,n,_,E,t,h,l,s]),Qe=S.useCallback((at={},jt=null)=>fe({...at,style:{visibility:E?"visible":"hidden",...at.style}},jt),[E,fe]),Xe=S.useCallback((at,jt=null)=>({...at,ref:Rn(jt,L,Y)}),[L,Y]),tt=S.useRef(),yt=S.useRef(),Be=S.useCallback(at=>{L.current==null&&Y(at)},[Y]),Ae=S.useCallback((at={},jt=null)=>{const mt={...at,ref:Rn(O,jt,Be),id:V,"aria-haspopup":"dialog","aria-expanded":E,"aria-controls":X};return u===kg.click&&(mt.onClick=ht(at.onClick,T)),u===kg.hover&&(mt.onFocus=ht(at.onFocus,()=>{tt.current===void 0&&k()}),mt.onBlur=ht(at.onBlur,Zt=>{const on=SO(Zt),se=!yC(D.current,on);E&&t&&se&&_()}),mt.onKeyDown=ht(at.onKeyDown,Zt=>{Zt.key==="Escape"&&_()}),mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0,tt.current=window.setTimeout(()=>k(),d)}),mt.onMouseLeave=ht(at.onMouseLeave,()=>{I.current=!1,tt.current&&(clearTimeout(tt.current),tt.current=void 0),yt.current=window.setTimeout(()=>{I.current===!1&&_()},h)})),mt},[V,E,X,u,Be,T,k,t,_,d,h]);S.useEffect(()=>()=>{tt.current&&clearTimeout(tt.current),yt.current&&clearTimeout(yt.current)},[]);const bt=S.useCallback((at={},jt=null)=>({...at,id:Q,ref:Rn(jt,mt=>{B(!!mt)})}),[Q]),Fe=S.useCallback((at={},jt=null)=>({...at,id:G,ref:Rn(jt,mt=>{ne(!!mt)})}),[G]);return{forceUpdate:we,isOpen:E,onAnimationComplete:xe.onComplete,onClose:_,getAnchorProps:Xe,getArrowProps:ee,getArrowInnerProps:Ce,getPopoverPositionerProps:Qe,getPopoverProps:Se,getTriggerProps:Ae,getHeaderProps:bt,getBodyProps:Fe}}function yC(e,t){return e===t||(e==null?void 0:e.contains(t))}function SO(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function V8(e){const t=Yi("Popover",e),{children:n,...r}=fr(e),i=Zy(),o=x2e({...r,direction:i.direction});return g.jsx(y2e,{value:o,children:g.jsx(b2e,{value:t,children:ts(n,{isOpen:o.isOpen,onClose:o.onClose,forceUpdate:o.forceUpdate})})})}V8.displayName="Popover";function G8(e){var t;const{bg:n,bgColor:r,backgroundColor:i,shadow:o,boxShadow:a}=e,{getArrowProps:s,getArrowInnerProps:l}=Ww(),u=HH(),d=(t=n??r)!=null?t:i,h=o??a;return g.jsx(Ne.div,{...s(),className:"chakra-popover__arrow-positioner",children:g.jsx(Ne.div,{className:xt("chakra-popover__arrow",e.className),...l(e),__css:{"--popper-arrow-bg":d?`colors.${d}, ${d}`:void 0,"--popper-arrow-shadow":h?`shadows.${h}, ${h}`:void 0,...u.arrow}})})}G8.displayName="PopoverArrow";function S2e(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var w2e={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},C2e=Ne(su.section),WH=Ze(function(t,n){const{variants:r=w2e,...i}=t,{isOpen:o}=Ww();return g.jsx(C2e,{ref:n,variants:S2e(r),initial:!1,animate:o?"enter":"exit",...i})});WH.displayName="PopoverTransition";var q8=Ze(function(t,n){const{rootProps:r,motionProps:i,...o}=t,{getPopoverProps:a,getPopoverPositionerProps:s,onAnimationComplete:l}=Ww(),u=HH(),d={position:"relative",display:"flex",flexDirection:"column",...u.content};return g.jsx(Ne.div,{...s(r),__css:u.popper,className:"chakra-popover__popper",children:g.jsx(WH,{...i,...a(o,n),onAnimationComplete:Sw(l,o.onAnimationComplete),className:xt("chakra-popover__content",t.className),__css:d})})});q8.displayName="PopoverContent";function _2e(e,t,n){return(e-t)*100/(n-t)}nf({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});nf({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var k2e=nf({"0%":{left:"-40%"},"100%":{left:"100%"}}),E2e=nf({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function P2e(e){const{value:t=0,min:n,max:r,valueText:i,getValueText:o,isIndeterminate:a,role:s="progressbar"}=e,l=_2e(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof o=="function"?o(t,l):i})(),role:s},percent:l,value:t}}var[T2e,M2e]=Pn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),L2e=Ze((e,t)=>{const{min:n,max:r,value:i,isIndeterminate:o,role:a,...s}=e,l=P2e({value:i,min:n,max:r,isIndeterminate:o,role:a}),d={height:"100%",...M2e().filledTrack};return g.jsx(Ne.div,{ref:t,style:{width:`${l.percent}%`,...s.style},...l.bind,...s,__css:d})}),UH=Ze((e,t)=>{var n;const{value:r,min:i=0,max:o=100,hasStripe:a,isAnimated:s,children:l,borderRadius:u,isIndeterminate:d,"aria-label":h,"aria-labelledby":m,"aria-valuetext":y,title:b,role:w,...E}=fr(e),_=Yi("Progress",e),k=u??((n=_.track)==null?void 0:n.borderRadius),T={animation:`${E2e} 1s linear infinite`},D={...!d&&a&&s&&T,...d&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${k2e} 1s ease infinite normal none running`}},I={overflow:"hidden",position:"relative",..._.track};return g.jsx(Ne.div,{ref:t,borderRadius:k,__css:I,...E,children:g.jsxs(T2e,{value:_,children:[g.jsx(L2e,{"aria-label":h,"aria-labelledby":m,"aria-valuetext":y,min:i,max:o,value:r,isIndeterminate:d,css:D,borderRadius:k,title:b,role:w}),l]})})});UH.displayName="Progress";function A2e(e){return e&&ko(e)&&ko(e.target)}function O2e(e={}){const{onChange:t,value:n,defaultValue:r,name:i,isDisabled:o,isFocusable:a,isNative:s,...l}=e,[u,d]=S.useState(r||""),h=typeof n<"u",m=h?n:u,y=S.useRef(null),b=S.useCallback(()=>{const O=y.current;if(!O)return;let D="input:not(:disabled):checked";const I=O.querySelector(D);if(I){I.focus();return}D="input:not(:disabled)";const N=O.querySelector(D);N==null||N.focus()},[]),E=`radio-${S.useId()}`,_=i||E,k=S.useCallback(O=>{const D=A2e(O)?O.target.value:O;h||d(D),t==null||t(String(D))},[t,h]),T=S.useCallback((O={},D=null)=>({...O,ref:Rn(D,y),role:"radiogroup"}),[]),L=S.useCallback((O={},D=null)=>({...O,ref:D,name:_,[s?"checked":"isChecked"]:m!=null?O.value===m:void 0,onChange(N){k(N)},"data-radiogroup":!0}),[s,_,k,m]);return{getRootProps:T,getRadioProps:L,name:_,ref:y,focus:b,setValue:d,value:m,onChange:k,isDisabled:o,isFocusable:a,htmlProps:l}}var[R2e,VH]=Pn({name:"RadioGroupContext",strict:!1}),Oy=Ze((e,t)=>{const{colorScheme:n,size:r,variant:i,children:o,className:a,isDisabled:s,isFocusable:l,...u}=e,{value:d,onChange:h,getRootProps:m,name:y,htmlProps:b}=O2e(u),w=S.useMemo(()=>({name:y,size:r,onChange:h,colorScheme:n,value:d,variant:i,isDisabled:s,isFocusable:l}),[y,r,h,n,d,i,s,l]);return g.jsx(R2e,{value:w,children:g.jsx(Ne.div,{...m(b,t),className:xt("chakra-radio-group",a),children:o})})});Oy.displayName="RadioGroup";var I2e={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function D2e(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:i,isReadOnly:o,isRequired:a,onChange:s,isInvalid:l,name:u,value:d,id:h,"data-radiogroup":m,"aria-describedby":y,...b}=e,w=`radio-${S.useId()}`,E=ip(),k=!!VH()||!!m;let L=!!E&&!k?E.id:w;L=h??L;const O=i??(E==null?void 0:E.isDisabled),D=o??(E==null?void 0:E.isReadOnly),I=a??(E==null?void 0:E.isRequired),N=l??(E==null?void 0:E.isInvalid),[W,B]=S.useState(!1),[K,ne]=S.useState(!1),[z,$]=S.useState(!1),[V,X]=S.useState(!1),[Q,G]=S.useState(Boolean(t)),Y=typeof n<"u",ee=Y?n:Q;S.useEffect(()=>uz(B),[]);const fe=S.useCallback(Be=>{if(D||O){Be.preventDefault();return}Y||G(Be.target.checked),s==null||s(Be)},[Y,O,D,s]),Ce=S.useCallback(Be=>{Be.key===" "&&X(!0)},[X]),we=S.useCallback(Be=>{Be.key===" "&&X(!1)},[X]),xe=S.useCallback((Be={},Ae=null)=>({...Be,ref:Ae,"data-active":Bt(V),"data-hover":Bt(z),"data-disabled":Bt(O),"data-invalid":Bt(N),"data-checked":Bt(ee),"data-focus":Bt(K),"data-focus-visible":Bt(K&&W),"data-readonly":Bt(D),"aria-hidden":!0,onMouseDown:ht(Be.onMouseDown,()=>X(!0)),onMouseUp:ht(Be.onMouseUp,()=>X(!1)),onMouseEnter:ht(Be.onMouseEnter,()=>$(!0)),onMouseLeave:ht(Be.onMouseLeave,()=>$(!1))}),[V,z,O,N,ee,K,D,W]),{onFocus:Le,onBlur:Se}=E??{},Qe=S.useCallback((Be={},Ae=null)=>{const bt=O&&!r;return{...Be,id:L,ref:Ae,type:"radio",name:u,value:d,onChange:ht(Be.onChange,fe),onBlur:ht(Se,Be.onBlur,()=>ne(!1)),onFocus:ht(Le,Be.onFocus,()=>ne(!0)),onKeyDown:ht(Be.onKeyDown,Ce),onKeyUp:ht(Be.onKeyUp,we),checked:ee,disabled:bt,readOnly:D,required:I,"aria-invalid":Uu(N),"aria-disabled":Uu(bt),"aria-required":Uu(I),"data-readonly":Bt(D),"aria-describedby":y,style:I2e}},[O,r,L,u,d,fe,Se,Le,Ce,we,ee,D,I,N,y]);return{state:{isInvalid:N,isFocused:K,isChecked:ee,isActive:V,isHovered:z,isDisabled:O,isReadOnly:D,isRequired:I},getCheckboxProps:xe,getInputProps:Qe,getLabelProps:(Be={},Ae=null)=>({...Be,ref:Ae,onMouseDown:ht(Be.onMouseDown,wO),onTouchStart:ht(Be.onTouchStart,wO),"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),getRootProps:(Be,Ae=null)=>({...Be,ref:Ae,"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),htmlProps:b}}function wO(e){e.preventDefault(),e.stopPropagation()}function j2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var Vo=Ze((e,t)=>{var n;const r=VH(),{onChange:i,value:o}=e,a=Yi("Radio",{...r,...e}),s=fr(e),{spacing:l="0.5rem",children:u,isDisabled:d=r==null?void 0:r.isDisabled,isFocusable:h=r==null?void 0:r.isFocusable,inputProps:m,...y}=s;let b=e.isChecked;(r==null?void 0:r.value)!=null&&o!=null&&(b=r.value===o);let w=i;r!=null&&r.onChange&&o!=null&&(w=Sw(r.onChange,i));const E=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:T,getRootProps:L,htmlProps:O}=D2e({...y,isChecked:b,isFocusable:h,isDisabled:d,onChange:w,name:E}),[D,I]=j2e(O,lF),N=k(I),W=_(m,t),B=T(),K=Object.assign({},D,L()),ne={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},z={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},$={userSelect:"none",marginStart:l,...a.label};return g.jsxs(Ne.label,{className:"chakra-radio",...K,__css:ne,children:[g.jsx("input",{className:"chakra-radio__input",...W}),g.jsx(Ne.span,{className:"chakra-radio__control",...N,__css:z}),u&&g.jsx(Ne.span,{className:"chakra-radio__label",...B,__css:$,children:u})]})});Vo.displayName="Radio";var GH=Ze(function(t,n){const{children:r,placeholder:i,className:o,...a}=t;return g.jsxs(Ne.select,{...a,ref:n,className:xt("chakra-select",o),children:[i&&g.jsx("option",{value:"",children:i}),r]})});GH.displayName="SelectField";function N2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var qH=Ze((e,t)=>{var n;const r=Yi("Select",e),{rootProps:i,placeholder:o,icon:a,color:s,height:l,h:u,minH:d,minHeight:h,iconColor:m,iconSize:y,...b}=fr(e),[w,E]=N2e(b,lF),_=f8(E),k={width:"100%",height:"fit-content",position:"relative",color:s},T={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return g.jsxs(Ne.div,{className:"chakra-select__wrapper",__css:k,...w,...i,children:[g.jsx(GH,{ref:t,height:u??l,minH:d??h,placeholder:o,..._,__css:T,children:e.children}),g.jsx(KH,{"data-disabled":Bt(_.disabled),...(m||s)&&{color:m||s},__css:r.icon,...y&&{fontSize:y},children:a})]})});qH.displayName="Select";var $2e=e=>g.jsx("svg",{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),F2e=Ne("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),KH=e=>{const{children:t=g.jsx($2e,{}),...n}=e,r=S.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return g.jsx(F2e,{...n,className:"chakra-select__icon-wrapper",children:S.isValidElement(t)?r:null})};KH.displayName="SelectIcon";var Eg=e=>e?"":void 0,bC=e=>e?!0:void 0,f2=(...e)=>e.filter(Boolean).join(" ");function xC(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function Xb(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var nS={width:0,height:0},Zb=e=>e||nS;function B2e(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=w=>{var E;const _=(E=r[w])!=null?E:nS;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Xb({orientation:t,vertical:{bottom:`calc(${n[w]}% - ${_.height/2}px)`},horizontal:{left:`calc(${n[w]}% - ${_.width/2}px)`}})}},a=t==="vertical"?r.reduce((w,E)=>Zb(w).height>Zb(E).height?w:E,nS):r.reduce((w,E)=>Zb(w).width>Zb(E).width?w:E,nS),s={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Xb({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},l={position:"absolute",...Xb({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},u=n.length===1,d=[0,i?100-n[0]:n[0]],h=u?d:n;let m=h[0];!u&&i&&(m=100-m);const y=Math.abs(h[h.length-1]-h[0]),b={...l,...Xb({orientation:t,vertical:i?{height:`${y}%`,top:`${m}%`}:{height:`${y}%`,bottom:`${m}%`},horizontal:i?{width:`${y}%`,right:`${m}%`}:{width:`${y}%`,left:`${m}%`}})};return{trackStyle:l,innerTrackStyle:b,rootStyle:s,getThumbStyle:o}}function z2e(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function H2e(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function W2e(e){const t=V2e(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function YH(e){return!!e.touches}function U2e(e){return YH(e)&&e.touches.length>1}function V2e(e){var t;return(t=e.view)!=null?t:window}function G2e(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function q2e(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function XH(e,t="page"){return YH(e)?G2e(e,t):q2e(e,t)}function K2e(e){return t=>{const n=W2e(t);(!n||n&&t.button===0)&&e(t)}}function Y2e(e,t=!1){function n(i){e(i,{point:XH(i)})}return t?K2e(n):n}function rS(e,t,n,r){return H2e(e,t,Y2e(n,t==="pointerdown"),r)}var X2e=Object.defineProperty,Z2e=(e,t,n)=>t in e?X2e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$s=(e,t,n)=>(Z2e(e,typeof t!="symbol"?t+"":t,n),n),Q2e=class{constructor(e,t,n){$s(this,"history",[]),$s(this,"startEvent",null),$s(this,"lastEvent",null),$s(this,"lastEventInfo",null),$s(this,"handlers",{}),$s(this,"removeListeners",()=>{}),$s(this,"threshold",3),$s(this,"win"),$s(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const s=SC(this.lastEventInfo,this.history),l=this.startEvent!==null,u=nbe(s.offset,{x:0,y:0})>=this.threshold;if(!l&&!u)return;const{timestamp:d}=kL();this.history.push({...s.point,timestamp:d});const{onStart:h,onMove:m}=this.handlers;l||(h==null||h(this.lastEvent,s),this.startEvent=this.lastEvent),m==null||m(this.lastEvent,s)}),$s(this,"onPointerMove",(s,l)=>{this.lastEvent=s,this.lastEventInfo=l,Sce.update(this.updatePoint,!0)}),$s(this,"onPointerUp",(s,l)=>{const u=SC(l,this.history),{onEnd:d,onSessionEnd:h}=this.handlers;h==null||h(s,u),this.end(),!(!d||!this.startEvent)&&(d==null||d(s,u))});var r;if(this.win=(r=e.view)!=null?r:window,U2e(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const i={point:XH(e)},{timestamp:o}=kL();this.history=[{...i.point,timestamp:o}];const{onSessionStart:a}=t;a==null||a(e,SC(i,this.history)),this.removeListeners=tbe(rS(this.win,"pointermove",this.onPointerMove),rS(this.win,"pointerup",this.onPointerUp),rS(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),wce.update(this.updatePoint)}};function CO(e,t){return{x:e.x-t.x,y:e.y-t.y}}function SC(e,t){return{point:e.point,delta:CO(e.point,t[t.length-1]),offset:CO(e.point,t[0]),velocity:ebe(t,.1)}}var J2e=e=>e*1e3;function ebe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=e[e.length-1];for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>J2e(t)));)n--;if(!r)return{x:0,y:0};const o=(i.timestamp-r.timestamp)/1e3;if(o===0)return{x:0,y:0};const a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function tbe(...e){return t=>e.reduce((n,r)=>r(n),t)}function wC(e,t){return Math.abs(e-t)}function _O(e){return"x"in e&&"y"in e}function nbe(e,t){if(typeof e=="number"&&typeof t=="number")return wC(e,t);if(_O(e)&&_O(t)){const n=wC(e.x,t.x),r=wC(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function ZH(e){const t=S.useRef(null);return t.current=e,t}function rbe(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:a,threshold:s}=t,l=Boolean(n||r||i||o||a),u=S.useRef(null),d=ZH({onSessionStart:o,onSessionEnd:a,onStart:r,onMove:n,onEnd(h,m){u.current=null,i==null||i(h,m)}});S.useEffect(()=>{var h;(h=u.current)==null||h.updateHandlers(d.current)}),S.useEffect(()=>{const h=e.current;if(!h||!l)return;function m(y){u.current=new Q2e(y,d.current,s)}return rS(h,"pointerdown",m)},[e,l,d,s]),S.useEffect(()=>()=>{var h;(h=u.current)==null||h.end(),u.current=null},[])}function ibe(e,t){var n;if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const r=(n=e.ownerDocument.defaultView)!=null?n:window,i=new r.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[a]=o;let s,l;if("borderBoxSize"in a){const u=a.borderBoxSize,d=Array.isArray(u)?u[0]:u;s=d.inlineSize,l=d.blockSize}else s=e.offsetWidth,l=e.offsetHeight;t({width:s,height:l})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}var obe=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:S.useEffect;function abe(e,t){var n,r;if(!e||!e.parentElement)return;const i=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,o=new i.MutationObserver(()=>{t()});return o.observe(e.parentElement,{childList:!0}),()=>{o.disconnect()}}function sbe({getNodes:e,observeMutation:t=!0}){const[n,r]=S.useState([]),[i,o]=S.useState(0);return obe(()=>{const a=e(),s=a.map((l,u)=>ibe(l,d=>{r(h=>[...h.slice(0,u),d,...h.slice(u+1)])}));if(t){const l=a[0];s.push(abe(l,()=>{o(u=>u+1)}))}return()=>{s.forEach(l=>{l==null||l()})}},[i]),n}function lbe(e){return typeof e=="object"&&e!==null&&"current"in e}function ube(e){const[t]=sbe({observeMutation:!1,getNodes(){return[lbe(e)?e.current:e]}});return t}function cbe(e){var t;const{min:n=0,max:r=100,onChange:i,value:o,defaultValue:a,isReversed:s,direction:l="ltr",orientation:u="horizontal",id:d,isDisabled:h,isReadOnly:m,onChangeStart:y,onChangeEnd:b,step:w=1,getAriaValueText:E,"aria-valuetext":_,"aria-label":k,"aria-labelledby":T,name:L,focusThumbOnChange:O=!0,...D}=e,I=Qr(y),N=Qr(b),W=Qr(E),B=z2e({isReversed:s,direction:l,orientation:u}),[K,ne]=l8({value:o,defaultValue:a??fbe(n,r),onChange:i}),[z,$]=S.useState(!1),[V,X]=S.useState(!1),Q=!(h||m),G=(r-n)/10,Y=w||(r-n)/100,ee=Qx(K,n,r),fe=r-ee+n,we=GA(B?fe:ee,n,r),xe=u==="vertical",Le=ZH({min:n,max:r,step:w,isDisabled:h,value:ee,isInteractive:Q,isReversed:B,isVertical:xe,eventSource:null,focusThumbOnChange:O,orientation:u}),Se=S.useRef(null),Qe=S.useRef(null),Xe=S.useRef(null),tt=S.useId(),yt=d??tt,[Be,Ae]=[`slider-thumb-${yt}`,`slider-track-${yt}`],bt=S.useCallback(qe=>{var pt,zr;if(!Se.current)return;const rr=Le.current;rr.eventSource="pointer";const Bn=Se.current.getBoundingClientRect(),{clientX:li,clientY:vs}=(zr=(pt=qe.touches)==null?void 0:pt[0])!=null?zr:qe,tl=xe?Bn.bottom-vs:li-Bn.left,gf=xe?Bn.height:Bn.width;let ys=tl/gf;B&&(ys=1-ys);let Xi=Hme(ys,rr.min,rr.max);return rr.step&&(Xi=parseFloat(qA(Xi,rr.min,rr.step))),Xi=Qx(Xi,rr.min,rr.max),Xi},[xe,B,Le]),Fe=S.useCallback(qe=>{const pt=Le.current;pt.isInteractive&&(qe=parseFloat(qA(qe,pt.min,Y)),qe=Qx(qe,pt.min,pt.max),ne(qe))},[Y,ne,Le]),at=S.useMemo(()=>({stepUp(qe=Y){const pt=B?ee-qe:ee+qe;Fe(pt)},stepDown(qe=Y){const pt=B?ee+qe:ee-qe;Fe(pt)},reset(){Fe(a||0)},stepTo(qe){Fe(qe)}}),[Fe,B,ee,Y,a]),jt=S.useCallback(qe=>{const pt=Le.current,rr={ArrowRight:()=>at.stepUp(),ArrowUp:()=>at.stepUp(),ArrowLeft:()=>at.stepDown(),ArrowDown:()=>at.stepDown(),PageUp:()=>at.stepUp(G),PageDown:()=>at.stepDown(G),Home:()=>Fe(pt.min),End:()=>Fe(pt.max)}[qe.key];rr&&(qe.preventDefault(),qe.stopPropagation(),rr(qe),pt.eventSource="keyboard")},[at,Fe,G,Le]),mt=(t=W==null?void 0:W(ee))!=null?t:_,Zt=ube(Qe),{getThumbStyle:on,rootStyle:se,trackStyle:Ie,innerTrackStyle:He}=S.useMemo(()=>{const qe=Le.current,pt=Zt??{width:0,height:0};return B2e({isReversed:B,orientation:qe.orientation,thumbRects:[pt],thumbPercents:[we]})},[B,Zt,we,Le]),Ue=S.useCallback(()=>{Le.current.focusThumbOnChange&&setTimeout(()=>{var pt;return(pt=Qe.current)==null?void 0:pt.focus()})},[Le]);rc(()=>{const qe=Le.current;Ue(),qe.eventSource==="keyboard"&&(N==null||N(qe.value))},[ee,N]);function ye(qe){const pt=bt(qe);pt!=null&&pt!==Le.current.value&&ne(pt)}rbe(Xe,{onPanSessionStart(qe){const pt=Le.current;pt.isInteractive&&($(!0),Ue(),ye(qe),I==null||I(pt.value))},onPanSessionEnd(){const qe=Le.current;qe.isInteractive&&($(!1),N==null||N(qe.value))},onPan(qe){Le.current.isInteractive&&ye(qe)}});const je=S.useCallback((qe={},pt=null)=>({...qe,...D,ref:Rn(pt,Xe),tabIndex:-1,"aria-disabled":bC(h),"data-focused":Eg(V),style:{...qe.style,...se}}),[D,h,V,se]),vt=S.useCallback((qe={},pt=null)=>({...qe,ref:Rn(pt,Se),id:Ae,"data-disabled":Eg(h),style:{...qe.style,...Ie}}),[h,Ae,Ie]),Mt=S.useCallback((qe={},pt=null)=>({...qe,ref:pt,style:{...qe.style,...He}}),[He]),Me=S.useCallback((qe={},pt=null)=>({...qe,ref:Rn(pt,Qe),role:"slider",tabIndex:Q?0:void 0,id:Be,"data-active":Eg(z),"aria-valuetext":mt,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":ee,"aria-orientation":u,"aria-disabled":bC(h),"aria-readonly":bC(m),"aria-label":k,"aria-labelledby":k?void 0:T,style:{...qe.style,...on(0)},onKeyDown:xC(qe.onKeyDown,jt),onFocus:xC(qe.onFocus,()=>X(!0)),onBlur:xC(qe.onBlur,()=>X(!1))}),[Q,Be,z,mt,n,r,ee,u,h,m,k,T,on,jt]),Ct=S.useCallback((qe,pt=null)=>{const zr=!(qe.valuer),rr=ee>=qe.value,Bn=GA(qe.value,n,r),li={position:"absolute",pointerEvents:"none",...dbe({orientation:u,vertical:{bottom:B?`${100-Bn}%`:`${Bn}%`},horizontal:{left:B?`${100-Bn}%`:`${Bn}%`}})};return{...qe,ref:pt,role:"presentation","aria-hidden":!0,"data-disabled":Eg(h),"data-invalid":Eg(!zr),"data-highlighted":Eg(rr),style:{...qe.style,...li}}},[h,B,r,n,u,ee]),zt=S.useCallback((qe={},pt=null)=>({...qe,ref:pt,type:"hidden",value:ee,name:L}),[L,ee]);return{state:{value:ee,isFocused:V,isDragging:z},actions:at,getRootProps:je,getTrackProps:vt,getInnerTrackProps:Mt,getThumbProps:Me,getMarkerProps:Ct,getInputProps:zt}}function dbe(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function fbe(e,t){return t"}),[pbe,Vw]=Pn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),QH=Ze((e,t)=>{const n={orientation:"horizontal",...e},r=Yi("Slider",n),i=fr(n),{direction:o}=Zy();i.direction=o;const{getInputProps:a,getRootProps:s,...l}=cbe(i),u=s(),d=a({},t);return g.jsx(hbe,{value:l,children:g.jsx(pbe,{value:r,children:g.jsxs(Ne.div,{...u,className:f2("chakra-slider",n.className),__css:r.container,children:[n.children,g.jsx("input",{...d})]})})})});QH.displayName="Slider";var JH=Ze((e,t)=>{const{getThumbProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__thumb",e.className),__css:r.thumb})});JH.displayName="SliderThumb";var eW=Ze((e,t)=>{const{getTrackProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__track",e.className),__css:r.track})});eW.displayName="SliderTrack";var tW=Ze((e,t)=>{const{getInnerTrackProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__filled-track",e.className),__css:r.filledTrack})});tW.displayName="SliderFilledTrack";var tk=Ze((e,t)=>{const{getMarkerProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__marker",e.className),__css:r.mark})});tk.displayName="SliderMark";var K8=Ze(function(t,n){const r=Yi("Switch",t),{spacing:i="0.5rem",children:o,...a}=fr(t),{state:s,getInputProps:l,getCheckboxProps:u,getRootProps:d,getLabelProps:h}=cz(a),m=S.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),y=S.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),b=S.useMemo(()=>({userSelect:"none",marginStart:i,...r.label}),[i,r.label]);return g.jsxs(Ne.label,{...d(),className:xt("chakra-switch",t.className),__css:m,children:[g.jsx("input",{className:"chakra-switch__input",...l({},n)}),g.jsx(Ne.span,{...u(),className:"chakra-switch__track",__css:y,children:g.jsx(Ne.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":Bt(s.isChecked),"data-hover":Bt(s.isHovered)})}),o&&g.jsx(Ne.span,{className:"chakra-switch__label",...h(),__css:b,children:o})]})});K8.displayName="Switch";var[gbe,mNe,mbe,vbe]=a8();function ybe(e){var t;const{defaultIndex:n,onChange:r,index:i,isManual:o,isLazy:a,lazyBehavior:s="unmount",orientation:l="horizontal",direction:u="ltr",...d}=e,[h,m]=S.useState(n??0),[y,b]=l8({defaultValue:n??0,value:i,onChange:r});S.useEffect(()=>{i!=null&&m(i)},[i]);const w=mbe(),E=S.useId();return{id:`tabs-${(t=e.id)!=null?t:E}`,selectedIndex:y,focusedIndex:h,setSelectedIndex:b,setFocusedIndex:m,isManual:o,isLazy:a,lazyBehavior:s,orientation:l,descendants:w,direction:u,htmlProps:d}}var[bbe,Y8]=Pn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function xbe(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:i,isManual:o,id:a,setFocusedIndex:s,selectedIndex:l}=Y8(),{index:u,register:d}=vbe({disabled:t&&!n}),h=u===l,m=()=>{i(u)},y=()=>{s(u),!o&&!(t&&n)&&i(u)},b=sH({...r,ref:Rn(d,e.ref),isDisabled:t,isFocusable:n,onClick:ht(e.onClick,m)}),w="button";return{...b,id:nW(a,u),role:"tab",tabIndex:h?0:-1,type:w,"aria-selected":h,"aria-controls":rW(a,u),onFocus:t?void 0:ht(e.onFocus,y)}}var[Sbe,wbe]=Pn({});function Cbe(e){const t=Y8(),{id:n,selectedIndex:r}=t,o=d8(e.children).map((a,s)=>S.createElement(Sbe,{key:s,value:{isSelected:s===r,id:rW(n,s),tabId:nW(n,s),selectedIndex:r}},a));return{...e,children:o}}function _be(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:i}=Y8(),{isSelected:o,id:a,tabId:s}=wbe(),l=S.useRef(!1);o&&(l.current=!0);const u=$8({wasSelected:l.current,isSelected:o,enabled:r,mode:i});return{tabIndex:0,...n,children:u?t:null,role:"tabpanel","aria-labelledby":s,hidden:!o,id:a}}function nW(e,t){return`${e}--tab-${t}`}function rW(e,t){return`${e}--tabpanel-${t}`}var[kbe,X8]=Pn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),iW=Ze(function(t,n){const r=Yi("Tabs",t),{children:i,className:o,...a}=fr(t),{htmlProps:s,descendants:l,...u}=ybe(a),d=S.useMemo(()=>u,[u]),{isFitted:h,...m}=s;return g.jsx(gbe,{value:l,children:g.jsx(bbe,{value:d,children:g.jsx(kbe,{value:r,children:g.jsx(Ne.div,{className:xt("chakra-tabs",o),ref:n,...m,__css:r.root,children:i})})})})});iW.displayName="Tabs";var oW=Ze(function(t,n){const r=_be({...t,ref:n}),i=X8();return g.jsx(Ne.div,{outline:"0",...r,className:xt("chakra-tabs__tab-panel",t.className),__css:i.tabpanel})});oW.displayName="TabPanel";var aW=Ze(function(t,n){const r=Cbe(t),i=X8();return g.jsx(Ne.div,{...r,width:"100%",ref:n,className:xt("chakra-tabs__tab-panels",t.className),__css:i.tabpanels})});aW.displayName="TabPanels";var sW=Ze(function(t,n){const r=X8(),i=xbe({...t,ref:n}),o={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return g.jsx(Ne.button,{...i,className:xt("chakra-tabs__tab",t.className),__css:o})});sW.displayName="Tab";function Ebe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var Pbe=["h","minH","height","minHeight"],Z8=Ze((e,t)=>{const n=au("Textarea",e),{className:r,rows:i,...o}=fr(e),a=f8(o),s=i?Ebe(n,Pbe):n;return g.jsx(Ne.textarea,{ref:t,rows:i,...a,className:xt("chakra-textarea",r),__css:s})});Z8.displayName="Textarea";var Tbe={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},f3=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},nk=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function Mbe(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:a=i,closeOnEsc:s=!0,onOpen:l,onClose:u,placement:d,id:h,isOpen:m,defaultIsOpen:y,arrowSize:b=10,arrowShadowColor:w,arrowPadding:E,modifiers:_,isDisabled:k,gutter:T,offset:L,direction:O,...D}=e,{isOpen:I,onOpen:N,onClose:W}=N8({isOpen:m,defaultIsOpen:y,onOpen:l,onClose:u}),{referenceRef:B,getPopperProps:K,getArrowInnerProps:ne,getArrowProps:z}=j8({enabled:I,placement:d,arrowPadding:E,modifiers:_,gutter:T,offset:L,direction:O}),$=S.useId(),X=`tooltip-${h??$}`,Q=S.useRef(null),G=S.useRef(),Y=S.useCallback(()=>{G.current&&(clearTimeout(G.current),G.current=void 0)},[]),ee=S.useRef(),fe=S.useCallback(()=>{ee.current&&(clearTimeout(ee.current),ee.current=void 0)},[]),Ce=S.useCallback(()=>{fe(),W()},[W,fe]),we=Lbe(Q,Ce),xe=S.useCallback(()=>{if(!k&&!G.current){we();const Ae=nk(Q);G.current=Ae.setTimeout(N,t)}},[we,k,N,t]),Le=S.useCallback(()=>{Y();const Ae=nk(Q);ee.current=Ae.setTimeout(Ce,n)},[n,Ce,Y]),Se=S.useCallback(()=>{I&&r&&Le()},[r,Le,I]),Qe=S.useCallback(()=>{I&&a&&Le()},[a,Le,I]),Xe=S.useCallback(Ae=>{I&&Ae.key==="Escape"&&Le()},[I,Le]);Dh(()=>f3(Q),"keydown",s?Xe:void 0),Dh(()=>f3(Q),"scroll",()=>{I&&o&&Ce()}),S.useEffect(()=>{k&&(Y(),I&&W())},[k,I,W,Y]),S.useEffect(()=>()=>{Y(),fe()},[Y,fe]),Dh(()=>Q.current,"pointerleave",Le);const tt=S.useCallback((Ae={},bt=null)=>({...Ae,ref:Rn(Q,bt,B),onPointerEnter:ht(Ae.onPointerEnter,at=>{at.pointerType!=="touch"&&xe()}),onClick:ht(Ae.onClick,Se),onPointerDown:ht(Ae.onPointerDown,Qe),onFocus:ht(Ae.onFocus,xe),onBlur:ht(Ae.onBlur,Le),"aria-describedby":I?X:void 0}),[xe,Le,Qe,I,X,Se,B]),yt=S.useCallback((Ae={},bt=null)=>K({...Ae,style:{...Ae.style,[ii.arrowSize.var]:b?`${b}px`:void 0,[ii.arrowShadowColor.var]:w}},bt),[K,b,w]),Be=S.useCallback((Ae={},bt=null)=>{const Fe={...Ae.style,position:"relative",transformOrigin:ii.transformOrigin.varRef};return{ref:bt,...D,...Ae,id:X,role:"tooltip",style:Fe}},[D,X]);return{isOpen:I,show:xe,hide:Le,getTriggerProps:tt,getTooltipProps:Be,getTooltipPositionerProps:yt,getArrowProps:z,getArrowInnerProps:ne}}var CC="chakra-ui:close-tooltip";function Lbe(e,t){return S.useEffect(()=>{const n=f3(e);return n.addEventListener(CC,t),()=>n.removeEventListener(CC,t)},[t,e]),()=>{const n=f3(e),r=nk(e);n.dispatchEvent(new r.CustomEvent(CC))}}function Abe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Obe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Rbe=Ne(su.div),si=Ze((e,t)=>{var n,r;const i=au("Tooltip",e),o=fr(e),a=Zy(),{children:s,label:l,shouldWrapChildren:u,"aria-label":d,hasArrow:h,bg:m,portalProps:y,background:b,backgroundColor:w,bgColor:E,motionProps:_,...k}=o,T=(r=(n=b??w)!=null?n:m)!=null?r:E;if(T){i.bg=T;const K=Kre(a,"colors",T);i[ii.arrowBg.var]=K}const L=Mbe({...k,direction:a.direction}),O=typeof s=="string"||u;let D;if(O)D=g.jsx(Ne.span,{display:"inline-block",tabIndex:0,...L.getTriggerProps(),children:s});else{const K=S.Children.only(s);D=S.cloneElement(K,L.getTriggerProps(K.props,K.ref))}const I=!!d,N=L.getTooltipProps({},t),W=I?Abe(N,["role","id"]):N,B=Obe(N,["role","id"]);return l?g.jsxs(g.Fragment,{children:[D,g.jsx(rp,{children:L.isOpen&&g.jsx(c0,{...y,children:g.jsx(Ne.div,{...L.getTooltipPositionerProps(),__css:{zIndex:i.zIndex,pointerEvents:"none"},children:g.jsxs(Rbe,{variants:Tbe,initial:"exit",animate:"enter",exit:"exit",..._,...W,__css:i,children:[l,I&&g.jsx(Ne.span,{srOnly:!0,...B,children:d}),h&&g.jsx(Ne.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:g.jsx(Ne.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:i.bg}})})]})})})})]}):g.jsx(g.Fragment,{children:s})});si.displayName="Tooltip";var rk={},kO=Xs;rk.createRoot=kO.createRoot,rk.hydrateRoot=kO.hydrateRoot;var ik={},Ibe={get exports(){return ik},set exports(e){ik=e}},lW={};/** +`)},n2e=0,_g=[];function r2e(e){var t=S.useRef([]),n=S.useRef([0,0]),r=S.useRef(),i=S.useState(n2e++)[0],o=S.useState(function(){return OH()})[0],a=S.useRef(e);S.useEffect(function(){a.current=e},[e]),S.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var w=$_([e.lockRef.current],(e.shards||[]).map(yO),!0).filter(Boolean);return w.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),w.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=S.useCallback(function(w,E){if("touches"in w&&w.touches.length===2)return!a.current.allowPinchZoom;var _=Yb(w),k=n.current,T="deltaX"in w?w.deltaX:k[0]-_[0],L="deltaY"in w?w.deltaY:k[1]-_[1],O,D=w.target,I=Math.abs(T)>Math.abs(L)?"h":"v";if("touches"in w&&I==="h"&&D.type==="range")return!1;var N=mO(I,D);if(!N)return!0;if(N?O=I:(O=I==="v"?"h":"v",N=mO(I,D)),!N)return!1;if(!r.current&&"changedTouches"in w&&(T||L)&&(r.current=O),!O)return!0;var W=r.current||O;return Jye(W,E,w,W==="h"?T:L,!0)},[]),l=S.useCallback(function(w){var E=w;if(!(!_g.length||_g[_g.length-1]!==o)){var _="deltaY"in E?vO(E):Yb(E),k=t.current.filter(function(O){return O.name===E.type&&O.target===E.target&&e2e(O.delta,_)})[0];if(k&&k.should){E.cancelable&&E.preventDefault();return}if(!k){var T=(a.current.shards||[]).map(yO).filter(Boolean).filter(function(O){return O.contains(E.target)}),L=T.length>0?s(E,T[0]):!a.current.noIsolation;L&&E.cancelable&&E.preventDefault()}}},[]),u=S.useCallback(function(w,E,_,k){var T={name:w,delta:E,target:_,should:k};t.current.push(T),setTimeout(function(){t.current=t.current.filter(function(L){return L!==T})},1)},[]),d=S.useCallback(function(w){n.current=Yb(w),r.current=void 0},[]),h=S.useCallback(function(w){u(w.type,vO(w),w.target,s(w,e.lockRef.current))},[]),m=S.useCallback(function(w){u(w.type,Yb(w),w.target,s(w,e.lockRef.current))},[]);S.useEffect(function(){return _g.push(o),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Cg),document.addEventListener("touchmove",l,Cg),document.addEventListener("touchstart",d,Cg),function(){_g=_g.filter(function(w){return w!==o}),document.removeEventListener("wheel",l,Cg),document.removeEventListener("touchmove",l,Cg),document.removeEventListener("touchstart",d,Cg)}},[]);var y=e.removeScrollBar,b=e.inert;return S.createElement(S.Fragment,null,b?S.createElement(o,{styles:t2e(i)}):null,y?S.createElement(Gye,{gapMode:"margin"}):null)}const i2e=s0e(AH,r2e);var jH=S.forwardRef(function(e,t){return S.createElement(Bw,Nl({},e,{ref:t,sideCar:i2e}))});jH.classNames=Bw.classNames;const NH=jH;function o2e(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:i,blockScrollOnMount:o,allowPinchZoom:a,finalFocusRef:s,returnFocusOnClose:l,preserveScrollBarGap:u,lockFocusAcrossFrames:d,isOpen:h}=Yh(),[m,y]=RB();S.useEffect(()=>{!m&&y&&setTimeout(y)},[m,y]);const b=TH(r,h);return g.jsx(Jz,{autoFocus:t,isDisabled:!n,initialFocusRef:i,finalFocusRef:s,restoreFocus:l,contentRef:r,lockFocusAcrossFrames:d,children:g.jsx(NH,{removeScrollBar:!u,allowPinchZoom:a,enabled:b===1&&o,forwardProps:!0,children:e.children})})}var Xd=Ze((e,t)=>{const{className:n,children:r,containerProps:i,motionProps:o,...a}=e,{getDialogProps:s,getDialogContainerProps:l}=Yh(),u=s(a,t),d=l(i),h=xt("chakra-modal__content",n),m=g0(),y={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...m.dialog},b={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...m.dialogContainer},{motionPreset:w}=Yh();return g.jsx(o2e,{children:g.jsx(Ne.div,{...d,className:"chakra-modal__content-container",tabIndex:-1,__css:b,children:g.jsx(PH,{preset:w,motionProps:o,className:h,...u,__css:y,children:r})})})});Xd.displayName="ModalContent";function $H(e){const{leastDestructiveRef:t,...n}=e;return g.jsx(Yd,{...n,initialFocusRef:t})}var FH=Ze((e,t)=>g.jsx(Xd,{ref:t,role:"alertdialog",...e})),zw=Ze((e,t)=>{const{className:n,...r}=e,i=xt("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...g0().footer};return g.jsx(Ne.footer,{ref:t,...r,__css:a,className:i})});zw.displayName="ModalFooter";var op=Ze((e,t)=>{const{className:n,...r}=e,{headerId:i,setHeaderMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__header",n),l={flex:0,...g0().header};return g.jsx(Ne.header,{ref:t,className:a,id:i,...r,__css:l})});op.displayName="ModalHeader";var a2e=Ne(su.div),oc=Ze((e,t)=>{const{className:n,transition:r,motionProps:i,...o}=e,a=xt("chakra-modal__overlay",n),l={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...g0().overlay},{motionPreset:u}=Yh(),h=i||(u==="none"?{}:oz);return g.jsx(a2e,{...h,__css:l,ref:t,className:a,...o})});oc.displayName="ModalOverlay";var Zm=Ze((e,t)=>{const{className:n,...r}=e,{bodyId:i,setBodyMounted:o}=Yh();S.useEffect(()=>(o(!0),()=>o(!1)),[o]);const a=xt("chakra-modal__body",n),s=g0();return g.jsx(Ne.div,{ref:t,className:a,id:i,...r,__css:s.body})});Zm.displayName="ModalBody";var m0=Ze((e,t)=>{const{onClick:n,className:r,...i}=e,{onClose:o}=Yh(),a=xt("chakra-modal__close-btn",r),s=g0();return g.jsx(o8,{ref:t,__css:s.closeButton,className:a,onClick:ht(n,l=>{l.stopPropagation(),o()}),...i})});m0.displayName="ModalCloseButton";var s2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),l2e=e=>g.jsx(ja,{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function bO(e,t,n,r){S.useEffect(()=>{var i;if(!e.current||!r)return;const o=(i=e.current.ownerDocument.defaultView)!=null?i:window,a=Array.isArray(t)?t:[t],s=new o.MutationObserver(l=>{for(const u of l)u.type==="attributes"&&u.attributeName&&a.includes(u.attributeName)&&n(u)});return s.observe(e.current,{attributes:!0,attributeFilter:a}),()=>s.disconnect()})}function u2e(e,t){const n=Qr(e);S.useEffect(()=>{let r=null;const i=()=>n();return t!==null&&(r=window.setInterval(i,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var c2e=50,xO=300;function d2e(e,t){const[n,r]=S.useState(!1),[i,o]=S.useState(null),[a,s]=S.useState(!0),l=S.useRef(null),u=()=>clearTimeout(l.current);u2e(()=>{i==="increment"&&e(),i==="decrement"&&t()},n?c2e:null);const d=S.useCallback(()=>{a&&e(),l.current=setTimeout(()=>{s(!1),r(!0),o("increment")},xO)},[e,a]),h=S.useCallback(()=>{a&&t(),l.current=setTimeout(()=>{s(!1),r(!0),o("decrement")},xO)},[t,a]),m=S.useCallback(()=>{s(!0),r(!1),u()},[]);return S.useEffect(()=>()=>u(),[]),{up:d,down:h,stop:m,isSpinning:n}}var f2e=/^[Ee0-9+\-.]$/;function h2e(e){return f2e.test(e)}function p2e(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function g2e(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:i=Number.MIN_SAFE_INTEGER,max:o=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:s,isDisabled:l,isRequired:u,isInvalid:d,pattern:h="[0-9]*(.[0-9]+)?",inputMode:m="decimal",allowMouseWheel:y,id:b,onChange:w,precision:E,name:_,"aria-describedby":k,"aria-label":T,"aria-labelledby":L,onFocus:O,onBlur:D,onInvalid:I,getAriaValueText:N,isValidCharacter:W,format:B,parse:K,...ne}=e,z=Qr(O),$=Qr(D),V=Qr(I),X=Qr(W??h2e),Q=Qr(N),G=Wme(e),{update:Y,increment:ee,decrement:fe}=G,[Ce,we]=S.useState(!1),xe=!(s||l),Le=S.useRef(null),Se=S.useRef(null),Qe=S.useRef(null),Xe=S.useRef(null),tt=S.useCallback(Me=>Me.split("").filter(X).join(""),[X]),yt=S.useCallback(Me=>{var Ct;return(Ct=K==null?void 0:K(Me))!=null?Ct:Me},[K]),Be=S.useCallback(Me=>{var Ct;return((Ct=B==null?void 0:B(Me))!=null?Ct:Me).toString()},[B]);rc(()=>{(G.valueAsNumber>o||G.valueAsNumber{if(!Le.current)return;if(Le.current.value!=G.value){const Ct=yt(Le.current.value);G.setValue(tt(Ct))}},[yt,tt]);const Ae=S.useCallback((Me=a)=>{xe&&ee(Me)},[ee,xe,a]),bt=S.useCallback((Me=a)=>{xe&&fe(Me)},[fe,xe,a]),Fe=d2e(Ae,bt);bO(Qe,"disabled",Fe.stop,Fe.isSpinning),bO(Xe,"disabled",Fe.stop,Fe.isSpinning);const at=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;const zt=yt(Me.currentTarget.value);Y(tt(zt)),Se.current={start:Me.currentTarget.selectionStart,end:Me.currentTarget.selectionEnd}},[Y,tt,yt]),jt=S.useCallback(Me=>{var Ct,zt,$n;z==null||z(Me),Se.current&&(Me.target.selectionStart=(zt=Se.current.start)!=null?zt:(Ct=Me.currentTarget.value)==null?void 0:Ct.length,Me.currentTarget.selectionEnd=($n=Se.current.end)!=null?$n:Me.currentTarget.selectionStart)},[z]),mt=S.useCallback(Me=>{if(Me.nativeEvent.isComposing)return;p2e(Me,X)||Me.preventDefault();const Ct=Zt(Me)*a,zt=Me.key,qe={ArrowUp:()=>Ae(Ct),ArrowDown:()=>bt(Ct),Home:()=>Y(i),End:()=>Y(o)}[zt];qe&&(Me.preventDefault(),qe(Me))},[X,a,Ae,bt,Y,i,o]),Zt=Me=>{let Ct=1;return(Me.metaKey||Me.ctrlKey)&&(Ct=.1),Me.shiftKey&&(Ct=10),Ct},on=S.useMemo(()=>{const Me=Q==null?void 0:Q(G.value);if(Me!=null)return Me;const Ct=G.value.toString();return Ct||void 0},[G.value,Q]),se=S.useCallback(()=>{let Me=G.value;if(G.value==="")return;/^[eE]/.test(G.value.toString())?G.setValue(""):(G.valueAsNumbero&&(Me=o),G.cast(Me))},[G,o,i]),Ie=S.useCallback(()=>{we(!1),n&&se()},[n,we,se]),He=S.useCallback(()=>{t&&requestAnimationFrame(()=>{var Me;(Me=Le.current)==null||Me.focus()})},[t]),Ue=S.useCallback(Me=>{Me.preventDefault(),Fe.up(),He()},[He,Fe]),ye=S.useCallback(Me=>{Me.preventDefault(),Fe.down(),He()},[He,Fe]);Dh(()=>Le.current,"wheel",Me=>{var Ct,zt;const qe=((zt=(Ct=Le.current)==null?void 0:Ct.ownerDocument)!=null?zt:document).activeElement===Le.current;if(!y||!qe)return;Me.preventDefault();const pt=Zt(Me)*a,zr=Math.sign(Me.deltaY);zr===-1?Ae(pt):zr===1&&bt(pt)},{passive:!1});const je=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMax;return{...Me,ref:Rn(Ct,Qe),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||Ue($n)}),onPointerLeave:ht(Me.onPointerLeave,Fe.stop),onPointerUp:ht(Me.onPointerUp,Fe.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMax,r,Ue,Fe.stop,l]),vt=S.useCallback((Me={},Ct=null)=>{const zt=l||r&&G.isAtMin;return{...Me,ref:Rn(Ct,Xe),role:"button",tabIndex:-1,onPointerDown:ht(Me.onPointerDown,$n=>{$n.button!==0||zt||ye($n)}),onPointerLeave:ht(Me.onPointerLeave,Fe.stop),onPointerUp:ht(Me.onPointerUp,Fe.stop),disabled:zt,"aria-disabled":Uu(zt)}},[G.isAtMin,r,ye,Fe.stop,l]),Mt=S.useCallback((Me={},Ct=null)=>{var zt,$n,qe,pt;return{name:_,inputMode:m,type:"text",pattern:h,"aria-labelledby":L,"aria-label":T,"aria-describedby":k,id:b,disabled:l,...Me,readOnly:(zt=Me.readOnly)!=null?zt:s,"aria-readonly":($n=Me.readOnly)!=null?$n:s,"aria-required":(qe=Me.required)!=null?qe:u,required:(pt=Me.required)!=null?pt:u,ref:Rn(Le,Ct),value:Be(G.value),role:"spinbutton","aria-valuemin":i,"aria-valuemax":o,"aria-valuenow":Number.isNaN(G.valueAsNumber)?void 0:G.valueAsNumber,"aria-invalid":Uu(d??G.isOutOfRange),"aria-valuetext":on,autoComplete:"off",autoCorrect:"off",onChange:ht(Me.onChange,at),onKeyDown:ht(Me.onKeyDown,mt),onFocus:ht(Me.onFocus,jt,()=>we(!0)),onBlur:ht(Me.onBlur,$,Ie)}},[_,m,h,L,T,Be,k,b,l,u,s,d,G.value,G.valueAsNumber,G.isOutOfRange,i,o,on,at,mt,jt,$,Ie]);return{value:Be(G.value),valueAsNumber:G.valueAsNumber,isFocused:Ce,isDisabled:l,isReadOnly:s,getIncrementButtonProps:je,getDecrementButtonProps:vt,getInputProps:Mt,htmlProps:ne}}var[m2e,Hw]=Pn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[v2e,F8]=Pn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),B8=Ze(function(t,n){const r=Yi("NumberInput",t),i=fr(t),o=h8(i),{htmlProps:a,...s}=g2e(o),l=S.useMemo(()=>s,[s]);return g.jsx(v2e,{value:l,children:g.jsx(m2e,{value:r,children:g.jsx(Ne.div,{...a,ref:n,className:xt("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});B8.displayName="NumberInput";var BH=Ze(function(t,n){const r=Hw();return g.jsx(Ne.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});BH.displayName="NumberInputStepper";var z8=Ze(function(t,n){const{getInputProps:r}=F8(),i=r(t,n),o=Hw();return g.jsx(Ne.input,{...i,className:xt("chakra-numberinput__field",t.className),__css:{width:"100%",...o.field}})});z8.displayName="NumberInputField";var zH=Ne("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),H8=Ze(function(t,n){var r;const i=Hw(),{getDecrementButtonProps:o}=F8(),a=o(t,n);return g.jsx(zH,{...a,__css:i.stepper,children:(r=t.children)!=null?r:g.jsx(s2e,{})})});H8.displayName="NumberDecrementStepper";var W8=Ze(function(t,n){var r;const{getIncrementButtonProps:i}=F8(),o=i(t,n),a=Hw();return g.jsx(zH,{...o,__css:a.stepper,children:(r=t.children)!=null?r:g.jsx(l2e,{})})});W8.displayName="NumberIncrementStepper";var[y2e,Ww]=Pn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[b2e,HH]=Pn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function U8(e){const t=S.Children.only(e.children),{getTriggerProps:n}=Ww();return S.cloneElement(t,n(t.props,t.ref))}U8.displayName="PopoverTrigger";var kg={click:"click",hover:"hover"};function x2e(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:i,returnFocusOnClose:o=!0,autoFocus:a=!0,arrowSize:s,arrowShadowColor:l,trigger:u=kg.click,openDelay:d=200,closeDelay:h=200,isLazy:m,lazyBehavior:y="unmount",computePositionOnMount:b,...w}=e,{isOpen:E,onClose:_,onOpen:k,onToggle:T}=N8(e),L=S.useRef(null),O=S.useRef(null),D=S.useRef(null),I=S.useRef(!1),N=S.useRef(!1);E&&(N.current=!0);const[W,B]=S.useState(!1),[K,ne]=S.useState(!1),z=S.useId(),$=i??z,[V,X,Q,G]=["popover-trigger","popover-content","popover-header","popover-body"].map(at=>`${at}-${$}`),{referenceRef:Y,getArrowProps:ee,getPopperProps:fe,getArrowInnerProps:Ce,forceUpdate:we}=j8({...w,enabled:E||!!b}),xe=bH({isOpen:E,ref:D});Xme({enabled:E,ref:O}),lH(D,{focusRef:O,visible:E,shouldFocus:o&&u===kg.click}),Lve(D,{focusRef:r,visible:E,shouldFocus:a&&u===kg.click});const Le=$8({wasSelected:N.current,enabled:m,mode:y,isSelected:xe.present}),Se=S.useCallback((at={},jt=null)=>{const mt={...at,style:{...at.style,transformOrigin:ii.transformOrigin.varRef,[ii.arrowSize.var]:s?`${s}px`:void 0,[ii.arrowShadowColor.var]:l},ref:Rn(D,jt),children:Le?at.children:null,id:X,tabIndex:-1,role:"dialog",onKeyDown:ht(at.onKeyDown,Zt=>{n&&Zt.key==="Escape"&&_()}),onBlur:ht(at.onBlur,Zt=>{const on=SO(Zt),se=yC(D.current,on),Ie=yC(O.current,on);E&&t&&(!se&&!Ie)&&_()}),"aria-labelledby":W?Q:void 0,"aria-describedby":K?G:void 0};return u===kg.hover&&(mt.role="tooltip",mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0}),mt.onMouseLeave=ht(at.onMouseLeave,Zt=>{Zt.nativeEvent.relatedTarget!==null&&(I.current=!1,setTimeout(()=>_(),h))})),mt},[Le,X,W,Q,K,G,u,n,_,E,t,h,l,s]),Qe=S.useCallback((at={},jt=null)=>fe({...at,style:{visibility:E?"visible":"hidden",...at.style}},jt),[E,fe]),Xe=S.useCallback((at,jt=null)=>({...at,ref:Rn(jt,L,Y)}),[L,Y]),tt=S.useRef(),yt=S.useRef(),Be=S.useCallback(at=>{L.current==null&&Y(at)},[Y]),Ae=S.useCallback((at={},jt=null)=>{const mt={...at,ref:Rn(O,jt,Be),id:V,"aria-haspopup":"dialog","aria-expanded":E,"aria-controls":X};return u===kg.click&&(mt.onClick=ht(at.onClick,T)),u===kg.hover&&(mt.onFocus=ht(at.onFocus,()=>{tt.current===void 0&&k()}),mt.onBlur=ht(at.onBlur,Zt=>{const on=SO(Zt),se=!yC(D.current,on);E&&t&&se&&_()}),mt.onKeyDown=ht(at.onKeyDown,Zt=>{Zt.key==="Escape"&&_()}),mt.onMouseEnter=ht(at.onMouseEnter,()=>{I.current=!0,tt.current=window.setTimeout(()=>k(),d)}),mt.onMouseLeave=ht(at.onMouseLeave,()=>{I.current=!1,tt.current&&(clearTimeout(tt.current),tt.current=void 0),yt.current=window.setTimeout(()=>{I.current===!1&&_()},h)})),mt},[V,E,X,u,Be,T,k,t,_,d,h]);S.useEffect(()=>()=>{tt.current&&clearTimeout(tt.current),yt.current&&clearTimeout(yt.current)},[]);const bt=S.useCallback((at={},jt=null)=>({...at,id:Q,ref:Rn(jt,mt=>{B(!!mt)})}),[Q]),Fe=S.useCallback((at={},jt=null)=>({...at,id:G,ref:Rn(jt,mt=>{ne(!!mt)})}),[G]);return{forceUpdate:we,isOpen:E,onAnimationComplete:xe.onComplete,onClose:_,getAnchorProps:Xe,getArrowProps:ee,getArrowInnerProps:Ce,getPopoverPositionerProps:Qe,getPopoverProps:Se,getTriggerProps:Ae,getHeaderProps:bt,getBodyProps:Fe}}function yC(e,t){return e===t||(e==null?void 0:e.contains(t))}function SO(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function V8(e){const t=Yi("Popover",e),{children:n,...r}=fr(e),i=Zy(),o=x2e({...r,direction:i.direction});return g.jsx(y2e,{value:o,children:g.jsx(b2e,{value:t,children:ts(n,{isOpen:o.isOpen,onClose:o.onClose,forceUpdate:o.forceUpdate})})})}V8.displayName="Popover";function G8(e){var t;const{bg:n,bgColor:r,backgroundColor:i,shadow:o,boxShadow:a}=e,{getArrowProps:s,getArrowInnerProps:l}=Ww(),u=HH(),d=(t=n??r)!=null?t:i,h=o??a;return g.jsx(Ne.div,{...s(),className:"chakra-popover__arrow-positioner",children:g.jsx(Ne.div,{className:xt("chakra-popover__arrow",e.className),...l(e),__css:{"--popper-arrow-bg":d?`colors.${d}, ${d}`:void 0,"--popper-arrow-shadow":h?`shadows.${h}, ${h}`:void 0,...u.arrow}})})}G8.displayName="PopoverArrow";function S2e(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var w2e={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},C2e=Ne(su.section),WH=Ze(function(t,n){const{variants:r=w2e,...i}=t,{isOpen:o}=Ww();return g.jsx(C2e,{ref:n,variants:S2e(r),initial:!1,animate:o?"enter":"exit",...i})});WH.displayName="PopoverTransition";var q8=Ze(function(t,n){const{rootProps:r,motionProps:i,...o}=t,{getPopoverProps:a,getPopoverPositionerProps:s,onAnimationComplete:l}=Ww(),u=HH(),d={position:"relative",display:"flex",flexDirection:"column",...u.content};return g.jsx(Ne.div,{...s(r),__css:u.popper,className:"chakra-popover__popper",children:g.jsx(WH,{...i,...a(o,n),onAnimationComplete:Sw(l,o.onAnimationComplete),className:xt("chakra-popover__content",t.className),__css:d})})});q8.displayName="PopoverContent";function _2e(e,t,n){return(e-t)*100/(n-t)}nf({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});nf({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var k2e=nf({"0%":{left:"-40%"},"100%":{left:"100%"}}),E2e=nf({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function P2e(e){const{value:t=0,min:n,max:r,valueText:i,getValueText:o,isIndeterminate:a,role:s="progressbar"}=e,l=_2e(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof o=="function"?o(t,l):i})(),role:s},percent:l,value:t}}var[T2e,M2e]=Pn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),L2e=Ze((e,t)=>{const{min:n,max:r,value:i,isIndeterminate:o,role:a,...s}=e,l=P2e({value:i,min:n,max:r,isIndeterminate:o,role:a}),d={height:"100%",...M2e().filledTrack};return g.jsx(Ne.div,{ref:t,style:{width:`${l.percent}%`,...s.style},...l.bind,...s,__css:d})}),UH=Ze((e,t)=>{var n;const{value:r,min:i=0,max:o=100,hasStripe:a,isAnimated:s,children:l,borderRadius:u,isIndeterminate:d,"aria-label":h,"aria-labelledby":m,"aria-valuetext":y,title:b,role:w,...E}=fr(e),_=Yi("Progress",e),k=u??((n=_.track)==null?void 0:n.borderRadius),T={animation:`${E2e} 1s linear infinite`},D={...!d&&a&&s&&T,...d&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${k2e} 1s ease infinite normal none running`}},I={overflow:"hidden",position:"relative",..._.track};return g.jsx(Ne.div,{ref:t,borderRadius:k,__css:I,...E,children:g.jsxs(T2e,{value:_,children:[g.jsx(L2e,{"aria-label":h,"aria-labelledby":m,"aria-valuetext":y,min:i,max:o,value:r,isIndeterminate:d,css:D,borderRadius:k,title:b,role:w}),l]})})});UH.displayName="Progress";function A2e(e){return e&&Eo(e)&&Eo(e.target)}function O2e(e={}){const{onChange:t,value:n,defaultValue:r,name:i,isDisabled:o,isFocusable:a,isNative:s,...l}=e,[u,d]=S.useState(r||""),h=typeof n<"u",m=h?n:u,y=S.useRef(null),b=S.useCallback(()=>{const O=y.current;if(!O)return;let D="input:not(:disabled):checked";const I=O.querySelector(D);if(I){I.focus();return}D="input:not(:disabled)";const N=O.querySelector(D);N==null||N.focus()},[]),E=`radio-${S.useId()}`,_=i||E,k=S.useCallback(O=>{const D=A2e(O)?O.target.value:O;h||d(D),t==null||t(String(D))},[t,h]),T=S.useCallback((O={},D=null)=>({...O,ref:Rn(D,y),role:"radiogroup"}),[]),L=S.useCallback((O={},D=null)=>({...O,ref:D,name:_,[s?"checked":"isChecked"]:m!=null?O.value===m:void 0,onChange(N){k(N)},"data-radiogroup":!0}),[s,_,k,m]);return{getRootProps:T,getRadioProps:L,name:_,ref:y,focus:b,setValue:d,value:m,onChange:k,isDisabled:o,isFocusable:a,htmlProps:l}}var[R2e,VH]=Pn({name:"RadioGroupContext",strict:!1}),Oy=Ze((e,t)=>{const{colorScheme:n,size:r,variant:i,children:o,className:a,isDisabled:s,isFocusable:l,...u}=e,{value:d,onChange:h,getRootProps:m,name:y,htmlProps:b}=O2e(u),w=S.useMemo(()=>({name:y,size:r,onChange:h,colorScheme:n,value:d,variant:i,isDisabled:s,isFocusable:l}),[y,r,h,n,d,i,s,l]);return g.jsx(R2e,{value:w,children:g.jsx(Ne.div,{...m(b,t),className:xt("chakra-radio-group",a),children:o})})});Oy.displayName="RadioGroup";var I2e={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function D2e(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:i,isReadOnly:o,isRequired:a,onChange:s,isInvalid:l,name:u,value:d,id:h,"data-radiogroup":m,"aria-describedby":y,...b}=e,w=`radio-${S.useId()}`,E=ip(),k=!!VH()||!!m;let L=!!E&&!k?E.id:w;L=h??L;const O=i??(E==null?void 0:E.isDisabled),D=o??(E==null?void 0:E.isReadOnly),I=a??(E==null?void 0:E.isRequired),N=l??(E==null?void 0:E.isInvalid),[W,B]=S.useState(!1),[K,ne]=S.useState(!1),[z,$]=S.useState(!1),[V,X]=S.useState(!1),[Q,G]=S.useState(Boolean(t)),Y=typeof n<"u",ee=Y?n:Q;S.useEffect(()=>uz(B),[]);const fe=S.useCallback(Be=>{if(D||O){Be.preventDefault();return}Y||G(Be.target.checked),s==null||s(Be)},[Y,O,D,s]),Ce=S.useCallback(Be=>{Be.key===" "&&X(!0)},[X]),we=S.useCallback(Be=>{Be.key===" "&&X(!1)},[X]),xe=S.useCallback((Be={},Ae=null)=>({...Be,ref:Ae,"data-active":Bt(V),"data-hover":Bt(z),"data-disabled":Bt(O),"data-invalid":Bt(N),"data-checked":Bt(ee),"data-focus":Bt(K),"data-focus-visible":Bt(K&&W),"data-readonly":Bt(D),"aria-hidden":!0,onMouseDown:ht(Be.onMouseDown,()=>X(!0)),onMouseUp:ht(Be.onMouseUp,()=>X(!1)),onMouseEnter:ht(Be.onMouseEnter,()=>$(!0)),onMouseLeave:ht(Be.onMouseLeave,()=>$(!1))}),[V,z,O,N,ee,K,D,W]),{onFocus:Le,onBlur:Se}=E??{},Qe=S.useCallback((Be={},Ae=null)=>{const bt=O&&!r;return{...Be,id:L,ref:Ae,type:"radio",name:u,value:d,onChange:ht(Be.onChange,fe),onBlur:ht(Se,Be.onBlur,()=>ne(!1)),onFocus:ht(Le,Be.onFocus,()=>ne(!0)),onKeyDown:ht(Be.onKeyDown,Ce),onKeyUp:ht(Be.onKeyUp,we),checked:ee,disabled:bt,readOnly:D,required:I,"aria-invalid":Uu(N),"aria-disabled":Uu(bt),"aria-required":Uu(I),"data-readonly":Bt(D),"aria-describedby":y,style:I2e}},[O,r,L,u,d,fe,Se,Le,Ce,we,ee,D,I,N,y]);return{state:{isInvalid:N,isFocused:K,isChecked:ee,isActive:V,isHovered:z,isDisabled:O,isReadOnly:D,isRequired:I},getCheckboxProps:xe,getInputProps:Qe,getLabelProps:(Be={},Ae=null)=>({...Be,ref:Ae,onMouseDown:ht(Be.onMouseDown,wO),onTouchStart:ht(Be.onTouchStart,wO),"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),getRootProps:(Be,Ae=null)=>({...Be,ref:Ae,"data-disabled":Bt(O),"data-checked":Bt(ee),"data-invalid":Bt(N)}),htmlProps:b}}function wO(e){e.preventDefault(),e.stopPropagation()}function j2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var So=Ze((e,t)=>{var n;const r=VH(),{onChange:i,value:o}=e,a=Yi("Radio",{...r,...e}),s=fr(e),{spacing:l="0.5rem",children:u,isDisabled:d=r==null?void 0:r.isDisabled,isFocusable:h=r==null?void 0:r.isFocusable,inputProps:m,...y}=s;let b=e.isChecked;(r==null?void 0:r.value)!=null&&o!=null&&(b=r.value===o);let w=i;r!=null&&r.onChange&&o!=null&&(w=Sw(r.onChange,i));const E=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:T,getRootProps:L,htmlProps:O}=D2e({...y,isChecked:b,isFocusable:h,isDisabled:d,onChange:w,name:E}),[D,I]=j2e(O,lF),N=k(I),W=_(m,t),B=T(),K=Object.assign({},D,L()),ne={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},z={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},$={userSelect:"none",marginStart:l,...a.label};return g.jsxs(Ne.label,{className:"chakra-radio",...K,__css:ne,children:[g.jsx("input",{className:"chakra-radio__input",...W}),g.jsx(Ne.span,{className:"chakra-radio__control",...N,__css:z}),u&&g.jsx(Ne.span,{className:"chakra-radio__label",...B,__css:$,children:u})]})});So.displayName="Radio";var GH=Ze(function(t,n){const{children:r,placeholder:i,className:o,...a}=t;return g.jsxs(Ne.select,{...a,ref:n,className:xt("chakra-select",o),children:[i&&g.jsx("option",{value:"",children:i}),r]})});GH.displayName="SelectField";function N2e(e,t){const n={},r={};for(const[i,o]of Object.entries(e))t.includes(i)?n[i]=o:r[i]=o;return[n,r]}var qH=Ze((e,t)=>{var n;const r=Yi("Select",e),{rootProps:i,placeholder:o,icon:a,color:s,height:l,h:u,minH:d,minHeight:h,iconColor:m,iconSize:y,...b}=fr(e),[w,E]=N2e(b,lF),_=f8(E),k={width:"100%",height:"fit-content",position:"relative",color:s},T={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return g.jsxs(Ne.div,{className:"chakra-select__wrapper",__css:k,...w,...i,children:[g.jsx(GH,{ref:t,height:u??l,minH:d??h,placeholder:o,..._,__css:T,children:e.children}),g.jsx(KH,{"data-disabled":Bt(_.disabled),...(m||s)&&{color:m||s},__css:r.icon,...y&&{fontSize:y},children:a})]})});qH.displayName="Select";var $2e=e=>g.jsx("svg",{viewBox:"0 0 24 24",...e,children:g.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),F2e=Ne("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),KH=e=>{const{children:t=g.jsx($2e,{}),...n}=e,r=S.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return g.jsx(F2e,{...n,className:"chakra-select__icon-wrapper",children:S.isValidElement(t)?r:null})};KH.displayName="SelectIcon";var Eg=e=>e?"":void 0,bC=e=>e?!0:void 0,f2=(...e)=>e.filter(Boolean).join(" ");function xC(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function Xb(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var nS={width:0,height:0},Zb=e=>e||nS;function B2e(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:i}=e,o=w=>{var E;const _=(E=r[w])!=null?E:nS;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Xb({orientation:t,vertical:{bottom:`calc(${n[w]}% - ${_.height/2}px)`},horizontal:{left:`calc(${n[w]}% - ${_.width/2}px)`}})}},a=t==="vertical"?r.reduce((w,E)=>Zb(w).height>Zb(E).height?w:E,nS):r.reduce((w,E)=>Zb(w).width>Zb(E).width?w:E,nS),s={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Xb({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},l={position:"absolute",...Xb({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},u=n.length===1,d=[0,i?100-n[0]:n[0]],h=u?d:n;let m=h[0];!u&&i&&(m=100-m);const y=Math.abs(h[h.length-1]-h[0]),b={...l,...Xb({orientation:t,vertical:i?{height:`${y}%`,top:`${m}%`}:{height:`${y}%`,bottom:`${m}%`},horizontal:i?{width:`${y}%`,right:`${m}%`}:{width:`${y}%`,left:`${m}%`}})};return{trackStyle:l,innerTrackStyle:b,rootStyle:s,getThumbStyle:o}}function z2e(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function H2e(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function W2e(e){const t=V2e(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function YH(e){return!!e.touches}function U2e(e){return YH(e)&&e.touches.length>1}function V2e(e){var t;return(t=e.view)!=null?t:window}function G2e(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function q2e(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function XH(e,t="page"){return YH(e)?G2e(e,t):q2e(e,t)}function K2e(e){return t=>{const n=W2e(t);(!n||n&&t.button===0)&&e(t)}}function Y2e(e,t=!1){function n(i){e(i,{point:XH(i)})}return t?K2e(n):n}function rS(e,t,n,r){return H2e(e,t,Y2e(n,t==="pointerdown"),r)}var X2e=Object.defineProperty,Z2e=(e,t,n)=>t in e?X2e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$s=(e,t,n)=>(Z2e(e,typeof t!="symbol"?t+"":t,n),n),Q2e=class{constructor(e,t,n){$s(this,"history",[]),$s(this,"startEvent",null),$s(this,"lastEvent",null),$s(this,"lastEventInfo",null),$s(this,"handlers",{}),$s(this,"removeListeners",()=>{}),$s(this,"threshold",3),$s(this,"win"),$s(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const s=SC(this.lastEventInfo,this.history),l=this.startEvent!==null,u=nbe(s.offset,{x:0,y:0})>=this.threshold;if(!l&&!u)return;const{timestamp:d}=kL();this.history.push({...s.point,timestamp:d});const{onStart:h,onMove:m}=this.handlers;l||(h==null||h(this.lastEvent,s),this.startEvent=this.lastEvent),m==null||m(this.lastEvent,s)}),$s(this,"onPointerMove",(s,l)=>{this.lastEvent=s,this.lastEventInfo=l,Sce.update(this.updatePoint,!0)}),$s(this,"onPointerUp",(s,l)=>{const u=SC(l,this.history),{onEnd:d,onSessionEnd:h}=this.handlers;h==null||h(s,u),this.end(),!(!d||!this.startEvent)&&(d==null||d(s,u))});var r;if(this.win=(r=e.view)!=null?r:window,U2e(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const i={point:XH(e)},{timestamp:o}=kL();this.history=[{...i.point,timestamp:o}];const{onSessionStart:a}=t;a==null||a(e,SC(i,this.history)),this.removeListeners=tbe(rS(this.win,"pointermove",this.onPointerMove),rS(this.win,"pointerup",this.onPointerUp),rS(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),wce.update(this.updatePoint)}};function CO(e,t){return{x:e.x-t.x,y:e.y-t.y}}function SC(e,t){return{point:e.point,delta:CO(e.point,t[t.length-1]),offset:CO(e.point,t[0]),velocity:ebe(t,.1)}}var J2e=e=>e*1e3;function ebe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=e[e.length-1];for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>J2e(t)));)n--;if(!r)return{x:0,y:0};const o=(i.timestamp-r.timestamp)/1e3;if(o===0)return{x:0,y:0};const a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function tbe(...e){return t=>e.reduce((n,r)=>r(n),t)}function wC(e,t){return Math.abs(e-t)}function _O(e){return"x"in e&&"y"in e}function nbe(e,t){if(typeof e=="number"&&typeof t=="number")return wC(e,t);if(_O(e)&&_O(t)){const n=wC(e.x,t.x),r=wC(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function ZH(e){const t=S.useRef(null);return t.current=e,t}function rbe(e,t){const{onPan:n,onPanStart:r,onPanEnd:i,onPanSessionStart:o,onPanSessionEnd:a,threshold:s}=t,l=Boolean(n||r||i||o||a),u=S.useRef(null),d=ZH({onSessionStart:o,onSessionEnd:a,onStart:r,onMove:n,onEnd(h,m){u.current=null,i==null||i(h,m)}});S.useEffect(()=>{var h;(h=u.current)==null||h.updateHandlers(d.current)}),S.useEffect(()=>{const h=e.current;if(!h||!l)return;function m(y){u.current=new Q2e(y,d.current,s)}return rS(h,"pointerdown",m)},[e,l,d,s]),S.useEffect(()=>()=>{var h;(h=u.current)==null||h.end(),u.current=null},[])}function ibe(e,t){var n;if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const r=(n=e.ownerDocument.defaultView)!=null?n:window,i=new r.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[a]=o;let s,l;if("borderBoxSize"in a){const u=a.borderBoxSize,d=Array.isArray(u)?u[0]:u;s=d.inlineSize,l=d.blockSize}else s=e.offsetWidth,l=e.offsetHeight;t({width:s,height:l})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}var obe=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:S.useEffect;function abe(e,t){var n,r;if(!e||!e.parentElement)return;const i=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,o=new i.MutationObserver(()=>{t()});return o.observe(e.parentElement,{childList:!0}),()=>{o.disconnect()}}function sbe({getNodes:e,observeMutation:t=!0}){const[n,r]=S.useState([]),[i,o]=S.useState(0);return obe(()=>{const a=e(),s=a.map((l,u)=>ibe(l,d=>{r(h=>[...h.slice(0,u),d,...h.slice(u+1)])}));if(t){const l=a[0];s.push(abe(l,()=>{o(u=>u+1)}))}return()=>{s.forEach(l=>{l==null||l()})}},[i]),n}function lbe(e){return typeof e=="object"&&e!==null&&"current"in e}function ube(e){const[t]=sbe({observeMutation:!1,getNodes(){return[lbe(e)?e.current:e]}});return t}function cbe(e){var t;const{min:n=0,max:r=100,onChange:i,value:o,defaultValue:a,isReversed:s,direction:l="ltr",orientation:u="horizontal",id:d,isDisabled:h,isReadOnly:m,onChangeStart:y,onChangeEnd:b,step:w=1,getAriaValueText:E,"aria-valuetext":_,"aria-label":k,"aria-labelledby":T,name:L,focusThumbOnChange:O=!0,...D}=e,I=Qr(y),N=Qr(b),W=Qr(E),B=z2e({isReversed:s,direction:l,orientation:u}),[K,ne]=l8({value:o,defaultValue:a??fbe(n,r),onChange:i}),[z,$]=S.useState(!1),[V,X]=S.useState(!1),Q=!(h||m),G=(r-n)/10,Y=w||(r-n)/100,ee=Qx(K,n,r),fe=r-ee+n,we=GA(B?fe:ee,n,r),xe=u==="vertical",Le=ZH({min:n,max:r,step:w,isDisabled:h,value:ee,isInteractive:Q,isReversed:B,isVertical:xe,eventSource:null,focusThumbOnChange:O,orientation:u}),Se=S.useRef(null),Qe=S.useRef(null),Xe=S.useRef(null),tt=S.useId(),yt=d??tt,[Be,Ae]=[`slider-thumb-${yt}`,`slider-track-${yt}`],bt=S.useCallback(qe=>{var pt,zr;if(!Se.current)return;const rr=Le.current;rr.eventSource="pointer";const Bn=Se.current.getBoundingClientRect(),{clientX:li,clientY:vs}=(zr=(pt=qe.touches)==null?void 0:pt[0])!=null?zr:qe,tl=xe?Bn.bottom-vs:li-Bn.left,gf=xe?Bn.height:Bn.width;let ys=tl/gf;B&&(ys=1-ys);let Xi=Hme(ys,rr.min,rr.max);return rr.step&&(Xi=parseFloat(qA(Xi,rr.min,rr.step))),Xi=Qx(Xi,rr.min,rr.max),Xi},[xe,B,Le]),Fe=S.useCallback(qe=>{const pt=Le.current;pt.isInteractive&&(qe=parseFloat(qA(qe,pt.min,Y)),qe=Qx(qe,pt.min,pt.max),ne(qe))},[Y,ne,Le]),at=S.useMemo(()=>({stepUp(qe=Y){const pt=B?ee-qe:ee+qe;Fe(pt)},stepDown(qe=Y){const pt=B?ee+qe:ee-qe;Fe(pt)},reset(){Fe(a||0)},stepTo(qe){Fe(qe)}}),[Fe,B,ee,Y,a]),jt=S.useCallback(qe=>{const pt=Le.current,rr={ArrowRight:()=>at.stepUp(),ArrowUp:()=>at.stepUp(),ArrowLeft:()=>at.stepDown(),ArrowDown:()=>at.stepDown(),PageUp:()=>at.stepUp(G),PageDown:()=>at.stepDown(G),Home:()=>Fe(pt.min),End:()=>Fe(pt.max)}[qe.key];rr&&(qe.preventDefault(),qe.stopPropagation(),rr(qe),pt.eventSource="keyboard")},[at,Fe,G,Le]),mt=(t=W==null?void 0:W(ee))!=null?t:_,Zt=ube(Qe),{getThumbStyle:on,rootStyle:se,trackStyle:Ie,innerTrackStyle:He}=S.useMemo(()=>{const qe=Le.current,pt=Zt??{width:0,height:0};return B2e({isReversed:B,orientation:qe.orientation,thumbRects:[pt],thumbPercents:[we]})},[B,Zt,we,Le]),Ue=S.useCallback(()=>{Le.current.focusThumbOnChange&&setTimeout(()=>{var pt;return(pt=Qe.current)==null?void 0:pt.focus()})},[Le]);rc(()=>{const qe=Le.current;Ue(),qe.eventSource==="keyboard"&&(N==null||N(qe.value))},[ee,N]);function ye(qe){const pt=bt(qe);pt!=null&&pt!==Le.current.value&&ne(pt)}rbe(Xe,{onPanSessionStart(qe){const pt=Le.current;pt.isInteractive&&($(!0),Ue(),ye(qe),I==null||I(pt.value))},onPanSessionEnd(){const qe=Le.current;qe.isInteractive&&($(!1),N==null||N(qe.value))},onPan(qe){Le.current.isInteractive&&ye(qe)}});const je=S.useCallback((qe={},pt=null)=>({...qe,...D,ref:Rn(pt,Xe),tabIndex:-1,"aria-disabled":bC(h),"data-focused":Eg(V),style:{...qe.style,...se}}),[D,h,V,se]),vt=S.useCallback((qe={},pt=null)=>({...qe,ref:Rn(pt,Se),id:Ae,"data-disabled":Eg(h),style:{...qe.style,...Ie}}),[h,Ae,Ie]),Mt=S.useCallback((qe={},pt=null)=>({...qe,ref:pt,style:{...qe.style,...He}}),[He]),Me=S.useCallback((qe={},pt=null)=>({...qe,ref:Rn(pt,Qe),role:"slider",tabIndex:Q?0:void 0,id:Be,"data-active":Eg(z),"aria-valuetext":mt,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":ee,"aria-orientation":u,"aria-disabled":bC(h),"aria-readonly":bC(m),"aria-label":k,"aria-labelledby":k?void 0:T,style:{...qe.style,...on(0)},onKeyDown:xC(qe.onKeyDown,jt),onFocus:xC(qe.onFocus,()=>X(!0)),onBlur:xC(qe.onBlur,()=>X(!1))}),[Q,Be,z,mt,n,r,ee,u,h,m,k,T,on,jt]),Ct=S.useCallback((qe,pt=null)=>{const zr=!(qe.valuer),rr=ee>=qe.value,Bn=GA(qe.value,n,r),li={position:"absolute",pointerEvents:"none",...dbe({orientation:u,vertical:{bottom:B?`${100-Bn}%`:`${Bn}%`},horizontal:{left:B?`${100-Bn}%`:`${Bn}%`}})};return{...qe,ref:pt,role:"presentation","aria-hidden":!0,"data-disabled":Eg(h),"data-invalid":Eg(!zr),"data-highlighted":Eg(rr),style:{...qe.style,...li}}},[h,B,r,n,u,ee]),zt=S.useCallback((qe={},pt=null)=>({...qe,ref:pt,type:"hidden",value:ee,name:L}),[L,ee]);return{state:{value:ee,isFocused:V,isDragging:z},actions:at,getRootProps:je,getTrackProps:vt,getInnerTrackProps:Mt,getThumbProps:Me,getMarkerProps:Ct,getInputProps:zt}}function dbe(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function fbe(e,t){return t"}),[pbe,Vw]=Pn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),QH=Ze((e,t)=>{const n={orientation:"horizontal",...e},r=Yi("Slider",n),i=fr(n),{direction:o}=Zy();i.direction=o;const{getInputProps:a,getRootProps:s,...l}=cbe(i),u=s(),d=a({},t);return g.jsx(hbe,{value:l,children:g.jsx(pbe,{value:r,children:g.jsxs(Ne.div,{...u,className:f2("chakra-slider",n.className),__css:r.container,children:[n.children,g.jsx("input",{...d})]})})})});QH.displayName="Slider";var JH=Ze((e,t)=>{const{getThumbProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__thumb",e.className),__css:r.thumb})});JH.displayName="SliderThumb";var eW=Ze((e,t)=>{const{getTrackProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__track",e.className),__css:r.track})});eW.displayName="SliderTrack";var tW=Ze((e,t)=>{const{getInnerTrackProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__filled-track",e.className),__css:r.filledTrack})});tW.displayName="SliderFilledTrack";var tk=Ze((e,t)=>{const{getMarkerProps:n}=Uw(),r=Vw(),i=n(e,t);return g.jsx(Ne.div,{...i,className:f2("chakra-slider__marker",e.className),__css:r.mark})});tk.displayName="SliderMark";var K8=Ze(function(t,n){const r=Yi("Switch",t),{spacing:i="0.5rem",children:o,...a}=fr(t),{state:s,getInputProps:l,getCheckboxProps:u,getRootProps:d,getLabelProps:h}=cz(a),m=S.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),y=S.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),b=S.useMemo(()=>({userSelect:"none",marginStart:i,...r.label}),[i,r.label]);return g.jsxs(Ne.label,{...d(),className:xt("chakra-switch",t.className),__css:m,children:[g.jsx("input",{className:"chakra-switch__input",...l({},n)}),g.jsx(Ne.span,{...u(),className:"chakra-switch__track",__css:y,children:g.jsx(Ne.span,{__css:r.thumb,className:"chakra-switch__thumb","data-checked":Bt(s.isChecked),"data-hover":Bt(s.isHovered)})}),o&&g.jsx(Ne.span,{className:"chakra-switch__label",...h(),__css:b,children:o})]})});K8.displayName="Switch";var[gbe,mNe,mbe,vbe]=a8();function ybe(e){var t;const{defaultIndex:n,onChange:r,index:i,isManual:o,isLazy:a,lazyBehavior:s="unmount",orientation:l="horizontal",direction:u="ltr",...d}=e,[h,m]=S.useState(n??0),[y,b]=l8({defaultValue:n??0,value:i,onChange:r});S.useEffect(()=>{i!=null&&m(i)},[i]);const w=mbe(),E=S.useId();return{id:`tabs-${(t=e.id)!=null?t:E}`,selectedIndex:y,focusedIndex:h,setSelectedIndex:b,setFocusedIndex:m,isManual:o,isLazy:a,lazyBehavior:s,orientation:l,descendants:w,direction:u,htmlProps:d}}var[bbe,Y8]=Pn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function xbe(e){const{isDisabled:t,isFocusable:n,...r}=e,{setSelectedIndex:i,isManual:o,id:a,setFocusedIndex:s,selectedIndex:l}=Y8(),{index:u,register:d}=vbe({disabled:t&&!n}),h=u===l,m=()=>{i(u)},y=()=>{s(u),!o&&!(t&&n)&&i(u)},b=sH({...r,ref:Rn(d,e.ref),isDisabled:t,isFocusable:n,onClick:ht(e.onClick,m)}),w="button";return{...b,id:nW(a,u),role:"tab",tabIndex:h?0:-1,type:w,"aria-selected":h,"aria-controls":rW(a,u),onFocus:t?void 0:ht(e.onFocus,y)}}var[Sbe,wbe]=Pn({});function Cbe(e){const t=Y8(),{id:n,selectedIndex:r}=t,o=d8(e.children).map((a,s)=>S.createElement(Sbe,{key:s,value:{isSelected:s===r,id:rW(n,s),tabId:nW(n,s),selectedIndex:r}},a));return{...e,children:o}}function _be(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:i}=Y8(),{isSelected:o,id:a,tabId:s}=wbe(),l=S.useRef(!1);o&&(l.current=!0);const u=$8({wasSelected:l.current,isSelected:o,enabled:r,mode:i});return{tabIndex:0,...n,children:u?t:null,role:"tabpanel","aria-labelledby":s,hidden:!o,id:a}}function nW(e,t){return`${e}--tab-${t}`}function rW(e,t){return`${e}--tabpanel-${t}`}var[kbe,X8]=Pn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),iW=Ze(function(t,n){const r=Yi("Tabs",t),{children:i,className:o,...a}=fr(t),{htmlProps:s,descendants:l,...u}=ybe(a),d=S.useMemo(()=>u,[u]),{isFitted:h,...m}=s;return g.jsx(gbe,{value:l,children:g.jsx(bbe,{value:d,children:g.jsx(kbe,{value:r,children:g.jsx(Ne.div,{className:xt("chakra-tabs",o),ref:n,...m,__css:r.root,children:i})})})})});iW.displayName="Tabs";var oW=Ze(function(t,n){const r=_be({...t,ref:n}),i=X8();return g.jsx(Ne.div,{outline:"0",...r,className:xt("chakra-tabs__tab-panel",t.className),__css:i.tabpanel})});oW.displayName="TabPanel";var aW=Ze(function(t,n){const r=Cbe(t),i=X8();return g.jsx(Ne.div,{...r,width:"100%",ref:n,className:xt("chakra-tabs__tab-panels",t.className),__css:i.tabpanels})});aW.displayName="TabPanels";var sW=Ze(function(t,n){const r=X8(),i=xbe({...t,ref:n}),o={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return g.jsx(Ne.button,{...i,className:xt("chakra-tabs__tab",t.className),__css:o})});sW.displayName="Tab";function Ebe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var Pbe=["h","minH","height","minHeight"],Z8=Ze((e,t)=>{const n=au("Textarea",e),{className:r,rows:i,...o}=fr(e),a=f8(o),s=i?Ebe(n,Pbe):n;return g.jsx(Ne.textarea,{ref:t,rows:i,...a,className:xt("chakra-textarea",r),__css:s})});Z8.displayName="Textarea";var Tbe={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},f3=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},nk=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function Mbe(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:i,closeOnScroll:o,closeOnPointerDown:a=i,closeOnEsc:s=!0,onOpen:l,onClose:u,placement:d,id:h,isOpen:m,defaultIsOpen:y,arrowSize:b=10,arrowShadowColor:w,arrowPadding:E,modifiers:_,isDisabled:k,gutter:T,offset:L,direction:O,...D}=e,{isOpen:I,onOpen:N,onClose:W}=N8({isOpen:m,defaultIsOpen:y,onOpen:l,onClose:u}),{referenceRef:B,getPopperProps:K,getArrowInnerProps:ne,getArrowProps:z}=j8({enabled:I,placement:d,arrowPadding:E,modifiers:_,gutter:T,offset:L,direction:O}),$=S.useId(),X=`tooltip-${h??$}`,Q=S.useRef(null),G=S.useRef(),Y=S.useCallback(()=>{G.current&&(clearTimeout(G.current),G.current=void 0)},[]),ee=S.useRef(),fe=S.useCallback(()=>{ee.current&&(clearTimeout(ee.current),ee.current=void 0)},[]),Ce=S.useCallback(()=>{fe(),W()},[W,fe]),we=Lbe(Q,Ce),xe=S.useCallback(()=>{if(!k&&!G.current){we();const Ae=nk(Q);G.current=Ae.setTimeout(N,t)}},[we,k,N,t]),Le=S.useCallback(()=>{Y();const Ae=nk(Q);ee.current=Ae.setTimeout(Ce,n)},[n,Ce,Y]),Se=S.useCallback(()=>{I&&r&&Le()},[r,Le,I]),Qe=S.useCallback(()=>{I&&a&&Le()},[a,Le,I]),Xe=S.useCallback(Ae=>{I&&Ae.key==="Escape"&&Le()},[I,Le]);Dh(()=>f3(Q),"keydown",s?Xe:void 0),Dh(()=>f3(Q),"scroll",()=>{I&&o&&Ce()}),S.useEffect(()=>{k&&(Y(),I&&W())},[k,I,W,Y]),S.useEffect(()=>()=>{Y(),fe()},[Y,fe]),Dh(()=>Q.current,"pointerleave",Le);const tt=S.useCallback((Ae={},bt=null)=>({...Ae,ref:Rn(Q,bt,B),onPointerEnter:ht(Ae.onPointerEnter,at=>{at.pointerType!=="touch"&&xe()}),onClick:ht(Ae.onClick,Se),onPointerDown:ht(Ae.onPointerDown,Qe),onFocus:ht(Ae.onFocus,xe),onBlur:ht(Ae.onBlur,Le),"aria-describedby":I?X:void 0}),[xe,Le,Qe,I,X,Se,B]),yt=S.useCallback((Ae={},bt=null)=>K({...Ae,style:{...Ae.style,[ii.arrowSize.var]:b?`${b}px`:void 0,[ii.arrowShadowColor.var]:w}},bt),[K,b,w]),Be=S.useCallback((Ae={},bt=null)=>{const Fe={...Ae.style,position:"relative",transformOrigin:ii.transformOrigin.varRef};return{ref:bt,...D,...Ae,id:X,role:"tooltip",style:Fe}},[D,X]);return{isOpen:I,show:xe,hide:Le,getTriggerProps:tt,getTooltipProps:Be,getTooltipPositionerProps:yt,getArrowProps:z,getArrowInnerProps:ne}}var CC="chakra-ui:close-tooltip";function Lbe(e,t){return S.useEffect(()=>{const n=f3(e);return n.addEventListener(CC,t),()=>n.removeEventListener(CC,t)},[t,e]),()=>{const n=f3(e),r=nk(e);n.dispatchEvent(new r.CustomEvent(CC))}}function Abe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Obe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var Rbe=Ne(su.div),si=Ze((e,t)=>{var n,r;const i=au("Tooltip",e),o=fr(e),a=Zy(),{children:s,label:l,shouldWrapChildren:u,"aria-label":d,hasArrow:h,bg:m,portalProps:y,background:b,backgroundColor:w,bgColor:E,motionProps:_,...k}=o,T=(r=(n=b??w)!=null?n:m)!=null?r:E;if(T){i.bg=T;const K=Kre(a,"colors",T);i[ii.arrowBg.var]=K}const L=Mbe({...k,direction:a.direction}),O=typeof s=="string"||u;let D;if(O)D=g.jsx(Ne.span,{display:"inline-block",tabIndex:0,...L.getTriggerProps(),children:s});else{const K=S.Children.only(s);D=S.cloneElement(K,L.getTriggerProps(K.props,K.ref))}const I=!!d,N=L.getTooltipProps({},t),W=I?Abe(N,["role","id"]):N,B=Obe(N,["role","id"]);return l?g.jsxs(g.Fragment,{children:[D,g.jsx(rp,{children:L.isOpen&&g.jsx(c0,{...y,children:g.jsx(Ne.div,{...L.getTooltipPositionerProps(),__css:{zIndex:i.zIndex,pointerEvents:"none"},children:g.jsxs(Rbe,{variants:Tbe,initial:"exit",animate:"enter",exit:"exit",..._,...W,__css:i,children:[l,I&&g.jsx(Ne.span,{srOnly:!0,...B,children:d}),h&&g.jsx(Ne.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:g.jsx(Ne.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:i.bg}})})]})})})})]}):g.jsx(g.Fragment,{children:s})});si.displayName="Tooltip";var rk={},kO=Xs;rk.createRoot=kO.createRoot,rk.hydrateRoot=kO.hydrateRoot;var ik={},Ibe={get exports(){return ik},set exports(e){ik=e}},lW={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -447,16 +447,16 @@ ${JSON.stringify(ee)} ${JSON.stringify(z)}`);if($.length)throw new Error(`${t.PACKAGE_NAME}: subsets of some parent keys found in your ${V}. You must decide if you want to persist an entire path or its specific subset. - ${JSON.stringify($)}`)};e.throwError=K;const ne=function(z){return(0,e.isArray)(z)?z.filter(e.unique).reduce(($,V)=>{const X=V.split("."),Q=X[0],G=X.slice(1).join(".")||void 0,Y=$.filter(fe=>Object.keys(fe)[0]===Q)[0],ee=Y?Object.values(Y)[0]:void 0;return Y||$.push({[Q]:G?[G]:void 0}),Y&&!ee&&G&&(Y[Q]=[G]),Y&&ee&&G&&ee.push(G),$},[]):[]};e.getRootKeysGroup=ne})(RW);(function(e){var t=So&&So.__rest||function(h,m){var y={};for(var b in h)Object.prototype.hasOwnProperty.call(h,b)&&m.indexOf(b)<0&&(y[b]=h[b]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function")for(var w=0,b=Object.getOwnPropertySymbols(h);w!E(k)&&h?h(_,k,T):_,out:(_,k,T)=>!E(k)&&m?m(_,k,T):_,deepPersistKey:b&&b[0]}},a=(h,m,y,{debug:b,whitelist:w,blacklist:E,transforms:_})=>{if(w||E)throw new Error("State reconciler autoMergeDeep uses custom transforms instead of old whitelist or blacklist config properties. Please use createWhitelist or createBlacklist transforms.");(0,n.transformsValidator)(_);const k=(0,n.cloneDeep)(y);let T=h;if(T&&(0,n.isObjectLike)(T)){const L=(0,n.difference)(m,y);(0,n.isEmpty)(L)||(T=(0,n.mergeDeep)(h,L,{preserveUndefined:!0}),b&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: sub state of your state was modified by reducer during rehydration. Values from reducer will be kept: ${JSON.stringify(L)}`)),Object.keys(T).forEach(O=>{if(O!=="_persist"){if((0,n.isObjectLike)(k[O])){k[O]=(0,n.mergeDeep)(k[O],T[O]);return}k[O]=T[O]}})}return b&&T&&(0,n.isObjectLike)(T)&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: rehydrated keys ${JSON.stringify(T)}`),k};e.autoMergeDeep=a;const s=(h,m)=>((0,n.singleTransformValidator)(m,h,i.ConfigType.WHITELIST),o(y=>{if(!m||!m.length)return y;let b=null,w;return m.forEach(E=>{const _=E.split(".");w=(0,n.path)(y,_),typeof w>"u"&&(0,n.isIntegerString)(_[_.length-1])&&(w=r.PLACEHOLDER_UNDEFINED);const k=(0,n.assocPath)(_,w),T=(0,n.isArray)(k)?[]:{};b=(0,n.mergeDeep)(b||T,k,{preservePlaceholder:!0})}),b||y},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.WHITELIST),{whitelist:[h]}));e.createWhitelist=s;const l=(h,m)=>((0,n.singleTransformValidator)(m,h,i.ConfigType.BLACKLIST),o(y=>{if(!m||!m.length)return;const b=(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST,!0);return m.map(E=>E.split(".")).reduce((E,_)=>(0,n.dissocPath)(E,_),b)},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST),{whitelist:[h]}));e.createBlacklist=l;const u=function(h,m){return m.map(y=>{const b=Object.keys(y)[0],w=y[b];return h===i.ConfigType.WHITELIST?(0,e.createWhitelist)(b,w):(0,e.createBlacklist)(b,w)})};e.getTransforms=u;const d=h=>{var{key:m,whitelist:y,blacklist:b,storage:w,transforms:E,rootReducer:_}=h,k=t(h,["key","whitelist","blacklist","storage","transforms","rootReducer"]);(0,n.configValidator)({whitelist:y,blacklist:b});const T=(0,n.getRootKeysGroup)(y),L=(0,n.getRootKeysGroup)(b),O=Object.keys(_(void 0,{type:""})),D=T.map(ne=>Object.keys(ne)[0]),I=L.map(ne=>Object.keys(ne)[0]),N=O.filter(ne=>D.indexOf(ne)===-1&&I.indexOf(ne)===-1),W=(0,e.getTransforms)(i.ConfigType.WHITELIST,T),B=(0,e.getTransforms)(i.ConfigType.BLACKLIST,L),K=(0,n.isArray)(y)?N.map(ne=>(0,e.createBlacklist)(ne)):[];return Object.assign(Object.assign({},k),{key:m,storage:w,transforms:[...W,...B,...K,...E||[]],stateReconciler:e.autoMergeDeep})};e.getPersistConfig=d})(OW);const Cd=(e,t)=>Math.floor(e/t)*t,Hl=(e,t)=>Math.round(e/t)*t;var Pe={},WSe={get exports(){return Pe},set exports(e){Pe=e}};/** + ${JSON.stringify($)}`)};e.throwError=K;const ne=function(z){return(0,e.isArray)(z)?z.filter(e.unique).reduce(($,V)=>{const X=V.split("."),Q=X[0],G=X.slice(1).join(".")||void 0,Y=$.filter(fe=>Object.keys(fe)[0]===Q)[0],ee=Y?Object.values(Y)[0]:void 0;return Y||$.push({[Q]:G?[G]:void 0}),Y&&!ee&&G&&(Y[Q]=[G]),Y&&ee&&G&&ee.push(G),$},[]):[]};e.getRootKeysGroup=ne})(RW);(function(e){var t=wo&&wo.__rest||function(h,m){var y={};for(var b in h)Object.prototype.hasOwnProperty.call(h,b)&&m.indexOf(b)<0&&(y[b]=h[b]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function")for(var w=0,b=Object.getOwnPropertySymbols(h);w!E(k)&&h?h(_,k,T):_,out:(_,k,T)=>!E(k)&&m?m(_,k,T):_,deepPersistKey:b&&b[0]}},a=(h,m,y,{debug:b,whitelist:w,blacklist:E,transforms:_})=>{if(w||E)throw new Error("State reconciler autoMergeDeep uses custom transforms instead of old whitelist or blacklist config properties. Please use createWhitelist or createBlacklist transforms.");(0,n.transformsValidator)(_);const k=(0,n.cloneDeep)(y);let T=h;if(T&&(0,n.isObjectLike)(T)){const L=(0,n.difference)(m,y);(0,n.isEmpty)(L)||(T=(0,n.mergeDeep)(h,L,{preserveUndefined:!0}),b&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: sub state of your state was modified by reducer during rehydration. Values from reducer will be kept: ${JSON.stringify(L)}`)),Object.keys(T).forEach(O=>{if(O!=="_persist"){if((0,n.isObjectLike)(k[O])){k[O]=(0,n.mergeDeep)(k[O],T[O]);return}k[O]=T[O]}})}return b&&T&&(0,n.isObjectLike)(T)&&console.log(`${r.PACKAGE_NAME}/autoMergeDeep: rehydrated keys ${JSON.stringify(T)}`),k};e.autoMergeDeep=a;const s=(h,m)=>((0,n.singleTransformValidator)(m,h,i.ConfigType.WHITELIST),o(y=>{if(!m||!m.length)return y;let b=null,w;return m.forEach(E=>{const _=E.split(".");w=(0,n.path)(y,_),typeof w>"u"&&(0,n.isIntegerString)(_[_.length-1])&&(w=r.PLACEHOLDER_UNDEFINED);const k=(0,n.assocPath)(_,w),T=(0,n.isArray)(k)?[]:{};b=(0,n.mergeDeep)(b||T,k,{preservePlaceholder:!0})}),b||y},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.WHITELIST),{whitelist:[h]}));e.createWhitelist=s;const l=(h,m)=>((0,n.singleTransformValidator)(m,h,i.ConfigType.BLACKLIST),o(y=>{if(!m||!m.length)return;const b=(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST,!0);return m.map(E=>E.split(".")).reduce((E,_)=>(0,n.dissocPath)(E,_),b)},y=>(0,n.preserveUndefined)(y,m,i.ConfigType.BLACKLIST),{whitelist:[h]}));e.createBlacklist=l;const u=function(h,m){return m.map(y=>{const b=Object.keys(y)[0],w=y[b];return h===i.ConfigType.WHITELIST?(0,e.createWhitelist)(b,w):(0,e.createBlacklist)(b,w)})};e.getTransforms=u;const d=h=>{var{key:m,whitelist:y,blacklist:b,storage:w,transforms:E,rootReducer:_}=h,k=t(h,["key","whitelist","blacklist","storage","transforms","rootReducer"]);(0,n.configValidator)({whitelist:y,blacklist:b});const T=(0,n.getRootKeysGroup)(y),L=(0,n.getRootKeysGroup)(b),O=Object.keys(_(void 0,{type:""})),D=T.map(ne=>Object.keys(ne)[0]),I=L.map(ne=>Object.keys(ne)[0]),N=O.filter(ne=>D.indexOf(ne)===-1&&I.indexOf(ne)===-1),W=(0,e.getTransforms)(i.ConfigType.WHITELIST,T),B=(0,e.getTransforms)(i.ConfigType.BLACKLIST,L),K=(0,n.isArray)(y)?N.map(ne=>(0,e.createBlacklist)(ne)):[];return Object.assign(Object.assign({},k),{key:m,storage:w,transforms:[...W,...B,...K,...E||[]],stateReconciler:e.autoMergeDeep})};e.getPersistConfig=d})(OW);const Cd=(e,t)=>Math.floor(e/t)*t,Hl=(e,t)=>Math.round(e/t)*t;var Pe={},WSe={get exports(){return Pe},set exports(e){Pe=e}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",h=1,m=2,y=4,b=1,w=2,E=1,_=2,k=4,T=8,L=16,O=32,D=64,I=128,N=256,W=512,B=30,K="...",ne=800,z=16,$=1,V=2,X=3,Q=1/0,G=9007199254740991,Y=17976931348623157e292,ee=0/0,fe=4294967295,Ce=fe-1,we=fe>>>1,xe=[["ary",I],["bind",E],["bindKey",_],["curry",T],["curryRight",L],["flip",W],["partial",O],["partialRight",D],["rearg",N]],Le="[object Arguments]",Se="[object Array]",Qe="[object AsyncFunction]",Xe="[object Boolean]",tt="[object Date]",yt="[object DOMException]",Be="[object Error]",Ae="[object Function]",bt="[object GeneratorFunction]",Fe="[object Map]",at="[object Number]",jt="[object Null]",mt="[object Object]",Zt="[object Promise]",on="[object Proxy]",se="[object RegExp]",Ie="[object Set]",He="[object String]",Ue="[object Symbol]",ye="[object Undefined]",je="[object WeakMap]",vt="[object WeakSet]",Mt="[object ArrayBuffer]",Me="[object DataView]",Ct="[object Float32Array]",zt="[object Float64Array]",$n="[object Int8Array]",qe="[object Int16Array]",pt="[object Int32Array]",zr="[object Uint8Array]",rr="[object Uint8ClampedArray]",Bn="[object Uint16Array]",li="[object Uint32Array]",vs=/\b__p \+= '';/g,tl=/\b(__p \+=) '' \+/g,gf=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ys=/&(?:amp|lt|gt|quot|#39);/g,Xi=/[&<>"']/g,_0=RegExp(ys.source),Na=RegExp(Xi.source),wp=/<%-([\s\S]+?)%>/g,k0=/<%([\s\S]+?)%>/g,bc=/<%=([\s\S]+?)%>/g,Cp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_p=/^\w*$/,na=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mf=/[\\^$.*+?()[\]{}|]/g,E0=RegExp(mf.source),xc=/^\s+/,vf=/\s/,P0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nl=/\{\n\/\* \[wrapped with (.+)\] \*/,Sc=/,? & /,T0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,M0=/[()=,{}\[\]\/\s]/,L0=/\\(\\)?/g,A0=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bs=/\w*$/,O0=/^[-+]0x[0-9a-f]+$/i,R0=/^0b[01]+$/i,I0=/^\[object .+?Constructor\]$/,D0=/^0o[0-7]+$/i,j0=/^(?:0|[1-9]\d*)$/,N0=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,rl=/($^)/,$0=/['\n\r\u2028\u2029\\]/g,xs="\\ud800-\\udfff",fu="\\u0300-\\u036f",hu="\\ufe20-\\ufe2f",il="\\u20d0-\\u20ff",pu=fu+hu+il,kp="\\u2700-\\u27bf",wc="a-z\\xdf-\\xf6\\xf8-\\xff",ol="\\xac\\xb1\\xd7\\xf7",ra="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Mn="\\u2000-\\u206f",wn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ia="A-Z\\xc0-\\xd6\\xd8-\\xde",Hr="\\ufe0e\\ufe0f",ui=ol+ra+Mn+wn,oa="['’]",al="["+xs+"]",ci="["+ui+"]",Ss="["+pu+"]",yf="\\d+",gu="["+kp+"]",ws="["+wc+"]",bf="[^"+xs+ui+yf+kp+wc+ia+"]",Ri="\\ud83c[\\udffb-\\udfff]",Ep="(?:"+Ss+"|"+Ri+")",Pp="[^"+xs+"]",xf="(?:\\ud83c[\\udde6-\\uddff]){2}",sl="[\\ud800-\\udbff][\\udc00-\\udfff]",Mo="["+ia+"]",ll="\\u200d",mu="(?:"+ws+"|"+bf+")",F0="(?:"+Mo+"|"+bf+")",Cc="(?:"+oa+"(?:d|ll|m|re|s|t|ve))?",_c="(?:"+oa+"(?:D|LL|M|RE|S|T|VE))?",Sf=Ep+"?",kc="["+Hr+"]?",$a="(?:"+ll+"(?:"+[Pp,xf,sl].join("|")+")"+kc+Sf+")*",wf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gt=kc+Sf+$a,Tp="(?:"+[gu,xf,sl].join("|")+")"+Gt,Ec="(?:"+[Pp+Ss+"?",Ss,xf,sl,al].join("|")+")",Pc=RegExp(oa,"g"),Mp=RegExp(Ss,"g"),aa=RegExp(Ri+"(?="+Ri+")|"+Ec+Gt,"g"),Xn=RegExp([Mo+"?"+ws+"+"+Cc+"(?="+[ci,Mo,"$"].join("|")+")",F0+"+"+_c+"(?="+[ci,Mo+mu,"$"].join("|")+")",Mo+"?"+mu+"+"+Cc,Mo+"+"+_c,vu,wf,yf,Tp].join("|"),"g"),Cf=RegExp("["+ll+xs+pu+Hr+"]"),Lp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_f=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ap=-1,cn={};cn[Ct]=cn[zt]=cn[$n]=cn[qe]=cn[pt]=cn[zr]=cn[rr]=cn[Bn]=cn[li]=!0,cn[Le]=cn[Se]=cn[Mt]=cn[Xe]=cn[Me]=cn[tt]=cn[Be]=cn[Ae]=cn[Fe]=cn[at]=cn[mt]=cn[se]=cn[Ie]=cn[He]=cn[je]=!1;var qt={};qt[Le]=qt[Se]=qt[Mt]=qt[Me]=qt[Xe]=qt[tt]=qt[Ct]=qt[zt]=qt[$n]=qt[qe]=qt[pt]=qt[Fe]=qt[at]=qt[mt]=qt[se]=qt[Ie]=qt[He]=qt[Ue]=qt[zr]=qt[rr]=qt[Bn]=qt[li]=!0,qt[Be]=qt[Ae]=qt[je]=!1;var Op={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},B0={"&":"&","<":"<",">":">",'"':""","'":"'"},q={"&":"&","<":"<",">":">",""":'"',"'":"'"},re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pe=parseFloat,ot=parseInt,Ht=typeof So=="object"&&So&&So.Object===Object&&So,mn=typeof self=="object"&&self&&self.Object===Object&&self,St=Ht||mn||Function("return this")(),Ot=t&&!t.nodeType&&t,Kt=Ot&&!0&&e&&!e.nodeType&&e,Jr=Kt&&Kt.exports===Ot,Ar=Jr&&Ht.process,vn=function(){try{var ie=Kt&&Kt.require&&Kt.require("util").types;return ie||Ar&&Ar.binding&&Ar.binding("util")}catch{}}(),di=vn&&vn.isArrayBuffer,Lo=vn&&vn.isDate,uo=vn&&vn.isMap,Fa=vn&&vn.isRegExp,ul=vn&&vn.isSet,z0=vn&&vn.isTypedArray;function Ii(ie,be,me){switch(me.length){case 0:return ie.call(be);case 1:return ie.call(be,me[0]);case 2:return ie.call(be,me[0],me[1]);case 3:return ie.call(be,me[0],me[1],me[2])}return ie.apply(be,me)}function H0(ie,be,me,rt){for(var Lt=-1,en=ie==null?0:ie.length;++Lt-1}function Rp(ie,be,me){for(var rt=-1,Lt=ie==null?0:ie.length;++rt-1;);return me}function Cs(ie,be){for(var me=ie.length;me--&&Lc(be,ie[me],0)>-1;);return me}function U0(ie,be){for(var me=ie.length,rt=0;me--;)ie[me]===be&&++rt;return rt}var A2=Tf(Op),_s=Tf(B0);function dl(ie){return"\\"+re[ie]}function Dp(ie,be){return ie==null?n:ie[be]}function bu(ie){return Cf.test(ie)}function jp(ie){return Lp.test(ie)}function O2(ie){for(var be,me=[];!(be=ie.next()).done;)me.push(be.value);return me}function Np(ie){var be=-1,me=Array(ie.size);return ie.forEach(function(rt,Lt){me[++be]=[Lt,rt]}),me}function $p(ie,be){return function(me){return ie(be(me))}}function ua(ie,be){for(var me=-1,rt=ie.length,Lt=0,en=[];++me-1}function Z2(c,v){var C=this.__data__,A=Ur(C,c);return A<0?(++this.size,C.push([c,v])):C[A][1]=v,this}ca.prototype.clear=Y2,ca.prototype.delete=X2,ca.prototype.get=ov,ca.prototype.has=av,ca.prototype.set=Z2;function da(c){var v=-1,C=c==null?0:c.length;for(this.clear();++v=v?c:v)),c}function wi(c,v,C,A,j,H){var Z,te=v&h,ce=v&m,_e=v&y;if(C&&(Z=j?C(c,A,j,H):C(c)),Z!==n)return Z;if(!Cr(c))return c;var Ee=$t(c);if(Ee){if(Z=kK(c),!te)return Bi(c,Z)}else{var Re=ki(c),nt=Re==Ae||Re==bt;if(id(c))return wl(c,te);if(Re==mt||Re==Le||nt&&!j){if(Z=ce||nt?{}:AP(c),!te)return ce?_v(c,Kc(Z,c)):No(c,st(Z,c))}else{if(!qt[Re])return j?c:{};Z=EK(c,Re,te)}}H||(H=new Rr);var gt=H.get(c);if(gt)return gt;H.set(c,Z),aT(c)?c.forEach(function(kt){Z.add(wi(kt,v,C,kt,c,H))}):iT(c)&&c.forEach(function(kt,Xt){Z.set(Xt,wi(kt,v,C,Xt,c,H))});var _t=_e?ce?ge:ma:ce?Fo:Ei,Vt=Ee?n:_t(c);return Zn(Vt||c,function(kt,Xt){Vt&&(Xt=kt,kt=c[Xt]),pl(Z,Xt,wi(kt,v,C,Xt,c,H))}),Z}function Gp(c){var v=Ei(c);return function(C){return qp(C,c,v)}}function qp(c,v,C){var A=C.length;if(c==null)return!A;for(c=dn(c);A--;){var j=C[A],H=v[j],Z=c[j];if(Z===n&&!(j in c)||!H(Z))return!1}return!0}function cv(c,v,C){if(typeof c!="function")throw new Di(a);return Mv(function(){c.apply(n,C)},v)}function Yc(c,v,C,A){var j=-1,H=Zi,Z=!0,te=c.length,ce=[],_e=v.length;if(!te)return ce;C&&(v=Hn(v,Wr(C))),A?(H=Rp,Z=!1):v.length>=i&&(H=Oc,Z=!1,v=new Wa(v));e:for(;++jj?0:j+C),A=A===n||A>j?j:Ft(A),A<0&&(A+=j),A=C>A?0:lT(A);C0&&C(te)?v>1?Vr(te,v-1,C,A,j):Ba(j,te):A||(j[j.length]=te)}return j}var Yp=Cl(),Io=Cl(!0);function ga(c,v){return c&&Yp(c,v,Ei)}function Do(c,v){return c&&Io(c,v,Ei)}function Xp(c,v){return Oo(v,function(C){return Tu(c[C])})}function gl(c,v){v=Sl(v,c);for(var C=0,A=v.length;c!=null&&Cv}function Qp(c,v){return c!=null&&an.call(c,v)}function Jp(c,v){return c!=null&&v in dn(c)}function eg(c,v,C){return c>=hi(v,C)&&c=120&&Ee.length>=120)?new Wa(Z&&Ee):n}Ee=c[0];var Re=-1,nt=te[0];e:for(;++Re-1;)te!==c&&jf.call(te,ce,1),jf.call(c,ce,1);return c}function Vf(c,v){for(var C=c?v.length:0,A=C-1;C--;){var j=v[C];if(C==A||j!==H){var H=j;Pu(j)?jf.call(c,j,1):cg(c,j)}}return c}function Gf(c,v){return c+Su(J0()*(v-c+1))}function bl(c,v,C,A){for(var j=-1,H=Or(Ff((v-c)/(C||1)),0),Z=me(H);H--;)Z[A?H:++j]=c,c+=C;return Z}function td(c,v){var C="";if(!c||v<1||v>G)return C;do v%2&&(C+=c),v=Su(v/2),v&&(c+=c);while(v);return C}function Tt(c,v){return U4(IP(c,v,Bo),c+"")}function og(c){return qc(vg(c))}function qf(c,v){var C=vg(c);return ob(C,Cu(v,0,C.length))}function ku(c,v,C,A){if(!Cr(c))return c;v=Sl(v,c);for(var j=-1,H=v.length,Z=H-1,te=c;te!=null&&++jj?0:j+v),C=C>j?j:C,C<0&&(C+=j),j=v>C?0:C-v>>>0,v>>>=0;for(var H=me(j);++A>>1,Z=c[H];Z!==null&&!va(Z)&&(C?Z<=v:Z=i){var _e=v?null:U(c);if(_e)return Of(_e);Z=!1,j=Oc,ce=new Wa}else ce=v?[]:te;e:for(;++A=A?c:qr(c,v,C)}var xv=N2||function(c){return St.clearTimeout(c)};function wl(c,v){if(v)return c.slice();var C=c.length,A=Nc?Nc(C):new c.constructor(C);return c.copy(A),A}function Sv(c){var v=new c.constructor(c.byteLength);return new ji(v).set(new ji(c)),v}function Eu(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.byteLength)}function tb(c){var v=new c.constructor(c.source,bs.exec(c));return v.lastIndex=c.lastIndex,v}function Qn(c){return zf?dn(zf.call(c)):{}}function nb(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.length)}function wv(c,v){if(c!==v){var C=c!==n,A=c===null,j=c===c,H=va(c),Z=v!==n,te=v===null,ce=v===v,_e=va(v);if(!te&&!_e&&!H&&c>v||H&&Z&&ce&&!te&&!_e||A&&Z&&ce||!C&&ce||!j)return 1;if(!A&&!H&&!_e&&c=te)return ce;var _e=C[A];return ce*(_e=="desc"?-1:1)}}return c.index-v.index}function rb(c,v,C,A){for(var j=-1,H=c.length,Z=C.length,te=-1,ce=v.length,_e=Or(H-Z,0),Ee=me(ce+_e),Re=!A;++te1?C[j-1]:n,Z=j>2?C[2]:n;for(H=c.length>3&&typeof H=="function"?(j--,H):n,Z&&mo(C[0],C[1],Z)&&(H=j<3?n:H,j=1),v=dn(v);++A-1?j[H?v[Z]:Z]:n}}function Ev(c){return gr(function(v){var C=v.length,A=C,j=fo.prototype.thru;for(c&&v.reverse();A--;){var H=v[A];if(typeof H!="function")throw new Di(a);if(j&&!Z&&ve(H)=="wrapper")var Z=new fo([],!0)}for(A=Z?A:C;++A1&&tn.reverse(),Ee&&cete))return!1;var _e=H.get(c),Ee=H.get(v);if(_e&&Ee)return _e==v&&Ee==c;var Re=-1,nt=!0,gt=C&w?new Wa:n;for(H.set(c,v),H.set(v,c);++Re1?"& ":"")+v[A],v=v.join(C>2?", ":" "),c.replace(P0,`{ + */(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",h=1,m=2,y=4,b=1,w=2,E=1,_=2,k=4,T=8,L=16,O=32,D=64,I=128,N=256,W=512,B=30,K="...",ne=800,z=16,$=1,V=2,X=3,Q=1/0,G=9007199254740991,Y=17976931348623157e292,ee=0/0,fe=4294967295,Ce=fe-1,we=fe>>>1,xe=[["ary",I],["bind",E],["bindKey",_],["curry",T],["curryRight",L],["flip",W],["partial",O],["partialRight",D],["rearg",N]],Le="[object Arguments]",Se="[object Array]",Qe="[object AsyncFunction]",Xe="[object Boolean]",tt="[object Date]",yt="[object DOMException]",Be="[object Error]",Ae="[object Function]",bt="[object GeneratorFunction]",Fe="[object Map]",at="[object Number]",jt="[object Null]",mt="[object Object]",Zt="[object Promise]",on="[object Proxy]",se="[object RegExp]",Ie="[object Set]",He="[object String]",Ue="[object Symbol]",ye="[object Undefined]",je="[object WeakMap]",vt="[object WeakSet]",Mt="[object ArrayBuffer]",Me="[object DataView]",Ct="[object Float32Array]",zt="[object Float64Array]",$n="[object Int8Array]",qe="[object Int16Array]",pt="[object Int32Array]",zr="[object Uint8Array]",rr="[object Uint8ClampedArray]",Bn="[object Uint16Array]",li="[object Uint32Array]",vs=/\b__p \+= '';/g,tl=/\b(__p \+=) '' \+/g,gf=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ys=/&(?:amp|lt|gt|quot|#39);/g,Xi=/[&<>"']/g,_0=RegExp(ys.source),Na=RegExp(Xi.source),wp=/<%-([\s\S]+?)%>/g,k0=/<%([\s\S]+?)%>/g,bc=/<%=([\s\S]+?)%>/g,Cp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_p=/^\w*$/,na=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mf=/[\\^$.*+?()[\]{}|]/g,E0=RegExp(mf.source),xc=/^\s+/,vf=/\s/,P0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nl=/\{\n\/\* \[wrapped with (.+)\] \*/,Sc=/,? & /,T0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,M0=/[()=,{}\[\]\/\s]/,L0=/\\(\\)?/g,A0=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bs=/\w*$/,O0=/^[-+]0x[0-9a-f]+$/i,R0=/^0b[01]+$/i,I0=/^\[object .+?Constructor\]$/,D0=/^0o[0-7]+$/i,j0=/^(?:0|[1-9]\d*)$/,N0=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,rl=/($^)/,$0=/['\n\r\u2028\u2029\\]/g,xs="\\ud800-\\udfff",fu="\\u0300-\\u036f",hu="\\ufe20-\\ufe2f",il="\\u20d0-\\u20ff",pu=fu+hu+il,kp="\\u2700-\\u27bf",wc="a-z\\xdf-\\xf6\\xf8-\\xff",ol="\\xac\\xb1\\xd7\\xf7",ra="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Mn="\\u2000-\\u206f",wn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ia="A-Z\\xc0-\\xd6\\xd8-\\xde",Hr="\\ufe0e\\ufe0f",ui=ol+ra+Mn+wn,oa="['’]",al="["+xs+"]",ci="["+ui+"]",Ss="["+pu+"]",yf="\\d+",gu="["+kp+"]",ws="["+wc+"]",bf="[^"+xs+ui+yf+kp+wc+ia+"]",Ri="\\ud83c[\\udffb-\\udfff]",Ep="(?:"+Ss+"|"+Ri+")",Pp="[^"+xs+"]",xf="(?:\\ud83c[\\udde6-\\uddff]){2}",sl="[\\ud800-\\udbff][\\udc00-\\udfff]",Lo="["+ia+"]",ll="\\u200d",mu="(?:"+ws+"|"+bf+")",F0="(?:"+Lo+"|"+bf+")",Cc="(?:"+oa+"(?:d|ll|m|re|s|t|ve))?",_c="(?:"+oa+"(?:D|LL|M|RE|S|T|VE))?",Sf=Ep+"?",kc="["+Hr+"]?",$a="(?:"+ll+"(?:"+[Pp,xf,sl].join("|")+")"+kc+Sf+")*",wf="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gt=kc+Sf+$a,Tp="(?:"+[gu,xf,sl].join("|")+")"+Gt,Ec="(?:"+[Pp+Ss+"?",Ss,xf,sl,al].join("|")+")",Pc=RegExp(oa,"g"),Mp=RegExp(Ss,"g"),aa=RegExp(Ri+"(?="+Ri+")|"+Ec+Gt,"g"),Xn=RegExp([Lo+"?"+ws+"+"+Cc+"(?="+[ci,Lo,"$"].join("|")+")",F0+"+"+_c+"(?="+[ci,Lo+mu,"$"].join("|")+")",Lo+"?"+mu+"+"+Cc,Lo+"+"+_c,vu,wf,yf,Tp].join("|"),"g"),Cf=RegExp("["+ll+xs+pu+Hr+"]"),Lp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_f=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ap=-1,cn={};cn[Ct]=cn[zt]=cn[$n]=cn[qe]=cn[pt]=cn[zr]=cn[rr]=cn[Bn]=cn[li]=!0,cn[Le]=cn[Se]=cn[Mt]=cn[Xe]=cn[Me]=cn[tt]=cn[Be]=cn[Ae]=cn[Fe]=cn[at]=cn[mt]=cn[se]=cn[Ie]=cn[He]=cn[je]=!1;var qt={};qt[Le]=qt[Se]=qt[Mt]=qt[Me]=qt[Xe]=qt[tt]=qt[Ct]=qt[zt]=qt[$n]=qt[qe]=qt[pt]=qt[Fe]=qt[at]=qt[mt]=qt[se]=qt[Ie]=qt[He]=qt[Ue]=qt[zr]=qt[rr]=qt[Bn]=qt[li]=!0,qt[Be]=qt[Ae]=qt[je]=!1;var Op={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},B0={"&":"&","<":"<",">":">",'"':""","'":"'"},q={"&":"&","<":"<",">":">",""":'"',"'":"'"},re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},pe=parseFloat,ot=parseInt,Ht=typeof wo=="object"&&wo&&wo.Object===Object&&wo,mn=typeof self=="object"&&self&&self.Object===Object&&self,St=Ht||mn||Function("return this")(),Ot=t&&!t.nodeType&&t,Kt=Ot&&!0&&e&&!e.nodeType&&e,Jr=Kt&&Kt.exports===Ot,Ar=Jr&&Ht.process,vn=function(){try{var ie=Kt&&Kt.require&&Kt.require("util").types;return ie||Ar&&Ar.binding&&Ar.binding("util")}catch{}}(),di=vn&&vn.isArrayBuffer,Ao=vn&&vn.isDate,uo=vn&&vn.isMap,Fa=vn&&vn.isRegExp,ul=vn&&vn.isSet,z0=vn&&vn.isTypedArray;function Ii(ie,be,me){switch(me.length){case 0:return ie.call(be);case 1:return ie.call(be,me[0]);case 2:return ie.call(be,me[0],me[1]);case 3:return ie.call(be,me[0],me[1],me[2])}return ie.apply(be,me)}function H0(ie,be,me,rt){for(var Lt=-1,en=ie==null?0:ie.length;++Lt-1}function Rp(ie,be,me){for(var rt=-1,Lt=ie==null?0:ie.length;++rt-1;);return me}function Cs(ie,be){for(var me=ie.length;me--&&Lc(be,ie[me],0)>-1;);return me}function U0(ie,be){for(var me=ie.length,rt=0;me--;)ie[me]===be&&++rt;return rt}var A2=Tf(Op),_s=Tf(B0);function dl(ie){return"\\"+re[ie]}function Dp(ie,be){return ie==null?n:ie[be]}function bu(ie){return Cf.test(ie)}function jp(ie){return Lp.test(ie)}function O2(ie){for(var be,me=[];!(be=ie.next()).done;)me.push(be.value);return me}function Np(ie){var be=-1,me=Array(ie.size);return ie.forEach(function(rt,Lt){me[++be]=[Lt,rt]}),me}function $p(ie,be){return function(me){return ie(be(me))}}function ua(ie,be){for(var me=-1,rt=ie.length,Lt=0,en=[];++me-1}function Z2(c,v){var C=this.__data__,A=Ur(C,c);return A<0?(++this.size,C.push([c,v])):C[A][1]=v,this}ca.prototype.clear=Y2,ca.prototype.delete=X2,ca.prototype.get=ov,ca.prototype.has=av,ca.prototype.set=Z2;function da(c){var v=-1,C=c==null?0:c.length;for(this.clear();++v=v?c:v)),c}function wi(c,v,C,A,j,H){var Z,te=v&h,ce=v&m,_e=v&y;if(C&&(Z=j?C(c,A,j,H):C(c)),Z!==n)return Z;if(!Cr(c))return c;var Ee=$t(c);if(Ee){if(Z=kK(c),!te)return Bi(c,Z)}else{var Re=ki(c),nt=Re==Ae||Re==bt;if(id(c))return wl(c,te);if(Re==mt||Re==Le||nt&&!j){if(Z=ce||nt?{}:AP(c),!te)return ce?_v(c,Kc(Z,c)):$o(c,st(Z,c))}else{if(!qt[Re])return j?c:{};Z=EK(c,Re,te)}}H||(H=new Rr);var gt=H.get(c);if(gt)return gt;H.set(c,Z),aT(c)?c.forEach(function(kt){Z.add(wi(kt,v,C,kt,c,H))}):iT(c)&&c.forEach(function(kt,Xt){Z.set(Xt,wi(kt,v,C,Xt,c,H))});var _t=_e?ce?ge:ma:ce?Bo:Ei,Vt=Ee?n:_t(c);return Zn(Vt||c,function(kt,Xt){Vt&&(Xt=kt,kt=c[Xt]),pl(Z,Xt,wi(kt,v,C,Xt,c,H))}),Z}function Gp(c){var v=Ei(c);return function(C){return qp(C,c,v)}}function qp(c,v,C){var A=C.length;if(c==null)return!A;for(c=dn(c);A--;){var j=C[A],H=v[j],Z=c[j];if(Z===n&&!(j in c)||!H(Z))return!1}return!0}function cv(c,v,C){if(typeof c!="function")throw new Di(a);return Mv(function(){c.apply(n,C)},v)}function Yc(c,v,C,A){var j=-1,H=Zi,Z=!0,te=c.length,ce=[],_e=v.length;if(!te)return ce;C&&(v=Hn(v,Wr(C))),A?(H=Rp,Z=!1):v.length>=i&&(H=Oc,Z=!1,v=new Wa(v));e:for(;++jj?0:j+C),A=A===n||A>j?j:Ft(A),A<0&&(A+=j),A=C>A?0:lT(A);C0&&C(te)?v>1?Vr(te,v-1,C,A,j):Ba(j,te):A||(j[j.length]=te)}return j}var Yp=Cl(),Do=Cl(!0);function ga(c,v){return c&&Yp(c,v,Ei)}function jo(c,v){return c&&Do(c,v,Ei)}function Xp(c,v){return Ro(v,function(C){return Tu(c[C])})}function gl(c,v){v=Sl(v,c);for(var C=0,A=v.length;c!=null&&Cv}function Qp(c,v){return c!=null&&an.call(c,v)}function Jp(c,v){return c!=null&&v in dn(c)}function eg(c,v,C){return c>=hi(v,C)&&c=120&&Ee.length>=120)?new Wa(Z&&Ee):n}Ee=c[0];var Re=-1,nt=te[0];e:for(;++Re-1;)te!==c&&jf.call(te,ce,1),jf.call(c,ce,1);return c}function Vf(c,v){for(var C=c?v.length:0,A=C-1;C--;){var j=v[C];if(C==A||j!==H){var H=j;Pu(j)?jf.call(c,j,1):cg(c,j)}}return c}function Gf(c,v){return c+Su(J0()*(v-c+1))}function bl(c,v,C,A){for(var j=-1,H=Or(Ff((v-c)/(C||1)),0),Z=me(H);H--;)Z[A?H:++j]=c,c+=C;return Z}function td(c,v){var C="";if(!c||v<1||v>G)return C;do v%2&&(C+=c),v=Su(v/2),v&&(c+=c);while(v);return C}function Tt(c,v){return U4(IP(c,v,zo),c+"")}function og(c){return qc(vg(c))}function qf(c,v){var C=vg(c);return ob(C,Cu(v,0,C.length))}function ku(c,v,C,A){if(!Cr(c))return c;v=Sl(v,c);for(var j=-1,H=v.length,Z=H-1,te=c;te!=null&&++jj?0:j+v),C=C>j?j:C,C<0&&(C+=j),j=v>C?0:C-v>>>0,v>>>=0;for(var H=me(j);++A>>1,Z=c[H];Z!==null&&!va(Z)&&(C?Z<=v:Z=i){var _e=v?null:U(c);if(_e)return Of(_e);Z=!1,j=Oc,ce=new Wa}else ce=v?[]:te;e:for(;++A=A?c:qr(c,v,C)}var xv=N2||function(c){return St.clearTimeout(c)};function wl(c,v){if(v)return c.slice();var C=c.length,A=Nc?Nc(C):new c.constructor(C);return c.copy(A),A}function Sv(c){var v=new c.constructor(c.byteLength);return new ji(v).set(new ji(c)),v}function Eu(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.byteLength)}function tb(c){var v=new c.constructor(c.source,bs.exec(c));return v.lastIndex=c.lastIndex,v}function Qn(c){return zf?dn(zf.call(c)):{}}function nb(c,v){var C=v?Sv(c.buffer):c.buffer;return new c.constructor(C,c.byteOffset,c.length)}function wv(c,v){if(c!==v){var C=c!==n,A=c===null,j=c===c,H=va(c),Z=v!==n,te=v===null,ce=v===v,_e=va(v);if(!te&&!_e&&!H&&c>v||H&&Z&&ce&&!te&&!_e||A&&Z&&ce||!C&&ce||!j)return 1;if(!A&&!H&&!_e&&c=te)return ce;var _e=C[A];return ce*(_e=="desc"?-1:1)}}return c.index-v.index}function rb(c,v,C,A){for(var j=-1,H=c.length,Z=C.length,te=-1,ce=v.length,_e=Or(H-Z,0),Ee=me(ce+_e),Re=!A;++te1?C[j-1]:n,Z=j>2?C[2]:n;for(H=c.length>3&&typeof H=="function"?(j--,H):n,Z&&mo(C[0],C[1],Z)&&(H=j<3?n:H,j=1),v=dn(v);++A-1?j[H?v[Z]:Z]:n}}function Ev(c){return gr(function(v){var C=v.length,A=C,j=fo.prototype.thru;for(c&&v.reverse();A--;){var H=v[A];if(typeof H!="function")throw new Di(a);if(j&&!Z&&ve(H)=="wrapper")var Z=new fo([],!0)}for(A=Z?A:C;++A1&&tn.reverse(),Ee&&cete))return!1;var _e=H.get(c),Ee=H.get(v);if(_e&&Ee)return _e==v&&Ee==c;var Re=-1,nt=!0,gt=C&w?new Wa:n;for(H.set(c,v),H.set(v,c);++Re1?"& ":"")+v[A],v=v.join(C>2?", ":" "),c.replace(P0,`{ /* [wrapped with `+v+`] */ -`)}function TK(c){return $t(c)||th(c)||!!(Z0&&c&&c[Z0])}function Pu(c,v){var C=typeof c;return v=v??G,!!v&&(C=="number"||C!="symbol"&&j0.test(c))&&c>-1&&c%1==0&&c0){if(++v>=ne)return arguments[0]}else v=0;return c.apply(n,arguments)}}function ob(c,v){var C=-1,A=c.length,j=A-1;for(v=v===n?A:v;++C1?c[v-1]:n;return C=typeof C=="function"?(c.pop(),C):n,GP(c,C)});function qP(c){var v=F(c);return v.__chain__=!0,v}function FY(c,v){return v(c),c}function ab(c,v){return v(c)}var BY=gr(function(c){var v=c.length,C=v?c[0]:0,A=this.__wrapped__,j=function(H){return Vp(H,c)};return v>1||this.__actions__.length||!(A instanceof Yt)||!Pu(C)?this.thru(j):(A=A.slice(C,+C+(v?1:0)),A.__actions__.push({func:ab,args:[j],thisArg:n}),new fo(A,this.__chain__).thru(function(H){return v&&!H.length&&H.push(n),H}))});function zY(){return qP(this)}function HY(){return new fo(this.value(),this.__chain__)}function WY(){this.__values__===n&&(this.__values__=sT(this.value()));var c=this.__index__>=this.__values__.length,v=c?n:this.__values__[this.__index__++];return{done:c,value:v}}function UY(){return this}function VY(c){for(var v,C=this;C instanceof Hf;){var A=BP(C);A.__index__=0,A.__values__=n,v?j.__wrapped__=A:v=A;var j=A;C=C.__wrapped__}return j.__wrapped__=c,v}function GY(){var c=this.__wrapped__;if(c instanceof Yt){var v=c;return this.__actions__.length&&(v=new Yt(this)),v=v.reverse(),v.__actions__.push({func:ab,args:[V4],thisArg:n}),new fo(v,this.__chain__)}return this.thru(V4)}function qY(){return xl(this.__wrapped__,this.__actions__)}var KY=fg(function(c,v,C){an.call(c,C)?++c[C]:fa(c,C,1)});function YY(c,v,C){var A=$t(c)?zn:dv;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}function XY(c,v){var C=$t(c)?Oo:pa;return C(c,Oe(v,3))}var ZY=kv(zP),QY=kv(HP);function JY(c,v){return Vr(sb(c,v),1)}function eX(c,v){return Vr(sb(c,v),Q)}function tX(c,v,C){return C=C===n?1:Ft(C),Vr(sb(c,v),C)}function KP(c,v){var C=$t(c)?Zn:Ps;return C(c,Oe(v,3))}function YP(c,v){var C=$t(c)?Ao:Kp;return C(c,Oe(v,3))}var nX=fg(function(c,v,C){an.call(c,C)?c[C].push(v):fa(c,C,[v])});function rX(c,v,C,A){c=$o(c)?c:vg(c),C=C&&!A?Ft(C):0;var j=c.length;return C<0&&(C=Or(j+C,0)),fb(c)?C<=j&&c.indexOf(v,C)>-1:!!j&&Lc(c,v,C)>-1}var iX=Tt(function(c,v,C){var A=-1,j=typeof v=="function",H=$o(c)?me(c.length):[];return Ps(c,function(Z){H[++A]=j?Ii(v,Z,C):Ts(Z,v,C)}),H}),oX=fg(function(c,v,C){fa(c,C,v)});function sb(c,v){var C=$t(c)?Hn:Dr;return C(c,Oe(v,3))}function aX(c,v,C,A){return c==null?[]:($t(v)||(v=v==null?[]:[v]),C=A?n:C,$t(C)||(C=C==null?[]:[C]),$i(c,v,C))}var sX=fg(function(c,v,C){c[C?0:1].push(v)},function(){return[[],[]]});function lX(c,v,C){var A=$t(c)?kf:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Ps)}function uX(c,v,C){var A=$t(c)?P2:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Kp)}function cX(c,v){var C=$t(c)?Oo:pa;return C(c,cb(Oe(v,3)))}function dX(c){var v=$t(c)?qc:og;return v(c)}function fX(c,v,C){(C?mo(c,v,C):v===n)?v=1:v=Ft(v);var A=$t(c)?Si:qf;return A(c,v)}function hX(c){var v=$t(c)?j4:_i;return v(c)}function pX(c){if(c==null)return 0;if($o(c))return fb(c)?za(c):c.length;var v=ki(c);return v==Fe||v==Ie?c.size:Gr(c).length}function gX(c,v,C){var A=$t(c)?Tc:jo;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}var mX=Tt(function(c,v){if(c==null)return[];var C=v.length;return C>1&&mo(c,v[0],v[1])?v=[]:C>2&&mo(v[0],v[1],v[2])&&(v=[v[0]]),$i(c,Vr(v,1),[])}),lb=$2||function(){return St.Date.now()};function vX(c,v){if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){if(--c<1)return v.apply(this,arguments)}}function XP(c,v,C){return v=C?n:v,v=c&&v==null?c.length:v,he(c,I,n,n,n,n,v)}function ZP(c,v){var C;if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){return--c>0&&(C=v.apply(this,arguments)),c<=1&&(v=n),C}}var q4=Tt(function(c,v,C){var A=E;if(C.length){var j=ua(C,et(q4));A|=O}return he(c,A,v,C,j)}),QP=Tt(function(c,v,C){var A=E|_;if(C.length){var j=ua(C,et(QP));A|=O}return he(v,A,c,C,j)});function JP(c,v,C){v=C?n:v;var A=he(c,T,n,n,n,n,n,v);return A.placeholder=JP.placeholder,A}function eT(c,v,C){v=C?n:v;var A=he(c,L,n,n,n,n,n,v);return A.placeholder=eT.placeholder,A}function tT(c,v,C){var A,j,H,Z,te,ce,_e=0,Ee=!1,Re=!1,nt=!0;if(typeof c!="function")throw new Di(a);v=Ga(v)||0,Cr(C)&&(Ee=!!C.leading,Re="maxWait"in C,H=Re?Or(Ga(C.maxWait)||0,v):H,nt="trailing"in C?!!C.trailing:nt);function gt(Yr){var Rs=A,Lu=j;return A=j=n,_e=Yr,Z=c.apply(Lu,Rs),Z}function _t(Yr){return _e=Yr,te=Mv(Xt,v),Ee?gt(Yr):Z}function Vt(Yr){var Rs=Yr-ce,Lu=Yr-_e,xT=v-Rs;return Re?hi(xT,H-Lu):xT}function kt(Yr){var Rs=Yr-ce,Lu=Yr-_e;return ce===n||Rs>=v||Rs<0||Re&&Lu>=H}function Xt(){var Yr=lb();if(kt(Yr))return tn(Yr);te=Mv(Xt,Vt(Yr))}function tn(Yr){return te=n,nt&&A?gt(Yr):(A=j=n,Z)}function ya(){te!==n&&xv(te),_e=0,A=ce=j=te=n}function vo(){return te===n?Z:tn(lb())}function ba(){var Yr=lb(),Rs=kt(Yr);if(A=arguments,j=this,ce=Yr,Rs){if(te===n)return _t(ce);if(Re)return xv(te),te=Mv(Xt,v),gt(ce)}return te===n&&(te=Mv(Xt,v)),Z}return ba.cancel=ya,ba.flush=vo,ba}var yX=Tt(function(c,v){return cv(c,1,v)}),bX=Tt(function(c,v,C){return cv(c,Ga(v)||0,C)});function xX(c){return he(c,W)}function ub(c,v){if(typeof c!="function"||v!=null&&typeof v!="function")throw new Di(a);var C=function(){var A=arguments,j=v?v.apply(this,A):A[0],H=C.cache;if(H.has(j))return H.get(j);var Z=c.apply(this,A);return C.cache=H.set(j,Z)||H,Z};return C.cache=new(ub.Cache||da),C}ub.Cache=da;function cb(c){if(typeof c!="function")throw new Di(a);return function(){var v=arguments;switch(v.length){case 0:return!c.call(this);case 1:return!c.call(this,v[0]);case 2:return!c.call(this,v[0],v[1]);case 3:return!c.call(this,v[0],v[1],v[2])}return!c.apply(this,v)}}function SX(c){return ZP(2,c)}var wX=F4(function(c,v){v=v.length==1&&$t(v[0])?Hn(v[0],Wr(Oe())):Hn(Vr(v,1),Wr(Oe()));var C=v.length;return Tt(function(A){for(var j=-1,H=hi(A.length,C);++j=v}),th=ng(function(){return arguments}())?ng:function(c){return jr(c)&&an.call(c,"callee")&&!X0.call(c,"callee")},$t=me.isArray,NX=di?Wr(di):hv;function $o(c){return c!=null&&db(c.length)&&!Tu(c)}function Kr(c){return jr(c)&&$o(c)}function $X(c){return c===!0||c===!1||jr(c)&&Ci(c)==Xe}var id=F2||o5,FX=Lo?Wr(Lo):pv;function BX(c){return jr(c)&&c.nodeType===1&&!Lv(c)}function zX(c){if(c==null)return!0;if($o(c)&&($t(c)||typeof c=="string"||typeof c.splice=="function"||id(c)||mg(c)||th(c)))return!c.length;var v=ki(c);if(v==Fe||v==Ie)return!c.size;if(Tv(c))return!Gr(c).length;for(var C in c)if(an.call(c,C))return!1;return!0}function HX(c,v){return Zc(c,v)}function WX(c,v,C){C=typeof C=="function"?C:n;var A=C?C(c,v):n;return A===n?Zc(c,v,n,C):!!A}function Y4(c){if(!jr(c))return!1;var v=Ci(c);return v==Be||v==yt||typeof c.message=="string"&&typeof c.name=="string"&&!Lv(c)}function UX(c){return typeof c=="number"&&zp(c)}function Tu(c){if(!Cr(c))return!1;var v=Ci(c);return v==Ae||v==bt||v==Qe||v==on}function rT(c){return typeof c=="number"&&c==Ft(c)}function db(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=G}function Cr(c){var v=typeof c;return c!=null&&(v=="object"||v=="function")}function jr(c){return c!=null&&typeof c=="object"}var iT=uo?Wr(uo):$4;function VX(c,v){return c===v||Qc(c,v,At(v))}function GX(c,v,C){return C=typeof C=="function"?C:n,Qc(c,v,At(v),C)}function qX(c){return oT(c)&&c!=+c}function KX(c){if(AK(c))throw new Lt(o);return rg(c)}function YX(c){return c===null}function XX(c){return c==null}function oT(c){return typeof c=="number"||jr(c)&&Ci(c)==at}function Lv(c){if(!jr(c)||Ci(c)!=mt)return!1;var v=$c(c);if(v===null)return!0;var C=an.call(v,"constructor")&&v.constructor;return typeof C=="function"&&C instanceof C&&xr.call(C)==xi}var X4=Fa?Wr(Fa):Sr;function ZX(c){return rT(c)&&c>=-G&&c<=G}var aT=ul?Wr(ul):Wt;function fb(c){return typeof c=="string"||!$t(c)&&jr(c)&&Ci(c)==He}function va(c){return typeof c=="symbol"||jr(c)&&Ci(c)==Ue}var mg=z0?Wr(z0):ei;function QX(c){return c===n}function JX(c){return jr(c)&&ki(c)==je}function eZ(c){return jr(c)&&Ci(c)==vt}var tZ=P(ml),nZ=P(function(c,v){return c<=v});function sT(c){if(!c)return[];if($o(c))return fb(c)?Qi(c):Bi(c);if(Fc&&c[Fc])return O2(c[Fc]());var v=ki(c),C=v==Fe?Np:v==Ie?Of:vg;return C(c)}function Mu(c){if(!c)return c===0?c:0;if(c=Ga(c),c===Q||c===-Q){var v=c<0?-1:1;return v*Y}return c===c?c:0}function Ft(c){var v=Mu(c),C=v%1;return v===v?C?v-C:v:0}function lT(c){return c?Cu(Ft(c),0,fe):0}function Ga(c){if(typeof c=="number")return c;if(va(c))return ee;if(Cr(c)){var v=typeof c.valueOf=="function"?c.valueOf():c;c=Cr(v)?v+"":v}if(typeof c!="string")return c===0?c:+c;c=co(c);var C=R0.test(c);return C||D0.test(c)?ot(c.slice(2),C?2:8):O0.test(c)?ee:+c}function uT(c){return Ua(c,Fo(c))}function rZ(c){return c?Cu(Ft(c),-G,G):c===0?c:0}function _n(c){return c==null?"":po(c)}var iZ=go(function(c,v){if(Tv(v)||$o(v)){Ua(v,Ei(v),c);return}for(var C in v)an.call(v,C)&&pl(c,C,v[C])}),cT=go(function(c,v){Ua(v,Fo(v),c)}),hb=go(function(c,v,C,A){Ua(v,Fo(v),c,A)}),oZ=go(function(c,v,C,A){Ua(v,Ei(v),c,A)}),aZ=gr(Vp);function sZ(c,v){var C=wu(c);return v==null?C:st(C,v)}var lZ=Tt(function(c,v){c=dn(c);var C=-1,A=v.length,j=A>2?v[2]:n;for(j&&mo(v[0],v[1],j)&&(A=1);++C1),H}),Ua(c,ge(c),C),A&&(C=wi(C,h|m|y,Rt));for(var j=v.length;j--;)cg(C,v[j]);return C});function EZ(c,v){return fT(c,cb(Oe(v)))}var PZ=gr(function(c,v){return c==null?{}:vv(c,v)});function fT(c,v){if(c==null)return{};var C=Hn(ge(c),function(A){return[A]});return v=Oe(v),ig(c,C,function(A,j){return v(A,j[0])})}function TZ(c,v,C){v=Sl(v,c);var A=-1,j=v.length;for(j||(j=1,c=n);++Av){var A=c;c=v,v=A}if(C||c%1||v%1){var j=J0();return hi(c+j*(v-c+pe("1e-"+((j+"").length-1))),v)}return Gf(c,v)}var FZ=_l(function(c,v,C){return v=v.toLowerCase(),c+(C?gT(v):v)});function gT(c){return J4(_n(c).toLowerCase())}function mT(c){return c=_n(c),c&&c.replace(N0,A2).replace(Mp,"")}function BZ(c,v,C){c=_n(c),v=po(v);var A=c.length;C=C===n?A:Cu(Ft(C),0,A);var j=C;return C-=v.length,C>=0&&c.slice(C,j)==v}function zZ(c){return c=_n(c),c&&Na.test(c)?c.replace(Xi,_s):c}function HZ(c){return c=_n(c),c&&E0.test(c)?c.replace(mf,"\\$&"):c}var WZ=_l(function(c,v,C){return c+(C?"-":"")+v.toLowerCase()}),UZ=_l(function(c,v,C){return c+(C?" ":"")+v.toLowerCase()}),VZ=pg("toLowerCase");function GZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;if(!v||A>=v)return c;var j=(v-A)/2;return f(Su(j),C)+c+f(Ff(j),C)}function qZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;return v&&A>>0,C?(c=_n(c),c&&(typeof v=="string"||v!=null&&!X4(v))&&(v=po(v),!v&&bu(c))?Ls(Qi(c),0,C):c.split(v,C)):[]}var eQ=_l(function(c,v,C){return c+(C?" ":"")+J4(v)});function tQ(c,v,C){return c=_n(c),C=C==null?0:Cu(Ft(C),0,c.length),v=po(v),c.slice(C,C+v.length)==v}function nQ(c,v,C){var A=F.templateSettings;C&&mo(c,v,C)&&(v=n),c=_n(c),v=hb({},v,A,We);var j=hb({},v.imports,A.imports,We),H=Ei(j),Z=Af(j,H),te,ce,_e=0,Ee=v.interpolate||rl,Re="__p += '",nt=If((v.escape||rl).source+"|"+Ee.source+"|"+(Ee===bc?A0:rl).source+"|"+(v.evaluate||rl).source+"|$","g"),gt="//# sourceURL="+(an.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ap+"]")+` +`)}function TK(c){return $t(c)||th(c)||!!(Z0&&c&&c[Z0])}function Pu(c,v){var C=typeof c;return v=v??G,!!v&&(C=="number"||C!="symbol"&&j0.test(c))&&c>-1&&c%1==0&&c0){if(++v>=ne)return arguments[0]}else v=0;return c.apply(n,arguments)}}function ob(c,v){var C=-1,A=c.length,j=A-1;for(v=v===n?A:v;++C1?c[v-1]:n;return C=typeof C=="function"?(c.pop(),C):n,GP(c,C)});function qP(c){var v=F(c);return v.__chain__=!0,v}function FY(c,v){return v(c),c}function ab(c,v){return v(c)}var BY=gr(function(c){var v=c.length,C=v?c[0]:0,A=this.__wrapped__,j=function(H){return Vp(H,c)};return v>1||this.__actions__.length||!(A instanceof Yt)||!Pu(C)?this.thru(j):(A=A.slice(C,+C+(v?1:0)),A.__actions__.push({func:ab,args:[j],thisArg:n}),new fo(A,this.__chain__).thru(function(H){return v&&!H.length&&H.push(n),H}))});function zY(){return qP(this)}function HY(){return new fo(this.value(),this.__chain__)}function WY(){this.__values__===n&&(this.__values__=sT(this.value()));var c=this.__index__>=this.__values__.length,v=c?n:this.__values__[this.__index__++];return{done:c,value:v}}function UY(){return this}function VY(c){for(var v,C=this;C instanceof Hf;){var A=BP(C);A.__index__=0,A.__values__=n,v?j.__wrapped__=A:v=A;var j=A;C=C.__wrapped__}return j.__wrapped__=c,v}function GY(){var c=this.__wrapped__;if(c instanceof Yt){var v=c;return this.__actions__.length&&(v=new Yt(this)),v=v.reverse(),v.__actions__.push({func:ab,args:[V4],thisArg:n}),new fo(v,this.__chain__)}return this.thru(V4)}function qY(){return xl(this.__wrapped__,this.__actions__)}var KY=fg(function(c,v,C){an.call(c,C)?++c[C]:fa(c,C,1)});function YY(c,v,C){var A=$t(c)?zn:dv;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}function XY(c,v){var C=$t(c)?Ro:pa;return C(c,Oe(v,3))}var ZY=kv(zP),QY=kv(HP);function JY(c,v){return Vr(sb(c,v),1)}function eX(c,v){return Vr(sb(c,v),Q)}function tX(c,v,C){return C=C===n?1:Ft(C),Vr(sb(c,v),C)}function KP(c,v){var C=$t(c)?Zn:Ps;return C(c,Oe(v,3))}function YP(c,v){var C=$t(c)?Oo:Kp;return C(c,Oe(v,3))}var nX=fg(function(c,v,C){an.call(c,C)?c[C].push(v):fa(c,C,[v])});function rX(c,v,C,A){c=Fo(c)?c:vg(c),C=C&&!A?Ft(C):0;var j=c.length;return C<0&&(C=Or(j+C,0)),fb(c)?C<=j&&c.indexOf(v,C)>-1:!!j&&Lc(c,v,C)>-1}var iX=Tt(function(c,v,C){var A=-1,j=typeof v=="function",H=Fo(c)?me(c.length):[];return Ps(c,function(Z){H[++A]=j?Ii(v,Z,C):Ts(Z,v,C)}),H}),oX=fg(function(c,v,C){fa(c,C,v)});function sb(c,v){var C=$t(c)?Hn:Dr;return C(c,Oe(v,3))}function aX(c,v,C,A){return c==null?[]:($t(v)||(v=v==null?[]:[v]),C=A?n:C,$t(C)||(C=C==null?[]:[C]),$i(c,v,C))}var sX=fg(function(c,v,C){c[C?0:1].push(v)},function(){return[[],[]]});function lX(c,v,C){var A=$t(c)?kf:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Ps)}function uX(c,v,C){var A=$t(c)?P2:Ip,j=arguments.length<3;return A(c,Oe(v,4),C,j,Kp)}function cX(c,v){var C=$t(c)?Ro:pa;return C(c,cb(Oe(v,3)))}function dX(c){var v=$t(c)?qc:og;return v(c)}function fX(c,v,C){(C?mo(c,v,C):v===n)?v=1:v=Ft(v);var A=$t(c)?Si:qf;return A(c,v)}function hX(c){var v=$t(c)?j4:_i;return v(c)}function pX(c){if(c==null)return 0;if(Fo(c))return fb(c)?za(c):c.length;var v=ki(c);return v==Fe||v==Ie?c.size:Gr(c).length}function gX(c,v,C){var A=$t(c)?Tc:No;return C&&mo(c,v,C)&&(v=n),A(c,Oe(v,3))}var mX=Tt(function(c,v){if(c==null)return[];var C=v.length;return C>1&&mo(c,v[0],v[1])?v=[]:C>2&&mo(v[0],v[1],v[2])&&(v=[v[0]]),$i(c,Vr(v,1),[])}),lb=$2||function(){return St.Date.now()};function vX(c,v){if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){if(--c<1)return v.apply(this,arguments)}}function XP(c,v,C){return v=C?n:v,v=c&&v==null?c.length:v,he(c,I,n,n,n,n,v)}function ZP(c,v){var C;if(typeof v!="function")throw new Di(a);return c=Ft(c),function(){return--c>0&&(C=v.apply(this,arguments)),c<=1&&(v=n),C}}var q4=Tt(function(c,v,C){var A=E;if(C.length){var j=ua(C,et(q4));A|=O}return he(c,A,v,C,j)}),QP=Tt(function(c,v,C){var A=E|_;if(C.length){var j=ua(C,et(QP));A|=O}return he(v,A,c,C,j)});function JP(c,v,C){v=C?n:v;var A=he(c,T,n,n,n,n,n,v);return A.placeholder=JP.placeholder,A}function eT(c,v,C){v=C?n:v;var A=he(c,L,n,n,n,n,n,v);return A.placeholder=eT.placeholder,A}function tT(c,v,C){var A,j,H,Z,te,ce,_e=0,Ee=!1,Re=!1,nt=!0;if(typeof c!="function")throw new Di(a);v=Ga(v)||0,Cr(C)&&(Ee=!!C.leading,Re="maxWait"in C,H=Re?Or(Ga(C.maxWait)||0,v):H,nt="trailing"in C?!!C.trailing:nt);function gt(Yr){var Rs=A,Lu=j;return A=j=n,_e=Yr,Z=c.apply(Lu,Rs),Z}function _t(Yr){return _e=Yr,te=Mv(Xt,v),Ee?gt(Yr):Z}function Vt(Yr){var Rs=Yr-ce,Lu=Yr-_e,xT=v-Rs;return Re?hi(xT,H-Lu):xT}function kt(Yr){var Rs=Yr-ce,Lu=Yr-_e;return ce===n||Rs>=v||Rs<0||Re&&Lu>=H}function Xt(){var Yr=lb();if(kt(Yr))return tn(Yr);te=Mv(Xt,Vt(Yr))}function tn(Yr){return te=n,nt&&A?gt(Yr):(A=j=n,Z)}function ya(){te!==n&&xv(te),_e=0,A=ce=j=te=n}function vo(){return te===n?Z:tn(lb())}function ba(){var Yr=lb(),Rs=kt(Yr);if(A=arguments,j=this,ce=Yr,Rs){if(te===n)return _t(ce);if(Re)return xv(te),te=Mv(Xt,v),gt(ce)}return te===n&&(te=Mv(Xt,v)),Z}return ba.cancel=ya,ba.flush=vo,ba}var yX=Tt(function(c,v){return cv(c,1,v)}),bX=Tt(function(c,v,C){return cv(c,Ga(v)||0,C)});function xX(c){return he(c,W)}function ub(c,v){if(typeof c!="function"||v!=null&&typeof v!="function")throw new Di(a);var C=function(){var A=arguments,j=v?v.apply(this,A):A[0],H=C.cache;if(H.has(j))return H.get(j);var Z=c.apply(this,A);return C.cache=H.set(j,Z)||H,Z};return C.cache=new(ub.Cache||da),C}ub.Cache=da;function cb(c){if(typeof c!="function")throw new Di(a);return function(){var v=arguments;switch(v.length){case 0:return!c.call(this);case 1:return!c.call(this,v[0]);case 2:return!c.call(this,v[0],v[1]);case 3:return!c.call(this,v[0],v[1],v[2])}return!c.apply(this,v)}}function SX(c){return ZP(2,c)}var wX=F4(function(c,v){v=v.length==1&&$t(v[0])?Hn(v[0],Wr(Oe())):Hn(Vr(v,1),Wr(Oe()));var C=v.length;return Tt(function(A){for(var j=-1,H=hi(A.length,C);++j=v}),th=ng(function(){return arguments}())?ng:function(c){return jr(c)&&an.call(c,"callee")&&!X0.call(c,"callee")},$t=me.isArray,NX=di?Wr(di):hv;function Fo(c){return c!=null&&db(c.length)&&!Tu(c)}function Kr(c){return jr(c)&&Fo(c)}function $X(c){return c===!0||c===!1||jr(c)&&Ci(c)==Xe}var id=F2||o5,FX=Ao?Wr(Ao):pv;function BX(c){return jr(c)&&c.nodeType===1&&!Lv(c)}function zX(c){if(c==null)return!0;if(Fo(c)&&($t(c)||typeof c=="string"||typeof c.splice=="function"||id(c)||mg(c)||th(c)))return!c.length;var v=ki(c);if(v==Fe||v==Ie)return!c.size;if(Tv(c))return!Gr(c).length;for(var C in c)if(an.call(c,C))return!1;return!0}function HX(c,v){return Zc(c,v)}function WX(c,v,C){C=typeof C=="function"?C:n;var A=C?C(c,v):n;return A===n?Zc(c,v,n,C):!!A}function Y4(c){if(!jr(c))return!1;var v=Ci(c);return v==Be||v==yt||typeof c.message=="string"&&typeof c.name=="string"&&!Lv(c)}function UX(c){return typeof c=="number"&&zp(c)}function Tu(c){if(!Cr(c))return!1;var v=Ci(c);return v==Ae||v==bt||v==Qe||v==on}function rT(c){return typeof c=="number"&&c==Ft(c)}function db(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=G}function Cr(c){var v=typeof c;return c!=null&&(v=="object"||v=="function")}function jr(c){return c!=null&&typeof c=="object"}var iT=uo?Wr(uo):$4;function VX(c,v){return c===v||Qc(c,v,At(v))}function GX(c,v,C){return C=typeof C=="function"?C:n,Qc(c,v,At(v),C)}function qX(c){return oT(c)&&c!=+c}function KX(c){if(AK(c))throw new Lt(o);return rg(c)}function YX(c){return c===null}function XX(c){return c==null}function oT(c){return typeof c=="number"||jr(c)&&Ci(c)==at}function Lv(c){if(!jr(c)||Ci(c)!=mt)return!1;var v=$c(c);if(v===null)return!0;var C=an.call(v,"constructor")&&v.constructor;return typeof C=="function"&&C instanceof C&&xr.call(C)==xi}var X4=Fa?Wr(Fa):Sr;function ZX(c){return rT(c)&&c>=-G&&c<=G}var aT=ul?Wr(ul):Wt;function fb(c){return typeof c=="string"||!$t(c)&&jr(c)&&Ci(c)==He}function va(c){return typeof c=="symbol"||jr(c)&&Ci(c)==Ue}var mg=z0?Wr(z0):ei;function QX(c){return c===n}function JX(c){return jr(c)&&ki(c)==je}function eZ(c){return jr(c)&&Ci(c)==vt}var tZ=P(ml),nZ=P(function(c,v){return c<=v});function sT(c){if(!c)return[];if(Fo(c))return fb(c)?Qi(c):Bi(c);if(Fc&&c[Fc])return O2(c[Fc]());var v=ki(c),C=v==Fe?Np:v==Ie?Of:vg;return C(c)}function Mu(c){if(!c)return c===0?c:0;if(c=Ga(c),c===Q||c===-Q){var v=c<0?-1:1;return v*Y}return c===c?c:0}function Ft(c){var v=Mu(c),C=v%1;return v===v?C?v-C:v:0}function lT(c){return c?Cu(Ft(c),0,fe):0}function Ga(c){if(typeof c=="number")return c;if(va(c))return ee;if(Cr(c)){var v=typeof c.valueOf=="function"?c.valueOf():c;c=Cr(v)?v+"":v}if(typeof c!="string")return c===0?c:+c;c=co(c);var C=R0.test(c);return C||D0.test(c)?ot(c.slice(2),C?2:8):O0.test(c)?ee:+c}function uT(c){return Ua(c,Bo(c))}function rZ(c){return c?Cu(Ft(c),-G,G):c===0?c:0}function _n(c){return c==null?"":po(c)}var iZ=go(function(c,v){if(Tv(v)||Fo(v)){Ua(v,Ei(v),c);return}for(var C in v)an.call(v,C)&&pl(c,C,v[C])}),cT=go(function(c,v){Ua(v,Bo(v),c)}),hb=go(function(c,v,C,A){Ua(v,Bo(v),c,A)}),oZ=go(function(c,v,C,A){Ua(v,Ei(v),c,A)}),aZ=gr(Vp);function sZ(c,v){var C=wu(c);return v==null?C:st(C,v)}var lZ=Tt(function(c,v){c=dn(c);var C=-1,A=v.length,j=A>2?v[2]:n;for(j&&mo(v[0],v[1],j)&&(A=1);++C1),H}),Ua(c,ge(c),C),A&&(C=wi(C,h|m|y,Rt));for(var j=v.length;j--;)cg(C,v[j]);return C});function EZ(c,v){return fT(c,cb(Oe(v)))}var PZ=gr(function(c,v){return c==null?{}:vv(c,v)});function fT(c,v){if(c==null)return{};var C=Hn(ge(c),function(A){return[A]});return v=Oe(v),ig(c,C,function(A,j){return v(A,j[0])})}function TZ(c,v,C){v=Sl(v,c);var A=-1,j=v.length;for(j||(j=1,c=n);++Av){var A=c;c=v,v=A}if(C||c%1||v%1){var j=J0();return hi(c+j*(v-c+pe("1e-"+((j+"").length-1))),v)}return Gf(c,v)}var FZ=_l(function(c,v,C){return v=v.toLowerCase(),c+(C?gT(v):v)});function gT(c){return J4(_n(c).toLowerCase())}function mT(c){return c=_n(c),c&&c.replace(N0,A2).replace(Mp,"")}function BZ(c,v,C){c=_n(c),v=po(v);var A=c.length;C=C===n?A:Cu(Ft(C),0,A);var j=C;return C-=v.length,C>=0&&c.slice(C,j)==v}function zZ(c){return c=_n(c),c&&Na.test(c)?c.replace(Xi,_s):c}function HZ(c){return c=_n(c),c&&E0.test(c)?c.replace(mf,"\\$&"):c}var WZ=_l(function(c,v,C){return c+(C?"-":"")+v.toLowerCase()}),UZ=_l(function(c,v,C){return c+(C?" ":"")+v.toLowerCase()}),VZ=pg("toLowerCase");function GZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;if(!v||A>=v)return c;var j=(v-A)/2;return f(Su(j),C)+c+f(Ff(j),C)}function qZ(c,v,C){c=_n(c),v=Ft(v);var A=v?za(c):0;return v&&A>>0,C?(c=_n(c),c&&(typeof v=="string"||v!=null&&!X4(v))&&(v=po(v),!v&&bu(c))?Ls(Qi(c),0,C):c.split(v,C)):[]}var eQ=_l(function(c,v,C){return c+(C?" ":"")+J4(v)});function tQ(c,v,C){return c=_n(c),C=C==null?0:Cu(Ft(C),0,c.length),v=po(v),c.slice(C,C+v.length)==v}function nQ(c,v,C){var A=F.templateSettings;C&&mo(c,v,C)&&(v=n),c=_n(c),v=hb({},v,A,We);var j=hb({},v.imports,A.imports,We),H=Ei(j),Z=Af(j,H),te,ce,_e=0,Ee=v.interpolate||rl,Re="__p += '",nt=If((v.escape||rl).source+"|"+Ee.source+"|"+(Ee===bc?A0:rl).source+"|"+(v.evaluate||rl).source+"|$","g"),gt="//# sourceURL="+(an.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ap+"]")+` `;c.replace(nt,function(kt,Xt,tn,ya,vo,ba){return tn||(tn=ya),Re+=c.slice(_e,ba).replace($0,dl),Xt&&(te=!0,Re+=`' + __e(`+Xt+`) + '`),vo&&(ce=!0,Re+=`'; @@ -473,9 +473,9 @@ __p += '`),tn&&(Re+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+Re+`return __p -}`;var Vt=yT(function(){return en(H,gt+"return "+Re).apply(n,Z)});if(Vt.source=Re,Y4(Vt))throw Vt;return Vt}function rQ(c){return _n(c).toLowerCase()}function iQ(c){return _n(c).toUpperCase()}function oQ(c,v,C){if(c=_n(c),c&&(C||v===n))return co(c);if(!c||!(v=po(v)))return c;var A=Qi(c),j=Qi(v),H=la(A,j),Z=Cs(A,j)+1;return Ls(A,H,Z).join("")}function aQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.slice(0,G0(c)+1);if(!c||!(v=po(v)))return c;var A=Qi(c),j=Cs(A,Qi(v))+1;return Ls(A,0,j).join("")}function sQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.replace(xc,"");if(!c||!(v=po(v)))return c;var A=Qi(c),j=la(A,Qi(v));return Ls(A,j).join("")}function lQ(c,v){var C=B,A=K;if(Cr(v)){var j="separator"in v?v.separator:j;C="length"in v?Ft(v.length):C,A="omission"in v?po(v.omission):A}c=_n(c);var H=c.length;if(bu(c)){var Z=Qi(c);H=Z.length}if(C>=H)return c;var te=C-za(A);if(te<1)return A;var ce=Z?Ls(Z,0,te).join(""):c.slice(0,te);if(j===n)return ce+A;if(Z&&(te+=ce.length-te),X4(j)){if(c.slice(te).search(j)){var _e,Ee=ce;for(j.global||(j=If(j.source,_n(bs.exec(j))+"g")),j.lastIndex=0;_e=j.exec(Ee);)var Re=_e.index;ce=ce.slice(0,Re===n?te:Re)}}else if(c.indexOf(po(j),te)!=te){var nt=ce.lastIndexOf(j);nt>-1&&(ce=ce.slice(0,nt))}return ce+A}function uQ(c){return c=_n(c),c&&_0.test(c)?c.replace(ys,D2):c}var cQ=_l(function(c,v,C){return c+(C?" ":"")+v.toUpperCase()}),J4=pg("toUpperCase");function vT(c,v,C){return c=_n(c),v=C?n:v,v===n?jp(c)?Rf(c):W0(c):c.match(v)||[]}var yT=Tt(function(c,v){try{return Ii(c,n,v)}catch(C){return Y4(C)?C:new Lt(C)}}),dQ=gr(function(c,v){return Zn(v,function(C){C=kl(C),fa(c,C,q4(c[C],c))}),c});function fQ(c){var v=c==null?0:c.length,C=Oe();return c=v?Hn(c,function(A){if(typeof A[1]!="function")throw new Di(a);return[C(A[0]),A[1]]}):[],Tt(function(A){for(var j=-1;++jG)return[];var C=fe,A=hi(c,fe);v=Oe(v),c-=fe;for(var j=Lf(A,v);++C0||v<0)?new Yt(C):(c<0?C=C.takeRight(-c):c&&(C=C.drop(c)),v!==n&&(v=Ft(v),C=v<0?C.dropRight(-v):C.take(v-c)),C)},Yt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Yt.prototype.toArray=function(){return this.take(fe)},ga(Yt.prototype,function(c,v){var C=/^(?:filter|find|map|reject)|While$/.test(v),A=/^(?:head|last)$/.test(v),j=F[A?"take"+(v=="last"?"Right":""):v],H=A||/^find/.test(v);j&&(F.prototype[v]=function(){var Z=this.__wrapped__,te=A?[1]:arguments,ce=Z instanceof Yt,_e=te[0],Ee=ce||$t(Z),Re=function(Xt){var tn=j.apply(F,Ba([Xt],te));return A&&nt?tn[0]:tn};Ee&&C&&typeof _e=="function"&&_e.length!=1&&(ce=Ee=!1);var nt=this.__chain__,gt=!!this.__actions__.length,_t=H&&!nt,Vt=ce&&!gt;if(!H&&Ee){Z=Vt?Z:new Yt(this);var kt=c.apply(Z,te);return kt.__actions__.push({func:ab,args:[Re],thisArg:n}),new fo(kt,nt)}return _t&&Vt?c.apply(this,te):(kt=this.thru(Re),_t?A?kt.value()[0]:kt.value():kt)})}),Zn(["pop","push","shift","sort","splice","unshift"],function(c){var v=Ic[c],C=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",A=/^(?:pop|shift)$/.test(c);F.prototype[c]=function(){var j=arguments;if(A&&!this.__chain__){var H=this.value();return v.apply($t(H)?H:[],j)}return this[C](function(Z){return v.apply($t(Z)?Z:[],j)})}}),ga(Yt.prototype,function(c,v){var C=F[v];if(C){var A=C.name+"";an.call(ks,A)||(ks[A]=[]),ks[A].push({name:v,func:C})}}),ks[Qf(n,_).name]=[{name:"wrapper",func:n}],Yt.prototype.clone=Ji,Yt.prototype.reverse=Ni,Yt.prototype.value=U2,F.prototype.at=BY,F.prototype.chain=zY,F.prototype.commit=HY,F.prototype.next=WY,F.prototype.plant=VY,F.prototype.reverse=GY,F.prototype.toJSON=F.prototype.valueOf=F.prototype.value=qY,F.prototype.first=F.prototype.head,Fc&&(F.prototype[Fc]=UY),F},Ha=Ro();Kt?((Kt.exports=Ha)._=Ha,Ot._=Ha):St._=Ha}).call(So)})(WSe,Pe);const Pg=(e,t,n,r,i,o,a)=>{const s=e/2-(n+i/2)*a,l=t/2-(r+o/2)*a;return{x:s,y:l}},Tg=(e,t,n,r,i=.95)=>{const o=e*i/n,a=t*i/r;return Math.min(1,Math.min(o,a))},USe=.999,VSe=.1,GSe=20,Vv=.95,KO=30,pk=10,YO=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),ih=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let a=t*n,s=448;for(;a1?(r.width=s,r.height=Hl(s/o,64)):o<1&&(r.height=s,r.width=Hl(s*o,64)),a=r.width*r.height;return r},qSe=e=>({width:Hl(e.width,64),height:Hl(e.height,64)}),IW=[{key:"Base",value:"base"},{key:"Mask",value:"mask"}],KSe=[{key:"Auto",value:"auto"},{key:"Manual",value:"manual"},{key:"None",value:"none"}],hE=e=>e.kind==="line"&&e.layer==="mask",YSe=e=>e.kind==="line"&&e.layer==="base",x3=e=>e.kind==="image"&&e.layer==="base",XSe=e=>e.kind==="fillRect"&&e.layer==="base",ZSe=e=>e.kind==="eraseRect"&&e.layer==="base",QSe=e=>e.kind==="line",p1={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},JSe={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:p1,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},DW=ap({name:"canvas",initialState:JSe,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!hE(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{stageDimensions:r}=e,i={width:Cd(Pe.clamp(n.width,64,512),64),height:Cd(Pe.clamp(n.height,64,512),64)},o={x:Hl(n.width/2-i.width/2,64),y:Hl(n.height/2-i.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const l=ih(i);e.scaledBoundingBoxDimensions=l}e.boundingBoxDimensions=i,e.boundingBoxCoordinates=o,e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.layerState={...p1,objects:[{kind:"image",layer:"base",x:0,y:0,width:n.width,height:n.height,image:n}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const a=Tg(r.width,r.height,n.width,n.height,Vv),s=Pg(r.width,r.height,0,0,n.width,n.height,a);e.stageScale=a,e.stageCoordinates=s,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=qSe(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=ih(n);e.scaledBoundingBoxDimensions=r}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=YO(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},addImageToStagingArea:(e,t)=>{const{boundingBox:n,image:r}=t.payload;!n||!r||(e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...n,image:r}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...p1.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:a}=e;if(n==="move"||n==="colorPicker")return;const s=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:s,points:t.payload,...l};a&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(QSe);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Pe.cloneDeep(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.layerState=p1,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(x3),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=Tg(i.width,i.height,512,512,Vv),h=Pg(i.width,i.height,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=h,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}return}const{width:o,height:a}=r,l=Tg(t,n,o,a,.95),u=Pg(i.width,i.height,0,0,o,a,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=YO(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(x3)){const i=Tg(r.width,r.height,512,512,Vv),o=Pg(r.width,r.height,0,0,512,512,i),a={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=a,e.boundingBoxScaleMethod==="auto"){const s=ih(a);e.scaledBoundingBoxDimensions=s}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:a,y:s,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:Tg(i,o,l,u,Vv),h=Pg(i,o,a,s,l,u,d);e.stageScale=d,e.stageCoordinates=h}else{const d=Tg(i,o,512,512,Vv),h=Pg(i,o,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=h,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}}},nextStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:e=>{const{images:t,selectedImageIndex:n}=e.layerState.stagingArea;e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...t[n]}),e.layerState.stagingArea={...p1.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,a=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>a){const s={width:Cd(Pe.clamp(o,64,512),64),height:Cd(Pe.clamp(a,64,512),64)},l={x:Hl(o/2-s.width/2,64),y:Hl(a/2-s.height/2,64)};if(e.boundingBoxDimensions=s,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=ih(s);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=ih(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}}}),{addEraseRect:jW,addFillRect:NW,addImageToStagingArea:e3e,addLine:t3e,addPointToCurrentLine:$W,clearCanvasHistory:FW,clearMask:pE,commitColorPickerColor:n3e,commitStagingAreaImage:r3e,discardStagedImages:i3e,fitBoundingBoxToStage:vNe,mouseLeftCanvas:o3e,nextStagingAreaImage:a3e,prevStagingAreaImage:s3e,redo:l3e,resetCanvas:gE,resetCanvasInteractionState:u3e,resetCanvasView:BW,resizeAndScaleCanvas:r4,resizeCanvas:c3e,setBoundingBoxCoordinates:RC,setBoundingBoxDimensions:g1,setBoundingBoxPreviewFill:yNe,setBoundingBoxScaleMethod:d3e,setBrushColor:Mm,setBrushSize:Lm,setCanvasContainerDimensions:f3e,setColorPickerColor:h3e,setCursorPosition:p3e,setDoesCanvasNeedScaling:Li,setInitialCanvasImage:i4,setIsDrawing:zW,setIsMaskEnabled:h2,setIsMouseOverBoundingBox:Qb,setIsMoveBoundingBoxKeyHeld:bNe,setIsMoveStageKeyHeld:xNe,setIsMovingBoundingBox:IC,setIsMovingStage:S3,setIsTransformingBoundingBox:DC,setLayer:w3,setMaskColor:HW,setMergedCanvas:g3e,setShouldAutoSave:WW,setShouldCropToBoundingBoxOnSave:UW,setShouldDarkenOutsideBoundingBox:VW,setShouldLockBoundingBox:SNe,setShouldPreserveMaskedArea:GW,setShouldShowBoundingBox:m3e,setShouldShowBrush:wNe,setShouldShowBrushPreview:CNe,setShouldShowCanvasDebugInfo:qW,setShouldShowCheckboardTransparency:_Ne,setShouldShowGrid:KW,setShouldShowIntermediates:YW,setShouldShowStagingImage:v3e,setShouldShowStagingOutline:XO,setShouldSnapToGrid:C3,setStageCoordinates:XW,setStageScale:y3e,setTool:Jl,toggleShouldLockBoundingBox:kNe,toggleTool:ENe,undo:b3e,setScaledBoundingBoxDimensions:Jb,setShouldRestrictStrokesToBox:ZW}=DW.actions,x3e=DW.reducer,S3e={currentImageUuid:"",shouldPinGallery:!0,shouldShowGallery:!0,galleryScrollPosition:0,galleryImageMinimumWidth:64,galleryImageObjectFit:"cover",shouldHoldGalleryOpen:!1,shouldAutoSwitchToNewImages:!0,currentCategory:"result",categories:{user:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0},result:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0}},galleryWidth:300,shouldUseSingleGalleryColumn:!1},QW=ap({name:"gallery",initialState:S3e,reducers:{setCurrentImage:(e,t)=>{e.currentImage=t.payload,e.currentImageUuid=t.payload.uuid},removeImage:(e,t)=>{const{uuid:n,category:r}=t.payload,i=e.categories[r].images,o=i.filter(a=>a.uuid!==n);if(n===e.currentImageUuid){const a=i.findIndex(l=>l.uuid===n),s=Pe.clamp(a,0,o.length-1);e.currentImage=o.length?o[s]:void 0,e.currentImageUuid=o.length?o[s].uuid:""}e.categories[r].images=o},addImage:(e,t)=>{const{image:n,category:r}=t.payload,{uuid:i,url:o,mtime:a}=n,s=e.categories[r];s.images.find(l=>l.url===o&&l.mtime===a)||(s.images.unshift(n),e.shouldAutoSwitchToNewImages&&(e.currentImageUuid=i,e.currentImage=n,e.currentCategory=r),e.intermediateImage=void 0,s.latest_mtime=a)},setIntermediateImage:(e,t)=>{e.intermediateImage=t.payload},clearIntermediateImage:e=>{e.intermediateImage=void 0},selectNextImage:e=>{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r>0){const i=n[r-1];e.currentImage=i,e.currentImageUuid=i.uuid}}},addGalleryImages:(e,t)=>{const{images:n,areMoreImagesAvailable:r,category:i}=t.payload,o=e.categories[i].images;if(n.length>0){const a=n.filter(s=>!o.find(l=>l.url===s.url&&l.mtime===s.mtime));if(e.categories[i].images=o.concat(a).sort((s,l)=>l.mtime-s.mtime),!e.currentImage){const s=n[0];e.currentImage=s,e.currentImageUuid=s.uuid}e.categories[i].latest_mtime=n[0].mtime,e.categories[i].earliest_mtime=n[n.length-1].mtime}r!==void 0&&(e.categories[i].areMoreImagesAvailable=r)},setShouldPinGallery:(e,t)=>{e.shouldPinGallery=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},setGalleryScrollPosition:(e,t)=>{e.galleryScrollPosition=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},setGalleryImageObjectFit:(e,t)=>{e.galleryImageObjectFit=t.payload},setShouldHoldGalleryOpen:(e,t)=>{e.shouldHoldGalleryOpen=t.payload},setShouldAutoSwitchToNewImages:(e,t)=>{e.shouldAutoSwitchToNewImages=t.payload},setCurrentCategory:(e,t)=>{e.currentCategory=t.payload},setGalleryWidth:(e,t)=>{e.galleryWidth=t.payload},setShouldUseSingleGalleryColumn:(e,t)=>{e.shouldUseSingleGalleryColumn=t.payload}}}),{addImage:sm,clearIntermediateImage:jC,removeImage:JW,setCurrentImage:ZO,addGalleryImages:w3e,setIntermediateImage:C3e,selectNextImage:mE,selectPrevImage:vE,setShouldPinGallery:_3e,setShouldShowGallery:Am,setGalleryScrollPosition:k3e,setGalleryImageMinimumWidth:Gv,setGalleryImageObjectFit:E3e,setShouldHoldGalleryOpen:eU,setShouldAutoSwitchToNewImages:P3e,setCurrentCategory:ex,setGalleryWidth:T3e,setShouldUseSingleGalleryColumn:M3e}=QW.actions,L3e=QW.reducer,A3e={isLightboxOpen:!1},O3e=A3e,tU=ap({name:"lightbox",initialState:O3e,reducers:{setIsLightboxOpen:(e,t)=>{e.isLightboxOpen=t.payload}}}),{setIsLightboxOpen:Om}=tU.actions,R3e=tU.reducer,Rm=e=>typeof e=="string"?e:e.length===1?e[0].prompt:e.map(t=>`${t.prompt}:${t.weight}`).join(" ");function nU(e){let t=typeof e=="string"?e:Rm(e),n="";const r=new RegExp(/\[([^\][]*)]/,"gi"),i=[...t.matchAll(r)].map(o=>o[1]);return i.length&&(n=i.join(" "),i.forEach(o=>{t=t.replace(`[${o}]`,"").replaceAll("[]","").trim()})),[t,n]}const I3e=e=>{const r=e.split(",").map(i=>i.split(":")).map(i=>({seed:Number(i[0]),weight:Number(i[1])}));return yE(r)?r:!1},yE=e=>Boolean(typeof e=="string"?I3e(e):e.length&&!e.some(t=>{const{seed:n,weight:r}=t,i=!isNaN(parseInt(n.toString(),10)),o=!isNaN(parseInt(r.toString(),10))&&r>=0&&r<=1;return!(i&&o)})),_3=e=>e.reduce((t,n,r,i)=>{const{seed:o,weight:a}=n;return t+=`${o}:${a}`,r!==i.length-1&&(t+=","),t},""),D3e=e=>e.split(",").map(r=>r.split(":")).map(r=>[parseInt(r[0],10),parseFloat(r[1])]),rU={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,maskPath:"",perlin:0,prompt:"",negativePrompt:"",sampler:"k_lms",seamBlur:16,seamless:!1,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetryTimePercentage:0,verticalSymmetryTimePercentage:0},j3e=rU,iU=ap({name:"generation",initialState:j3e,reducers:{setPrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.prompt=n:e.prompt=Rm(n)},setNegativePrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.negativePrompt=n:e.negativePrompt=Rm(n)},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},setSampler:(e,t)=>{e.sampler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setMaskPath:(e,t)=>{e.maskPath=t.payload},setSeamless:(e,t)=>{e.seamless=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setParameter:(e,t)=>{const{key:n,value:r}=t.payload,i={...e,[n]:r};return n==="seed"&&(i.shouldRandomizeSeed=!1),i},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},setAllTextToImageParameters:(e,t)=>{const{sampler:n,prompt:r,seed:i,variations:o,steps:a,cfg_scale:s,threshold:l,perlin:u,seamless:d,hires_fix:h,width:m,height:y}=t.payload.image;o&&o.length>0?(e.seedWeights=_3(o),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,i&&(e.seed=i,e.shouldRandomizeSeed=!1),r&&(e.prompt=Rm(r)),n&&(e.sampler=n),a&&(e.steps=a),s&&(e.cfgScale=s),typeof l>"u"?e.threshold=0:e.threshold=l,typeof u>"u"?e.perlin=0:e.perlin=u,typeof d=="boolean"&&(e.seamless=d),m&&(e.width=m),y&&(e.height=y)},setAllImageToImageParameters:(e,t)=>{const{type:n,strength:r,fit:i,init_image_path:o,mask_image_path:a}=t.payload.image;n==="img2img"&&(o&&(e.initialImage=o),a&&(e.maskPath=a),r&&(e.img2imgStrength=r),typeof i=="boolean"&&(e.shouldFitToWidthHeight=i))},setAllParameters:(e,t)=>{const{type:n,sampler:r,prompt:i,seed:o,variations:a,steps:s,cfg_scale:l,threshold:u,perlin:d,seamless:h,hires_fix:m,width:y,height:b,strength:w,fit:E,init_image_path:_,mask_image_path:k}=t.payload.image;if(n==="img2img"&&(_&&(e.initialImage=_),k&&(e.maskPath=k),w&&(e.img2imgStrength=w),typeof E=="boolean"&&(e.shouldFitToWidthHeight=E)),a&&a.length>0?(e.seedWeights=_3(a),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,o&&(e.seed=o,e.shouldRandomizeSeed=!1),i){const[T,L]=nU(i);T&&(e.prompt=T),L?e.negativePrompt=L:e.negativePrompt=""}r&&(e.sampler=r),s&&(e.steps=s),l&&(e.cfgScale=l),typeof u>"u"?e.threshold=0:e.threshold=u,typeof d>"u"?e.perlin=0:e.perlin=d,typeof h=="boolean"&&(e.seamless=h),y&&(e.width=y),b&&(e.height=b)},resetParametersState:e=>({...e,...rU}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},setInitialImage:(e,t)=>{e.initialImage=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetryTimePercentage:(e,t)=>{e.horizontalSymmetryTimePercentage=t.payload},setVerticalSymmetryTimePercentage:(e,t)=>{e.verticalSymmetryTimePercentage=t.payload}}}),{clearInitialImage:oU,resetParametersState:PNe,resetSeed:TNe,setAllImageToImageParameters:N3e,setAllParameters:aU,setAllTextToImageParameters:MNe,setCfgScale:gk,setHeight:uS,setImg2imgStrength:mk,setInfillMethod:sU,setInitialImage:y0,setIterations:QO,setMaskPath:lU,setParameter:LNe,setPerlin:vk,setPrompt:uU,setNegativePrompt:cU,setSampler:dU,setSeamBlur:JO,setSeamless:fU,setSeamSize:eR,setSeamSteps:tR,setSeamStrength:nR,setSeed:p2,setSeedWeights:hU,setShouldFitToWidthHeight:pU,setShouldGenerateVariations:$3e,setShouldRandomizeSeed:F3e,setSteps:yk,setThreshold:bk,setTileSize:rR,setVariationAmount:iR,setWidth:cS,setShouldUseSymmetry:B3e,setHorizontalSymmetryTimePercentage:oR,setVerticalSymmetryTimePercentage:aR}=iU.actions,z3e=iU.reducer,gU={codeformerFidelity:.75,facetoolStrength:.75,facetoolType:"gfpgan",hiresFix:!1,hiresStrength:.75,shouldLoopback:!1,shouldRunESRGAN:!1,shouldRunFacetool:!1,upscalingLevel:4,upscalingDenoising:.75,upscalingStrength:.75},H3e=gU,mU=ap({name:"postprocessing",initialState:H3e,reducers:{setFacetoolStrength:(e,t)=>{e.facetoolStrength=t.payload},setCodeformerFidelity:(e,t)=>{e.codeformerFidelity=t.payload},setUpscalingLevel:(e,t)=>{e.upscalingLevel=t.payload},setUpscalingDenoising:(e,t)=>{e.upscalingDenoising=t.payload},setUpscalingStrength:(e,t)=>{e.upscalingStrength=t.payload},setHiresFix:(e,t)=>{e.hiresFix=t.payload},setHiresStrength:(e,t)=>{e.hiresStrength=t.payload},resetPostprocessingState:e=>({...e,...gU}),setShouldRunFacetool:(e,t)=>{e.shouldRunFacetool=t.payload},setFacetoolType:(e,t)=>{e.facetoolType=t.payload},setShouldRunESRGAN:(e,t)=>{e.shouldRunESRGAN=t.payload},setShouldLoopback:(e,t)=>{e.shouldLoopback=t.payload}}}),{resetPostprocessingState:ANe,setCodeformerFidelity:xk,setFacetoolStrength:k3,setFacetoolType:dS,setHiresFix:vU,setHiresStrength:sR,setShouldLoopback:W3e,setShouldRunESRGAN:U3e,setShouldRunFacetool:V3e,setUpscalingLevel:yU,setUpscalingDenoising:Sk,setUpscalingStrength:wk}=mU.actions,G3e=mU.reducer;function gs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function lR(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.init(t,n)}return ms(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||Y3e,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?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}for(var o=typeof t!="string"?[].concat(t):t.split(".");o.length>1;){if(i())return{};var a=r(o.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function hR(e,t,n){var r=bE(e,t,Object),i=r.obj,o=r.k;i[o]=n}function Q3e(e,t,n,r){var i=bE(e,t,Object),o=i.obj,a=i.k;o[a]=o[a]||[],r&&(o[a]=o[a].concat(n)),r||o[a].push(n)}function E3(e,t){var n=bE(e,t),r=n.obj,i=n.k;if(r)return r[i]}function pR(e,t,n){var r=E3(e,n);return r!==void 0?r:E3(t,n)}function wU(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]):wU(e[r],t[r],n):e[r]=t[r]);return e}function Mg(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var J3e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function ewe(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return J3e[t]}):e}var a4=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,twe=[" ",",","?","!",";"];function nwe(e,t,n){t=t||"",n=n||"";var r=twe.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),o=!i.test(e);if(!o){var a=e.indexOf(n);a>0&&!i.test(e.substring(0,a))&&(o=!0)}return o}function gR(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 tx(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 CU(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+a;)a++,s=r.slice(o,o+a).join(n),l=i[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var u=r.slice(o+a).join(n);return u?CU(l,u,n):void 0}i=i[r[o]]}return i}}var owe=function(e){o4(n,e);var t=rwe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return gs(this,n),i=t.call(this),a4&&Jd.call(Fd(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 ms(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,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,u=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,d=[i,o];a&&typeof a!="string"&&(d=d.concat(a)),a&&typeof a=="string"&&(d=d.concat(l?a.split(l):a)),i.indexOf(".")>-1&&(d=i.split("."));var h=E3(this.data,d);return h||!u||typeof a!="string"?h:CU(this.data&&this.data[i]&&this.data[i][o],a,l)}},{key:"addResource",value:function(i,o,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var d=[i,o];a&&(d=d.concat(u?a.split(u):a)),i.indexOf(".")>-1&&(d=i.split("."),s=o,o=d[1]),this.addNamespaces(o),hR(this.data,d,s),l.silent||this.emit("added",i,o,a,s)}},{key:"addResources",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(i,o,l,a[l],{silent:!0});s.silent||this.emit("added",i,o,a)}},{key:"addResourceBundle",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},d=[i,o];i.indexOf(".")>-1&&(d=i.split("."),s=a,a=o,o=d[1]),this.addNamespaces(o);var h=E3(this.data,d)||{};s?wU(h,a,l):h=tx(tx({},h),a),hR(this.data,d,h),u.silent||this.emit("added",i,o,a)}},{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"?tx(tx({},{}),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),a=o&&Object.keys(o)||[];return!!a.find(function(s){return o[s]&&Object.keys(o[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(Jd),_U={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,i,o){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,i,o))}),n}};function mR(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 yo(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 vR={},yR=function(e){o4(n,e);var t=awe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return gs(this,n),i=t.call(this),a4&&Jd.call(Fd(i)),Z3e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,Fd(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=Wl.create("translator"),i}return ms(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 a=this.resolve(i,o);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(i,o){var a=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,l=o.ns||this.options.defaultNS||[],u=a&&i.indexOf(a)>-1,d=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!nwe(i,a,s);if(u&&!d){var h=i.match(this.interpolator.nestingRegexp);if(h&&h.length>0)return{key:i,namespaces:l};var m=i.split(a);(a!==s||a===s&&this.options.ns.indexOf(m[0])>-1)&&(l=m.shift()),i=m.join(s)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,o,a){var s=this;if(Ks(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,d=this.extractFromKey(i[i.length-1],o),h=d.key,m=d.namespaces,y=m[m.length-1],b=o.lng||this.language,w=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(b&&b.toLowerCase()==="cimode"){if(w){var E=o.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(y).concat(E).concat(h),usedKey:h,exactUsedKey:h,usedLng:b,usedNS:y}:"".concat(y).concat(E).concat(h)}return l?{res:h,usedKey:h,exactUsedKey:h,usedLng:b,usedNS:y}:h}var _=this.resolve(i,o),k=_&&_.res,T=_&&_.usedKey||h,L=_&&_.exactUsedKey||h,O=Object.prototype.toString.apply(k),D=["[object Number]","[object Function]","[object RegExp]"],I=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,N=!this.i18nFormat||this.i18nFormat.handleAsObject,W=typeof k!="string"&&typeof k!="boolean"&&typeof k!="number";if(N&&k&&W&&D.indexOf(O)<0&&!(typeof I=="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 B=this.options.returnedObjectHandler?this.options.returnedObjectHandler(T,k,yo(yo({},o),{},{ns:m})):"key '".concat(h," (").concat(this.language,")' returned an object instead of string.");return l?(_.res=B,_):B}if(u){var K=O==="[object Array]",ne=K?[]:{},z=K?L:T;for(var $ in k)if(Object.prototype.hasOwnProperty.call(k,$)){var V="".concat(z).concat(u).concat($);ne[$]=this.translate(V,yo(yo({},o),{joinArrays:!1,ns:m})),ne[$]===V&&(ne[$]=k[$])}k=ne}}else if(N&&typeof I=="string"&&O==="[object Array]")k=k.join(I),k&&(k=this.extendTranslation(k,i,o,a));else{var X=!1,Q=!1,G=o.count!==void 0&&typeof o.count!="string",Y=n.hasDefaultValue(o),ee=G?this.pluralResolver.getSuffix(b,o.count,o):"",fe=o["defaultValue".concat(ee)]||o.defaultValue;!this.isValidLookup(k)&&Y&&(X=!0,k=fe),this.isValidLookup(k)||(Q=!0,k=h);var Ce=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,we=Ce&&Q?void 0:k,xe=Y&&fe!==k&&this.options.updateMissing;if(Q||X||xe){if(this.logger.log(xe?"updateKey":"missingKey",b,y,h,xe?fe:k),u){var Le=this.resolve(h,yo(yo({},o),{},{keySeparator:!1}));Le&&Le.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 Se=[],Qe=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Qe&&Qe[0])for(var Xe=0;Xe1&&arguments[1]!==void 0?arguments[1]:{},s,l,u,d,h;return typeof i=="string"&&(i=[i]),i.forEach(function(m){if(!o.isValidLookup(s)){var y=o.extractFromKey(m,a),b=y.key;l=b;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var E=a.count!==void 0&&typeof a.count!="string",_=E&&!a.ordinal&&a.count===0&&o.pluralResolver.shouldUseIntlApi(),k=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",T=a.lngs?a.lngs:o.languageUtils.toResolveHierarchy(a.lng||o.language,a.fallbackLng);w.forEach(function(L){o.isValidLookup(s)||(h=L,!vR["".concat(T[0],"-").concat(L)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(h)&&(vR["".concat(T[0],"-").concat(L)]=!0,o.logger.warn('key "'.concat(l,'" for languages "').concat(T.join(", "),`" won't get resolved as namespace "`).concat(h,'" 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!!!")),T.forEach(function(O){if(!o.isValidLookup(s)){d=O;var D=[b];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(D,b,O,L,a);else{var I;E&&(I=o.pluralResolver.getSuffix(O,a.count,a));var N="".concat(o.options.pluralSeparator,"zero");if(E&&(D.push(b+I),_&&D.push(b+N)),k){var W="".concat(b).concat(o.options.contextSeparator).concat(a.context);D.push(W),E&&(D.push(W+I),_&&D.push(W+N))}}for(var B;B=D.pop();)o.isValidLookup(s)||(u=B,s=o.getResource(O,L,B,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:u,usedLng:d,usedNS:h}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,a,s):this.resourceStore.getResource(i,o,a,s)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var a in i)if(Object.prototype.hasOwnProperty.call(i,a)&&o===a.substring(0,o.length)&&i[a]!==void 0)return!0;return!1}}]),n}(Jd);function NC(e){return e.charAt(0).toUpperCase()+e.slice(1)}var bR=function(){function e(t){gs(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Wl.create("languageUtils")}return ms(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]=NC(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]=NC(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=NC(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 a=r.formatLanguageCode(o);(!r.options.supportedLngs||r.isSupportedCode(a))&&(i=a)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var a=r.getLanguagePartFromCode(o);if(r.isSupportedCode(a))return i=a;i=r.options.supportedLngs.find(function(s){if(s.indexOf(a)===0)return s})}}),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),a=[],s=function(u){u&&(i.isSupportedCode(u)?a.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"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),o.forEach(function(l){a.indexOf(l)<0&&s(i.formatLanguageCode(l))}),a}}]),e}(),lwe=[{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}],uwe={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)}},cwe=["v1","v2","v3"],xR={zero:0,one:1,two:2,few:3,many:4,other:5};function dwe(){var e={};return lwe.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:uwe[t.fc]}})}),e}var fwe=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.languageUtils=t,this.options=n,this.logger=Wl.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=dwe()}return ms(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(a,s){return xR[a]-xR[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):o.numbers.map(function(a){return r.getSuffix(n,a,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)),a=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return i.options.prepend&&a.toString()?i.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!cwe.includes(this.options.compatibilityJSON)}}]),e}();function SR(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 Fs(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return ms(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:ewe,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Mg(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Mg(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?Mg(r.nestingPrefix):r.nestingPrefixEscaped||Mg("$t("),this.nestingSuffix=r.nestingSuffix?Mg(r.nestingSuffix):r.nestingSuffixEscaped||Mg(")"),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 a=this,s,l,u,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function h(E){return E.replace(/\$/g,"$$$$")}var m=function(_){if(_.indexOf(a.formatSeparator)<0){var k=pR(r,d,_);return a.alwaysFormat?a.format(k,void 0,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:_})):k}var T=_.split(a.formatSeparator),L=T.shift().trim(),O=T.join(a.formatSeparator).trim();return a.format(pR(r,d,L),O,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:L}))};this.resetRegExp();var y=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,b=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,w=[{regex:this.regexpUnescape,safeValue:function(_){return h(_)}},{regex:this.regexp,safeValue:function(_){return a.escapeValue?h(a.escape(_)):h(_)}}];return w.forEach(function(E){for(u=0;s=E.regex.exec(n);){var _=s[1].trim();if(l=m(_),l===void 0)if(typeof y=="function"){var k=y(n,s,o);l=typeof k=="string"?k:""}else if(o&&Object.prototype.hasOwnProperty.call(o,_))l="";else if(b){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(_," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=fR(l));var T=E.safeValue(l);if(n=n.replace(s[0],T),b?(E.regex.lastIndex+=l.length,E.regex.lastIndex-=s[0].length):E.regex.lastIndex=0,u++,u>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function u(y,b){var w=this.nestingOptionsSeparator;if(y.indexOf(w)<0)return y;var E=y.split(new RegExp("".concat(w,"[ ]*{"))),_="{".concat(E[1]);y=E[0],_=this.interpolate(_,l);var k=_.match(/'/g),T=_.match(/"/g);(k&&k.length%2===0&&!T||T.length%2!==0)&&(_=_.replace(/'/g,'"'));try{l=JSON.parse(_),b&&(l=Fs(Fs({},b),l))}catch(L){return this.logger.warn("failed parsing options string in nesting for key ".concat(y),L),"".concat(y).concat(w).concat(_)}return delete l.defaultValue,y}for(;a=this.nestingRegexp.exec(n);){var d=[];l=Fs({},o),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var h=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var m=a[1].split(this.formatSeparator).map(function(y){return y.trim()});a[1]=m.shift(),d=m,h=!0}if(s=r(u.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=fR(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),h&&(s=d.reduce(function(y,b){return i.format(y,b,o.lng,Fs(Fs({},o),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function wR(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 Ru(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(a){if(a){var s=a.split(":"),l=K3e(s),u=l[0],d=l.slice(1),h=d.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=h),h==="false"&&(n[u.trim()]=!1),h==="true"&&(n[u.trim()]=!0),isNaN(h)||(n[u.trim()]=parseInt(h,10))}})}}return{formatName:t,formatOptions:n}}function Lg(e){var t={};return function(r,i,o){var a=i+JSON.stringify(o),s=t[a];return s||(s=e(i,o),t[a]=s),s(r)}}var gwe=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("formatter"),this.options=t,this.formats={number:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru({},r));return function(o){return i.format(o)}}),currency:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru(Ru({},r),{},{style:"currency"}));return function(o){return i.format(o)}}),datetime:Lg(function(n,r){var i=new Intl.DateTimeFormat(n,Ru({},r));return function(o){return i.format(o)}}),relativetime:Lg(function(n,r){var i=new Intl.RelativeTimeFormat(n,Ru({},r));return function(o){return i.format(o,r.range||"day")}}),list:Lg(function(n,r){var i=new Intl.ListFormat(n,Ru({},r));return function(o){return i.format(o)}})},this.init(t)}return ms(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:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Lg(r)}},{key:"format",value:function(n,r,i){var o=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(u,d){var h=pwe(d),m=h.formatName,y=h.formatOptions;if(o.formats[m]){var b=u;try{var w=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},E=w.locale||w.lng||a.locale||a.lng||i;b=o.formats[m](u,E,Ru(Ru(Ru({},y),a),w))}catch(_){o.logger.warn(_)}return b}else o.logger.warn("there was no format function for ".concat(m));return u},n);return l}}]),e}();function CR(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 _R(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 ywe(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var bwe=function(e){o4(n,e);var t=mwe(n);function n(r,i,o){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return gs(this,n),a=t.call(this),a4&&Jd.call(Fd(a)),a.backend=r,a.store=i,a.services=o,a.languageUtils=o.languageUtils,a.options=s,a.logger=Wl.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,s.backend,s),a}return ms(n,[{key:"queueLoad",value:function(i,o,a,s){var l=this,u={},d={},h={},m={};return i.forEach(function(y){var b=!0;o.forEach(function(w){var E="".concat(y,"|").concat(w);!a.reload&&l.store.hasResourceBundle(y,w)?l.state[E]=2:l.state[E]<0||(l.state[E]===1?d[E]===void 0&&(d[E]=!0):(l.state[E]=1,b=!1,d[E]===void 0&&(d[E]=!0),u[E]===void 0&&(u[E]=!0),m[w]===void 0&&(m[w]=!0)))}),b||(h[y]=!0)}),(Object.keys(u).length||Object.keys(d).length)&&this.queue.push({pending:d,pendingCount:Object.keys(d).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(u),pending:Object.keys(d),toLoadLanguages:Object.keys(h),toLoadNamespaces:Object.keys(m)}}},{key:"loaded",value:function(i,o,a){var s=i.split("|"),l=s[0],u=s[1];o&&this.emit("failedLoading",l,u,o),a&&this.store.addResourceBundle(l,u,a),this.state[i]=o?-1:2;var d={};this.queue.forEach(function(h){Q3e(h.loaded,[l],u),ywe(h,i),o&&h.errors.push(o),h.pendingCount===0&&!h.done&&(Object.keys(h.loaded).forEach(function(m){d[m]||(d[m]={});var y=h.loaded[m];y.length&&y.forEach(function(b){d[m][b]===void 0&&(d[m][b]=!0)})}),h.done=!0,h.errors.length?h.callback(h.errors):h.callback())}),this.emit("loaded",d),this.queue=this.queue.filter(function(h){return!h.done})}},{key:"read",value:function(i,o,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,d=arguments.length>5?arguments[5]:void 0;if(!i.length)return d(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:a,tried:l,wait:u,callback:d});return}this.readingCalls++;var h=function(w,E){if(s.readingCalls--,s.waitingReads.length>0){var _=s.waitingReads.shift();s.read(_.lng,_.ns,_.fcName,_.tried,_.wait,_.callback)}if(w&&E&&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,s,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(d){a.loadOne(d)})}},{key:"load",value:function(i,o,a){this.prepareLoading(i,o,{},a)}},{key:"reload",value:function(i,o,a){this.prepareLoading(i,o,{reload:!0},a)}},{key:"loadOne",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=i.split("|"),l=s[0],u=s[1];this.read(l,u,"read",void 0,void 0,function(d,h){d&&o.logger.warn("".concat(a,"loading namespace ").concat(u," for language ").concat(l," failed"),d),!d&&h&&o.logger.log("".concat(a,"loaded namespace ").concat(u," for language ").concat(l),h),o.loaded(i,d,h)})}},{key:"saveMissing",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},d=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(a,'" 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}if(!(a==null||a==="")){if(this.backend&&this.backend.create){var h=_R(_R({},u),{},{isUpdate:l}),m=this.backend.create.bind(this.backend);if(m.length<6)try{var y;m.length===5?y=m(i,o,a,s,h):y=m(i,o,a,s),y&&typeof y.then=="function"?y.then(function(b){return d(null,b)}).catch(d):d(null,y)}catch(b){d(b)}else m(i,o,a,s,d,h)}!i||!i[0]||this.store.addResource(i[0],o,a,s)}}}]),n}(Jd);function kR(){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(Ks(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),Ks(t[2])==="object"||Ks(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 ER(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 PR(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 Tl(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 nx(){}function wwe(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var P3=function(e){o4(n,e);var t=xwe(n);function n(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(gs(this,n),r=t.call(this),a4&&Jd.call(Fd(r)),r.options=ER(i),r.services={},r.logger=Wl,r.modules={external:[]},wwe(Fd(r)),o&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,o),g2(r,Fd(r));setTimeout(function(){r.init(i,o)},0)}return r}return ms(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(a=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 s=kR();this.options=Tl(Tl(Tl({},s),this.options),ER(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=Tl(Tl({},s.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function l(_){return _?typeof _=="function"?new _:_:null}if(!this.options.isClone){this.modules.logger?Wl.init(l(this.modules.logger),this.options):Wl.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=gwe);var d=new bR(this.options);this.store=new owe(this.options.resources,this.options);var h=this.services;h.logger=Wl,h.resourceStore=this.store,h.languageUtils=d,h.pluralResolver=new fwe(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(h.formatter=l(u),h.formatter.init(h,this.options),this.options.interpolation.format=h.formatter.format.bind(h.formatter)),h.interpolator=new hwe(this.options),h.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},h.backendConnector=new bwe(l(this.modules.backend),h.resourceStore,h,this.options),h.backendConnector.on("*",function(_){for(var k=arguments.length,T=new Array(k>1?k-1:0),L=1;L1?k-1:0),L=1;L0&&m[0]!=="dev"&&(this.options.lng=m[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var y=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];y.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments)}});var b=["addResource","addResources","addResourceBundle","removeResourceBundle"];b.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments),i}});var w=qv(),E=function(){var k=function(L,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),w.resolve(O),a(L,O)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return k(null,i.t.bind(i));i.changeLanguage(i.options.lng,k)};return this.options.resources||!this.options.initImmediate?E():setTimeout(E,0),w}},{key:"loadResources",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=a,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(s=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var u=[],d=function(y){if(y){var b=o.services.languageUtils.toResolveHierarchy(y);b.forEach(function(w){u.indexOf(w)<0&&u.push(w)})}};if(l)d(l);else{var h=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);h.forEach(function(m){return d(m)})}this.options.preload&&this.options.preload.forEach(function(m){return d(m)}),this.services.backendConnector.load(u,this.options.ns,function(m){!m&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),s(m)})}else s(null)}},{key:"reloadResources",value:function(i,o,a){var s=qv();return i||(i=this.languages),o||(o=this.options.ns),a||(a=nx),this.services.backendConnector.reload(i,o,function(l){s.resolve(),a(l)}),s}},{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"&&_U.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(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(i,o){var a=this;this.isLanguageChangingTo=i;var s=qv();this.emit("languageChanging",i);var l=function(m){a.language=m,a.languages=a.services.languageUtils.toResolveHierarchy(m),a.resolvedLanguage=void 0,a.setResolvedLanguage(m)},u=function(m,y){y?(l(y),a.translator.changeLanguage(y),a.isLanguageChangingTo=void 0,a.emit("languageChanged",y),a.logger.log("languageChanged",y)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),o&&o(m,function(){return a.t.apply(a,arguments)})},d=function(m){!i&&!m&&a.services.languageDetector&&(m=[]);var y=typeof m=="string"?m:a.services.languageUtils.getBestMatchFromCodes(m);y&&(a.language||l(y),a.translator.language||a.translator.changeLanguage(y),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(y)),a.loadResources(y,function(b){u(b,y)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?d(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(d):this.services.languageDetector.detect(d):d(i),s}},{key:"getFixedT",value:function(i,o,a){var s=this,l=function u(d,h){var m;if(Ks(h)!=="object"){for(var y=arguments.length,b=new Array(y>2?y-2:0),w=2;w1&&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 s=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var d=function(y,b){var w=o.services.backendConnector.state["".concat(y,"|").concat(b)];return w===-1||w===2};if(a.precheck){var h=a.precheck(this,d);if(h!==void 0)return h}return!!(this.hasResourceBundle(s,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||d(s,i)&&(!l||d(u,i)))}},{key:"loadNamespaces",value:function(i,o){var a=this,s=qv();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),o&&o(l)}),s):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var a=qv();typeof i=="string"&&(i=[i]);var s=this.options.preload||[],l=i.filter(function(u){return s.indexOf(u)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(u){a.resolve(),o&&o(u)}),a):(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"],a=this.services&&this.services.languageUtils||new bR(kR());return o.indexOf(a.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]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=Tl(Tl(Tl({},this.options),o),{isClone:!0}),l=new n(s);(o.debug!==void 0||o.prefix!==void 0)&&(l.logger=l.logger.clone(o));var u=["store","services","language"];return u.forEach(function(d){l[d]=i[d]}),l.services=Tl({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new yR(l.services,l.options),l.translator.on("*",function(d){for(var h=arguments.length,m=new Array(h>1?h-1:0),y=1;y0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new P3(e,t)});var Et=P3.createInstance();Et.createInstance=P3.createInstance;Et.createInstance;Et.dir;Et.init;Et.loadResources;Et.reloadResources;Et.use;Et.changeLanguage;Et.getFixedT;Et.t;Et.exists;Et.setDefaultNamespace;Et.hasLoadedNamespace;Et.loadNamespaces;Et.loadLanguages;var kU=[],Cwe=kU.forEach,_we=kU.slice;function kwe(e){return Cwe.call(_we.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}var TR=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Ewe=function(t,n,r){var i=r||{};i.path=i.path||"/";var o=encodeURIComponent(n),a="".concat(t,"=").concat(o);if(i.maxAge>0){var s=i.maxAge-0;if(Number.isNaN(s))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(s))}if(i.domain){if(!TR.test(i.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(i.domain)}if(i.path){if(!TR.test(i.path))throw new TypeError("option path is invalid");a+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(a+="; HttpOnly"),i.secure&&(a+="; Secure"),i.sameSite){var l=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a},MR={create:function(t,n,r,i){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),i&&(o.domain=i),document.cookie=Ewe(t,encodeURIComponent(n),o)},read:function(t){for(var n="".concat(t,"="),r=document.cookie.split(";"),i=0;i-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=r.substring(1),o=i.split("&"),a=0;a0){var l=o[a].substring(0,s);l===t.lookupQuerystring&&(n=o[a].substring(s+1))}}}return n}},Kv=null,LR=function(){if(Kv!==null)return Kv;try{Kv=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{Kv=!1}return Kv},Mwe={name:"localStorage",lookup:function(t){var n;if(t.lookupLocalStorage&&LR()){var r=window.localStorage.getItem(t.lookupLocalStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupLocalStorage&&LR()&&window.localStorage.setItem(n.lookupLocalStorage,t)}},Yv=null,AR=function(){if(Yv!==null)return Yv;try{Yv=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{Yv=!1}return Yv},Lwe={name:"sessionStorage",lookup:function(t){var n;if(t.lookupSessionStorage&&AR()){var r=window.sessionStorage.getItem(t.lookupSessionStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupSessionStorage&&AR()&&window.sessionStorage.setItem(n.lookupSessionStorage,t)}},Awe={name:"navigator",lookup:function(t){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var r=0;r0?n:void 0}},Owe={name:"htmlTag",lookup:function(t){var n,r=t.htmlTag||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},Rwe={name:"path",lookup:function(t){var n;if(typeof window<"u"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof r[t.lookupFromPathIndex]!="string")return;n=r[t.lookupFromPathIndex].replace("/","")}else n=r[0].replace("/","")}return n}},Iwe={name:"subdomain",lookup:function(t){var n=typeof t.lookupFromSubdomainIndex=="number"?t.lookupFromSubdomainIndex+1:1,r=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};function Dwe(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"]}}var EU=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=kwe(r,this.options||{},Dwe()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(Pwe),this.addDetector(Twe),this.addDetector(Mwe),this.addDetector(Lwe),this.addDetector(Awe),this.addDetector(Owe),this.addDetector(Rwe),this.addDetector(Iwe)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var r=this;n||(n=this.options.order);var i=[];return n.forEach(function(o){if(r.detectors[o]){var a=r.detectors[o].lookup(r.options);a&&typeof a=="string"&&(a=[a]),a&&(i=i.concat(a))}}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(n,r){var i=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||r.forEach(function(o){i.detectors[o]&&i.detectors[o].cacheUserLanguage(n,i.options)}))}}]),e}();EU.type="languageDetector";function Ck(e){return Ck=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},Ck(e)}var PU=[],jwe=PU.forEach,Nwe=PU.slice;function _k(e){return jwe.call(Nwe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function TU(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":Ck(XMLHttpRequest))==="object"}function $we(e){return!!e&&typeof e.then=="function"}function Fwe(e){return $we(e)?e:Promise.resolve(e)}function Bwe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Dy={},zwe={get exports(){return Dy},set exports(e){Dy=e}},V1={},Hwe={get exports(){return V1},set exports(e){V1=e}},OR;function Wwe(){return OR||(OR=1,function(e,t){var n=typeof self<"u"?self:So,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(a){var s={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l($){return $&&DataView.prototype.isPrototypeOf($)}if(s.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function($){return $&&u.indexOf(Object.prototype.toString.call($))>-1};function h($){if(typeof $!="string"&&($=String($)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test($))throw new TypeError("Invalid character in header field name");return $.toLowerCase()}function m($){return typeof $!="string"&&($=String($)),$}function y($){var V={next:function(){var X=$.shift();return{done:X===void 0,value:X}}};return s.iterable&&(V[Symbol.iterator]=function(){return V}),V}function b($){this.map={},$ instanceof b?$.forEach(function(V,X){this.append(X,V)},this):Array.isArray($)?$.forEach(function(V){this.append(V[0],V[1])},this):$&&Object.getOwnPropertyNames($).forEach(function(V){this.append(V,$[V])},this)}b.prototype.append=function($,V){$=h($),V=m(V);var X=this.map[$];this.map[$]=X?X+", "+V:V},b.prototype.delete=function($){delete this.map[h($)]},b.prototype.get=function($){return $=h($),this.has($)?this.map[$]:null},b.prototype.has=function($){return this.map.hasOwnProperty(h($))},b.prototype.set=function($,V){this.map[h($)]=m(V)},b.prototype.forEach=function($,V){for(var X in this.map)this.map.hasOwnProperty(X)&&$.call(V,this.map[X],X,this)},b.prototype.keys=function(){var $=[];return this.forEach(function(V,X){$.push(X)}),y($)},b.prototype.values=function(){var $=[];return this.forEach(function(V){$.push(V)}),y($)},b.prototype.entries=function(){var $=[];return this.forEach(function(V,X){$.push([X,V])}),y($)},s.iterable&&(b.prototype[Symbol.iterator]=b.prototype.entries);function w($){if($.bodyUsed)return Promise.reject(new TypeError("Already read"));$.bodyUsed=!0}function E($){return new Promise(function(V,X){$.onload=function(){V($.result)},$.onerror=function(){X($.error)}})}function _($){var V=new FileReader,X=E(V);return V.readAsArrayBuffer($),X}function k($){var V=new FileReader,X=E(V);return V.readAsText($),X}function T($){for(var V=new Uint8Array($),X=new Array(V.length),Q=0;Q-1?V:$}function N($,V){V=V||{};var X=V.body;if($ instanceof N){if($.bodyUsed)throw new TypeError("Already read");this.url=$.url,this.credentials=$.credentials,V.headers||(this.headers=new b($.headers)),this.method=$.method,this.mode=$.mode,this.signal=$.signal,!X&&$._bodyInit!=null&&(X=$._bodyInit,$.bodyUsed=!0)}else this.url=String($);if(this.credentials=V.credentials||this.credentials||"same-origin",(V.headers||!this.headers)&&(this.headers=new b(V.headers)),this.method=I(V.method||this.method||"GET"),this.mode=V.mode||this.mode||null,this.signal=V.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&X)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(X)}N.prototype.clone=function(){return new N(this,{body:this._bodyInit})};function W($){var V=new FormData;return $.trim().split("&").forEach(function(X){if(X){var Q=X.split("="),G=Q.shift().replace(/\+/g," "),Y=Q.join("=").replace(/\+/g," ");V.append(decodeURIComponent(G),decodeURIComponent(Y))}}),V}function B($){var V=new b,X=$.replace(/\r?\n[\t ]+/g," ");return X.split(/\r?\n/).forEach(function(Q){var G=Q.split(":"),Y=G.shift().trim();if(Y){var ee=G.join(":").trim();V.append(Y,ee)}}),V}O.call(N.prototype);function K($,V){V||(V={}),this.type="default",this.status=V.status===void 0?200:V.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in V?V.statusText:"OK",this.headers=new b(V.headers),this.url=V.url||"",this._initBody($)}O.call(K.prototype),K.prototype.clone=function(){return new K(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new b(this.headers),url:this.url})},K.error=function(){var $=new K(null,{status:0,statusText:""});return $.type="error",$};var ne=[301,302,303,307,308];K.redirect=function($,V){if(ne.indexOf(V)===-1)throw new RangeError("Invalid status code");return new K(null,{status:V,headers:{location:$}})},a.DOMException=o.DOMException;try{new a.DOMException}catch{a.DOMException=function(V,X){this.message=V,this.name=X;var Q=Error(V);this.stack=Q.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function z($,V){return new Promise(function(X,Q){var G=new N($,V);if(G.signal&&G.signal.aborted)return Q(new a.DOMException("Aborted","AbortError"));var Y=new XMLHttpRequest;function ee(){Y.abort()}Y.onload=function(){var fe={status:Y.status,statusText:Y.statusText,headers:B(Y.getAllResponseHeaders()||"")};fe.url="responseURL"in Y?Y.responseURL:fe.headers.get("X-Request-URL");var Ce="response"in Y?Y.response:Y.responseText;X(new K(Ce,fe))},Y.onerror=function(){Q(new TypeError("Network request failed"))},Y.ontimeout=function(){Q(new TypeError("Network request failed"))},Y.onabort=function(){Q(new a.DOMException("Aborted","AbortError"))},Y.open(G.method,G.url,!0),G.credentials==="include"?Y.withCredentials=!0:G.credentials==="omit"&&(Y.withCredentials=!1),"responseType"in Y&&s.blob&&(Y.responseType="blob"),G.headers.forEach(function(fe,Ce){Y.setRequestHeader(Ce,fe)}),G.signal&&(G.signal.addEventListener("abort",ee),Y.onreadystatechange=function(){Y.readyState===4&&G.signal.removeEventListener("abort",ee)}),Y.send(typeof G._bodyInit>"u"?null:G._bodyInit)})}return z.polyfill=!0,o.fetch||(o.fetch=z,o.Headers=b,o.Request=N,o.Response=K),a.Headers=b,a.Request=N,a.Response=K,a.fetch=z,Object.defineProperty(a,"__esModule",{value:!0}),a})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Hwe,V1)),V1}(function(e,t){var n;if(typeof fetch=="function"&&(typeof So<"u"&&So.fetch?n=So.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof Bwe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||Wwe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(zwe,Dy);const MU=Dy,RR=Cj({__proto__:null,default:MU},[Dy]);function T3(e){return T3=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},T3(e)}var Yu;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Yu=global.fetch:typeof window<"u"&&window.fetch?Yu=window.fetch:Yu=fetch);var jy;TU()&&(typeof global<"u"&&global.XMLHttpRequest?jy=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(jy=window.XMLHttpRequest));var M3;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?M3=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(M3=window.ActiveXObject));!Yu&&RR&&!jy&&!M3&&(Yu=MU||RR);typeof Yu!="function"&&(Yu=void 0);var kk=function(t,n){if(n&&T3(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},IR=function(t,n,r){Yu(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},DR=!1,Uwe=function(t,n,r,i){t.queryStringParams&&(n=kk(n,t.queryStringParams));var o=_k({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var a=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,s=_k({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},DR?{}:a);try{IR(n,s,i)}catch(l){if(!a||Object.keys(a).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(a).forEach(function(u){delete s[u]}),IR(n,s,i),DR=!0}catch(u){i(u)}}},Vwe=function(t,n,r,i){r&&T3(r)==="object"&&(r=kk("",r).slice(1)),t.queryStringParams&&(n=kk(n,t.queryStringParams));try{var o;jy?o=new jy:o=new M3("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var a=t.customHeaders;if(a=typeof a=="function"?a():a,a)for(var s in a)o.setRequestHeader(s,a[s]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},Gwe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Yu&&n.indexOf("file:")!==0)return Uwe(t,n,r,i);if(TU()||typeof ActiveXObject=="function")return Vwe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Ny(e){return Ny=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},Ny(e)}function qwe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jR(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};qwe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return Kwe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=_k(i,this.options||{},Zwe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,a){var s=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=Fwe(l),l.then(function(u){if(!u)return a(null,{});var d=s.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});s.loadUrl(d,a,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var a=this;this.options.request(this.options,n,void 0,function(s,l){if(l&&(l.status>=500&&l.status<600||!l.status))return r("failed loading "+n+"; status code: "+l.status,!0);if(l&&l.status>=400&&l.status<500)return r("failed loading "+n+"; status code: "+l.status,!1);if(!l&&s&&s.message&&s.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+s.message,!0);if(s)return r(s,!1);var u,d;try{typeof l.data=="string"?u=a.options.parse(l.data,i,o):u=l.data}catch{d="failed parsing "+n+" to json"}if(d)return r(d,!1);r(null,u)})}},{key:"create",value:function(n,r,i,o,a){var s=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],h=[];n.forEach(function(m){var y=s.options.addPath;typeof s.options.addPath=="function"&&(y=s.options.addPath(m,r));var b=s.services.interpolator.interpolate(y,{lng:m,ns:r});s.options.request(s.options,b,l,function(w,E){u+=1,d.push(w),h.push(E),u===n.length&&typeof a=="function"&&a(d,h)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,a=r.logger,s=i.language;if(!(s&&s.toLowerCase()==="cimode")){var l=[],u=function(h){var m=o.toResolveHierarchy(h);m.forEach(function(y){l.indexOf(y)<0&&l.push(y)})};u(s),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(h){i.read(d,h,"read",null,null,function(m,y){m&&a.warn("loading namespace ".concat(h," for language ").concat(d," failed"),m),!m&&y&&a.log("loaded namespace ".concat(h," for language ").concat(d),y),i.loaded("".concat(d,"|").concat(h),m,y)})})})}}}]),e}();AU.type="backend";function Qwe(){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 a=function(l,u){var d=t.services.backendConnector.state["".concat(l,"|").concat(u)];return d===-1||d===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!i||a(o,e)))}function e4e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return Ek("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{precheck:function(o,a){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!a(o.isLanguageChangingTo,e))return!1}}):Jwe(e,t,n)}var t4e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,n4e={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},r4e=function(t){return n4e[t]},i4e=function(t){return t.replace(t4e,r4e)};function FR(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 BR(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};Pk=BR(BR({},Pk),e)}function a4e(){return Pk}var OU;function s4e(e){OU=e}function l4e(){return OU}var u4e={type:"3rdParty",init:function(t){o4e(t.options.react),s4e(t)}},c4e=S.createContext(),d4e=function(){function e(){gs(this,e),this.usedNamespaces={}}return ms(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 f4e(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(d){u=!0,i=d}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}function h4e(e,t){return bU(e)||f4e(e,t)||xU(e,t)||SU()}function zR(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 $C(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=S.useContext(c4e)||{},i=r.i18n,o=r.defaultNS,a=n||i||l4e();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new d4e),!a){Ek("You will need to pass in an i18next instance by using initReactI18next");var s=function(W){return Array.isArray(W)?W[W.length-1]:W},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&a.options.react.wait!==void 0&&Ek("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=$C($C($C({},a4e()),a.options.react),t),d=u.useSuspense,h=u.keyPrefix,m=e||o||a.options&&a.options.defaultNS;m=typeof m=="string"?[m]:m||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(m);var y=(a.isInitialized||a.initializedStoreOnce)&&m.every(function(N){return e4e(N,a,u)});function b(){return a.getFixedT(null,u.nsMode==="fallback"?m:m[0],h)}var w=S.useState(b),E=h4e(w,2),_=E[0],k=E[1],T=m.join(),L=p4e(T),O=S.useRef(!0);S.useEffect(function(){var N=u.bindI18n,W=u.bindI18nStore;O.current=!0,!y&&!d&&$R(a,m,function(){O.current&&k(b)}),y&&L&&L!==T&&O.current&&k(b);function B(){O.current&&k(b)}return N&&a&&a.on(N,B),W&&a&&a.store.on(W,B),function(){O.current=!1,N&&a&&N.split(" ").forEach(function(K){return a.off(K,B)}),W&&a&&W.split(" ").forEach(function(K){return a.store.off(K,B)})}},[a,T]);var D=S.useRef(!0);S.useEffect(function(){O.current&&!D.current&&k(b),D.current=!1},[a,h]);var I=[_,a,y];if(I.t=_,I.i18n=a,I.ready=y,y||!y&&!d)return I;throw new Promise(function(N){$R(a,m,function(){N()})})}Et.use(AU).use(EU).use(u4e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const g4e={isConnected:!1,isProcessing:!1,log:[],shouldShowLogViewer:!1,shouldDisplayInProgressType:"latents",shouldDisplayGuides:!0,isGFPGANAvailable:!0,isESRGANAvailable:!0,socketId:"",shouldConfirmOnDelete:!0,openAccordions:[0],currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatus:Et.isInitialized?Et.t("common.statusDisconnected"):"Disconnected",currentStatusHasSteps:!1,model:"",model_id:"",model_hash:"",app_id:"",app_version:"",model_list:{},infill_methods:[],hasError:!1,wasErrorSeen:!0,isCancelable:!0,saveIntermediatesInterval:5,enableImageDebugging:!1,toastQueue:[],searchFolder:null,foundModels:null,openModel:null,cancelOptions:{cancelType:"immediate",cancelAfter:null}},RU=ap({name:"system",initialState:g4e,reducers:{setShouldDisplayInProgressType:(e,t)=>{e.shouldDisplayInProgressType=t.payload},setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.currentStatus=t.payload},setSystemStatus:(e,t)=>({...e,...t.payload}),errorOccurred:e=>{e.hasError=!0,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusError"),e.wasErrorSeen=!1},errorSeen:e=>{e.hasError=!1,e.wasErrorSeen=!0,e.currentStatus=e.isConnected?Et.t("common.statusConnected"):Et.t("common.statusDisconnected")},addLogEntry:(e,t)=>{const{timestamp:n,message:r,level:i}=t.payload,a={timestamp:n,message:r,level:i||"info"};e.log.push(a)},setShouldShowLogViewer:(e,t)=>{e.shouldShowLogViewer=t.payload},setIsConnected:(e,t)=>{e.isConnected=t.payload,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.hasError=!1},setSocketId:(e,t)=>{e.socketId=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setOpenAccordions:(e,t)=>{e.openAccordions=t.payload},setSystemConfig:(e,t)=>({...e,...t.payload}),setShouldDisplayGuides:(e,t)=>{e.shouldDisplayGuides=t.payload},processingCanceled:e=>{e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusProcessingCanceled")},generationRequested:e=>{e.isProcessing=!0,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusPreparing")},setModelList:(e,t)=>{e.model_list=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},modelChangeRequested:e=>{e.currentStatus=Et.t("common.statusLoadingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelConvertRequested:e=>{e.currentStatus=Et.t("common.statusConvertingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelMergingRequested:e=>{e.currentStatus=Et.t("common.statusMergingModels"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},setSaveIntermediatesInterval:(e,t)=>{e.saveIntermediatesInterval=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},setProcessingIndeterminateTask:(e,t)=>{e.isProcessing=!0,e.currentStatus=t.payload,e.currentStatusHasSteps=!1},setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setFoundModels:(e,t)=>{e.foundModels=t.payload},setOpenModel:(e,t)=>{e.openModel=t.payload},setCancelType:(e,t)=>{e.cancelOptions.cancelType=t.payload},setCancelAfter:(e,t)=>{e.cancelOptions.cancelAfter=t.payload}}}),{setShouldDisplayInProgressType:m4e,setIsProcessing:wa,addLogEntry:Pi,setShouldShowLogViewer:FC,setIsConnected:HR,setSocketId:ONe,setShouldConfirmOnDelete:IU,setOpenAccordions:v4e,setSystemStatus:y4e,setCurrentStatus:hh,setSystemConfig:b4e,setShouldDisplayGuides:x4e,processingCanceled:S4e,errorOccurred:WR,errorSeen:DU,setModelList:Ag,setIsCancelable:_d,modelChangeRequested:w4e,modelConvertRequested:C4e,modelMergingRequested:_4e,setSaveIntermediatesInterval:k4e,setEnableImageDebugging:E4e,generationRequested:P4e,addToast:$u,clearToastQueue:T4e,setProcessingIndeterminateTask:M4e,setSearchFolder:jU,setFoundModels:NU,setOpenModel:UR,setCancelType:VR,setCancelAfter:BC}=RU.actions,L4e=RU.reducer,xE=["txt2img","img2img","unifiedCanvas","nodes","postprocess","training"],A4e={activeTab:0,currentTheme:"dark",parametersPanelScrollPosition:0,shouldHoldParametersPanelOpen:!1,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowDualDisplay:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,addNewModelUIOption:null},O4e=A4e,$U=ap({name:"ui",initialState:O4e,reducers:{setActiveTab:(e,t)=>{typeof t.payload=="number"?e.activeTab=t.payload:e.activeTab=xE.indexOf(t.payload)},setCurrentTheme:(e,t)=>{e.currentTheme=t.payload},setParametersPanelScrollPosition:(e,t)=>{e.parametersPanelScrollPosition=t.payload},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldHoldParametersPanelOpen:(e,t)=>{e.shouldHoldParametersPanelOpen=t.payload},setShouldShowDualDisplay:(e,t)=>{e.shouldShowDualDisplay=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setAddNewModelUIOption:(e,t)=>{e.addNewModelUIOption=t.payload}}}),{setActiveTab:Wo,setCurrentTheme:R4e,setParametersPanelScrollPosition:I4e,setShouldHoldParametersPanelOpen:D4e,setShouldPinParametersPanel:j4e,setShouldShowParametersPanel:Fh,setShouldShowDualDisplay:N4e,setShouldShowImageDetails:FU,setShouldUseCanvasBetaLayout:$4e,setShouldShowExistingModelsInSearch:F4e,setShouldUseSliders:B4e,setAddNewModelUIOption:Bh}=$U.actions,z4e=$U.reducer,iu=Object.create(null);iu.open="0";iu.close="1";iu.ping="2";iu.pong="3";iu.message="4";iu.upgrade="5";iu.noop="6";const fS=Object.create(null);Object.keys(iu).forEach(e=>{fS[iu[e]]=e});const H4e={type:"error",data:"parser error"},W4e=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",U4e=typeof ArrayBuffer=="function",V4e=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,BU=({type:e,data:t},n,r)=>W4e&&t instanceof Blob?n?r(t):GR(t,r):U4e&&(t instanceof ArrayBuffer||V4e(t))?n?r(t):GR(new Blob([t]),r):r(iu[e]+(t||"")),GR=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)},qR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,a,s,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(a&15)<<4|s>>2,d[i++]=(s&3)<<6|l&63;return u},q4e=typeof ArrayBuffer=="function",zU=(e,t)=>{if(typeof e!="string")return{type:"message",data:HU(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:K4e(e.substring(1),t)}:fS[n]?e.length>1?{type:fS[n],data:e.substring(1)}:{type:fS[n]}:H4e},K4e=(e,t)=>{if(q4e){const n=G4e(e);return HU(n,t)}else return{base64:!0,data:e}},HU=(e,t)=>{switch(t){case"blob":return e instanceof ArrayBuffer?new Blob([e]):e;case"arraybuffer":default:return e}},WU=String.fromCharCode(30),Y4e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,a)=>{BU(o,!1,s=>{r[a]=s,++i===n&&t(r.join(WU))})})},X4e=(e,t)=>{const n=e.split(WU),r=[];for(let i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function VU(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const Q4e=Za.setTimeout,J4e=Za.clearTimeout;function s4(e,t){t.useNativeTimers?(e.setTimeoutFn=Q4e.bind(Za),e.clearTimeoutFn=J4e.bind(Za)):(e.setTimeoutFn=Za.setTimeout.bind(Za),e.clearTimeoutFn=Za.clearTimeout.bind(Za))}const e5e=1.33;function t5e(e){return typeof e=="string"?n5e(e):Math.ceil((e.byteLength||e.size)*e5e)}function n5e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}class r5e extends Error{constructor(t,n,r){super(t),this.description=n,this.context=r,this.type="TransportError"}}class GU extends ai{constructor(t){super(),this.writable=!1,s4(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,n,r){return super.emitReserved("error",new r5e(t,n,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(t){this.readyState==="open"&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const n=zU(t,this.socket.binaryType);this.onPacket(n)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}}const qU="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Tk=64,i5e={};let KR=0,rx=0,YR;function XR(e){let t="";do t=qU[e%Tk]+t,e=Math.floor(e/Tk);while(e>0);return t}function KU(){const e=XR(+new Date);return e!==YR?(KR=0,YR=e):e+"."+XR(KR++)}for(;rx{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};X4e(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,Y4e(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let t=this.query||{};const n=this.opts.secure?"https":"http";let r="";this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=KU()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.opts.port&&(n==="https"&&Number(this.opts.port)!==443||n==="http"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port);const i=YU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts),new eu(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}class eu extends ai{constructor(t,n){super(),s4(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.async=n.async!==!1,this.data=n.data!==void 0?n.data:null,this.create()}create(){const t=VU(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd,t.xscheme=!!this.opts.xs;const n=this.xhr=new ZU(t);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let r in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,this.opts.extraHeaders[r])}}catch{}if(this.method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{n.readyState===4&&(n.status===200||n.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof n.status=="number"?n.status:0)},0))},n.send(this.data)}catch(r){this.setTimeoutFn(()=>{this.onError(r)},0);return}typeof document<"u"&&(this.index=eu.requestsCount++,eu.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=s5e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete eu.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}eu.requestsCount=0;eu.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",ZR);else if(typeof addEventListener=="function"){const e="onpagehide"in Za?"pagehide":"unload";addEventListener(e,ZR,!1)}}function ZR(){for(let e in eu.requests)eu.requests.hasOwnProperty(e)&&eu.requests[e].abort()}const QU=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),ix=Za.WebSocket||Za.MozWebSocket,QR=!0,c5e="arraybuffer",JR=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class d5e extends GU{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=JR?{}:VU(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=QR&&!JR?n?new ix(t,n):new ix(t):new ix(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||c5e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const a={};try{QR&&this.ws.send(o)}catch{}i&&QU(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){let t=this.query||{};const n=this.opts.secure?"wss":"ws";let r="";this.opts.port&&(n==="wss"&&Number(this.opts.port)!==443||n==="ws"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=KU()),this.supportsBinary||(t.b64=1);const i=YU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}check(){return!!ix}}const f5e={websocket:d5e,polling:u5e},h5e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,p5e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Mk(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=h5e.exec(e||""),o={},a=14;for(;a--;)o[p5e[a]]=i[a]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=g5e(o,o.path),o.queryKey=m5e(o,o.query),o}function g5e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function m5e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let JU=class Ng extends ai{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=Mk(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=Mk(n.host).host),s4(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=o5e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=UU,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts.transportOptions[t],this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new f5e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Ng.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Ng.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",h=>{if(!r)if(h.type==="pong"&&h.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Ng.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const m=new Error("probe error");m.transport=n.name,this.emitReserved("upgradeError",m)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const a=h=>{const m=new Error("probe error: "+h);m.transport=n.name,o(),this.emitReserved("upgradeError",m)};function s(){a("transport closed")}function l(){a("socket closed")}function u(h){n&&h.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",a),n.removeListener("close",s),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",a),n.once("close",s),this.once("close",l),this.once("upgrading",u),n.open()}onOpen(){if(this.readyState="open",Ng.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Ng.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,eV=Object.prototype.toString,x5e=typeof Blob=="function"||typeof Blob<"u"&&eV.call(Blob)==="[object BlobConstructor]",S5e=typeof File=="function"||typeof File<"u"&&eV.call(File)==="[object FileConstructor]";function SE(e){return y5e&&(e instanceof ArrayBuffer||b5e(e))||x5e&&e instanceof Blob||S5e&&e instanceof File}function hS(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num0;case nn.ACK:case nn.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class E5e{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const n=C5e(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const P5e=Object.freeze(Object.defineProperty({__proto__:null,Decoder:wE,Encoder:k5e,get PacketType(){return nn},protocol:_5e},Symbol.toStringTag,{value:"Module"}));function Hs(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const T5e=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class tV extends ai{constructor(t,n,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=n,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Hs(t,"open",this.onopen.bind(this)),Hs(t,"packet",this.onpacket.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...n){if(T5e.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(n.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;const r={type:nn.EVENT,data:n};if(r.options={},r.options.compress=this.flags.compress!==!1,typeof n[n.length-1]=="function"){const a=this.ids++,s=n.pop();this._registerAckCallback(a,s),r.id=a}const i=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!i||!this.connected)||(this.connected?(this.notifyOutgoingListeners(r),this.packet(r)):this.sendBuffer.push(r)),this.flags={},this}_registerAckCallback(t,n){var r;const i=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(i===void 0){this.acks[t]=n;return}const o=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let a=0;a{this.io.clearTimeoutFn(o),n.apply(this,[null,...a])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((a,s)=>r?a?o(a):i(s):i(a)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this.ids++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(){if(this._queue.length===0)return;const t=this._queue[0];if(t.pending)return;t.pending=!0,t.tryCount++;const n=this.ids;this.ids=t.id,this.flags=t.flags,this.emit.apply(this,t.args),this.ids=n}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:nn.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case nn.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case nn.EVENT:case nn.BINARY_EVENT:this.onevent(t);break;case nn.ACK:case nn.BINARY_ACK:this.onack(t);break;case nn.DISCONNECT:this.ondisconnect();break;case nn.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:nn.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:nn.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}b0.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};b0.prototype.reset=function(){this.attempts=0};b0.prototype.setMin=function(e){this.ms=e};b0.prototype.setMax=function(e){this.max=e};b0.prototype.setJitter=function(e){this.jitter=e};class Ok extends ai{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,s4(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new b0({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||P5e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new JU(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Hs(n,"open",function(){r.onopen(),t&&t()}),o=Hs(n,"error",a=>{r.cleanup(),r._readyState="closed",this.emitReserved("error",a),t?t(a):r.maybeReconnectOnOpen()});if(this._timeout!==!1){const a=this._timeout;a===0&&i();const s=this.setTimeoutFn(()=>{i(),n.close(),n.emit("error",new Error("timeout"))},a);this.opts.autoUnref&&s.unref(),this.subs.push(function(){clearTimeout(s)})}return this.subs.push(i),this.subs.push(o),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Hs(t,"ping",this.onping.bind(this)),Hs(t,"data",this.ondata.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this)),Hs(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){QU(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r||(r=new tV(this,t,n),this.nsps[t]=r),this._autoConnect&&r.connect(),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(function(){clearTimeout(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Xv={};function pS(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=v5e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,a=Xv[i]&&o in Xv[i].nsps,s=t.forceNew||t["force new connection"]||t.multiplex===!1||a;let l;return s?l=new Ok(r,t):(Xv[i]||(Xv[i]=new Ok(r,t)),l=Xv[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(pS,{Manager:Ok,Socket:tV,io:pS,connect:pS});const M5e=["ddim","plms","k_lms","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_dpmpp_2_a","k_euler","k_euler_a","k_heun"],L5e=["ddim","plms","k_lms","dpmpp_2","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_euler","k_euler_a","k_heun"],A5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],O5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],R5e=[{key:"2x",value:2},{key:"4x",value:4}],CE=0,_E=4294967295,I5e=["gfpgan","codeformer"],D5e=[{key:"None",value:"none"},{key:"Fast",value:"latents"},{key:"Accurate",value:"full-res"}];var j5e=Math.PI/180;function N5e(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const Im=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},ft={_global:Im,version:"8.4.2",isBrowser:N5e(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return ft.angleDeg?e*j5e:e},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return ft.DD.isDragging},isDragReady(){return!!ft.DD.node},releaseCanvasOnDestroy:!0,document:Im.document,_injectGlobal(e){Im.Konva=e}},Mr=e=>{ft[e.prototype.getClassName()]=e};ft._injectGlobal(ft);class Ca{constructor(t=[1,0,0,1,0,0]){this.dirty=!1,this.m=t&&t.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new Ca(this.m)}copyInto(t){t.m[0]=this.m[0],t.m[1]=this.m[1],t.m[2]=this.m[2],t.m[3]=this.m[3],t.m[4]=this.m[4],t.m[5]=this.m[5]}point(t){var n=this.m;return{x:n[0]*t.x+n[2]*t.y+n[4],y:n[1]*t.x+n[3]*t.y+n[5]}}translate(t,n){return this.m[4]+=this.m[0]*t+this.m[2]*n,this.m[5]+=this.m[1]*t+this.m[3]*n,this}scale(t,n){return this.m[0]*=t,this.m[1]*=t,this.m[2]*=n,this.m[3]*=n,this}rotate(t){var n=Math.cos(t),r=Math.sin(t),i=this.m[0]*n+this.m[2]*r,o=this.m[1]*n+this.m[3]*r,a=this.m[0]*-r+this.m[2]*n,s=this.m[1]*-r+this.m[3]*n;return this.m[0]=i,this.m[1]=o,this.m[2]=a,this.m[3]=s,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(t,n){var r=this.m[0]+this.m[2]*n,i=this.m[1]+this.m[3]*n,o=this.m[2]+this.m[0]*t,a=this.m[3]+this.m[1]*t;return this.m[0]=r,this.m[1]=i,this.m[2]=o,this.m[3]=a,this}multiply(t){var n=this.m[0]*t.m[0]+this.m[2]*t.m[1],r=this.m[1]*t.m[0]+this.m[3]*t.m[1],i=this.m[0]*t.m[2]+this.m[2]*t.m[3],o=this.m[1]*t.m[2]+this.m[3]*t.m[3],a=this.m[0]*t.m[4]+this.m[2]*t.m[5]+this.m[4],s=this.m[1]*t.m[4]+this.m[3]*t.m[5]+this.m[5];return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}invert(){var t=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*t,r=-this.m[1]*t,i=-this.m[2]*t,o=this.m[0]*t,a=t*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),s=t*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}getMatrix(){return this.m}decompose(){var t=this.m[0],n=this.m[1],r=this.m[2],i=this.m[3],o=this.m[4],a=this.m[5],s=t*i-n*r;let l={x:o,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!=0||n!=0){var u=Math.sqrt(t*t+n*n);l.rotation=n>0?Math.acos(t/u):-Math.acos(t/u),l.scaleX=u,l.scaleY=s/u,l.skewX=(t*r+n*i)/s,l.skewY=0}else if(r!=0||i!=0){var d=Math.sqrt(r*r+i*i);l.rotation=Math.PI/2-(i>0?Math.acos(-r/d):-Math.acos(r/d)),l.scaleX=s/d,l.scaleY=d,l.skewX=0,l.skewY=(t*r+n*i)/s}return l.rotation=de._getRotation(l.rotation),l}}var $5e="[object Array]",F5e="[object Number]",B5e="[object String]",z5e="[object Boolean]",H5e=Math.PI/180,W5e=180/Math.PI,zC="#",U5e="",V5e="0",G5e="Konva warning: ",eI="Konva error: ",q5e="rgb(",HC={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},K5e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,ox=[];const Y5e=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(e){setTimeout(e,60)},de={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===$5e},_isNumber(e){return Object.prototype.toString.call(e)===F5e&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===B5e},_isBoolean(e){return Object.prototype.toString.call(e)===z5e},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!="string")return!1;var t=e[0];return t==="#"||t==="."||t===t.toUpperCase()},_sign(e){return e===0||e>0?1:-1},requestAnimFrame(e){ox.push(e),ox.length===1&&Y5e(function(){const t=ox;ox=[],t.forEach(function(n){n()})})},createCanvasElement(){var e=document.createElement("canvas");try{e.style=e.style||{}}catch{}return e},createImageElement(){return document.createElement("img")},_isInDocument(e){for(;e=e.parentNode;)if(e==document)return!0;return!1},_urlToImage(e,t){var n=de.createImageElement();n.onload=function(){t(n)},n.src=e},_rgbToHex(e,t,n){return((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)},_hexToRgb(e){e=e.replace(zC,U5e);var t=parseInt(e,16);return{r:t>>16&255,g:t>>8&255,b:t&255}},getRandomColor(){for(var e=(Math.random()*16777215<<0).toString(16);e.length<6;)e=V5e+e;return zC+e},getRGB(e){var t;return e in HC?(t=HC[e],{r:t[0],g:t[1],b:t[2]}):e[0]===zC?this._hexToRgb(e.substring(1)):e.substr(0,4)===q5e?(t=K5e.exec(e.replace(/ /g,"")),{r:parseInt(t[1],10),g:parseInt(t[2],10),b:parseInt(t[3],10)}):{r:0,g:0,b:0}},colorToRGBA(e){return e=e||"black",de._namedColorToRBA(e)||de._hex3ColorToRGBA(e)||de._hex4ColorToRGBA(e)||de._hex6ColorToRGBA(e)||de._hex8ColorToRGBA(e)||de._rgbColorToRGBA(e)||de._rgbaColorToRGBA(e)||de._hslColorToRGBA(e)},_namedColorToRBA(e){var t=HC[e.toLowerCase()];return t?{r:t[0],g:t[1],b:t[2],a:1}:null},_rgbColorToRGBA(e){if(e.indexOf("rgb(")===0){e=e.match(/rgb\(([^)]+)\)/)[1];var t=e.split(/ *, */).map(Number);return{r:t[0],g:t[1],b:t[2],a:1}}},_rgbaColorToRGBA(e){if(e.indexOf("rgba(")===0){e=e.match(/rgba\(([^)]+)\)/)[1];var t=e.split(/ *, */).map((n,r)=>n.slice(-1)==="%"?r===3?parseInt(n)/100:parseInt(n)/100*255:Number(n));return{r:t[0],g:t[1],b:t[2],a:t[3]}}},_hex8ColorToRGBA(e){if(e[0]==="#"&&e.length===9)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e[0]==="#"&&e.length===7)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e[0]==="#"&&e.length===5)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e[0]==="#"&&e.length===4)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(e)){const[t,...n]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e),r=Number(n[0])/360,i=Number(n[1])/100,o=Number(n[2])/100;let a,s,l;if(i===0)return l=o*255,{r:Math.round(l),g:Math.round(l),b:Math.round(l),a:1};o<.5?a=o*(1+i):a=o+i-o*i;const u=2*o-a,d=[0,0,0];for(let h=0;h<3;h++)s=r+1/3*-(h-1),s<0&&s++,s>1&&s--,6*s<1?l=u+(a-u)*6*s:2*s<1?l=a:3*s<2?l=u+(a-u)*(2/3-s)*6:l=u,d[h]=l*255;return{r:Math.round(d[0]),g:Math.round(d[1]),b:Math.round(d[2]),a:1}}},haveIntersection(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height1?(a=n,s=r,l=(n-i)*(n-i)+(r-o)*(r-o)):(a=e+d*(n-e),s=t+d*(r-t),l=(a-i)*(a-i)+(s-o)*(s-o))}return[a,s,l]},_getProjectionToLine(e,t,n){var r=de.cloneObject(e),i=Number.MAX_VALUE;return t.forEach(function(o,a){if(!(!n&&a===t.length-1)){var s=t[(a+1)%t.length],l=de._getProjectionToSegment(o.x,o.y,s.x,s.y,e.x,e.y),u=l[0],d=l[1],h=l[2];ht.length){var a=t;t=e,e=a}for(r=0;r{t.width=0,t.height=0})},drawRoundedRectPath(e,t,n,r){let i=0,o=0,a=0,s=0;typeof r=="number"?i=o=a=s=Math.min(r,t/2,n/2):(i=Math.min(r[0]||0,t/2,n/2),o=Math.min(r[1]||0,t/2,n/2),s=Math.min(r[2]||0,t/2,n/2),a=Math.min(r[3]||0,t/2,n/2)),e.moveTo(i,0),e.lineTo(t-o,0),e.arc(t-o,o,o,Math.PI*3/2,0,!1),e.lineTo(t,n-s),e.arc(t-s,n-s,s,0,Math.PI/2,!1),e.lineTo(a,n),e.arc(a,n-a,a,Math.PI/2,Math.PI,!1),e.lineTo(0,i),e.arc(i,i,i,Math.PI,Math.PI*3/2,!1)}};function uf(e){return de._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||de._isBoolean(e)?e:Object.prototype.toString.call(e)}function nV(e){return e>255?255:e<0?0:Math.round(e)}function Ve(){if(ft.isUnminified)return function(e,t){return de._isNumber(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function kE(e){if(ft.isUnminified)return function(t,n){let r=de._isNumber(t),i=de._isArray(t)&&t.length==e;return!r&&!i&&de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}function EE(){if(ft.isUnminified)return function(e,t){var n=de._isNumber(e),r=e==="auto";return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function x0(){if(ft.isUnminified)return function(e,t){return de._isString(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function rV(){if(ft.isUnminified)return function(e,t){const n=de._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function X5e(){if(ft.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(de._isArray(e)?e.forEach(function(r){de._isNumber(r)||de.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function el(){if(ft.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function Z5e(e){if(ft.isUnminified)return function(t,n){return t==null||de.isObject(t)||de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}var Zv="get",Qv="set";const J={addGetterSetter(e,t,n,r,i){J.addGetter(e,t,n),J.addSetter(e,t,r,i),J.addOverloadedGetterSetter(e,t)},addGetter(e,t,n){var r=Zv+de._capitalize(t);e.prototype[r]=e.prototype[r]||function(){var i=this.attrs[t];return i===void 0?n:i}},addSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]||J.overWriteSetter(e,t,n,r)},overWriteSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]=function(o){return n&&o!==void 0&&o!==null&&(o=n.call(this,o,t)),this._setAttr(t,o),r&&r.call(this),this}},addComponentsGetterSetter(e,t,n,r,i){var o=n.length,a=de._capitalize,s=Zv+a(t),l=Qv+a(t),u,d;e.prototype[s]=function(){var m={};for(u=0;u{this._setAttr(t+a(w),void 0)}),this._fireChangeEvent(t,y,m),i&&i.call(this),this},J.addOverloadedGetterSetter(e,t)},addOverloadedGetterSetter(e,t){var n=de._capitalize(t),r=Qv+n,i=Zv+n;e.prototype[t]=function(){return arguments.length?(this[r](arguments[0]),this):this[i]()}},addDeprecatedGetterSetter(e,t,n,r){de.error("Adding deprecated "+t);var i=Zv+de._capitalize(t),o=t+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[i]=function(){de.error(o);var a=this.attrs[t];return a===void 0?n:a},J.addSetter(e,t,r,function(){de.error(o)}),J.addOverloadedGetterSetter(e,t)},backCompat(e,t){de.each(t,function(n,r){var i=e.prototype[r],o=Zv+de._capitalize(n),a=Qv+de._capitalize(n);function s(){i.apply(this,arguments),de.error('"'+n+'" method is deprecated and will be removed soon. Use ""'+r+'" instead.')}e.prototype[n]=s,e.prototype[o]=s,e.prototype[a]=s})},afterSetFilter(){this._filterUpToDate=!1}};function Q5e(e){var t=[],n=e.length,r=de,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=J5e+u.join(tI)+eCe)):(o+=s.property,t||(o+=oCe+s.val)),o+=rCe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=sCe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){var n=t.getLineCap();n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){var n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,a){this._context.arc(t,n,r,i,o,a)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,a){this._context.bezierCurveTo(t,n,r,i,o,a)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(){this._context.clip()}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,a){return this._context.createRadialGradient(t,n,r,i,o,a)}drawImage(t,n,r,i,o,a,s,l,u){var d=arguments,h=this._context;d.length===3?h.drawImage(t,n,r):d.length===5?h.drawImage(t,n,r,i,o):d.length===9&&h.drawImage(t,n,r,i,o,a,s,l,u)}ellipse(t,n,r,i,o,a,s,l){this._context.ellipse(t,n,r,i,o,a,s,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(t){t?this._context.fill(t):this._context.fill()}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,a){this._context.setTransform(t,n,r,i,o,a)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,a){this._context.transform(t,n,r,i,o,a)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=nI.length,r=this.setAttr,i,o,a=function(s){var l=t[s],u;t[s]=function(){return o=Q5e(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:s,args:o}),u}};for(i=0;i{t.dragStatus==="dragging"&&(e=!0)}),e},justDragged:!1,get node(){var e;return fn._dragElements.forEach(t=>{e=t.node}),e},_dragElements:new Map,_drag(e){const t=[];fn._dragElements.forEach((n,r)=>{const{node:i}=n,o=i.getStage();o.setPointersPositions(e),n.pointerId===void 0&&(n.pointerId=de._getFirstPointerId(e));const a=o._changedPointerPositions.find(u=>u.id===n.pointerId);if(a){if(n.dragStatus!=="dragging"){var s=i.dragDistance(),l=Math.max(Math.abs(a.x-n.startPointerPos.x),Math.abs(a.y-n.startPointerPos.y));if(l{n.fire("dragmove",{type:"dragmove",target:n,evt:e},!0)})},_endDragBefore(e){const t=[];fn._dragElements.forEach(n=>{const{node:r}=n,i=r.getStage();if(e&&i.setPointersPositions(e),!i._changedPointerPositions.find(s=>s.id===n.pointerId))return;(n.dragStatus==="dragging"||n.dragStatus==="stopped")&&(fn.justDragged=!0,ft._mouseListenClick=!1,ft._touchListenClick=!1,ft._pointerListenClick=!1,n.dragStatus="stopped");const a=n.node.getLayer()||n.node instanceof ft.Stage&&n.node;a&&t.indexOf(a)===-1&&t.push(a)}),t.forEach(n=>{n.draw()})},_endDragAfter(e){fn._dragElements.forEach((t,n)=>{t.dragStatus==="stopped"&&t.node.fire("dragend",{type:"dragend",target:t.node,evt:e},!0),t.dragStatus!=="dragging"&&fn._dragElements.delete(n)})}};ft.isBrowser&&(window.addEventListener("mouseup",fn._endDragBefore,!0),window.addEventListener("touchend",fn._endDragBefore,!0),window.addEventListener("mousemove",fn._drag),window.addEventListener("touchmove",fn._drag),window.addEventListener("mouseup",fn._endDragAfter,!1),window.addEventListener("touchend",fn._endDragAfter,!1));var gS="absoluteOpacity",sx="allEventListeners",Iu="absoluteTransform",rI="absoluteScale",oh="canvas",dCe="Change",fCe="children",hCe="konva",Rk="listening",iI="mouseenter",oI="mouseleave",aI="set",sI="Shape",mS=" ",lI="stage",fd="transform",pCe="Stage",Ik="visible",gCe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(mS);let mCe=1,Ge=class Dk{constructor(t){this._id=mCe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===fd||t===Iu)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===fd||t===Iu,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(mS);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(oh)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Iu&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(oh)){const{scene:t,filter:n,hit:r}=this._cache.get(oh);de.releaseCanvas(t,n,r),this._cache.delete(oh)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),a=n.pixelRatio,s=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,h=n.hitCanvasPixelRatio||1;if(!i||!o){de.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,s-=u,l-=u;var m=new Dm({pixelRatio:a,width:i,height:o}),y=new Dm({pixelRatio:a,width:0,height:0}),b=new PE({pixelRatio:h,width:i,height:o}),w=m.getContext(),E=b.getContext();return b.isCache=!0,m.isCache=!0,this._cache.delete(oh),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(m.getContext()._context.imageSmoothingEnabled=!1,y.getContext()._context.imageSmoothingEnabled=!1),w.save(),E.save(),w.translate(-s,-l),E.translate(-s,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(gS),this._clearSelfAndDescendantCache(rI),this.drawScene(m,this),this.drawHit(b,this),this._isUnderCache=!1,w.restore(),E.restore(),d&&(w.save(),w.beginPath(),w.rect(0,0,i,o),w.closePath(),w.setAttr("strokeStyle","red"),w.setAttr("lineWidth",5),w.stroke(),w.restore()),this._cache.set(oh,{scene:m,filter:y,hit:b,x:s,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(oh)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,a,s,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),{x:i,y:o,width:a-i,height:s-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),a,s,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(a=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),s=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==fCe&&(r=aI+de._capitalize(n),de._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(Rk,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(Ik,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;fn._dragElements.forEach(a=>{a.dragStatus==="dragging"&&(a.node.nodeType==="Stage"||a.node.getLayer()===r)&&(i=!0)});var o=!n&&!ft.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,a,s;function l(u){for(i=[],o=u.length,a=0;a0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==pCe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(fd),this._clearSelfAndDescendantCache(Iu)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new Ca,a=this.offset();return o.m=i.slice(),o.translate(a.x,a.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(fd);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(fd),this._clearSelfAndDescendantCache(Iu),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,a;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,a=0;a0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return de.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return de.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&de.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(gS,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,a,s;t.attrs={};for(r in n)i=n[r],s=de.isObject(i)&&!de._isPlainObject(i)&&!de._isArray(i),!s&&(o=typeof this[r]=="function"&&this[r],delete n[r],a=o?o.call(this):null,n[r]=i,a!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),de._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,de._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ft.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,a,s;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;fn._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=fn._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&fn._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return de.haveIntersection(r,this.getClientRect())}static create(t,n){return de._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=Dk.prototype.getClassName.call(t),i=t.children,o,a,s;n&&(t.attrs.container=n),ft[r]||(de.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ft[r];if(o=new l(t.attrs),i)for(a=i.length,s=0;s0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ge.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ge.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),a=this._getCanvasCache(),s=a&&a.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(s){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),a=this._getCanvasCache(),s=a&&a.hit;if(s){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),a=this.clipWidth(),s=this.clipHeight(),l=this.clipFunc(),u=a&&s||l;const d=r===this;if(u){o.save();var h=this.getAbsoluteTransform(r),m=h.getMatrix();if(o.transform(m[0],m[1],m[2],m[3],m[4],m[5]),o.beginPath(),l)l.call(this,o,this);else{var y=this.clipX(),b=this.clipY();o.rect(y,b,a,s)}o.clip(),m=h.copy().invert().getMatrix(),o.transform(m[0],m[1],m[2],m[3],m[4],m[5])}var w=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";w&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(E){E[t](n,r)}),w&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,a,s,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(w){if(w.visible()){var E=w.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});E.width===0&&E.height===0||(o===void 0?(o=E.x,a=E.y,s=E.x+E.width,l=E.y+E.height):(o=Math.min(o,E.x),a=Math.min(a,E.y),s=Math.max(s,E.x+E.width),l=Math.max(l,E.y+E.height)))}});for(var h=this.find("Shape"),m=!1,y=0;ye.indexOf("pointer")>=0?"pointer":e.indexOf("touch")>=0?"touch":"mouse",Og=e=>{const t=x1(e);if(t==="pointer")return ft.pointerEventsEnabled&&UC.pointer;if(t==="touch")return UC.touch;if(t==="mouse")return UC.mouse};function cI(e={}){return(e.clipFunc||e.clipWidth||e.clipHeight)&&de.warn("Stage does not support clipping. Please use clip for Layers or Groups."),e}const CCe="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);",vS=[];let c4=class extends Ma{constructor(t){super(cI(t)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),vS.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{cI(this.attrs)}),this._checkVisibility()}_validateAdd(t){const n=t.getType()==="Layer",r=t.getType()==="FastLayer";n||r||de.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const t=this.visible()?"":"none";this.content.style.display=t}setContainer(t){if(typeof t===yCe){if(t.charAt(0)==="."){var n=t.slice(1);t=document.getElementsByClassName(n)[0]}else{var r;t.charAt(0)!=="#"?r=t:r=t.slice(1),t=document.getElementById(r)}if(!t)throw"Can not find container in document with id "+r}return this._setAttr("container",t),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),t.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var t=this.children,n=t.length,r;for(r=0;r-1&&vS.splice(n,1),de.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const t=this._pointerPositions[0]||this._changedPointerPositions[0];return t?{x:t.x,y:t.y}:(de.warn(CCe),null)}_getPointerById(t){return this._pointerPositions.find(n=>n.id===t)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(t){t=t||{},t.x=t.x||0,t.y=t.y||0,t.width=t.width||this.width(),t.height=t.height||this.height();var n=new Dm({width:t.width,height:t.height,pixelRatio:t.pixelRatio||1}),r=n.getContext()._context,i=this.children;return(t.x||t.y)&&r.translate(-1*t.x,-1*t.y),i.forEach(function(o){if(o.isVisible()){var a=o._toKonvaCanvas(t);r.drawImage(a._canvas,t.x,t.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}}),n}getIntersection(t){if(!t)return null;var n=this.children,r=n.length,i=r-1,o;for(o=i;o>=0;o--){const a=n[o].getIntersection(t);if(a)return a}return null}_resizeDOM(){var t=this.width(),n=this.height();this.content&&(this.content.style.width=t+uI,this.content.style.height=n+uI),this.bufferCanvas.setSize(t,n),this.bufferHitCanvas.setSize(t,n),this.children.forEach(r=>{r.setSize({width:t,height:n}),r.draw()})}add(t,...n){if(arguments.length>1){for(var r=0;rSCe&&de.warn("The stage has "+i+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),t.setSize({width:this.width(),height:this.height()}),t.draw(),ft.isBrowser&&this.content.appendChild(t.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(t){return oV(t,this)}setPointerCapture(t){aV(t,this)}releaseCapture(t){G1(t)}getLayers(){return this.children}_bindContentEvents(){ft.isBrowser&&wCe.forEach(([t,n])=>{this.content.addEventListener(t,r=>{this[n](r)},{passive:!1})})}_pointerenter(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerenter,{evt:t,target:this,currentTarget:this})}_pointerover(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerover,{evt:t,target:this,currentTarget:this})}_getTargetShape(t){let n=this[t+"targetShape"];return n&&!n.getStage()&&(n=null),n}_pointerleave(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=this._getTargetShape(r),o=!fn.isDragging||ft.hitOnDragEnabled;i&&o?(i._fireAndBubble(n.pointerout,{evt:t}),i._fireAndBubble(n.pointerleave,{evt:t}),this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this[r+"targetShape"]=null):o&&(this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this._fire(n.pointerout,{evt:t,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=!1;this._changedPointerPositions.forEach(o=>{var a=this.getIntersection(o);if(fn.justDragged=!1,ft["_"+r+"ListenClick"]=!0,!(a&&a.isListening()))return;ft.capturePointerEventsEnabled&&a.setPointerCapture(o.id),this[r+"ClickStartShape"]=a,a._fireAndBubble(n.pointerdown,{evt:t,pointerId:o.id}),i=!0;const l=t.type.indexOf("touch")>=0;a.preventDefault()&&t.cancelable&&l&&t.preventDefault()}),i||this._fire(n.pointerdown,{evt:t,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(t){const n=Og(t.type),r=x1(t.type);if(!n)return;fn.isDragging&&fn.node.preventDefault()&&t.cancelable&&t.preventDefault(),this.setPointersPositions(t);var i=!fn.isDragging||ft.hitOnDragEnabled;if(!i)return;var o={};let a=!1;var s=this._getTargetShape(r);this._changedPointerPositions.forEach(l=>{const u=WC(l.id)||this.getIntersection(l),d=l.id,h={evt:t,pointerId:d};var m=s!==u;if(m&&s&&(s._fireAndBubble(n.pointerout,Object.assign({},h),u),s._fireAndBubble(n.pointerleave,Object.assign({},h),u)),u){if(o[u._id])return;o[u._id]=!0}u&&u.isListening()?(a=!0,m&&(u._fireAndBubble(n.pointerover,Object.assign({},h),s),u._fireAndBubble(n.pointerenter,Object.assign({},h),s),this[r+"targetShape"]=u),u._fireAndBubble(n.pointermove,Object.assign({},h))):s&&(this._fire(n.pointerover,{evt:t,target:this,currentTarget:this,pointerId:d}),this[r+"targetShape"]=null)}),a||this._fire(n.pointermove,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(t){const n=Og(t.type),r=x1(t.type);if(!n)return;this.setPointersPositions(t);const i=this[r+"ClickStartShape"],o=this[r+"ClickEndShape"];var a={};let s=!1;this._changedPointerPositions.forEach(l=>{const u=WC(l.id)||this.getIntersection(l);if(u){if(u.releaseCapture(l.id),a[u._id])return;a[u._id]=!0}const d=l.id,h={evt:t,pointerId:d};let m=!1;ft["_"+r+"InDblClickWindow"]?(m=!0,clearTimeout(this[r+"DblTimeout"])):fn.justDragged||(ft["_"+r+"InDblClickWindow"]=!0,clearTimeout(this[r+"DblTimeout"])),this[r+"DblTimeout"]=setTimeout(function(){ft["_"+r+"InDblClickWindow"]=!1},ft.dblClickWindow),u&&u.isListening()?(s=!0,this[r+"ClickEndShape"]=u,u._fireAndBubble(n.pointerup,Object.assign({},h)),ft["_"+r+"ListenClick"]&&i&&i===u&&(u._fireAndBubble(n.pointerclick,Object.assign({},h)),m&&o&&o===u&&u._fireAndBubble(n.pointerdblclick,Object.assign({},h)))):(this[r+"ClickEndShape"]=null,ft["_"+r+"ListenClick"]&&this._fire(n.pointerclick,{evt:t,target:this,currentTarget:this,pointerId:d}),m&&this._fire(n.pointerdblclick,{evt:t,target:this,currentTarget:this,pointerId:d}))}),s||this._fire(n.pointerup,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),ft["_"+r+"ListenClick"]=!1,t.cancelable&&r!=="touch"&&t.preventDefault()}_contextmenu(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(jk,{evt:t}):this._fire(jk,{evt:t,target:this,currentTarget:this})}_wheel(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(Nk,{evt:t}):this._fire(Nk,{evt:t,target:this,currentTarget:this})}_pointercancel(t){this.setPointersPositions(t);const n=WC(t.pointerId)||this.getIntersection(this.getPointerPosition());n&&n._fireAndBubble(lm,TE(t)),G1(t.pointerId)}_lostpointercapture(t){G1(t.pointerId)}setPointersPositions(t){var n=this._getContentPosition(),r=null,i=null;t=t||window.event,t.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(t.touches,o=>{this._pointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})}),Array.prototype.forEach.call(t.changedTouches||t.touches,o=>{this._changedPointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})})):(r=(t.clientX-n.left)/n.scaleX,i=(t.clientY-n.top)/n.scaleY,this.pointerPos={x:r,y:i},this._pointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}],this._changedPointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}])}_setPointerPosition(t){de.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(t)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var t=this.content.getBoundingClientRect();return{top:t.top,left:t.left,scaleX:t.width/this.content.clientWidth||1,scaleY:t.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new Dm({width:this.width(),height:this.height()}),this.bufferHitCanvas=new PE({pixelRatio:1,width:this.width(),height:this.height()}),!!ft.isBrowser){var t=this.container();if(!t)throw"Stage has no container. A container is required.";t.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),t.appendChild(this.content),this._resizeDOM()}}cache(){return de.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(t){t.batchDraw()}),this}};c4.prototype.nodeType=vCe;Mr(c4);J.addGetterSetter(c4,"container");var vV="hasShadow",yV="shadowRGBA",bV="patternImage",xV="linearGradient",SV="radialGradient";let fx;function VC(){return fx||(fx=de.createCanvasElement().getContext("2d"),fx)}const q1={};function _Ce(e){e.fill()}function kCe(e){e.stroke()}function ECe(e){e.fill()}function PCe(e){e.stroke()}function TCe(){this._clearCache(vV)}function MCe(){this._clearCache(yV)}function LCe(){this._clearCache(bV)}function ACe(){this._clearCache(xV)}function OCe(){this._clearCache(SV)}class $e extends Ge{constructor(t){super(t);let n;for(;n=de.getRandomColor(),!(n&&!(n in q1)););this.colorKey=n,q1[n]=this}getContext(){return de.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return de.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(vV,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(bV,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var t=VC();const n=t.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){const r=new Ca;r.translate(this.fillPatternX(),this.fillPatternY()),r.rotate(ft.getAngle(this.fillPatternRotation())),r.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),r.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const i=r.getMatrix(),o=typeof DOMMatrix>"u"?{a:i[0],b:i[1],c:i[2],d:i[3],e:i[4],f:i[5]}:new DOMMatrix(i);n.setTransform(o)}return n}}_getLinearGradient(){return this._getCache(xV,this.__getLinearGradient)}__getLinearGradient(){var t=this.fillLinearGradientColorStops();if(t){for(var n=VC(),r=this.fillLinearGradientStartPoint(),i=this.fillLinearGradientEndPoint(),o=n.createLinearGradient(r.x,r.y,i.x,i.y),a=0;athis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const t=this.hitStrokeWidth();return t==="auto"?this.hasStroke():this.strokeEnabled()&&!!t}intersects(t){var n=this.getStage(),r=n.bufferHitCanvas,i;return r.getContext().clear(),this.drawHit(r,null,!0),i=r.context.getImageData(Math.round(t.x),Math.round(t.y),1,1).data,i[3]>0}destroy(){return Ge.prototype.destroy.call(this),delete q1[this.colorKey],delete this.colorKey,this}_useBufferCanvas(t){var n;if(!this.getStage()||!((n=this.attrs.perfectDrawEnabled)!==null&&n!==void 0?n:!0))return!1;const i=t||this.hasFill(),o=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(i&&o&&a)return!0;const s=this.hasShadow(),l=this.shadowForStrokeEnabled();return!!(i&&o&&s&&l)}setStrokeHitEnabled(t){de.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),t?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var t=this.size();return{x:this._centroid?-t.width/2:0,y:this._centroid?-t.height/2:0,width:t.width,height:t.height}}getClientRect(t={}){const n=t.skipTransform,r=t.relativeTo,i=this.getSelfRect(),a=!t.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,s=i.width+a,l=i.height+a,u=!t.skipShadow&&this.hasShadow(),d=u?this.shadowOffsetX():0,h=u?this.shadowOffsetY():0,m=s+Math.abs(d),y=l+Math.abs(h),b=u&&this.shadowBlur()||0,w=m+b*2,E=y+b*2,_={width:w,height:E,x:-(a/2+b)+Math.min(d,0)+i.x,y:-(a/2+b)+Math.min(h,0)+i.y};return n?_:this._transformedRect(_,r)}drawScene(t,n){var r=this.getLayer(),i=t||r.getCanvas(),o=i.getContext(),a=this._getCanvasCache(),s=this.getSceneFunc(),l=this.hasShadow(),u,d,h,m=i.isCache,y=n===this;if(!this.isVisible()&&!y)return this;if(a){o.save();var b=this.getAbsoluteTransform(n).getMatrix();return o.transform(b[0],b[1],b[2],b[3],b[4],b[5]),this._drawCachedSceneCanvas(o),o.restore(),this}if(!s)return this;if(o.save(),this._useBufferCanvas()&&!m){u=this.getStage(),d=u.bufferCanvas,h=d.getContext(),h.clear(),h.save(),h._applyLineJoin(this);var w=this.getAbsoluteTransform(n).getMatrix();h.transform(w[0],w[1],w[2],w[3],w[4],w[5]),s.call(this,h,this),h.restore();var E=d.pixelRatio;l&&o._applyShadow(this),o._applyOpacity(this),o._applyGlobalCompositeOperation(this),o.drawImage(d._canvas,0,0,d.width/E,d.height/E)}else{if(o._applyLineJoin(this),!y){var w=this.getAbsoluteTransform(n).getMatrix();o.transform(w[0],w[1],w[2],w[3],w[4],w[5]),o._applyOpacity(this),o._applyGlobalCompositeOperation(this)}l&&o._applyShadow(this),s.call(this,o,this)}return o.restore(),this}drawHit(t,n,r=!1){if(!this.shouldDrawHit(n,r))return this;var i=this.getLayer(),o=t||i.hitCanvas,a=o&&o.getContext(),s=this.hitFunc()||this.sceneFunc(),l=this._getCanvasCache(),u=l&&l.hit;if(this.colorKey||de.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),u){a.save();var d=this.getAbsoluteTransform(n).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a),a.restore(),this}if(!s)return this;if(a.save(),a._applyLineJoin(this),!(this===n)){var m=this.getAbsoluteTransform(n).getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5])}return s.call(this,a,this),a.restore(),this}drawHitFromCache(t=0){var n=this._getCanvasCache(),r=this._getCachedSceneCanvas(),i=n.hit,o=i.getContext(),a=i.getWidth(),s=i.getHeight(),l,u,d,h,m,y;o.clear(),o.drawImage(r._canvas,0,0,a,s);try{for(l=o.getImageData(0,0,a,s),u=l.data,d=u.length,h=de._hexToRgb(this.colorKey),m=0;mt?(u[m]=h.r,u[m+1]=h.g,u[m+2]=h.b,u[m+3]=255):u[m+3]=0;o.putImageData(l,0,0)}catch(b){de.error("Unable to draw hit graph from cached scene canvas. "+b.message)}return this}hasPointerCapture(t){return oV(t,this)}setPointerCapture(t){aV(t,this)}releaseCapture(t){G1(t)}}$e.prototype._fillFunc=_Ce;$e.prototype._strokeFunc=kCe;$e.prototype._fillFuncHit=ECe;$e.prototype._strokeFuncHit=PCe;$e.prototype._centroid=!1;$e.prototype.nodeType="Shape";Mr($e);$e.prototype.eventListeners={};$e.prototype.on.call($e.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",TCe);$e.prototype.on.call($e.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",MCe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",LCe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",ACe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",OCe);J.addGetterSetter($e,"stroke",void 0,rV());J.addGetterSetter($e,"strokeWidth",2,Ve());J.addGetterSetter($e,"fillAfterStrokeEnabled",!1);J.addGetterSetter($e,"hitStrokeWidth","auto",EE());J.addGetterSetter($e,"strokeHitEnabled",!0,el());J.addGetterSetter($e,"perfectDrawEnabled",!0,el());J.addGetterSetter($e,"shadowForStrokeEnabled",!0,el());J.addGetterSetter($e,"lineJoin");J.addGetterSetter($e,"lineCap");J.addGetterSetter($e,"sceneFunc");J.addGetterSetter($e,"hitFunc");J.addGetterSetter($e,"dash");J.addGetterSetter($e,"dashOffset",0,Ve());J.addGetterSetter($e,"shadowColor",void 0,x0());J.addGetterSetter($e,"shadowBlur",0,Ve());J.addGetterSetter($e,"shadowOpacity",1,Ve());J.addComponentsGetterSetter($e,"shadowOffset",["x","y"]);J.addGetterSetter($e,"shadowOffsetX",0,Ve());J.addGetterSetter($e,"shadowOffsetY",0,Ve());J.addGetterSetter($e,"fillPatternImage");J.addGetterSetter($e,"fill",void 0,rV());J.addGetterSetter($e,"fillPatternX",0,Ve());J.addGetterSetter($e,"fillPatternY",0,Ve());J.addGetterSetter($e,"fillLinearGradientColorStops");J.addGetterSetter($e,"strokeLinearGradientColorStops");J.addGetterSetter($e,"fillRadialGradientStartRadius",0);J.addGetterSetter($e,"fillRadialGradientEndRadius",0);J.addGetterSetter($e,"fillRadialGradientColorStops");J.addGetterSetter($e,"fillPatternRepeat","repeat");J.addGetterSetter($e,"fillEnabled",!0);J.addGetterSetter($e,"strokeEnabled",!0);J.addGetterSetter($e,"shadowEnabled",!0);J.addGetterSetter($e,"dashEnabled",!0);J.addGetterSetter($e,"strokeScaleEnabled",!0);J.addGetterSetter($e,"fillPriority","color");J.addComponentsGetterSetter($e,"fillPatternOffset",["x","y"]);J.addGetterSetter($e,"fillPatternOffsetX",0,Ve());J.addGetterSetter($e,"fillPatternOffsetY",0,Ve());J.addComponentsGetterSetter($e,"fillPatternScale",["x","y"]);J.addGetterSetter($e,"fillPatternScaleX",1,Ve());J.addGetterSetter($e,"fillPatternScaleY",1,Ve());J.addComponentsGetterSetter($e,"fillLinearGradientStartPoint",["x","y"]);J.addComponentsGetterSetter($e,"strokeLinearGradientStartPoint",["x","y"]);J.addGetterSetter($e,"fillLinearGradientStartPointX",0);J.addGetterSetter($e,"strokeLinearGradientStartPointX",0);J.addGetterSetter($e,"fillLinearGradientStartPointY",0);J.addGetterSetter($e,"strokeLinearGradientStartPointY",0);J.addComponentsGetterSetter($e,"fillLinearGradientEndPoint",["x","y"]);J.addComponentsGetterSetter($e,"strokeLinearGradientEndPoint",["x","y"]);J.addGetterSetter($e,"fillLinearGradientEndPointX",0);J.addGetterSetter($e,"strokeLinearGradientEndPointX",0);J.addGetterSetter($e,"fillLinearGradientEndPointY",0);J.addGetterSetter($e,"strokeLinearGradientEndPointY",0);J.addComponentsGetterSetter($e,"fillRadialGradientStartPoint",["x","y"]);J.addGetterSetter($e,"fillRadialGradientStartPointX",0);J.addGetterSetter($e,"fillRadialGradientStartPointY",0);J.addComponentsGetterSetter($e,"fillRadialGradientEndPoint",["x","y"]);J.addGetterSetter($e,"fillRadialGradientEndPointX",0);J.addGetterSetter($e,"fillRadialGradientEndPointY",0);J.addGetterSetter($e,"fillPatternRotation",0);J.backCompat($e,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var RCe="#",ICe="beforeDraw",DCe="draw",wV=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],jCe=wV.length;let sp=class extends Ma{constructor(t){super(t),this.canvas=new Dm,this.hitCanvas=new PE({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ICe,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Ma.prototype.drawScene.call(this,i,n),this._fire(DCe,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Ma.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){de.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return de.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return de.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}};sp.prototype.nodeType="Layer";Mr(sp);J.addGetterSetter(sp,"imageSmoothingEnabled",!0);J.addGetterSetter(sp,"clearBeforeDraw",!0);J.addGetterSetter(sp,"hitGraphEnabled",!0,el());class ME extends sp{constructor(t){super(t),this.listening(!1),de.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}ME.prototype.nodeType="FastLayer";Mr(ME);let Jm=class extends Ma{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&de.throw("You may only add groups and shapes to groups.")}};Jm.prototype.nodeType="Group";Mr(Jm);var GC=function(){return Im.performance&&Im.performance.now?function(){return Im.performance.now()}:function(){return new Date().getTime()}}();class Ja{constructor(t,n){this.id=Ja.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:GC(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():t<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=t,this.update())}getTime(){return this._time}setPosition(t){this.prevPos=this._pos,this.propFunc(t),this._pos=t}getPosition(t){return t===void 0&&(t=this._time),this.func(t,this.begin,this._change,this.duration)}play(){this.state=dI,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=fI,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(t){this.pause(),this._time=t,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var t=this.getTimer()-this._startTime;this.state===dI?this.setTime(t):this.state===fI&&this.setTime(this.duration-t)}pause(){this.state=$Ce,this.fire("onPause")}getTimer(){return new Date().getTime()}}class Xr{constructor(t){var n=this,r=t.node,i=r._id,o,a=t.easing||K1.Linear,s=!!t.yoyo,l;typeof t.duration>"u"?o=.3:t.duration===0?o=.001:o=t.duration,this.node=r,this._id=FCe++;var u=r.getLayer()||(r instanceof ft.Stage?r.getLayers():null);u||de.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Ja(function(){n.tween.onEnterFrame()},u),this.tween=new BCe(l,function(d){n._tweenFunc(d)},a,0,1,o*1e3,s),this._addListeners(),Xr.attrs[i]||(Xr.attrs[i]={}),Xr.attrs[i][this._id]||(Xr.attrs[i][this._id]={}),Xr.tweens[i]||(Xr.tweens[i]={});for(l in t)NCe[l]===void 0&&this._addAttr(l,t[l]);this.reset(),this.onFinish=t.onFinish,this.onReset=t.onReset,this.onUpdate=t.onUpdate}_addAttr(t,n){var r=this.node,i=r._id,o,a,s,l,u,d,h,m;if(s=Xr.tweens[i][t],s&&delete Xr.attrs[i][s][t],o=r.getAttr(t),de._isArray(n))if(a=[],u=Math.max(n.length,o.length),t==="points"&&n.length!==o.length&&(n.length>o.length?(h=o,o=de._prepareArrayForTween(o,n,r.closed())):(d=n,n=de._prepareArrayForTween(n,o,r.closed()))),t.indexOf("fill")===0)for(l=0;l{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueEnd&&t.setAttr("points",n.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueStart&&t.points(n.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(t){return this.tween.seek(t*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var t=this.node._id,n=this._id,r=Xr.tweens[t],i;this.pause();for(i in r)delete Xr.tweens[t][i];delete Xr.attrs[t][n]}}Xr.attrs={};Xr.tweens={};Ge.prototype.to=function(e){var t=e.onFinish;e.node=this,e.onFinish=function(){this.destroy(),t&&t()};var n=new Xr(e);n.play()};const K1={BackEaseIn(e,t,n,r){var i=1.70158;return n*(e/=r)*e*((i+1)*e-i)+t},BackEaseOut(e,t,n,r){var i=1.70158;return n*((e=e/r-1)*e*((i+1)*e+i)+1)+t},BackEaseInOut(e,t,n,r){var i=1.70158;return(e/=r/2)<1?n/2*(e*e*(((i*=1.525)+1)*e-i))+t:n/2*((e-=2)*e*(((i*=1.525)+1)*e+i)+2)+t},ElasticEaseIn(e,t,n,r,i,o){var a=0;return e===0?t:(e/=r)===1?t+n:(o||(o=r*.3),!i||i0?t:n),d=a*n,h=s*(s>0?t:n),m=l*(l>0?n:t);return{x:u,y:r?-1*m:h,width:d-u,height:m-h}}}hc.prototype._centroid=!0;hc.prototype.className="Arc";hc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(hc);J.addGetterSetter(hc,"innerRadius",0,Ve());J.addGetterSetter(hc,"outerRadius",0,Ve());J.addGetterSetter(hc,"angle",0,Ve());J.addGetterSetter(hc,"clockwise",!1,el());function $k(e,t,n,r,i,o,a){var s=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=a*s/(s+l),d=a*l/(s+l),h=n-u*(i-e),m=r-u*(o-t),y=n+d*(i-e),b=r+d*(o-t);return[h,m,y,b]}function pI(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(s=this.getTensionPoints(),l=s.length,u=o?0:4,o||t.quadraticCurveTo(s[0],s[1],s[2],s[3]);ud?u:d,E=u>d?1:u/d,_=u>d?d/u:1;t.translate(s,l),t.rotate(y),t.scale(E,_),t.arc(0,0,w,h,h+m,1-b),t.scale(1/E,1/_),t.rotate(-y),t.translate(-s,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],h=u.points[5],m=u.points[4]+h,y=Math.PI/180;if(Math.abs(d-m)m;b-=y){const w=Fn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],b,0);t.push(w.x,w.y)}else for(let b=d+y;bthis.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};var o=this.dataArray[r],a=o.points;switch(o.command){case"L":return Fn.getPointOnLine(t,o.start.x,o.start.y,a[0],a[1]);case"C":return Fn.getPointOnCubicBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Fn.getPointOnQuadraticBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":var s=a[0],l=a[1],u=a[2],d=a[3],h=a[4],m=a[5],y=a[6];return h+=m*t/o.pathLength,Fn.getPointOnEllipticalArc(s,l,u,d,h,y)}return null}static getLineLength(t,n,r,i){return Math.sqrt((r-t)*(r-t)+(i-n)*(i-n))}static getPointOnLine(t,n,r,i,o,a,s){a===void 0&&(a=n),s===void 0&&(s=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(b[0]);){var k=null,T=[],L=l,O=u,D,I,N,W,B,K,ne,z,$,V;switch(y){case"l":l+=b.shift(),u+=b.shift(),k="L",T.push(l,u);break;case"L":l=b.shift(),u=b.shift(),T.push(l,u);break;case"m":var X=b.shift(),Q=b.shift();if(l+=X,u+=Q,k="M",a.length>2&&a[a.length-1].command==="z"){for(var G=a.length-2;G>=0;G--)if(a[G].command==="M"){l=a[G].points[0]+X,u=a[G].points[1]+Q;break}}T.push(l,u),y="l";break;case"M":l=b.shift(),u=b.shift(),k="M",T.push(l,u),y="L";break;case"h":l+=b.shift(),k="L",T.push(l,u);break;case"H":l=b.shift(),k="L",T.push(l,u);break;case"v":u+=b.shift(),k="L",T.push(l,u);break;case"V":u=b.shift(),k="L",T.push(l,u);break;case"C":T.push(b.shift(),b.shift(),b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"c":T.push(l+b.shift(),u+b.shift(),l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"S":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,b.shift(),b.shift()),l=b.shift(),u=b.shift(),k="C",T.push(l,u);break;case"s":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"Q":T.push(b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"q":T.push(l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="Q",T.push(l,u);break;case"T":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l=b.shift(),u=b.shift(),k="Q",T.push(I,N,l,u);break;case"t":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l+=b.shift(),u+=b.shift(),k="Q",T.push(I,N,l,u);break;case"A":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l=b.shift(),u=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break;case"a":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l+=b.shift(),u+=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break}a.push({command:k||y,points:T,start:{x:L,y:O},pathLength:this.calcLength(L,O,k||y,T)})}(y==="z"||y==="Z")&&a.push({command:"z",points:[],start:void 0,pathLength:0})}return a}static calcLength(t,n,r,i){var o,a,s,l,u=Fn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":for(o=0,a=u.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)s=u.getPointOnCubicBezier(l,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"Q":for(o=0,a=u.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)s=u.getPointOnQuadraticBezier(l,t,n,i[0],i[1],i[2],i[3]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"A":o=0;var d=i[4],h=i[5],m=i[4]+h,y=Math.PI/180;if(Math.abs(d-m)m;l-=y)s=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;else for(l=d+y;l1&&(s*=Math.sqrt(y),l*=Math.sqrt(y));var b=Math.sqrt((s*s*(l*l)-s*s*(m*m)-l*l*(h*h))/(s*s*(m*m)+l*l*(h*h)));o===a&&(b*=-1),isNaN(b)&&(b=0);var w=b*s*m/l,E=b*-l*h/s,_=(t+r)/2+Math.cos(d)*w-Math.sin(d)*E,k=(n+i)/2+Math.sin(d)*w+Math.cos(d)*E,T=function(B){return Math.sqrt(B[0]*B[0]+B[1]*B[1])},L=function(B,K){return(B[0]*K[0]+B[1]*K[1])/(T(B)*T(K))},O=function(B,K){return(B[0]*K[1]=1&&(W=0),a===0&&W>0&&(W=W-2*Math.PI),a===1&&W<0&&(W=W+2*Math.PI),[_,k,s,l,D,W,d,a]}}Fn.prototype.className="Path";Fn.prototype._attrsAffectingSize=["data"];Mr(Fn);J.addGetterSetter(Fn,"data");class lp extends pc{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var a=this.pointerLength(),s=r.length,l,u;if(o){const m=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[s-2],r[s-1]],y=Fn.calcLength(i[i.length-4],i[i.length-3],"C",m),b=Fn.getPointOnQuadraticBezier(Math.min(1,1-a/y),m[0],m[1],m[2],m[3],m[4],m[5]);l=r[s-2]-b.x,u=r[s-1]-b.y}else l=r[s-2]-r[s-4],u=r[s-1]-r[s-3];var d=(Math.atan2(u,l)+n)%n,h=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[s-2],r[s-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-a,h/2),t.lineTo(-a,-h/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-a,h/2),t.lineTo(-a,-h/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}lp.prototype.className="Arrow";Mr(lp);J.addGetterSetter(lp,"pointerLength",10,Ve());J.addGetterSetter(lp,"pointerWidth",10,Ve());J.addGetterSetter(lp,"pointerAtBeginning",!1);J.addGetterSetter(lp,"pointerAtEnding",!0);let S0=class extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};S0.prototype._centroid=!0;S0.prototype.className="Circle";S0.prototype._attrsAffectingSize=["radius"];Mr(S0);J.addGetterSetter(S0,"radius",0,Ve());class cf extends $e{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}cf.prototype.className="Ellipse";cf.prototype._centroid=!0;cf.prototype._attrsAffectingSize=["radiusX","radiusY"];Mr(cf);J.addComponentsGetterSetter(cf,"radius",["x","y"]);J.addGetterSetter(cf,"radiusX",0,Ve());J.addGetterSetter(cf,"radiusY",0,Ve());let uu=class CV extends $e{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let a;if(o){const s=this.attrs.cropWidth,l=this.attrs.cropHeight;s&&l?a=[o,this.cropX(),this.cropY(),s,l,0,0,n,r]:a=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?de.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,a))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?de.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=de.createImageElement();i.onload=function(){var o=new CV({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};uu.prototype.className="Image";Mr(uu);J.addGetterSetter(uu,"cornerRadius",0,kE(4));J.addGetterSetter(uu,"image");J.addComponentsGetterSetter(uu,"crop",["x","y","width","height"]);J.addGetterSetter(uu,"cropX",0,Ve());J.addGetterSetter(uu,"cropY",0,Ve());J.addGetterSetter(uu,"cropWidth",0,Ve());J.addGetterSetter(uu,"cropHeight",0,Ve());var _V=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],zCe="Change.konva",HCe="none",Fk="up",Bk="right",zk="down",Hk="left",WCe=_V.length;class LE extends Jm{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,a.x),r=Math.max(r,a.x),i=Math.min(i,a.y),o=Math.max(o,a.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}cp.prototype.className="RegularPolygon";cp.prototype._centroid=!0;cp.prototype._attrsAffectingSize=["radius"];Mr(cp);J.addGetterSetter(cp,"radius",0,Ve());J.addGetterSetter(cp,"sides",0,Ve());var gI=Math.PI*2;class dp extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,gI,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),gI,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}dp.prototype.className="Ring";dp.prototype._centroid=!0;dp.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(dp);J.addGetterSetter(dp,"innerRadius",0,Ve());J.addGetterSetter(dp,"outerRadius",0,Ve());class cu extends $e{constructor(t){super(t),this._updated=!0,this.anim=new Ja(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],a=this.frameOffsets(),s=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],h=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),h)if(a){var m=a[n],y=r*2;t.drawImage(h,s,l,u,d,m[y+0],m[y+1],u,d)}else t.drawImage(h,s,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],a=this.frameOffsets(),s=o[i+2],l=o[i+3];if(t.beginPath(),a){var u=a[n],d=r*2;t.rect(u[d+0],u[d+1],s,l)}else t.rect(0,0,s,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var px;function KC(){return px||(px=de.createCanvasElement().getContext(GCe),px)}function r6e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function i6e(e){e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function o6e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Tr extends $e{constructor(t){super(o6e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=a)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=de._isString(t)?t:t==null?"":t+"";return this._setAttr(qCe,n),this}getWidth(){var t=this.attrs.width===Rg||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Rg||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return de.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=KC(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+hx+this.fontVariant()+hx+(this.fontSize()+ZCe)+n6e(this.fontFamily())}_addTextLine(t){this.align()===Jv&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return KC().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,a=this.attrs.height,s=o!==Rg&&o!==void 0,l=a!==Rg&&a!==void 0,u=this.padding(),d=o-u*2,h=a-u*2,m=0,y=this.wrap(),b=y!==yI,w=y!==e6e&&b,E=this.ellipsis();this.textArr=[],KC().font=this._getContextFont();for(var _=E?this._getTextWidth(qC):0,k=0,T=t.length;kd)for(;L.length>0;){for(var D=0,I=L.length,N="",W=0;D>>1,K=L.slice(0,B+1),ne=this._getTextWidth(K)+_;ne<=d?(D=B+1,N=K,W=ne):I=B}if(N){if(w){var z,$=L[N.length],V=$===hx||$===mI;V&&W<=d?z=N.length:z=Math.max(N.lastIndexOf(hx),N.lastIndexOf(mI))+1,z>0&&(D=z,N=N.slice(0,D),W=this._getTextWidth(N))}N=N.trimRight(),this._addTextLine(N),r=Math.max(r,W),m+=i;var X=this._shouldHandleEllipsis(m);if(X){this._tryToAddEllipsisToLastLine();break}if(L=L.slice(D),L=L.trimLeft(),L.length>0&&(O=this._getTextWidth(L),O<=d)){this._addTextLine(L),m+=i,r=Math.max(r,O);break}}else break}else this._addTextLine(L),m+=i,r=Math.max(r,O),this._shouldHandleEllipsis(m)&&kh)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Rg&&i!==void 0,a=this.padding(),s=i-a*2,l=this.wrap(),u=l!==yI;return!u||o&&t+r>s}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Rg&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!o)){if(n){var s=this._getTextWidth(a.text+qC)=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;i0&&(s+=t.dataArray[l].pathLength);var u=0;i==="center"&&(u=Math.max(0,s/2-a/2)),i==="right"&&(u=Math.max(0,s-a));for(var d=kV(this.text()),h=this.text().split(" ").length-1,m,y,b,w=-1,E=0,_=function(){E=0;for(var ne=t.dataArray,z=w+1;z0)return w=z,ne[z];ne[z].command==="M"&&(m={x:ne[z].points[0],y:ne[z].points[1]})}return{}},k=function(ne){var z=t._getTextSize(ne).width+r;ne===" "&&i==="justify"&&(z+=(s-a)/h);var $=0,V=0;for(y=void 0;Math.abs(z-$)/z>.01&&V<20;){V++;for(var X=$;b===void 0;)b=_(),b&&X+b.pathLengthz?y=Fn.getPointOnLine(z,m.x,m.y,b.points[0],b.points[1],m.x,m.y):b=void 0;break;case"A":var G=b.points[4],Y=b.points[5],ee=b.points[4]+Y;E===0?E=G+1e-8:z>$?E+=Math.PI/180*Y/Math.abs(Y):E-=Math.PI/360*Y/Math.abs(Y),(Y<0&&E=0&&E>ee)&&(E=ee,Q=!0),y=Fn.getPointOnEllipticalArc(b.points[0],b.points[1],b.points[2],b.points[3],E,b.points[6]);break;case"C":E===0?z>b.pathLength?E=1e-8:E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength/2:E=Math.max(E-($-z)/b.pathLength/2,0),E>1&&(E=1,Q=!0),y=Fn.getPointOnCubicBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3],b.points[4],b.points[5]);break;case"Q":E===0?E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength:E-=($-z)/b.pathLength,E>1&&(E=1,Q=!0),y=Fn.getPointOnQuadraticBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3]);break}y!==void 0&&($=Fn.getLineLength(m.x,m.y,y.x,y.y)),Q&&(Q=!1,b=void 0)}},T="C",L=t._getTextSize(T).width+r,O=u/L-1,D=0;De+`.${OV}`).join(" "),bI="nodesRect",l6e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],u6e={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const c6e="ontouchstart"in ft._global;function d6e(e,t){if(e==="rotater")return"crosshair";t+=de.degToRad(u6e[e]||0);var n=(de.radToDeg(t)%360+360)%360;return de._inRange(n,315+22.5,360)||de._inRange(n,0,22.5)?"ns-resize":de._inRange(n,45-22.5,45+22.5)?"nesw-resize":de._inRange(n,90-22.5,90+22.5)?"ew-resize":de._inRange(n,135-22.5,135+22.5)?"nwse-resize":de._inRange(n,180-22.5,180+22.5)?"ns-resize":de._inRange(n,225-22.5,225+22.5)?"nesw-resize":de._inRange(n,270-22.5,270+22.5)?"ew-resize":de._inRange(n,315-22.5,315+22.5)?"nwse-resize":(de.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var L3=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],xI=1e8;function f6e(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function RV(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function h6e(e,t){const n=f6e(e);return RV(e,t,n)}function p6e(e,t,n){let r=t;for(let i=0;i{const i=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},o=r._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");r.on(o,i),r.on(l6e.map(a=>a+`.${this._getEventNamespace()}`).join(" "),i),r.on(`absoluteTransformChange.${this._getEventNamespace()}`,i),this._proxyDrag(r)}),this._resetTransformCache();var n=!!this.findOne(".top-left");return n&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,a=i.y-n.y;this.nodes().forEach(s=>{if(s===t||s.isDragging())return;const l=s.getAbsolutePosition();s.setAbsolutePosition({x:l.x+o,y:l.y+a}),s.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(bI),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(bI,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),a=t.getAbsolutePosition(r),s=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(ft.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+s*Math.cos(u)+l*Math.sin(-u),y:a.y+l*Math.cos(u)+s*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return RV(d,-ft.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-xI,y:-xI,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var h=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],m=u.getAbsoluteTransform();h.forEach(function(y){var b=m.point(y);n.push(b)})});const r=new Ca;r.rotate(-ft.getAngle(this.rotation()));var i,o,a,s;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:a-i,height:s-o,rotation:ft.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),L3.forEach(function(t){this._createAnchor(t)}.bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new m2({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:c6e?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=ft.getAngle(this.rotation()),o=d6e(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new $e({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*de._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var a=t.target.getAbsolutePosition(),s=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:s.x-a.x,y:s.y-a.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),a=o.getStage();a.setPointersPositions(t);const s=a.getPointerPosition();let l={x:s.x-this._anchorDragOffset.x,y:s.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var h=this._getNodeRect();n=o.x()-h.width/2,r=-o.y()+h.height/2;let ne=Math.atan2(-r,n)+Math.PI/2;h.height<0&&(ne-=Math.PI);var m=ft.getAngle(this.rotation());const z=m+ne,$=ft.getAngle(this.rotationSnapTolerance()),X=p6e(this.rotationSnaps(),z,$)-h.rotation,Q=h6e(h,X);this._fitNodesInto(Q,t);return}var y=this.keepRatio()||t.shiftKey,k=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(y){var b=k?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(b.x-o.x(),2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-left").x()>b.x?-1:1,E=this.findOne(".top-left").y()>b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-left").x(b.x-n),this.findOne(".top-left").y(b.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(y){var b=k?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-b.x,2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-right").x()b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-right").x(b.x+n),this.findOne(".top-right").y(b.y-r)}var _=o.position();this.findOne(".top-left").y(_.y),this.findOne(".bottom-right").x(_.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(y){var b=k?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(b.x-o.x(),2)+Math.pow(o.y()-b.y,2));var w=b.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(de._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(de._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var a=new Ca;if(a.rotate(ft.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const h=a.point({x:-this.padding()*2,y:0});if(t.x+=h.x,t.y+=h.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const h=a.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const h=a.point({x:0,y:-this.padding()*2});if(t.x+=h.x,t.y+=h.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const h=a.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const h=this.boundBoxFunc()(r,t);h?t=h:de.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const s=1e7,l=new Ca;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/s,r.height/s);const u=new Ca;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/s,t.height/s);const d=u.multiply(l.invert());this._nodes.forEach(h=>{var m;const y=h.getParent().getAbsoluteTransform(),b=h.getTransform().copy();b.translate(h.offsetX(),h.offsetY());const w=new Ca;w.multiply(y.copy().invert()).multiply(d).multiply(y).multiply(b);const E=w.decompose();h.setAttrs(E),this._fire("transform",{evt:n,target:h}),h._fire("transform",{evt:n,target:h}),(m=h.getLayer())===null||m===void 0||m.batchDraw()}),this.rotation(de._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(de._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),a=this.resizeEnabled(),s=this.padding(),l=this.anchorSize();this.find("._anchor").forEach(u=>{u.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+s,offsetY:l/2+s,visible:a&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+s,visible:a&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-s,offsetY:l/2+s,visible:a&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+s,visible:a&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-s,visible:a&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-s,visible:a&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*de._sign(i)-s,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),Jm.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return Ge.prototype.toObject.call(this)}clone(t){var n=Ge.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}};function g6e(e){return e instanceof Array||de.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){L3.indexOf(t)===-1&&de.warn("Unknown anchor name: "+t+". Available names are: "+L3.join(", "))}),e||[]}Tn.prototype.className="Transformer";Mr(Tn);J.addGetterSetter(Tn,"enabledAnchors",L3,g6e);J.addGetterSetter(Tn,"flipEnabled",!0,el());J.addGetterSetter(Tn,"resizeEnabled",!0);J.addGetterSetter(Tn,"anchorSize",10,Ve());J.addGetterSetter(Tn,"rotateEnabled",!0);J.addGetterSetter(Tn,"rotationSnaps",[]);J.addGetterSetter(Tn,"rotateAnchorOffset",50,Ve());J.addGetterSetter(Tn,"rotationSnapTolerance",5,Ve());J.addGetterSetter(Tn,"borderEnabled",!0);J.addGetterSetter(Tn,"anchorStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"anchorStrokeWidth",1,Ve());J.addGetterSetter(Tn,"anchorFill","white");J.addGetterSetter(Tn,"anchorCornerRadius",0,Ve());J.addGetterSetter(Tn,"borderStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"borderStrokeWidth",1,Ve());J.addGetterSetter(Tn,"borderDash");J.addGetterSetter(Tn,"keepRatio",!0);J.addGetterSetter(Tn,"centeredScaling",!1);J.addGetterSetter(Tn,"ignoreStroke",!1);J.addGetterSetter(Tn,"padding",0,Ve());J.addGetterSetter(Tn,"node");J.addGetterSetter(Tn,"nodes");J.addGetterSetter(Tn,"boundBoxFunc");J.addGetterSetter(Tn,"anchorDragBoundFunc");J.addGetterSetter(Tn,"shouldOverdrawWholeArea",!1);J.addGetterSetter(Tn,"useSingleNodeRotation",!0);J.backCompat(Tn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class gc extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,ft.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}gc.prototype.className="Wedge";gc.prototype._centroid=!0;gc.prototype._attrsAffectingSize=["radius"];Mr(gc);J.addGetterSetter(gc,"radius",0,Ve());J.addGetterSetter(gc,"angle",0,Ve());J.addGetterSetter(gc,"clockwise",!1);J.backCompat(gc,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function SI(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var m6e=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],v6e=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function y6e(e,t){var n=e.data,r=e.width,i=e.height,o,a,s,l,u,d,h,m,y,b,w,E,_,k,T,L,O,D,I,N,W,B,K,ne,z=t+t+1,$=r-1,V=i-1,X=t+1,Q=X*(X+1)/2,G=new SI,Y=null,ee=G,fe=null,Ce=null,we=m6e[t],xe=v6e[t];for(s=1;s>xe,K!==0?(K=255/K,n[d]=(m*we>>xe)*K,n[d+1]=(y*we>>xe)*K,n[d+2]=(b*we>>xe)*K):n[d]=n[d+1]=n[d+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=h+((l=o+t+1)<$?l:$)<<2,L+=fe.r=n[l],O+=fe.g=n[l+1],D+=fe.b=n[l+2],I+=fe.a=n[l+3],m+=L,y+=O,b+=D,w+=I,fe=fe.next,E+=N=Ce.r,_+=W=Ce.g,k+=B=Ce.b,T+=K=Ce.a,L-=N,O-=W,D-=B,I-=K,Ce=Ce.next,d+=4;h+=r}for(o=0;o>xe,K>0?(K=255/K,n[l]=(m*we>>xe)*K,n[l+1]=(y*we>>xe)*K,n[l+2]=(b*we>>xe)*K):n[l]=n[l+1]=n[l+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=o+((l=a+X)0&&y6e(t,n)};J.addGetterSetter(Ge,"blurRadius",0,Ve(),J.afterSetFilter);const x6e=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,a=a<0?0:a>255?255:a,n[s]=i,n[s+1]=o,n[s+2]=a};J.addGetterSetter(Ge,"contrast",0,Ve(),J.afterSetFilter);const w6e=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,a=0,s=e.data,l=e.width,u=e.height,d=l*4,h=u;switch(r){case"top-left":o=-1,a=-1;break;case"top":o=-1,a=0;break;case"top-right":o=-1,a=1;break;case"right":o=0,a=1;break;case"bottom-right":o=1,a=1;break;case"bottom":o=1,a=0;break;case"bottom-left":o=1,a=-1;break;case"left":o=0,a=-1;break;default:de.error("Unknown emboss direction: "+r)}do{var m=(h-1)*d,y=o;h+y<1&&(y=0),h+y>u&&(y=0);var b=(h-1+y)*l*4,w=l;do{var E=m+(w-1)*4,_=a;w+_<1&&(_=0),w+_>l&&(_=0);var k=b+(w-1+_)*4,T=s[E]-s[k],L=s[E+1]-s[k+1],O=s[E+2]-s[k+2],D=T,I=D>0?D:-D,N=L>0?L:-L,W=O>0?O:-O;if(N>I&&(D=L),W>I&&(D=O),D*=t,i){var B=s[E]+D,K=s[E+1]+D,ne=s[E+2]+D;s[E]=B>255?255:B<0?0:B,s[E+1]=K>255?255:K<0?0:K,s[E+2]=ne>255?255:ne<0?0:ne}else{var z=n-D;z<0?z=0:z>255&&(z=255),s[E]=s[E+1]=s[E+2]=z}}while(--w)}while(--h)};J.addGetterSetter(Ge,"embossStrength",.5,Ve(),J.afterSetFilter);J.addGetterSetter(Ge,"embossWhiteLevel",.5,Ve(),J.afterSetFilter);J.addGetterSetter(Ge,"embossDirection","top-left",null,J.afterSetFilter);J.addGetterSetter(Ge,"embossBlend",!1,null,J.afterSetFilter);function YC(e,t,n,r,i){var o=n-t,a=i-r,s;return o===0?r+a/2:a===0?r:(s=(e-t)/o,s=a*s+r,s)}const C6e=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,a=t[1],s=a,l,u=t[2],d=u,h,m,y=this.enhance();if(y!==0){for(m=0;mi&&(i=o),l=t[m+1],ls&&(s=l),h=t[m+2],hd&&(d=h);i===r&&(i=255,r=0),s===a&&(s=255,a=0),d===u&&(d=255,u=0);var b,w,E,_,k,T,L,O,D;for(y>0?(w=i+y*(255-i),E=r-y*(r-0),k=s+y*(255-s),T=a-y*(a-0),O=d+y*(255-d),D=u-y*(u-0)):(b=(i+r)*.5,w=i+y*(i-b),E=r+y*(r-b),_=(s+a)*.5,k=s+y*(s-_),T=a+y*(a-_),L=(d+u)*.5,O=d+y*(d-L),D=u+y*(u-L)),m=0;m_?E:_;var k=a,T=o,L,O,D=360/T*Math.PI/180,I,N;for(O=0;OT?k:T;var L=a,O=o,D,I,N=n.polarRotation||0,W,B;for(d=0;dt&&(L=T,O=0,D=-1),i=0;i=0&&y=0&&b=0&&y=0&&b=255*4?255:0}return a}function j6e(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),a=[],s=0;s=0&&y=0&&b=n))for(o=w;o=r||(a=(n*o+i)*4,s+=L[a+0],l+=L[a+1],u+=L[a+2],d+=L[a+3],T+=1);for(s=s/T,l=l/T,u=u/T,d=d/T,i=y;i=n))for(o=w;o=r||(a=(n*o+i)*4,L[a+0]=s,L[a+1]=l,L[a+2]=u,L[a+3]=d)}};J.addGetterSetter(Ge,"pixelSize",8,Ve(),J.afterSetFilter);const B6e=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"blue",0,nV,J.afterSetFilter);const H6e=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),a=this.alpha(),s,l;for(s=0;s255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"blue",0,nV,J.afterSetFilter);J.addGetterSetter(Ge,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});const W6e=function(e){var t=e.data,n=t.length,r,i,o,a;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),h>127&&(h=255-h),t[l]=u,t[l+1]=d,t[l+2]=h}while(--s)}while(--o)},V6e=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:n,height:r}=t,i=document.createElement("div"),o=new $g.Stage({container:i,width:n,height:r}),a=new $g.Layer,s=new $g.Layer;a.add(new $g.Rect({...t,fill:"white"})),e.forEach(u=>s.add(new $g.Line({points:u.points,stroke:"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),o.add(a),o.add(s);const l=o.toDataURL({...t});return i.remove(),l};let IV=null,DV=null;const q6e=e=>{IV=e},Qs=()=>IV,K6e=e=>{DV=e},jV=()=>DV,Y6e=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},NV=(e,t)=>Math.floor(Math.random()*(t-e+1)+e),X6e=e=>{const t=Qs(),{generationMode:n,generationState:r,postprocessingState:i,canvasState:o,systemState:a}=e,{codeformerFidelity:s,facetoolStrength:l,facetoolType:u,hiresFix:d,hiresStrength:h,shouldRunESRGAN:m,shouldRunFacetool:y,upscalingLevel:b,upscalingStrength:w,upscalingDenoising:E}=i,{cfgScale:_,height:k,img2imgStrength:T,infillMethod:L,initialImage:O,iterations:D,perlin:I,prompt:N,negativePrompt:W,sampler:B,seamBlur:K,seamless:ne,seamSize:z,seamSteps:$,seamStrength:V,seed:X,seedWeights:Q,shouldFitToWidthHeight:G,shouldGenerateVariations:Y,shouldRandomizeSeed:ee,steps:fe,threshold:Ce,tileSize:we,variationAmount:xe,width:Le,shouldUseSymmetry:Se,horizontalSymmetryTimePercentage:Qe,verticalSymmetryTimePercentage:Xe}=r,{shouldDisplayInProgressType:tt,saveIntermediatesInterval:yt,enableImageDebugging:Be}=a,Ae={prompt:N,iterations:D,steps:fe,cfg_scale:_,threshold:Ce,perlin:I,height:k,width:Le,sampler_name:B,seed:X,progress_images:tt==="full-res",progress_latents:tt==="latents",save_intermediates:yt,generation_mode:n,init_mask:""};let bt=!1,Fe=!1;if(W!==""&&(Ae.prompt=`${N} [${W}]`),Ae.seed=ee?NV(CE,_E):X,Se&&(Qe>0&&(Ae.h_symmetry_time_pct=Math.max(0,Math.min(1,Qe/fe))),Qe>0&&(Ae.v_symmetry_time_pct=Math.max(0,Math.min(1,Xe/fe)))),n==="txt2img"&&(Ae.hires_fix=d,d&&(Ae.strength=h)),["txt2img","img2img"].includes(n)&&(Ae.seamless=ne,m&&(bt={level:b,denoise_str:E,strength:w}),y&&(Fe={type:u,strength:l},u==="codeformer"&&(Fe.codeformer_fidelity=s))),n==="img2img"&&O&&(Ae.init_img=typeof O=="string"?O:O.url,Ae.strength=T,Ae.fit=G),n==="unifiedCanvas"&&t){const{layerState:{objects:at},boundingBoxCoordinates:jt,boundingBoxDimensions:mt,stageScale:Zt,isMaskEnabled:on,shouldPreserveMaskedArea:se,boundingBoxScaleMethod:Ie,scaledBoundingBoxDimensions:He}=o,Ue={...jt,...mt},ye=G6e(on?at.filter(hE):[],Ue);Ae.init_mask=ye,Ae.fit=!1,Ae.strength=T,Ae.invert_mask=se,Ae.bounding_box=Ue;const je=t.scale();t.scale({x:1/Zt,y:1/Zt});const vt=t.getAbsolutePosition(),Mt=t.toDataURL({x:Ue.x+vt.x,y:Ue.y+vt.y,width:Ue.width,height:Ue.height});Be&&Y6e([{base64:ye,caption:"mask sent as init_mask"},{base64:Mt,caption:"image sent as init_img"}]),t.scale(je),Ae.init_img=Mt,Ae.progress_images=!1,Ie!=="none"&&(Ae.inpaint_width=He.width,Ae.inpaint_height=He.height),Ae.seam_size=z,Ae.seam_blur=K,Ae.seam_strength=V,Ae.seam_steps=$,Ae.tile_size=we,Ae.infill_method=L,Ae.force_outpaint=!1}return Y?(Ae.variation_amount=xe,Q&&(Ae.with_variations=D3e(Q))):Ae.variation_amount=0,Be&&(Ae.enable_image_debugging=Be),{generationParameters:Ae,esrganParameters:bt,facetoolParameters:Fe}};var Z6e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,Q6e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,J6e=/[^-+\dA-Z]/g;function Ti(e,t,n,r){if(arguments.length===1&&typeof e=="string"&&!/\d/.test(e)&&(t=e,e=void 0),e=e||e===0?e:new Date,e instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");t=String(wI[t]||t||wI.default);var i=t.slice(0,4);(i==="UTC:"||i==="GMT:")&&(t=t.slice(4),n=!0,i==="GMT:"&&(r=!0));var o=function(){return n?"getUTC":"get"},a=function(){return e[o()+"Date"]()},s=function(){return e[o()+"Day"]()},l=function(){return e[o()+"Month"]()},u=function(){return e[o()+"FullYear"]()},d=function(){return e[o()+"Hours"]()},h=function(){return e[o()+"Minutes"]()},m=function(){return e[o()+"Seconds"]()},y=function(){return e[o()+"Milliseconds"]()},b=function(){return n?0:e.getTimezoneOffset()},w=function(){return e_e(e)},E=function(){return t_e(e)},_={d:function(){return a()},dd:function(){return xa(a())},ddd:function(){return zo.dayNames[s()]},DDD:function(){return CI({y:u(),m:l(),d:a(),_:o(),dayName:zo.dayNames[s()],short:!0})},dddd:function(){return zo.dayNames[s()+7]},DDDD:function(){return CI({y:u(),m:l(),d:a(),_:o(),dayName:zo.dayNames[s()+7]})},m:function(){return l()+1},mm:function(){return xa(l()+1)},mmm:function(){return zo.monthNames[l()]},mmmm:function(){return zo.monthNames[l()+12]},yy:function(){return String(u()).slice(2)},yyyy:function(){return xa(u(),4)},h:function(){return d()%12||12},hh:function(){return xa(d()%12||12)},H:function(){return d()},HH:function(){return xa(d())},M:function(){return h()},MM:function(){return xa(h())},s:function(){return m()},ss:function(){return xa(m())},l:function(){return xa(y(),3)},L:function(){return xa(Math.floor(y()/10))},t:function(){return d()<12?zo.timeNames[0]:zo.timeNames[1]},tt:function(){return d()<12?zo.timeNames[2]:zo.timeNames[3]},T:function(){return d()<12?zo.timeNames[4]:zo.timeNames[5]},TT:function(){return d()<12?zo.timeNames[6]:zo.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":n_e(e)},o:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60)*100+Math.abs(b())%60,4)},p:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60),2)+":"+xa(Math.floor(Math.abs(b())%60),2)},S:function(){return["th","st","nd","rd"][a()%10>3?0:(a()%100-a()%10!=10)*a()%10]},W:function(){return w()},WW:function(){return xa(w())},N:function(){return E()}};return t.replace(Z6e,function(k){return k in _?_[k]():k.slice(1,k.length-1)})}var wI={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},zo={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]},xa=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},CI=function(t){var n=t.y,r=t.m,i=t.d,o=t._,a=t.dayName,s=t.short,l=s===void 0?!1:s,u=new Date,d=new Date;d.setDate(d[o+"Date"]()-1);var h=new Date;h.setDate(h[o+"Date"]()+1);var m=function(){return u[o+"Date"]()},y=function(){return u[o+"Month"]()},b=function(){return u[o+"FullYear"]()},w=function(){return d[o+"Date"]()},E=function(){return d[o+"Month"]()},_=function(){return d[o+"FullYear"]()},k=function(){return h[o+"Date"]()},T=function(){return h[o+"Month"]()},L=function(){return h[o+"FullYear"]()};return b()===n&&y()===r&&m()===i?l?"Tdy":"Today":_()===n&&E()===r&&w()===i?l?"Ysd":"Yesterday":L()===n&&T()===r&&k()===i?l?"Tmw":"Tomorrow":a},e_e=function(t){var n=new Date(t.getFullYear(),t.getMonth(),t.getDate());n.setDate(n.getDate()-(n.getDay()+6)%7+3);var r=new Date(n.getFullYear(),0,4);r.setDate(r.getDate()-(r.getDay()+6)%7+3);var i=n.getTimezoneOffset()-r.getTimezoneOffset();n.setHours(n.getHours()-i);var o=(n-r)/(864e5*7);return 1+Math.floor(o)},t_e=function(t){var n=t.getDay();return n===0&&(n=7),n},n_e=function(t){return(String(t).match(Q6e)||[""]).pop().replace(J6e,"").replace(/GMT\+0000/g,"UTC")};const r_e=(e,t)=>{const{dispatch:n,getState:r}=e;return{emitGenerateImage:i=>{n(wa(!0));const o=r(),{generation:a,postprocessing:s,system:l,canvas:u}=o,d={generationMode:i,generationState:a,postprocessingState:s,canvasState:u,systemState:l};n(P4e());const{generationParameters:h,esrganParameters:m,facetoolParameters:y}=X6e(d);t.emit("generateImage",h,m,y),h.init_mask&&(h.init_mask=h.init_mask.substr(0,64).concat("...")),h.init_img&&(h.init_img=h.init_img.substr(0,64).concat("...")),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generation requested: ${JSON.stringify({...h,...m,...y})}`}))},emitRunESRGAN:i=>{n(wa(!0));const{postprocessing:{upscalingLevel:o,upscalingDenoising:a,upscalingStrength:s}}=r(),l={upscale:[o,a,s]};t.emit("runPostprocessing",i,{type:"esrgan",...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`ESRGAN upscale requested: ${JSON.stringify({file:i.url,...l})}`}))},emitRunFacetool:i=>{n(wa(!0));const{postprocessing:{facetoolType:o,facetoolStrength:a,codeformerFidelity:s}}=r(),l={facetool_strength:a};o==="codeformer"&&(l.codeformer_fidelity=s),t.emit("runPostprocessing",i,{type:o,...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Face restoration (${o}) requested: ${JSON.stringify({file:i.url,...l})}`}))},emitDeleteImage:i=>{const{url:o,uuid:a,category:s,thumbnail:l}=i;n(JW(i)),t.emit("deleteImage",o,l,a,s)},emitRequestImages:i=>{const o=r().gallery,{earliest_mtime:a}=o.categories[i];t.emit("requestImages",i,a)},emitRequestNewImages:i=>{const o=r().gallery,{latest_mtime:a}=o.categories[i];t.emit("requestLatestImages",i,a)},emitCancelProcessing:()=>{t.emit("cancel")},emitRequestSystemConfig:()=>{t.emit("requestSystemConfig")},emitSearchForModels:i=>{t.emit("searchForModels",i)},emitAddNewModel:i=>{t.emit("addNewModel",i)},emitDeleteModel:i=>{t.emit("deleteModel",i)},emitConvertToDiffusers:i=>{n(C4e()),t.emit("convertToDiffusers",i)},emitMergeDiffusersModels:i=>{n(_4e()),t.emit("mergeDiffusersModels",i)},emitRequestModelChange:i=>{n(w4e()),t.emit("requestModelChange",i)},emitSaveStagingAreaImageToGallery:i=>{t.emit("requestSaveStagingAreaImageToGallery",i)},emitRequestEmptyTempFolder:()=>{t.emit("requestEmptyTempFolder")}}};let mx;const i_e=new Uint8Array(16);function o_e(){if(!mx&&(mx=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!mx))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mx(i_e)}const Hi=[];for(let e=0;e<256;++e)Hi.push((e+256).toString(16).slice(1));function a_e(e,t=0){return(Hi[e[t+0]]+Hi[e[t+1]]+Hi[e[t+2]]+Hi[e[t+3]]+"-"+Hi[e[t+4]]+Hi[e[t+5]]+"-"+Hi[e[t+6]]+Hi[e[t+7]]+"-"+Hi[e[t+8]]+Hi[e[t+9]]+"-"+Hi[e[t+10]]+Hi[e[t+11]]+Hi[e[t+12]]+Hi[e[t+13]]+Hi[e[t+14]]+Hi[e[t+15]]).toLowerCase()}const s_e=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),_I={randomUUID:s_e};function um(e,t,n){if(_I.randomUUID&&!t&&!e)return _I.randomUUID();e=e||{};const r=e.random||(e.rng||o_e)();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 a_e(r)}const Wk=br("socketio/generateImage"),l_e=br("socketio/runESRGAN"),u_e=br("socketio/runFacetool"),c_e=br("socketio/deleteImage"),Uk=br("socketio/requestImages"),kI=br("socketio/requestNewImages"),d_e=br("socketio/cancelProcessing"),f_e=br("socketio/requestSystemConfig"),EI=br("socketio/searchForModels"),v2=br("socketio/addNewModel"),h_e=br("socketio/deleteModel"),p_e=br("socketio/convertToDiffusers"),g_e=br("socketio/mergeDiffusersModels"),$V=br("socketio/requestModelChange"),m_e=br("socketio/saveStagingAreaImageToGallery"),v_e=br("socketio/requestEmptyTempFolder"),y_e=e=>{const{dispatch:t,getState:n}=e;return{onConnect:()=>{try{t(HR(!0)),t(hh(Et.t("common.statusConnected"))),t(f_e());const r=n().gallery;r.categories.result.latest_mtime?t(kI("result")):t(Uk("result")),r.categories.user.latest_mtime?t(kI("user")):t(Uk("user"))}catch(r){console.error(r)}},onDisconnect:()=>{try{t(HR(!1)),t(hh(Et.t("common.statusDisconnected"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Disconnected from server",level:"warning"}))}catch(r){console.error(r)}},onGenerationResult:r=>{try{const i=n(),{activeTab:o}=i.ui,{shouldLoopback:a}=i.postprocessing,{boundingBox:s,generationMode:l,...u}=r,d={uuid:um(),...u};if(["txt2img","img2img"].includes(l)&&t(sm({category:"result",image:{...d,category:"result"}})),l==="unifiedCanvas"&&r.boundingBox){const{boundingBox:h}=r;t(e3e({image:{...d,category:"temp"},boundingBox:h})),i.canvas.shouldAutoSave&&t(sm({image:{...d,category:"result"},category:"result"}))}if(a)switch(xE[o]){case"img2img":{t(y0(d));break}}t(jC()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generated: ${r.url}`}))}catch(i){console.error(i)}},onIntermediateResult:r=>{try{t(C3e({uuid:um(),...r,category:"result"})),r.isBase64||t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image generated: ${r.url}`}))}catch(i){console.error(i)}},onPostprocessingResult:r=>{try{t(sm({category:"result",image:{uuid:um(),...r,category:"result"}})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Postprocessed: ${r.url}`}))}catch(i){console.error(i)}},onProgressUpdate:r=>{try{t(wa(!0)),t(y4e(r))}catch(i){console.error(i)}},onError:r=>{const{message:i,additionalData:o}=r;try{t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Server error: ${i}`,level:"error"})),t(WR()),t(jC())}catch(a){console.error(a)}},onGalleryImages:r=>{const{images:i,areMoreImagesAvailable:o,category:a}=r,s=i.map(l=>({uuid:um(),...l}));t(w3e({images:s,areMoreImagesAvailable:o,category:a})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Loaded ${i.length} images`}))},onProcessingCanceled:()=>{t(S4e());const{intermediateImage:r}=n().gallery;r&&(r.isBase64||(t(sm({category:"result",image:r})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image saved: ${r.url}`}))),t(jC())),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Processing canceled",level:"warning"}))},onImageDeleted:r=>{const{url:i}=r;t(JW(r));const{generation:{initialImage:o,maskPath:a}}=n();(o===i||(o==null?void 0:o.url)===i)&&t(oU()),a===i&&t(lU("")),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image deleted: ${i}`}))},onSystemConfig:r=>{t(b4e(r)),r.infill_methods.includes("patchmatch")||t(sU(r.infill_methods[0]))},onFoundModels:r=>{const{search_folder:i,found_models:o}=r;t(jU(i)),t(NU(o))},onNewModelAdded:r=>{const{new_model_name:i,model_list:o,update:a}=r;t(Ag(o)),t(wa(!1)),t(hh(Et.t("modelManager.modelAdded"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model Added: ${i}`,level:"info"})),t($u({title:a?`${Et.t("modelManager.modelUpdated")}: ${i}`:`${Et.t("modelManager.modelAdded")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelDeleted:r=>{const{deleted_model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`${Et.t("modelmanager:modelAdded")}: ${i}`,level:"info"})),t($u({title:`${Et.t("modelmanager:modelEntryDeleted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelConverted:r=>{const{converted_model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelConverted"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model converted: ${i}`,level:"info"})),t($u({title:`${Et.t("modelmanager:modelConverted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelsMerged:r=>{const{merged_models:i,merged_model_name:o,model_list:a}=r;t(Ag(a)),t(hh(Et.t("common.statusMergedModels"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Models merged: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelsMerged")}: ${o}`,status:"success",duration:2500,isClosable:!0}))},onModelChanged:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelChanged"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model changed: ${i}`,level:"info"}))},onModelChangeFailed:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(_d(!0)),t(WR()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model change failed: ${i}`,level:"error"}))},onTempFolderEmptied:()=>{t($u({title:Et.t("toast.tempFoldersEmptied"),status:"success",duration:2500,isClosable:!0}))}}},b_e=()=>{const{origin:e}=new URL(window.location.href),t=pS(e,{timeout:6e4,path:`${window.location.pathname}socket.io`});let n=!1;return i=>o=>a=>{const{onConnect:s,onDisconnect:l,onError:u,onPostprocessingResult:d,onGenerationResult:h,onIntermediateResult:m,onProgressUpdate:y,onGalleryImages:b,onProcessingCanceled:w,onImageDeleted:E,onSystemConfig:_,onModelChanged:k,onFoundModels:T,onNewModelAdded:L,onModelDeleted:O,onModelConverted:D,onModelsMerged:I,onModelChangeFailed:N,onTempFolderEmptied:W}=y_e(i),{emitGenerateImage:B,emitRunESRGAN:K,emitRunFacetool:ne,emitDeleteImage:z,emitRequestImages:$,emitRequestNewImages:V,emitCancelProcessing:X,emitRequestSystemConfig:Q,emitSearchForModels:G,emitAddNewModel:Y,emitDeleteModel:ee,emitConvertToDiffusers:fe,emitMergeDiffusersModels:Ce,emitRequestModelChange:we,emitSaveStagingAreaImageToGallery:xe,emitRequestEmptyTempFolder:Le}=r_e(i,t);switch(n||(t.on("connect",()=>s()),t.on("disconnect",()=>l()),t.on("error",Se=>u(Se)),t.on("generationResult",Se=>h(Se)),t.on("postprocessingResult",Se=>d(Se)),t.on("intermediateResult",Se=>m(Se)),t.on("progressUpdate",Se=>y(Se)),t.on("galleryImages",Se=>b(Se)),t.on("processingCanceled",()=>{w()}),t.on("imageDeleted",Se=>{E(Se)}),t.on("systemConfig",Se=>{_(Se)}),t.on("foundModels",Se=>{T(Se)}),t.on("newModelAdded",Se=>{L(Se)}),t.on("modelDeleted",Se=>{O(Se)}),t.on("modelConverted",Se=>{D(Se)}),t.on("modelsMerged",Se=>{I(Se)}),t.on("modelChanged",Se=>{k(Se)}),t.on("modelChangeFailed",Se=>{N(Se)}),t.on("tempFolderEmptied",()=>{W()}),n=!0),a.type){case"socketio/generateImage":{B(a.payload);break}case"socketio/runESRGAN":{K(a.payload);break}case"socketio/runFacetool":{ne(a.payload);break}case"socketio/deleteImage":{z(a.payload);break}case"socketio/requestImages":{$(a.payload);break}case"socketio/requestNewImages":{V(a.payload);break}case"socketio/cancelProcessing":{X();break}case"socketio/requestSystemConfig":{Q();break}case"socketio/searchForModels":{G(a.payload);break}case"socketio/addNewModel":{Y(a.payload);break}case"socketio/deleteModel":{ee(a.payload);break}case"socketio/convertToDiffusers":{fe(a.payload);break}case"socketio/mergeDiffusersModels":{Ce(a.payload);break}case"socketio/requestModelChange":{we(a.payload);break}case"socketio/saveStagingAreaImageToGallery":{xe(a.payload);break}case"socketio/requestEmptyTempFolder":{Le();break}}o(a)}},x_e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"].map(e=>`canvas.${e}`),S_e=["currentIteration","currentStatus","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","socketId","totalIterations","totalSteps","openModel","cancelOptions.cancelAfter"].map(e=>`system.${e}`),w_e=["categories","currentCategory","currentImage","currentImageUuid","shouldAutoSwitchToNewImages","shouldHoldGalleryOpen","intermediateImage"].map(e=>`gallery.${e}`),FV=SW({generation:z3e,postprocessing:G3e,gallery:L3e,system:L4e,canvas:x3e,ui:z4e,lightbox:R3e}),C_e=OW.getPersistConfig({key:"root",storage:AW,rootReducer:FV,blacklist:[...x_e,...S_e,...w_e],debounce:300}),__e=PSe(C_e,FV),BV=rSe({reducer:__e,middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(b_e()),devTools:{actionsDenylist:["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine"]}}),zV=RSe(BV),AE=S.createContext(null),Te=vxe,le=axe;let PI;const OE=()=>({setOpenUploader:e=>{e&&(PI=e)},openUploader:PI}),Br=lt(e=>e.ui,e=>xE[e.activeTab],{memoizeOptions:{equalityCheck:Pe.isEqual}}),k_e=lt(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:Pe.isEqual}}),fp=lt(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:Pe.isEqual}}),TI=e=>async(t,n)=>{const{imageFile:r}=e,i=n(),o=Br(i),a=new FormData;a.append("file",r,r.name),a.append("data",JSON.stringify({kind:"init"}));const l=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:a})).json(),u={uuid:um(),category:"user",...l};t(sm({image:u,category:"user"})),o==="unifiedCanvas"?t(i4(u)):o==="img2img"&&t(y0(u))};function E_e(){const{t:e}=De();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.nodes")}),g.jsx("p",{children:e("common.nodesDesc")})]})}const P_e=()=>{const{t:e}=De();return g.jsxs("div",{className:"work-in-progress post-processing-work-in-progress",children:[g.jsx("h1",{children:e("common.postProcessing")}),g.jsx("p",{children:e("common.postProcessDesc1")}),g.jsx("p",{children:e("common.postProcessDesc2")}),g.jsx("p",{children:e("common.postProcessDesc3")})]})};function T_e(){const{t:e}=De();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.training")}),g.jsxs("p",{children:[e("common.trainingDesc1"),g.jsx("br",{}),g.jsx("br",{}),e("common.trainingDesc2")]})]})}function M_e(e){const{i18n:t}=De(),n=localStorage.getItem("i18nextLng");Ke.useEffect(()=>{e()},[e]),Ke.useEffect(()=>{t.on("languageChanged",()=>{e()})},[e,t,n])}const L_e=fc({displayName:"ImageToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{transform:"matrix(1.10943,0,0,1.10943,-206.981,-213.533)",children:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M688.533,2405.95L542.987,2405.95C349.532,2405.95 192.47,2248.89 192.47,2055.44L192.47,542.987C192.47,349.532 349.532,192.47 542.987,192.47L2527.88,192.47C2721.33,192.47 2878.4,349.532 2878.4,542.987L2878.4,1172.79L3023.94,1172.79C3217.4,1172.79 3374.46,1329.85 3374.46,1523.3C3374.46,1523.3 3374.46,3035.75 3374.46,3035.75C3374.46,3229.21 3217.4,3386.27 3023.94,3386.27L1039.05,3386.27C845.595,3386.27 688.533,3229.21 688.533,3035.75L688.533,2405.95ZM3286.96,2634.37L3286.96,1523.3C3286.96,1378.14 3169.11,1260.29 3023.94,1260.29C3023.94,1260.29 1039.05,1260.29 1039.05,1260.29C893.887,1260.29 776.033,1378.14 776.033,1523.3L776.033,2489.79L1440.94,1736.22L2385.83,2775.59L2880.71,2200.41L3286.96,2634.37ZM2622.05,1405.51C2778.5,1405.51 2905.51,1532.53 2905.51,1688.98C2905.51,1845.42 2778.5,1972.44 2622.05,1972.44C2465.6,1972.44 2338.58,1845.42 2338.58,1688.98C2338.58,1532.53 2465.6,1405.51 2622.05,1405.51ZM2790.9,1172.79L1323.86,1172.79L944.882,755.906L279.97,1509.47L279.97,542.987C279.97,397.824 397.824,279.97 542.987,279.97C542.987,279.97 2527.88,279.97 2527.88,279.97C2673.04,279.97 2790.9,397.824 2790.9,542.987L2790.9,1172.79ZM2125.98,425.197C2282.43,425.197 2409.45,552.213 2409.45,708.661C2409.45,865.11 2282.43,992.126 2125.98,992.126C1969.54,992.126 1842.52,865.11 1842.52,708.661C1842.52,552.213 1969.54,425.197 2125.98,425.197Z"})})}),A_e=fc({displayName:"NodesIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 0,515.578 0,770.787L0,2766.03C0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM3427.88,770.787L3427.88,2766.03C3427.88,2957.53 3272.4,3113.01 3080.9,3113.01C3080.9,3113.01 462.407,3113.01 462.407,3113.01C270.906,3113.01 115.431,2957.53 115.431,2766.03L115.431,770.787C115.431,579.286 270.906,423.812 462.407,423.812L3080.9,423.812C3272.4,423.812 3427.88,579.286 3427.88,770.787ZM1214.23,1130.69L1321.47,1130.69C1324.01,1130.69 1326.54,1130.53 1329.05,1130.2C1329.05,1130.2 1367.3,1125.33 1397.94,1149.8C1421.63,1168.72 1437.33,1204.3 1437.33,1265.48L1437.33,2078.74L1220.99,2078.74C1146.83,2078.74 1086.61,2138.95 1086.61,2213.12L1086.61,2762.46C1086.61,2836.63 1146.83,2896.84 1220.99,2896.84L1770.34,2896.84C1844.5,2896.84 1904.71,2836.63 1904.71,2762.46L1904.71,2213.12C1904.71,2138.95 1844.5,2078.74 1770.34,2078.74L1554,2078.74L1554,1604.84C1625.84,1658.19 1703.39,1658.1 1703.39,1658.1C1703.54,1658.1 1703.69,1658.11 1703.84,1658.11L2362.2,1658.11L2362.2,1874.44C2362.2,1948.61 2422.42,2008.82 2496.58,2008.82L3045.93,2008.82C3120.09,2008.82 3180.3,1948.61 3180.3,1874.44L3180.3,1325.1C3180.3,1250.93 3120.09,1190.72 3045.93,1190.72L2496.58,1190.72C2422.42,1190.72 2362.2,1250.93 2362.2,1325.1L2362.2,1558.97L2362.2,1541.44L1704.23,1541.44C1702.2,1541.37 1650.96,1539.37 1609.51,1499.26C1577.72,1468.49 1554,1416.47 1554,1331.69L1554,1265.48C1554,1153.86 1513.98,1093.17 1470.76,1058.64C1411.24,1011.1 1338.98,1012.58 1319.15,1014.03L1214.23,1014.03L1214.23,796.992C1214.23,722.828 1154.02,662.617 1079.85,662.617L530.507,662.617C456.343,662.617 396.131,722.828 396.131,796.992L396.131,1346.34C396.131,1420.5 456.343,1480.71 530.507,1480.71L1079.85,1480.71C1154.02,1480.71 1214.23,1420.5 1214.23,1346.34L1214.23,1130.69Z"})}),O_e=fc({displayName:"PostprocessingIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M709.477,1596.53L992.591,1275.66L2239.09,2646.81L2891.95,1888.03L3427.88,2460.51L3427.88,994.78C3427.88,954.66 3421.05,916.122 3408.5,880.254L3521.9,855.419C3535.8,899.386 3543.31,946.214 3543.31,994.78L3543.31,2990.02C3543.31,3245.23 3336.11,3452.43 3080.9,3452.43C3080.9,3452.43 462.407,3452.43 462.407,3452.43C207.197,3452.43 -0,3245.23 -0,2990.02L-0,994.78C-0,739.571 207.197,532.373 462.407,532.373L505.419,532.373L504.644,532.546L807.104,600.085C820.223,601.729 832.422,607.722 841.77,617.116C850.131,625.517 855.784,636.21 858.055,647.804L462.407,647.804C270.906,647.804 115.431,803.279 115.431,994.78L115.431,2075.73L-0,2101.5L115.431,2127.28L115.431,2269.78L220.47,2150.73L482.345,2209.21C503.267,2211.83 522.722,2221.39 537.63,2236.37C552.538,2251.35 562.049,2270.9 564.657,2291.93L671.84,2776.17L779.022,2291.93C781.631,2270.9 791.141,2251.35 806.05,2236.37C820.958,2221.39 840.413,2211.83 861.334,2209.21L1353.15,2101.5L861.334,1993.8C840.413,1991.18 820.958,1981.62 806.05,1966.64C791.141,1951.66 781.631,1932.11 779.022,1911.08L709.477,1596.53ZM671.84,1573.09L725.556,2006.07C726.863,2016.61 731.63,2026.4 739.101,2033.91C746.573,2041.42 756.323,2046.21 766.808,2047.53L1197.68,2101.5L766.808,2155.48C756.323,2156.8 746.573,2161.59 739.101,2169.09C731.63,2176.6 726.863,2186.4 725.556,2196.94L671.84,2629.92L618.124,2196.94C616.817,2186.4 612.05,2176.6 604.579,2169.09C597.107,2161.59 587.357,2156.8 576.872,2155.48L146.001,2101.5L576.872,2047.53C587.357,2046.21 597.107,2041.42 604.579,2033.91C612.05,2026.4 616.817,2016.61 618.124,2006.07L671.84,1573.09ZM609.035,1710.36L564.657,1911.08C562.049,1932.11 552.538,1951.66 537.63,1966.64C522.722,1981.62 503.267,1991.18 482.345,1993.8L328.665,2028.11L609.035,1710.36ZM2297.12,938.615L2451.12,973.003C2480.59,976.695 2507.99,990.158 2528.99,1011.26C2549.99,1032.37 2563.39,1059.9 2567.07,1089.52L2672.73,1566.9C2634.5,1580.11 2593.44,1587.29 2550.72,1587.29C2344.33,1587.29 2176.77,1419.73 2176.77,1213.34C2176.77,1104.78 2223.13,1006.96 2297.12,938.615ZM2718.05,76.925L2793.72,686.847C2795.56,701.69 2802.27,715.491 2812.8,726.068C2823.32,736.644 2837.06,743.391 2851.83,745.242L3458.78,821.28L2851.83,897.318C2837.06,899.168 2823.32,905.916 2812.8,916.492C2802.27,927.068 2795.56,940.87 2793.72,955.712L2718.05,1565.63L2642.38,955.712C2640.54,940.87 2633.83,927.068 2623.3,916.492C2612.78,905.916 2599.04,899.168 2584.27,897.318L1977.32,821.28L2584.27,745.242C2599.04,743.391 2612.78,736.644 2623.3,726.068C2633.83,715.491 2640.54,701.69 2642.38,686.847L2718.05,76.925ZM2883.68,1043.06C2909.88,1094.13 2924.67,1152.02 2924.67,1213.34C2924.67,1335.4 2866.06,1443.88 2775.49,1512.14L2869.03,1089.52C2871.07,1073.15 2876.07,1057.42 2883.68,1043.06ZM925.928,201.2L959.611,472.704C960.431,479.311 963.42,485.455 968.105,490.163C972.79,494.871 978.904,497.875 985.479,498.698L1255.66,532.546L985.479,566.395C978.904,567.218 972.79,570.222 968.105,574.93C963.42,579.638 960.431,585.781 959.611,592.388L925.928,863.893L892.245,592.388C891.425,585.781 888.436,579.638 883.751,574.93C879.066,570.222 872.952,567.218 866.378,566.395L596.195,532.546L866.378,498.698C872.952,497.875 879.066,494.871 883.751,490.163C888.436,485.455 891.425,479.311 892.245,472.704L925.928,201.2ZM2864.47,532.373L3080.9,532.373C3258.7,532.373 3413.2,632.945 3490.58,780.281L3319.31,742.773C3257.14,683.925 3173.2,647.804 3080.9,647.804L2927.07,647.804C2919.95,642.994 2913.25,637.473 2907.11,631.298C2886.11,610.194 2872.71,582.655 2869.03,553.04L2864.47,532.373ZM1352.36,532.373L2571.64,532.373L2567.07,553.04C2563.39,582.655 2549.99,610.194 2528.99,631.298C2522.85,637.473 2516.16,642.994 2509.03,647.804L993.801,647.804C996.072,636.21 1001.73,625.517 1010.09,617.116C1019.43,607.722 1031.63,601.729 1044.75,600.085L1353.15,532.546L1352.36,532.373Z"})}),R_e=fc({displayName:"TextToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",transform:"matrix(1.11667,0,0,1.1066,-231.131,-213.062)",children:g.jsx("path",{d:"M2209.59,1137.35L2209.59,1098.17C2177.13,1108.99 2125.74,1121.91 2055.41,1136.94C2054.77,1137.08 2054.14,1137.21 2053.49,1137.35L1662.79,1137.35C1687.75,1101.98 1720.8,1074.35 1761.93,1054.44C1808.52,1031.9 1875.69,1012.22 1963.45,995.386C2081.86,973.146 2163.91,952.409 2209.59,933.174L2209.59,907.929C2209.59,859.241 2197.57,824.529 2173.53,803.792C2149.48,783.054 2104.1,772.686 2037.38,772.686C1992.3,772.686 1957.14,781.552 1931.89,799.284C1906.64,817.015 1886.21,848.121 1870.58,892.601L1640.67,851.127C1666.51,758.56 1710.99,690.037 1774.11,645.557C1837.22,601.077 1930.99,578.837 2055.41,578.837C2168.42,578.837 2252.57,592.211 2307.87,618.959C2363.17,645.707 2402.09,679.668 2424.63,720.842C2447.17,762.016 2458.44,837.602 2458.44,947.6L2456.7,1137.35L3021.34,1137.35C3214.79,1137.35 3371.86,1294.41 3371.86,1487.87C3371.86,1487.87 3371.86,3000.32 3371.86,3000.32C3371.86,3193.78 3214.79,3350.84 3021.34,3350.84C3021.34,3350.84 1036.45,3350.84 1036.45,3350.84C842.991,3350.84 685.93,3193.78 685.93,3000.32L685.93,1487.87C685.93,1400.21 718.174,1320.03 771.448,1258.54L772.123,1257.76L607.408,1257.76L498.311,1558L215.202,1558L730.028,236.22L1012.24,236.22L1373.06,1137.35L2209.59,1137.35ZM3284.36,2598.93L3284.36,1487.87C3284.36,1342.71 3166.5,1224.85 3021.34,1224.85C3021.34,1224.85 1036.45,1224.85 1036.45,1224.85C891.284,1224.85 773.43,1342.71 773.43,1487.87L773.43,2454.35L1438.34,1700.79L2383.22,2740.16L2878.11,2164.98L3284.36,2598.93ZM2619.44,1370.08C2775.89,1370.08 2902.91,1497.1 2902.91,1653.54C2902.91,1809.99 2775.89,1937.01 2619.44,1937.01C2462.99,1937.01 2335.98,1809.99 2335.98,1653.54C2335.98,1497.1 2462.99,1370.08 2619.44,1370.08ZM772.877,1256.89L772.849,1256.93L773.167,1256.57L772.877,1256.89ZM773.634,1256.04L773.563,1256.12L773.985,1255.64L773.634,1256.04ZM774.394,1255.18L774.276,1255.31L774.746,1254.78L774.394,1255.18ZM775.157,1254.32L774.988,1254.51L775.493,1253.95L775.157,1254.32ZM775.923,1253.47L775.698,1253.72L776.237,1253.12L775.923,1253.47ZM776.691,1252.62L776.403,1252.94L776.979,1252.3L776.691,1252.62ZM777.462,1251.77L777.098,1252.17L777.723,1251.49L777.462,1251.77ZM925.081,1155.44C868.026,1174.57 817.508,1207.99 777.775,1251.43C817.511,1207.99 868.031,1174.57 925.081,1155.44ZM925.646,1155.25L925.108,1155.43L926.103,1155.1L925.646,1155.25ZM935.286,1152.2C932.214,1153.12 929.159,1154.09 926.13,1155.09C929.165,1154.09 932.219,1153.12 935.286,1152.2ZM935.716,1152.07L935.384,1152.17L936.292,1151.89L935.716,1152.07ZM936.843,1151.73L936.451,1151.85L937.327,1151.59L936.843,1151.73ZM937.972,1151.4L937.514,1151.53L938.377,1151.28L937.972,1151.4ZM939.102,1151.07L938.57,1151.22L939.438,1150.97L939.102,1151.07ZM940.233,1150.74L939.613,1150.92L940.505,1150.67L940.233,1150.74ZM946.659,1148.98C944.639,1149.51 942.626,1150.07 940.626,1150.63C942.631,1150.06 944.642,1149.51 946.659,1148.98ZM947.056,1148.87L946.829,1148.93L947.659,1148.71L947.056,1148.87ZM948.198,1148.57L947.919,1148.65L948.705,1148.44L948.198,1148.57ZM949.342,1148.28L949.008,1148.37L949.771,1148.17L949.342,1148.28ZM950.488,1147.99L950.096,1148.09L950.848,1147.9L950.488,1147.99ZM951.635,1147.7L951.182,1147.81L951.932,1147.63L951.635,1147.7ZM952.783,1147.42L952.262,1147.55L953.022,1147.36L952.783,1147.42ZM953.933,1147.14L953.327,1147.28L954.115,1147.09L953.933,1147.14ZM958.213,1146.13C956.927,1146.42 955.644,1146.73 954.354,1147.04C955.637,1146.73 956.923,1146.43 958.213,1146.13ZM958.547,1146.06L958.409,1146.09L959.174,1145.91L958.547,1146.06ZM959.704,1145.79L959.517,1145.84L960.229,1145.68L959.704,1145.79ZM960.863,1145.54L960.626,1145.59L961.311,1145.44L960.863,1145.54ZM962.023,1145.28L961.736,1145.35L962.406,1145.2L962.023,1145.28ZM963.184,1145.03L962.846,1145.11L963.508,1144.97L963.184,1145.03ZM964.347,1144.79L963.956,1144.87L964.615,1144.73L964.347,1144.79ZM965.511,1144.55L965.066,1144.64L965.725,1144.5L965.511,1144.55ZM966.677,1144.31L966.172,1144.41L966.838,1144.28L966.677,1144.31ZM967.844,1144.08L967.269,1144.19L967.953,1144.05L967.844,1144.08ZM970.183,1143.62C969.793,1143.69 969.403,1143.77 969.013,1143.85L969.055,1143.84C969.413,1143.77 969.771,1143.7 970.129,1143.63L970.183,1143.62ZM971.354,1143.4L971.245,1143.42L971.882,1143.3L971.354,1143.4ZM972.526,1143.18L972.37,1143.21L972.987,1143.09L972.526,1143.18ZM973.7,1142.96L973.496,1143L974.103,1142.89L973.7,1142.96ZM974.876,1142.75L974.624,1142.8L975.225,1142.69L974.876,1142.75ZM976.052,1142.55L975.754,1142.6L976.349,1142.49L976.052,1142.55ZM977.23,1142.34L976.885,1142.4L977.476,1142.3L977.23,1142.34ZM978.41,1142.14L978.019,1142.21L978.605,1142.11L978.41,1142.14ZM979.59,1141.95L979.156,1142.02L979.736,1141.92L979.59,1141.95ZM980.772,1141.76L980.299,1141.83L980.868,1141.74L980.772,1141.76ZM981.955,1141.57L981.464,1141.65L982.002,1141.56L981.955,1141.57ZM983.14,1141.39L983.1,1141.39L983.605,1141.32L983.14,1141.39ZM984.326,1141.21L984.239,1141.22L984.778,1141.14L984.326,1141.21ZM985.513,1141.03L985.379,1141.05L985.928,1140.97L985.513,1141.03ZM986.702,1140.86L986.521,1140.89L987.073,1140.81L986.702,1140.86ZM987.891,1140.69L987.665,1140.73L988.218,1140.65L987.891,1140.69ZM989.082,1140.53L988.811,1140.57L989.363,1140.49L989.082,1140.53ZM990.275,1140.37L989.96,1140.41L990.508,1140.34L990.275,1140.37ZM991.468,1140.22L991.113,1140.26L991.654,1140.19L991.468,1140.22ZM992.663,1140.07L992.273,1140.12L992.8,1140.05L992.663,1140.07ZM993.859,1139.92L993.447,1139.97L993.948,1139.91L993.859,1139.92ZM995.056,1139.78L994.671,1139.82L995.097,1139.77L995.056,1139.78ZM996.255,1139.64L996.23,1139.64L996.578,1139.6L996.255,1139.64ZM997.454,1139.5L997.383,1139.51L997.852,1139.46L997.454,1139.5ZM998.655,1139.37L998.537,1139.38L999.041,1139.33L998.655,1139.37ZM999.857,1139.24L999.693,1139.26L1000.21,1139.21L999.857,1139.24ZM1001.06,1139.12L1000.85,1139.14L1001.38,1139.09L1001.06,1139.12ZM1002.26,1139L1002.01,1139.03L1002.54,1138.98L1002.26,1139ZM1003.47,1138.89L1003.18,1138.91L1003.7,1138.87L1003.47,1138.89ZM1004.68,1138.78L1004.34,1138.81L1004.86,1138.76L1004.68,1138.78ZM1005.89,1138.67L1005.52,1138.7L1006.02,1138.66L1005.89,1138.67ZM1007.1,1138.57L1006.71,1138.6L1007.18,1138.56L1007.1,1138.57ZM1008.31,1138.47L1007.96,1138.5L1008.35,1138.46L1008.31,1138.47ZM1009.52,1138.37L1009.5,1138.38L1009.72,1138.36L1009.52,1138.37ZM1010.73,1138.28L1010.67,1138.29L1011.1,1138.26L1010.73,1138.28ZM1011.94,1138.2L1011.84,1138.2L1012.32,1138.17L1011.94,1138.2ZM1013.16,1138.12L1013,1138.13L1013.51,1138.09L1013.16,1138.12ZM1014.37,1138.04L1014.17,1138.05L1014.69,1138.02L1014.37,1138.04ZM1015.59,1137.96L1015.35,1137.98L1015.86,1137.95L1015.59,1137.96ZM1016.81,1137.89L1016.52,1137.91L1017.04,1137.88L1016.81,1137.89ZM1018.03,1137.83L1017.7,1137.85L1018.21,1137.82L1018.03,1137.83ZM1019.25,1137.77L1018.89,1137.79L1019.39,1137.76L1019.25,1137.77ZM1020.47,1137.71L1020.1,1137.73L1020.56,1137.71L1020.47,1137.71ZM1021.69,1137.66L1021.36,1137.67L1021.74,1137.66L1021.69,1137.66ZM1022.92,1137.61L1022.91,1137.61L1023.02,1137.61L1022.92,1137.61ZM1024.14,1137.57L1024.09,1137.57L1024.49,1137.55L1024.14,1137.57ZM1025.37,1137.52L1025.27,1137.53L1025.74,1137.51L1025.37,1137.52ZM1026.6,1137.49L1026.45,1137.49L1026.94,1137.48L1026.6,1137.49ZM1027.82,1137.46L1027.63,1137.46L1028.14,1137.45L1027.82,1137.46ZM1029.05,1137.43L1028.81,1137.43L1029.33,1137.42L1029.05,1137.43ZM1030.28,1137.41L1030,1137.41L1030.52,1137.4L1030.28,1137.41ZM1031.51,1137.39L1031.19,1137.39L1031.7,1137.38L1031.51,1137.39ZM1032.75,1137.37L1032.39,1137.38L1032.89,1137.37L1032.75,1137.37ZM1033.98,1137.36L1033.61,1137.36L1034.07,1137.36L1033.98,1137.36ZM1035.21,1137.35L1034.87,1137.36L1035.26,1137.35L1035.21,1137.35ZM1050.1,1035.06L867.977,544.575L689.455,1035.06L1050.1,1035.06Z"})})}),I_e=fc({displayName:"TrainingIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M0,768.593L0,2774.71C0,2930.6 78.519,3068.3 198.135,3150.37C273.059,3202.68 364.177,3233.38 462.407,3233.38C462.407,3233.38 3080.9,3233.38 3080.9,3233.38C3179.13,3233.38 3270.25,3202.68 3345.17,3150.37C3464.79,3068.3 3543.31,2930.6 3543.31,2774.71L3543.31,768.593C3543.31,517.323 3339.31,313.324 3088.04,313.324L455.269,313.324C203.999,313.324 0,517.323 0,768.593ZM3427.88,775.73L3427.88,2770.97C3427.88,2962.47 3272.4,3117.95 3080.9,3117.95L462.407,3117.95C270.906,3117.95 115.431,2962.47 115.431,2770.97C115.431,2770.97 115.431,775.73 115.431,775.73C115.431,584.229 270.906,428.755 462.407,428.755C462.407,428.755 3080.9,428.755 3080.9,428.755C3272.4,428.755 3427.88,584.229 3427.88,775.73ZM796.24,1322.76L796.24,1250.45C796.24,1199.03 836.16,1157.27 885.331,1157.27C885.331,1157.27 946.847,1157.27 946.847,1157.27C996.017,1157.27 1035.94,1199.03 1035.94,1250.45L1035.94,1644.81L2507.37,1644.81L2507.37,1250.45C2507.37,1199.03 2547.29,1157.27 2596.46,1157.27C2596.46,1157.27 2657.98,1157.27 2657.98,1157.27C2707.15,1157.27 2747.07,1199.03 2747.07,1250.45L2747.07,1322.76C2756.66,1319.22 2767.02,1317.29 2777.83,1317.29C2777.83,1317.29 2839.34,1317.29 2839.34,1317.29C2888.51,1317.29 2928.43,1357.21 2928.43,1406.38L2928.43,1527.32C2933.51,1526.26 2938.77,1525.71 2944.16,1525.71L2995.3,1525.71C3036.18,1525.71 3069.37,1557.59 3069.37,1596.86C3069.37,1596.86 3069.37,1946.44 3069.37,1946.44C3069.37,1985.72 3036.18,2017.6 2995.3,2017.6C2995.3,2017.6 2944.16,2017.6 2944.16,2017.6C2938.77,2017.6 2933.51,2017.04 2928.43,2015.99L2928.43,2136.92C2928.43,2186.09 2888.51,2226.01 2839.34,2226.01L2777.83,2226.01C2767.02,2226.01 2756.66,2224.08 2747.07,2220.55L2747.07,2292.85C2747.07,2344.28 2707.15,2386.03 2657.98,2386.03C2657.98,2386.03 2596.46,2386.03 2596.46,2386.03C2547.29,2386.03 2507.37,2344.28 2507.37,2292.85L2507.37,1898.5L1035.94,1898.5L1035.94,2292.85C1035.94,2344.28 996.017,2386.03 946.847,2386.03C946.847,2386.03 885.331,2386.03 885.331,2386.03C836.16,2386.03 796.24,2344.28 796.24,2292.85L796.24,2220.55C786.651,2224.08 776.29,2226.01 765.482,2226.01L703.967,2226.01C654.796,2226.01 614.876,2186.09 614.876,2136.92L614.876,2015.99C609.801,2017.04 604.539,2017.6 599.144,2017.6C599.144,2017.6 548.003,2017.6 548.003,2017.6C507.125,2017.6 473.937,1985.72 473.937,1946.44C473.937,1946.44 473.937,1596.86 473.937,1596.86C473.937,1557.59 507.125,1525.71 548.003,1525.71L599.144,1525.71C604.539,1525.71 609.801,1526.26 614.876,1527.32L614.876,1406.38C614.876,1357.21 654.796,1317.29 703.967,1317.29C703.967,1317.29 765.482,1317.29 765.482,1317.29C776.29,1317.29 786.651,1319.22 796.24,1322.76ZM977.604,1250.45C977.604,1232.7 963.822,1218.29 946.847,1218.29L885.331,1218.29C868.355,1218.29 854.573,1232.7 854.573,1250.45L854.573,2292.85C854.573,2310.61 868.355,2325.02 885.331,2325.02L946.847,2325.02C963.822,2325.02 977.604,2310.61 977.604,2292.85L977.604,1250.45ZM2565.7,1250.45C2565.7,1232.7 2579.49,1218.29 2596.46,1218.29L2657.98,1218.29C2674.95,1218.29 2688.73,1232.7 2688.73,1250.45L2688.73,2292.85C2688.73,2310.61 2674.95,2325.02 2657.98,2325.02L2596.46,2325.02C2579.49,2325.02 2565.7,2310.61 2565.7,2292.85L2565.7,1250.45ZM673.209,1406.38L673.209,2136.92C673.209,2153.9 686.991,2167.68 703.967,2167.68L765.482,2167.68C782.458,2167.68 796.24,2153.9 796.24,2136.92L796.24,1406.38C796.24,1389.41 782.458,1375.63 765.482,1375.63L703.967,1375.63C686.991,1375.63 673.209,1389.41 673.209,1406.38ZM2870.1,1406.38L2870.1,2136.92C2870.1,2153.9 2856.32,2167.68 2839.34,2167.68L2777.83,2167.68C2760.85,2167.68 2747.07,2153.9 2747.07,2136.92L2747.07,1406.38C2747.07,1389.41 2760.85,1375.63 2777.83,1375.63L2839.34,1375.63C2856.32,1375.63 2870.1,1389.41 2870.1,1406.38ZM614.876,1577.5C610.535,1574.24 605.074,1572.3 599.144,1572.3L548.003,1572.3C533.89,1572.3 522.433,1583.3 522.433,1596.86L522.433,1946.44C522.433,1960 533.89,1971.01 548.003,1971.01L599.144,1971.01C605.074,1971.01 610.535,1969.07 614.876,1965.81L614.876,1577.5ZM2928.43,1965.81L2928.43,1577.5C2932.77,1574.24 2938.23,1572.3 2944.16,1572.3L2995.3,1572.3C3009.42,1572.3 3020.87,1583.3 3020.87,1596.86L3020.87,1946.44C3020.87,1960 3009.42,1971.01 2995.3,1971.01L2944.16,1971.01C2938.23,1971.01 2932.77,1969.07 2928.43,1965.81ZM2507.37,1703.14L1035.94,1703.14L1035.94,1840.16L2507.37,1840.16L2507.37,1898.38L2507.37,1659.46L2507.37,1703.14Z"})}),D_e=fc({displayName:"UnifiedCanvasIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 -0,515.578 -0,770.787L-0,2766.03C-0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM922.933,3113.01L462.407,3113.01C437.741,3113.01 413.674,3110.43 390.453,3105.52L390.453,2899.11L922.933,2899.11L922.933,3113.01ZM947.933,2899.11L947.933,3113.01L1480.41,3113.01L1480.41,2899.11L947.933,2899.11ZM1505.41,2899.11L1505.41,3113.01L2037.89,3113.01L2037.89,2899.11L1505.41,2899.11ZM2062.89,2899.11L2062.89,3113.01L2595.37,3113.01L2595.37,2899.11L2062.89,2899.11ZM3152.85,3105.52C3129.63,3110.43 3105.57,3113.01 3080.9,3113.01L2620.37,3113.01L2620.37,2899.11L3152.85,2899.11L3152.85,3105.52ZM365.453,3099.26L365.408,3099.24C354.521,3096.07 343.79,3092.37 333.266,3088.14C315.377,3080.95 298.094,3072.26 281.651,3062.2C263.114,3050.85 245.648,3037.77 229.544,3023.17C213.34,3008.49 198.518,2992.28 185.34,2974.83C174.102,2959.94 164.06,2944.16 155.353,2927.66C150.517,2918.5 146.102,2909.13 142.102,2899.57L141.91,2899.11L365.453,2899.11L365.453,3099.26ZM3401.4,2899.11C3361.33,2995.39 3279.12,3069.8 3177.85,3099.26L3177.85,2899.11L3401.4,2899.11ZM132.624,2874.11C121.465,2840.08 115.431,2803.76 115.431,2766.03L115.431,2341.63L365.453,2341.63L365.453,2874.11L132.624,2874.11ZM922.933,918.103L922.933,669.193L390.453,669.193L390.453,1201.67L731.014,1201.67L731.014,1226.67L390.453,1226.67L390.453,1759.15L731.014,1759.15L731.014,1784.15L390.453,1784.15L390.453,2316.63L731.014,2316.63L731.014,2341.63L390.453,2341.63L390.453,2874.11L922.933,2874.11L922.933,2625.2C931.122,2627.1 939.463,2628.6 947.933,2629.66L947.933,2874.11L1480.41,2874.11L1480.41,2631.62L1505.41,2631.62L1505.41,2874.11L2037.89,2874.11L2037.89,2631.62L2062.89,2631.62L2062.89,2874.11L2595.37,2874.11L2595.37,2629.66C2603.85,2628.6 2612.18,2627.1 2620.37,2625.2L2620.37,2874.11L3152.85,2874.11L3152.85,2341.63L2812.29,2341.63L2812.29,2316.63L3152.85,2316.63L3152.85,1784.15L2812.29,1784.15L2812.29,1759.15L3152.85,1759.15L3152.85,1226.67L2812.29,1226.67L2812.29,1201.67L3152.85,1201.67L3152.85,669.193L2620.37,669.193L2620.37,918.103C2612.18,916.203 2603.84,914.708 2595.37,913.642L2595.37,669.193L2062.89,669.193L2062.89,911.688L2037.89,911.688L2037.89,669.193L1505.41,669.193L1505.41,911.688L1480.41,911.688L1480.41,669.193L947.933,669.193L947.933,913.642C939.462,914.708 931.123,916.203 922.933,918.103ZM3427.88,2341.63L3427.88,2766.03C3427.88,2803.76 3421.84,2840.08 3410.68,2874.11L3177.85,2874.11L3177.85,2341.63L3427.88,2341.63ZM2494.01,2603.04L2524.53,2603.04C2541.26,2603.04 2557.62,2601.44 2573.47,2598.39L2598.02,2593.66L2588.56,2544.56L2564.01,2549.29C2551.23,2551.75 2538.03,2553.04 2524.53,2553.04L2494.01,2553.04L2494.01,2603.04ZM1294.01,2603.04L1394.01,2603.04L1394.01,2553.04L1294.01,2553.04L1294.01,2603.04ZM1894.01,2603.04L1994.01,2603.04L1994.01,2553.04L1894.01,2553.04L1894.01,2603.04ZM2194.01,2603.04L2294.01,2603.04L2294.01,2553.04L2194.01,2553.04L2194.01,2603.04ZM1144.01,2603.04L1244.01,2603.04L1244.01,2553.04L1144.01,2553.04L1144.01,2603.04ZM1444.01,2603.04L1544.01,2603.04L1544.01,2553.04L1444.01,2553.04L1444.01,2603.04ZM1594.01,2603.04L1694.01,2603.04L1694.01,2553.04L1594.01,2553.04L1594.01,2603.04ZM2344.01,2603.04L2444.01,2603.04L2444.01,2553.04L2344.01,2553.04L2344.01,2603.04ZM2044.01,2603.04L2144.01,2603.04L2144.01,2553.04L2044.01,2553.04L2044.01,2603.04ZM994.01,2603.04L1094.01,2603.04L1094.01,2553.04L994.01,2553.04L994.01,2603.04ZM1744.01,2603.04L1844.01,2603.04L1844.01,2553.04L1744.01,2553.04L1744.01,2603.04ZM864.145,2551.46C878.835,2562.5 894.741,2572 911.624,2579.74L934.352,2590.15L955.18,2544.7L932.452,2534.28C918.844,2528.05 906.024,2520.39 894.185,2511.49L874.199,2496.47L844.16,2536.44L864.145,2551.46ZM2674.44,2554.92C2689.46,2544.16 2703.28,2531.82 2715.65,2518.14L2732.42,2499.61L2695.35,2466.06L2678.58,2484.6C2668.59,2495.63 2657.44,2505.59 2645.32,2514.28L2625,2528.84L2654.12,2569.48L2674.44,2554.92ZM865.632,1911.31L1339.59,1374.15L2030.89,2134.59L2392.97,1713.77L2677.68,2017.9L2677.68,2324.93C2677.68,2424.23 2597.06,2504.85 2497.76,2504.85C2497.76,2504.85 1045.55,2504.85 1045.55,2504.85C946.251,2504.85 865.632,2424.23 865.632,2324.93L865.632,1911.31ZM771.251,2417.22C776.455,2435.14 783.552,2452.26 792.313,2468.35L804.27,2490.3L848.18,2466.39L836.223,2444.43C829.171,2431.49 823.457,2417.7 819.268,2403.28L812.297,2379.27L764.28,2393.21L771.251,2417.22ZM2770.36,2422.83C2775.83,2405.47 2779.52,2387.33 2781.2,2368.61L2783.43,2343.71L2733.64,2339.24L2731.4,2364.14C2730.05,2379.21 2727.08,2393.82 2722.67,2407.79L2715.15,2431.63L2762.84,2446.67L2770.36,2422.83ZM761.068,2236.12L761.068,2336.12L811.068,2336.12L811.068,2236.12L761.068,2236.12ZM3177.85,1784.15L3177.85,2316.63L3427.88,2316.63L3427.88,1784.15L3177.85,1784.15ZM115.431,1784.15L115.431,2316.63L365.453,2316.63L365.453,1784.15L115.431,1784.15ZM2782.24,2291.41L2782.24,2191.41L2732.24,2191.41L2732.24,2291.41L2782.24,2291.41ZM761.068,2086.12L761.068,2186.12L811.068,2186.12L811.068,2086.12L761.068,2086.12ZM2782.24,2141.41L2782.24,2041.4L2732.24,2041.4L2732.24,2141.41L2782.24,2141.41ZM761.068,1936.12L761.068,2036.12L811.068,2036.12L811.068,1936.12L761.068,1936.12ZM2782.24,1991.4L2782.24,1891.4L2732.24,1891.4L2732.24,1991.4L2782.24,1991.4ZM761.068,1786.12L761.068,1886.12L811.068,1886.12L811.068,1786.12L761.068,1786.12ZM2782.24,1841.4L2782.24,1741.41L2732.24,1741.41L2732.24,1841.4L2782.24,1841.4ZM3177.85,1226.67L3177.85,1759.15L3427.88,1759.15L3427.88,1226.67L3177.85,1226.67ZM115.431,1226.67L115.431,1759.15L365.453,1759.15L365.453,1226.67L115.431,1226.67ZM761.068,1636.12L761.068,1736.12L811.068,1736.12L811.068,1636.12L761.068,1636.12ZM2782.24,1691.41L2782.24,1591.41L2732.24,1591.41L2732.24,1691.41L2782.24,1691.41ZM761.068,1486.12L761.068,1586.12L811.068,1586.12L811.068,1486.12L761.068,1486.12ZM2203.72,1132.2C2318.18,1132.2 2411.11,1225.13 2411.11,1339.59C2411.11,1454.05 2318.18,1546.98 2203.72,1546.98C2089.26,1546.98 1996.33,1454.05 1996.33,1339.59C1996.33,1225.13 2089.26,1132.2 2203.72,1132.2ZM2782.24,1541.41L2782.24,1441.41L2732.24,1441.41L2732.24,1541.41L2782.24,1541.41ZM761.068,1336.12L761.068,1436.12L811.068,1436.12L811.068,1336.12L761.068,1336.12ZM2782.24,1391.41L2782.24,1291.41L2732.24,1291.41L2732.24,1391.41L2782.24,1391.41ZM761.068,1186.12L761.068,1286.12L811.068,1286.12L811.068,1186.12L761.068,1186.12ZM2732.24,1197.98L2732.24,1241.41L2782.24,1241.41L2782.24,1172.98L2781.03,1172.98C2780.06,1162.82 2778.49,1152.83 2776.36,1143.04L2771.04,1118.62L2722.18,1129.24L2727.5,1153.67C2730.61,1167.95 2732.24,1182.78 2732.24,1197.98ZM3412.74,669.193L3412.89,669.694C3414.66,675.5 3416.28,681.348 3417.73,687.238C3420.46,698.265 3422.65,709.427 3424.28,720.67C3425.85,731.554 3426.91,742.513 3427.45,753.497C3427.74,759.256 3427.87,765.021 3427.88,770.787L3427.88,1201.67L3177.85,1201.67L3177.85,669.193L3412.74,669.193ZM115.431,1201.67L115.431,770.787C115.436,765.021 115.572,759.256 115.855,753.497C116.395,742.513 117.453,731.554 119.031,720.67C120.66,709.427 122.844,698.265 125.574,687.238C127.032,681.348 128.65,675.5 130.414,669.694L130.567,669.193L365.453,669.193L365.453,1201.67L115.431,1201.67ZM804.386,1055C794.186,1070.26 785.572,1086.67 778.777,1103.99L769.647,1127.26L816.194,1145.52L825.324,1122.25C830.797,1108.3 837.738,1095.08 845.955,1082.79L859.848,1062L818.279,1034.21L804.386,1055ZM2730.5,1043.14C2719.39,1028.39 2706.73,1014.86 2692.77,1002.81L2673.84,986.48L2641.17,1024.34L2660.1,1040.67C2671.37,1050.39 2681.59,1061.31 2690.56,1073.22L2705.6,1093.19L2745.54,1063.11L2730.5,1043.14ZM933.266,954.821C915.698,961.006 898.998,969.041 883.402,978.694L862.144,991.851L888.457,1034.37L909.715,1021.21C922.275,1013.44 935.723,1006.96 949.871,1001.98L973.452,993.681L956.848,946.518L933.266,954.821ZM2596.18,950.378C2578.71,945.327 2560.49,942.072 2541.72,940.832L2516.78,939.183L2513.48,989.074L2538.43,990.723C2553.54,991.722 2568.22,994.341 2582.28,998.409L2606.3,1005.36L2620.19,957.325L2596.18,950.378ZM2165.09,940.265L2065.09,940.265L2065.09,990.265L2165.09,990.265L2165.09,940.265ZM1865.08,940.265L1765.08,940.265L1765.08,990.265L1865.08,990.265L1865.08,940.265ZM1115.08,940.265L1015.08,940.265L1015.08,990.265L1115.08,990.265L1115.08,940.265ZM2015.09,940.265L1915.09,940.265L1915.09,990.265L2015.09,990.265L2015.09,940.265ZM2315.09,940.265L2215.09,940.265L2215.09,990.265L2315.09,990.265L2315.09,940.265ZM1265.08,940.265L1165.08,940.265L1165.08,990.265L1265.08,990.265L1265.08,940.265ZM1415.08,940.265L1315.08,940.265L1315.08,990.265L1415.08,990.265L1415.08,940.265ZM1565.08,940.265L1465.08,940.265L1465.08,990.265L1565.08,990.265L1565.08,940.265ZM1715.08,940.265L1615.08,940.265L1615.08,990.265L1715.08,990.265L1715.08,940.265ZM2465.09,940.265L2365.09,940.265L2365.09,990.265L2465.09,990.265L2465.09,940.265ZM365.453,437.562L365.453,644.193L139.286,644.193C178.303,544.782 261.917,467.677 365.453,437.562ZM922.933,423.812L922.933,644.193L390.453,644.193L390.453,431.295C413.674,426.391 437.741,423.812 462.407,423.812L922.933,423.812ZM947.933,423.812L947.933,644.193L1480.41,644.193L1480.41,423.812L947.933,423.812ZM1505.41,423.812L1505.41,644.193L2037.89,644.193L2037.89,423.812L1505.41,423.812ZM2062.89,423.812L2062.89,644.193L2595.37,644.193L2595.37,423.812L2062.89,423.812ZM2620.37,423.812L3080.9,423.812C3105.57,423.812 3129.63,426.391 3152.85,431.295L3152.85,644.193L2620.37,644.193L2620.37,423.812ZM3177.85,437.562C3281.38,467.669 3365,544.774 3404.02,644.193L3177.85,644.193L3177.85,437.562Z"})}),Ye=Ze((e,t)=>{const{tooltip:n="",styleClass:r,tooltipProps:i,asCheckbox:o,isChecked:a,...s}=e;return g.jsx(si,{label:n,hasArrow:!0,...i,...i!=null&&i.placement?{placement:i.placement}:{placement:"top"},children:g.jsx(ls,{ref:t,className:r?`invokeai__icon-button ${r}`:"invokeai__icon-button","data-as-checkbox":o,"data-selected":a!==void 0?a:void 0,...s})})}),On=Ze((e,t)=>{const{children:n,tooltip:r="",tooltipProps:i,styleClass:o,...a}=e;return g.jsx(si,{label:r,...i,children:g.jsx(ss,{ref:t,className:["invokeai__button",o].join(" "),...a,children:n})})}),Ys=e=>{const{triggerComponent:t,children:n,styleClass:r,hasArrow:i=!0,...o}=e;return g.jsxs(V8,{...o,children:[g.jsx(U8,{children:t}),g.jsxs(q8,{className:`invokeai__popover-content ${r}`,children:[i&&g.jsx(G8,{className:"invokeai__popover-arrow"}),n]})]})},d4=lt(e=>e.lightbox,e=>e,{memoizeOptions:{equalityCheck:Pe.isEqual}}),Jo=e=>{const{label:t,isDisabled:n,validValues:r,tooltip:i,tooltipProps:o,size:a="sm",fontSize:s="sm",styleClass:l,...u}=e;return g.jsxs(sn,{isDisabled:n,className:`invokeai__select ${l}`,onClick:d=>{d.stopPropagation(),d.nativeEvent.stopImmediatePropagation(),d.nativeEvent.stopPropagation(),d.nativeEvent.cancelBubble=!0},children:[t&&g.jsx(Sn,{className:"invokeai__select-label",fontSize:s,fontWeight:"bold",marginRight:0,marginBottom:0,whiteSpace:"nowrap",children:t}),g.jsx(si,{label:i,...o,children:g.jsx(qH,{className:"invokeai__select-picker",fontSize:s,size:a,...u,children:r.map(d=>typeof d=="string"||typeof d=="number"?g.jsx("option",{value:d,className:"invokeai__select-option",children:d},d):g.jsx("option",{value:d.value,className:"invokeai__select-option",children:d.key},d.value))})})]})};function j_e(){const e=le(i=>i.postprocessing.facetoolType),t=Te(),{t:n}=De(),r=i=>t(dS(i.target.value));return g.jsx(Jo,{label:n("parameters.type"),validValues:I5e.concat(),value:e,onChange:r})}var HV={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},MI=Ke.createContext&&Ke.createContext(HV),Bd=globalThis&&globalThis.__assign||function(){return Bd=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{Ce(i)},[i]);const we=S.useMemo(()=>V!=null&&V.max?V.max:a,[a,V==null?void 0:V.max]),xe=Xe=>{l(Xe)},Le=Xe=>{Xe.target.value===""&&(Xe.target.value=String(o));const tt=Pe.clamp(w?Math.floor(Number(Xe.target.value)):Number(fe),o,we);l(tt)},Se=Xe=>{Ce(Xe)},Qe=()=>{O&&O()};return g.jsxs(sn,{className:W?`invokeai__slider-component ${W}`:"invokeai__slider-component","data-markers":h,style:L?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:"1rem",margin:0,padding:0}:{},...B,children:[g.jsx(Sn,{className:"invokeai__slider-component-label",fontSize:"sm",...K,children:r}),g.jsxs(l2,{w:"100%",gap:2,alignItems:"center",children:[g.jsxs(QH,{"aria-label":r,value:i,min:o,max:a,step:s,onChange:xe,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:I,width:u,...ee,children:[h&&g.jsxs(g.Fragment,{children:[g.jsx(tk,{value:o,className:"invokeai__slider-mark invokeai__slider-mark-start",ml:m,...ne,children:o}),g.jsx(tk,{value:a,className:"invokeai__slider-mark invokeai__slider-mark-end",ml:y,...ne,children:a})]}),g.jsx(eW,{className:"invokeai__slider_track",...z,children:g.jsx(tW,{className:"invokeai__slider_track-filled"})}),g.jsx(si,{hasArrow:!0,className:"invokeai__slider-component-tooltip",placement:"top",isOpen:t,label:`${i}${d}`,hidden:T,...G,children:g.jsx(JH,{className:"invokeai__slider-thumb",...$})})]}),b&&g.jsxs(B8,{min:o,max:we,step:s,value:fe,onChange:Se,onBlur:Le,className:"invokeai__slider-number-field",isDisabled:N,...V,children:[g.jsx(z8,{className:"invokeai__slider-number-input",width:E,readOnly:_,minWidth:E,...X}),g.jsxs(BH,{...Q,children:[g.jsx(W8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"}),g.jsx(H8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"})]})]}),k&&g.jsx(Ye,{size:"sm","aria-label":"Reset",tooltip:"Reset",icon:g.jsx(f4,{}),onClick:Qe,isDisabled:D,...Y})]})]})}function U_e(){const e=le(i=>i.system.isGFPGANAvailable),t=le(i=>i.postprocessing.facetoolStrength),{t:n}=De(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.strength"),step:.05,min:0,max:1,onChange:i=>r(k3(i)),handleReset:()=>r(k3(.75)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}function V_e(){const e=le(i=>i.system.isGFPGANAvailable),t=le(i=>i.postprocessing.codeformerFidelity),{t:n}=De(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.codeformerFidelity"),step:.05,min:0,max:1,onChange:i=>r(xk(i)),handleReset:()=>r(xk(1)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}const RE=()=>{const e=le(t=>t.postprocessing.facetoolType);return g.jsxs(ke,{direction:"column",gap:2,minWidth:"20rem",children:[g.jsx(j_e,{}),g.jsx(U_e,{}),e==="codeformer"&&g.jsx(V_e,{})]})};function G_e(){const e=le(i=>i.system.isESRGANAvailable),t=le(i=>i.postprocessing.upscalingDenoising),{t:n}=De(),r=Te();return g.jsx(Dn,{label:n("parameters.denoisingStrength"),value:t,min:0,max:1,step:.01,onChange:i=>{r(Sk(i))},handleReset:()=>r(Sk(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function q_e(){const e=le(i=>i.system.isESRGANAvailable),t=le(i=>i.postprocessing.upscalingStrength),{t:n}=De(),r=Te();return g.jsx(Dn,{label:`${n("parameters.upscale")} ${n("parameters.strength")}`,value:t,min:0,max:1,step:.05,onChange:i=>r(wk(i)),handleReset:()=>r(wk(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function K_e(){const e=le(o=>o.system.isESRGANAvailable),t=le(o=>o.postprocessing.upscalingLevel),{t:n}=De(),r=Te(),i=o=>r(yU(Number(o.target.value)));return g.jsx(Jo,{isDisabled:!e,label:n("parameters.scale"),value:t,onChange:i,validValues:R5e})}const IE=()=>g.jsxs(ke,{flexDir:"column",rowGap:2,minWidth:"20rem",children:[g.jsx(K_e,{}),g.jsx(G_e,{}),g.jsx(q_e,{})]}),DE=e=>e.postprocessing,hr=e=>e.system,Y_e=e=>e.system.toastQueue,VV=lt(hr,e=>{const{model_list:t}=e,n=Pe.reduce(t,(r,i,o)=>(i.status==="active"&&(r=o),r),"");return{...t[n],name:n}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),X_e=lt(hr,e=>{const{model_list:t}=e;return Pe.pickBy(t,(r,i)=>{if(r.format==="diffusers")return{name:i,...r}})},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Vk(){return Vk=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var ike=function(t,n,r){r===void 0&&(r=!1);var i=n.alt,o=n.meta,a=n.mod,s=n.shift,l=n.ctrl,u=n.keys,d=t.key,h=t.code,m=t.ctrlKey,y=t.metaKey,b=t.shiftKey,w=t.altKey,E=kd(h),_=d.toLowerCase();if(!r){if(i===!w&&_!=="alt"||s===!b&&_!=="shift")return!1;if(a){if(!y&&!m)return!1}else if(o===!y&&_!=="meta"||l===!m&&_!=="ctrl")return!1}return u&&u.length===1&&(u.includes(_)||u.includes(E))?!0:u?J_e(u):!u},oke=S.createContext(void 0),ake=function(){return S.useContext(oke)};function XV(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&XV(e[r],t[r])},!0):e===t}var ske=S.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),lke=function(){return S.useContext(ske)};function uke(e){var t=S.useRef(void 0);return XV(t.current,e)||(t.current=e),t.current}var LI=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},cke=typeof window<"u"?S.useLayoutEffect:S.useEffect;function Je(e,t,n,r){var i=S.useRef(null),o=S.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,s=n instanceof Array?n:r instanceof Array?r:void 0,l=S.useCallback(t,s??[]),u=S.useRef(l);s?u.current=l:u.current=t;var d=uke(a),h=lke(),m=h.enabledScopes,y=ake();return cke(function(){if(!((d==null?void 0:d.enabled)===!1||!rke(m,d==null?void 0:d.scopes))){var b=function(k,T){var L;if(T===void 0&&(T=!1),!(nke(k)&&!YV(k,d==null?void 0:d.enableOnFormTags))){if(i.current!==null&&document.activeElement!==i.current&&!i.current.contains(document.activeElement)){LI(k);return}(L=k.target)!=null&&L.isContentEditable&&!(d!=null&&d.enableOnContentEditable)||XC(e,d==null?void 0:d.splitKey).forEach(function(O){var D,I=ZC(O,d==null?void 0:d.combinationKey);if(ike(k,I,d==null?void 0:d.ignoreModifiers)||(D=I.keys)!=null&&D.includes("*")){if(T&&o.current)return;if(eke(k,I,d==null?void 0:d.preventDefault),!tke(k,I,d==null?void 0:d.enabled)){LI(k);return}u.current(k,I),T||(o.current=!0)}})}},w=function(k){k.key!==void 0&&(qV(kd(k.code)),((d==null?void 0:d.keydown)===void 0&&(d==null?void 0:d.keyup)!==!0||d!=null&&d.keydown)&&b(k))},E=function(k){k.key!==void 0&&(KV(kd(k.code)),o.current=!1,d!=null&&d.keyup&&b(k,!0))};return(i.current||(a==null?void 0:a.document)||document).addEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).addEventListener("keydown",w),y&&XC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.addHotkey(ZC(_,d==null?void 0:d.combinationKey))}),function(){(i.current||(a==null?void 0:a.document)||document).removeEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).removeEventListener("keydown",w),y&&XC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.removeHotkey(ZC(_,d==null?void 0:d.combinationKey))})}}},[e,d,m]),i}function dke(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"}}]})(e)}function fke(e){return ut({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(e)}function hke(e){return ut({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"}}]})(e)}function ZV(e){return ut({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"}}]})(e)}function QV(e){return ut({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"}}]})(e)}function pke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"}}]})(e)}function gke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"}}]})(e)}function JV(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"}}]})(e)}function mke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"}}]})(e)}function vke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"}}]})(e)}function jE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"}}]})(e)}function eG(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"}}]})(e)}function e0(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"}}]})(e)}function tG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"}}]})(e)}function yke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"}}]})(e)}function NE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function nG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"}}]})(e)}function bke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}}]})(e)}function xke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}}]})(e)}function rG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"}}]})(e)}function Ske(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"}}]})(e)}function wke(e){return ut({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"}}]})(e)}function iG(e){return ut({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"}}]})(e)}function Cke(e){return ut({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"}}]})(e)}function _ke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"}}]})(e)}function kke(e){return ut({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"}}]})(e)}function Eke(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"}}]})(e)}function oG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"}}]})(e)}function Pke(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"}}]})(e)}function Tke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function aG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"}}]})(e)}function Mke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"}}]})(e)}function Lke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"}}]})(e)}function y2(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function Ake(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(e)}function Oke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"}}]})(e)}function Rke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"}}]})(e)}function $E(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"}}]})(e)}function Ike(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"}}]})(e)}function Dke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"}}]})(e)}function AI(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"}}]})(e)}function FE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}}]})(e)}function jke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"}}]})(e)}function hp(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"}}]})(e)}function Nke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"}}]})(e)}function h4(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function $ke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"}}]})(e)}function BE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"}}]})(e)}const rn=e=>e.canvas,Lr=lt([rn,Br,hr],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),sG=e=>e.canvas.layerState.objects.find(x3),pp=e=>e.gallery,Fke=lt([pp,d4,Lr,Br],(e,t,n,r)=>{const{categories:i,currentCategory:o,currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:h,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,galleryWidth:b,shouldUseSingleGalleryColumn:w}=e,{isLightboxOpen:E}=t;return{currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:h,galleryGridTemplateColumns:w?"auto":`repeat(auto-fill, minmax(${d}px, auto))`,activeTabName:r,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,images:i[o].images,areMoreImagesAvailable:i[o].areMoreImagesAvailable,currentCategory:o,galleryWidth:b,isLightboxOpen:E,isStaging:n,shouldEnableResize:!(E||r==="unifiedCanvas"&&s),shouldUseSingleGalleryColumn:w}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),Bke=lt([pp,hr,d4,Br],(e,t,n,r)=>({mayDeleteImage:t.isConnected&&!t.isProcessing,galleryImageObjectFit:e.galleryImageObjectFit,galleryImageMinimumWidth:e.galleryImageMinimumWidth,shouldUseSingleGalleryColumn:e.shouldUseSingleGalleryColumn,activeTabName:r,isLightboxOpen:n.isLightboxOpen}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),zke=lt(hr,e=>{const{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}=e;return{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),A3=S.forwardRef(({image:e,children:t},n)=>{const{isOpen:r,onOpen:i,onClose:o}=Kd(),a=Te(),{shouldConfirmOnDelete:s,isConnected:l,isProcessing:u}=le(zke),d=S.useRef(null),h=b=>{b.stopPropagation(),s?i():m()},m=()=>{l&&!u&&e&&a(c_e(e)),o()};Je("delete",()=>{s?i():m()},[e,s,l,u]);const y=b=>a(IU(!b.target.checked));return g.jsxs(g.Fragment,{children:[S.cloneElement(t,{onClick:e?h:void 0,ref:n}),g.jsx($H,{isOpen:r,leastDestructiveRef:d,onClose:o,children:g.jsx(oc,{children:g.jsxs(FH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:"Delete image"}),g.jsx(Zm,{children:g.jsxs(ke,{direction:"column",gap:5,children:[g.jsx(Dt,{children:"Are you sure? Deleted images will be sent to the Bin. You can restore from there if you wish to."}),g.jsx(sn,{children:g.jsxs(ke,{alignItems:"center",children:[g.jsx(Sn,{mb:0,children:"Don't ask me again"}),g.jsx(K8,{checked:!s,onChange:y})]})})]})}),g.jsxs(zw,{children:[g.jsx(ss,{ref:d,onClick:o,className:"modal-close-btn",children:"Cancel"}),g.jsx(ss,{colorScheme:"red",onClick:m,ml:3,children:"Delete"})]})]})})})]})});A3.displayName="DeleteImageModal";const zE=()=>{const e=Te();return t=>{const n=typeof t=="string"?t:Rm(t),[r,i]=nU(n);e(uU(r)),e(cU(i))}},Hke=lt([hr,pp,DE,fp,d4,Br],(e,t,n,r,i,o)=>{const{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u}=e,{upscalingLevel:d,facetoolStrength:h}=n,{isLightboxOpen:m}=i,{shouldShowImageDetails:y}=r,{intermediateImage:b,currentImage:w}=t;return{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u,upscalingLevel:d,facetoolStrength:h,shouldDisableToolbarButtons:Boolean(b)||!w,currentImage:w,shouldShowImageDetails:y,activeTabName:o,isLightboxOpen:m}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),lG=()=>{var B,K,ne,z,$,V,X,Q;const e=Te(),{isProcessing:t,isConnected:n,isGFPGANAvailable:r,isESRGANAvailable:i,upscalingLevel:o,facetoolStrength:a,shouldDisableToolbarButtons:s,shouldShowImageDetails:l,currentImage:u,isLightboxOpen:d,activeTabName:h}=le(Hke),m=a2(),{t:y}=De(),b=zE(),w=()=>{u&&(d&&e(Om(!1)),e(y0(u)),e(Wo("img2img")))},E=async()=>{if(!u)return;const G=await fetch(u.url).then(ee=>ee.blob()),Y=[new ClipboardItem({[G.type]:G})];await navigator.clipboard.write(Y),m({title:y("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})},_=()=>{navigator.clipboard.writeText(u?window.location.toString()+u.url:"").then(()=>{m({title:y("toast.imageLinkCopied"),status:"success",duration:2500,isClosable:!0})})};Je("shift+i",()=>{u?(w(),m({title:y("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.imageNotLoaded"),description:y("toast.imageNotLoadedDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const k=()=>{var G,Y;u&&(u.metadata&&e(aU(u.metadata)),((G=u.metadata)==null?void 0:G.image.type)==="img2img"?e(Wo("img2img")):((Y=u.metadata)==null?void 0:Y.image.type)==="txt2img"&&e(Wo("txt2img")))};Je("a",()=>{var G,Y;["txt2img","img2img"].includes((Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)==null?void 0:Y.type)?(k(),m({title:y("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.parametersNotSet"),description:y("toast.parametersNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const T=()=>{u!=null&&u.metadata&&e(p2(u.metadata.image.seed))};Je("s",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.seed?(T(),m({title:y("toast.seedSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.seedNotSet"),description:y("toast.seedNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const L=S.useCallback(()=>{var G,Y,ee,fe;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt&&b((fe=(ee=u==null?void 0:u.metadata)==null?void 0:ee.image)==null?void 0:fe.prompt)},[(K=(B=u==null?void 0:u.metadata)==null?void 0:B.image)==null?void 0:K.prompt,b]);Je("p",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt?(L(),m({title:y("toast.promptSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.promptNotSet"),description:y("toast.promptNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const O=()=>{u&&e(l_e(u))};Je("Shift+U",()=>{i&&!s&&n&&!t&&o?O():m({title:y("toast.upscalingFailed"),status:"error",duration:2500,isClosable:!0})},[u,i,s,n,t,o]);const D=()=>{u&&e(u_e(u))};Je("Shift+R",()=>{r&&!s&&n&&!t&&a?D():m({title:y("toast.faceRestoreFailed"),status:"error",duration:2500,isClosable:!0})},[u,r,s,n,t,a]);const I=()=>e(FU(!l)),N=()=>{u&&(d&&e(Om(!1)),e(i4(u)),e(Li(!0)),h!=="unifiedCanvas"&&e(Wo("unifiedCanvas")),m({title:y("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0}))};Je("i",()=>{u?I():m({title:y("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[u,l]);const W=()=>{e(Om(!d))};return g.jsxs("div",{className:"current-image-options",children:[g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":`${y("parameters.sendTo")}...`,icon:g.jsx(Dke,{})}),children:g.jsxs("div",{className:"current-image-send-to-popover",children:[g.jsx(On,{size:"sm",onClick:w,leftIcon:g.jsx(AI,{}),children:y("parameters.sendToImg2Img")}),g.jsx(On,{size:"sm",onClick:N,leftIcon:g.jsx(AI,{}),children:y("parameters.sendToUnifiedCanvas")}),g.jsx(On,{size:"sm",onClick:E,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImage")}),g.jsx(On,{size:"sm",onClick:_,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImageToLink")}),g.jsx(Nh,{download:!0,href:u==null?void 0:u.url,children:g.jsx(On,{leftIcon:g.jsx(NE,{}),size:"sm",w:"100%",children:y("parameters.downloadImage")})})]})}),g.jsx(Ye,{icon:g.jsx(xke,{}),tooltip:d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"aria-label":d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"data-selected":d,onClick:W})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{icon:g.jsx(Ake,{}),tooltip:`${y("parameters.usePrompt")} (P)`,"aria-label":`${y("parameters.usePrompt")} (P)`,isDisabled:!((z=(ne=u==null?void 0:u.metadata)==null?void 0:ne.image)!=null&&z.prompt),onClick:L}),g.jsx(Ye,{icon:g.jsx(Ike,{}),tooltip:`${y("parameters.useSeed")} (S)`,"aria-label":`${y("parameters.useSeed")} (S)`,isDisabled:!((V=($=u==null?void 0:u.metadata)==null?void 0:$.image)!=null&&V.seed),onClick:T}),g.jsx(Ye,{icon:g.jsx(mke,{}),tooltip:`${y("parameters.useAll")} (A)`,"aria-label":`${y("parameters.useAll")} (A)`,isDisabled:!["txt2img","img2img"].includes((Q=(X=u==null?void 0:u.metadata)==null?void 0:X.image)==null?void 0:Q.type),onClick:k})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{icon:g.jsx(Cke,{}),"aria-label":y("parameters.restoreFaces")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(RE,{}),g.jsx(On,{isDisabled:!r||!u||!(n&&!t)||!a,onClick:D,children:y("parameters.restoreFaces")})]})}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{icon:g.jsx(bke,{}),"aria-label":y("parameters.upscale")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(IE,{}),g.jsx(On,{isDisabled:!i||!u||!(n&&!t)||!o,onClick:O,children:y("parameters.upscaleImage")})]})})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(Ye,{icon:g.jsx(eG,{}),tooltip:`${y("parameters.info")} (I)`,"aria-label":`${y("parameters.info")} (I)`,"data-selected":l,onClick:I})}),g.jsx(A3,{image:u,children:g.jsx(Ye,{icon:g.jsx(hp,{}),tooltip:`${y("parameters.deleteImage")} (Del)`,"aria-label":`${y("parameters.deleteImage")} (Del)`,isDisabled:!u||!n||t,style:{backgroundColor:"var(--btn-delete-image)"}})})]})};var Wke=fc({displayName:"EditIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),g.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})}),uG=fc({displayName:"ExternalLinkIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),g.jsx("path",{d:"M15 3h6v6"}),g.jsx("path",{d:"M10 14L21 3"})]})}),Uke=fc({displayName:"DeleteIcon",path:g.jsx("g",{fill:"currentColor",children:g.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})});function Vke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const Jn=({label:e,value:t,onClick:n,isLink:r,labelPosition:i,withCopy:o=!1})=>g.jsxs(ke,{gap:2,children:[n&&g.jsx(si,{label:`Recall ${e}`,children:g.jsx(ls,{"aria-label":"Use this parameter",icon:g.jsx(Vke,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),o&&g.jsx(si,{label:`Copy ${e}`,children:g.jsx(ls,{"aria-label":`Copy ${e}`,icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),g.jsxs(ke,{direction:i?"column":"row",children:[g.jsxs(Dt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?g.jsxs(Nh,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",g.jsx(uG,{mx:"2px"})]}):g.jsx(Dt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}),Gke=(e,t)=>e.image.uuid===t.image.uuid,HE=S.memo(({image:e,styleClass:t})=>{var B,K;const n=Te(),r=zE();Je("esc",()=>{n(FU(!1))});const i=((B=e==null?void 0:e.metadata)==null?void 0:B.image)||{},o=e==null?void 0:e.dreamPrompt,{cfg_scale:a,fit:s,height:l,hires_fix:u,init_image_path:d,mask_image_path:h,orig_path:m,perlin:y,postprocessing:b,prompt:w,sampler:E,seamless:_,seed:k,steps:T,strength:L,threshold:O,type:D,variations:I,width:N}=i,W=JSON.stringify(e.metadata,null,2);return g.jsx("div",{className:`image-metadata-viewer ${t}`,children:g.jsxs(ke,{gap:1,direction:"column",width:"100%",children:[g.jsxs(ke,{gap:2,children:[g.jsx(Dt,{fontWeight:"semibold",children:"File:"}),g.jsxs(Nh,{href:e.url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.url.length>64?e.url.substring(0,64).concat("..."):e.url,g.jsx(uG,{mx:"2px"})]})]}),Object.keys(i).length>0?g.jsxs(g.Fragment,{children:[D&&g.jsx(Jn,{label:"Generation type",value:D}),((K=e.metadata)==null?void 0:K.model_weights)&&g.jsx(Jn,{label:"Model",value:e.metadata.model_weights}),["esrgan","gfpgan"].includes(D)&&g.jsx(Jn,{label:"Original image",value:m}),w&&g.jsx(Jn,{label:"Prompt",labelPosition:"top",value:typeof w=="string"?w:Rm(w),onClick:()=>r(w)}),k!==void 0&&g.jsx(Jn,{label:"Seed",value:k,onClick:()=>n(p2(k))}),O!==void 0&&g.jsx(Jn,{label:"Noise Threshold",value:O,onClick:()=>n(bk(O))}),y!==void 0&&g.jsx(Jn,{label:"Perlin Noise",value:y,onClick:()=>n(vk(y))}),E&&g.jsx(Jn,{label:"Sampler",value:E,onClick:()=>n(dU(E))}),T&&g.jsx(Jn,{label:"Steps",value:T,onClick:()=>n(yk(T))}),a!==void 0&&g.jsx(Jn,{label:"CFG scale",value:a,onClick:()=>n(gk(a))}),I&&I.length>0&&g.jsx(Jn,{label:"Seed-weight pairs",value:_3(I),onClick:()=>n(hU(_3(I)))}),_&&g.jsx(Jn,{label:"Seamless",value:_,onClick:()=>n(fU(_))}),u&&g.jsx(Jn,{label:"High Resolution Optimization",value:u,onClick:()=>n(vU(u))}),N&&g.jsx(Jn,{label:"Width",value:N,onClick:()=>n(cS(N))}),l&&g.jsx(Jn,{label:"Height",value:l,onClick:()=>n(uS(l))}),d&&g.jsx(Jn,{label:"Initial image",value:d,isLink:!0,onClick:()=>n(y0(d))}),h&&g.jsx(Jn,{label:"Mask image",value:h,isLink:!0,onClick:()=>n(lU(h))}),D==="img2img"&&L&&g.jsx(Jn,{label:"Image to image strength",value:L,onClick:()=>n(mk(L))}),s&&g.jsx(Jn,{label:"Image to image fit",value:s,onClick:()=>n(pU(s))}),b&&b.length>0&&g.jsxs(g.Fragment,{children:[g.jsx(jh,{size:"sm",children:"Postprocessing"}),b.map((ne,z)=>{if(ne.type==="esrgan"){const{scale:$,strength:V,denoise_str:X}=ne;return g.jsxs(ke,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Upscale (ESRGAN)`}),g.jsx(Jn,{label:"Scale",value:$,onClick:()=>n(yU($))}),g.jsx(Jn,{label:"Strength",value:V,onClick:()=>n(wk(V))}),X!==void 0&&g.jsx(Jn,{label:"Denoising strength",value:X,onClick:()=>n(Sk(X))})]},z)}else if(ne.type==="gfpgan"){const{strength:$}=ne;return g.jsxs(ke,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Face restoration (GFPGAN)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(k3($)),n(dS("gfpgan"))}})]},z)}else if(ne.type==="codeformer"){const{strength:$,fidelity:V}=ne;return g.jsxs(ke,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Face restoration (Codeformer)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(k3($)),n(dS("codeformer"))}}),V&&g.jsx(Jn,{label:"Fidelity",value:V,onClick:()=>{n(xk(V)),n(dS("codeformer"))}})]},z)}})]}),o&&g.jsx(Jn,{withCopy:!0,label:"Dream Prompt",value:o}),g.jsxs(ke,{gap:2,direction:"column",children:[g.jsxs(ke,{gap:2,children:[g.jsx(si,{label:"Copy metadata JSON",children:g.jsx(ls,{"aria-label":"Copy metadata JSON",icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(W)})}),g.jsx(Dt,{fontWeight:"semibold",children:"Metadata JSON:"})]}),g.jsx("div",{className:"image-json-viewer",children:g.jsx("pre",{children:W})})]})]}):g.jsx(aH,{width:"100%",pt:10,children:g.jsx(Dt,{fontSize:"lg",fontWeight:"semibold",children:"No metadata available"})})]})})},Gke);HE.displayName="ImageMetadataViewer";const cG=lt([pp,fp],(e,t)=>{const{currentCategory:n,currentImage:r,intermediateImage:i}=e,{shouldShowImageDetails:o}=t,a=e.categories[r?r.category:"result"].images,s=a.findIndex(u=>{var d;return u.uuid===((d=e==null?void 0:e.currentImage)==null?void 0:d.uuid)}),l=a.length;return{imageToDisplay:i||r,isIntermediate:Boolean(i),viewerImageToDisplay:r,currentCategory:n,isOnFirstImage:s===0,isOnLastImage:!isNaN(s)&&s===l-1,shouldShowImageDetails:o,shouldShowPrevImageButton:s===0,shouldShowNextImageButton:!isNaN(s)&&s===l-1}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function qke(){const e=Te(),{isOnFirstImage:t,isOnLastImage:n,shouldShowImageDetails:r,imageToDisplay:i,isIntermediate:o}=le(cG),[a,s]=S.useState(!1),l=()=>{s(!0)},u=()=>{s(!1)},d=()=>{e(vE())},h=()=>{e(mE())};return g.jsxs("div",{className:"current-image-preview",children:[i&&g.jsx(jw,{src:i.url,width:i.width,height:i.height,style:{imageRendering:o?"pixelated":"initial"}}),!r&&g.jsxs("div",{className:"current-image-next-prev-buttons",children:[g.jsx("div",{className:"next-prev-button-trigger-area prev-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!t&&g.jsx(ls,{"aria-label":"Previous image",icon:g.jsx(ZV,{className:"next-prev-button"}),variant:"unstyled",onClick:d})}),g.jsx("div",{className:"next-prev-button-trigger-area next-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!n&&g.jsx(ls,{"aria-label":"Next image",icon:g.jsx(QV,{className:"next-prev-button"}),variant:"unstyled",onClick:h})})]}),r&&i&&g.jsx(HE,{image:i,styleClass:"current-image-metadata"})]})}var Kke=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),ni=globalThis&&globalThis.__assign||function(){return ni=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof i>"u"?void 0:Number(i),minWidth:typeof o>"u"?void 0:Number(o),minHeight:typeof a>"u"?void 0:Number(a)}},t7e=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],jI="__resizable_base__",dG=function(e){Zke(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var i=r.parentNode;if(!i)return null;var o=r.window.document.createElement("div");return o.style.width="100%",o.style.height="100%",o.style.position="absolute",o.style.transform="scale(0, 0)",o.style.left="0",o.style.flex="0 0 100%",o.classList?o.classList.add(jI):o.className+=jI,i.appendChild(o),o},r.removeBase=function(i){var o=r.parentNode;o&&o.removeChild(i)},r.ref=function(i){i&&(r.resizable=i)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||Qke},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var i=this.resizable.offsetWidth,o=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:i,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:o,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,i=function(s){if(typeof n.state[s]>"u"||n.state[s]==="auto")return"auto";if(n.propsSize&&n.propsSize[s]&&n.propsSize[s].toString().endsWith("%")){if(n.state[s].toString().endsWith("%"))return n.state[s].toString();var l=n.getParentSize(),u=Number(n.state[s].toString().replace("px","")),d=u/l[s]*100;return d+"%"}return QC(n.state[s])},o=r&&typeof r.width<"u"&&!this.state.isResizing?QC(r.width):i("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?QC(r.height):i("height");return{width:o,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,i=this.parentNode.style.flexWrap;i!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var o={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=i),this.removeBase(n),o},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var i=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof i>"u"||i==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var i=this.props.boundsByDirection,o=this.state.direction,a=i&&Ig("left",o),s=i&&Ig("top",o),l,u;if(this.props.bounds==="parent"){var d=this.parentNode;d&&(l=a?this.resizableRight-this.parentLeft:d.offsetWidth+(this.parentLeft-this.resizableLeft),u=s?this.resizableBottom-this.parentTop:d.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(l=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,u=s?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(l=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),u=s?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return l&&Number.isFinite(l)&&(n=n&&n"u"?10:o.width,h=typeof i.width>"u"||i.width<0?n:i.width,m=typeof o.height>"u"?10:o.height,y=typeof i.height>"u"||i.height<0?r:i.height,b=l||0,w=u||0;if(s){var E=(m-b)*this.ratio+w,_=(y-b)*this.ratio+w,k=(d-w)/this.ratio+b,T=(h-w)/this.ratio+b,L=Math.max(d,E),O=Math.min(h,_),D=Math.max(m,k),I=Math.min(y,T);n=yx(n,L,O),r=yx(r,D,I)}else n=yx(n,d,h),r=yx(r,m,y);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var i=this.props.bounds.getBoundingClientRect();this.targetLeft=i.left,this.targetTop=i.top}if(this.resizable){var o=this.resizable.getBoundingClientRect(),a=o.left,s=o.top,l=o.right,u=o.bottom;this.resizableLeft=a,this.resizableRight=l,this.resizableTop=s,this.resizableBottom=u}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var i=0,o=0;if(n.nativeEvent&&Jke(n.nativeEvent)?(i=n.nativeEvent.clientX,o=n.nativeEvent.clientY):n.nativeEvent&&bx(n.nativeEvent)&&(i=n.nativeEvent.touches[0].clientX,o=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var s,l=this.window.getComputedStyle(this.resizable);if(l.flexBasis!=="auto"){var u=this.parentNode;if(u){var d=this.window.getComputedStyle(u).flexDirection;this.flexDir=d.startsWith("row")?"row":"column",s=l.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var h={original:{x:i,y:o,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:Ol(Ol({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:s};this.setState(h)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&bx(n))try{n.preventDefault(),n.stopPropagation()}catch{}var i=this.props,o=i.maxWidth,a=i.maxHeight,s=i.minWidth,l=i.minHeight,u=bx(n)?n.touches[0].clientX:n.clientX,d=bx(n)?n.touches[0].clientY:n.clientY,h=this.state,m=h.direction,y=h.original,b=h.width,w=h.height,E=this.getParentSize(),_=e7e(E,this.window.innerWidth,this.window.innerHeight,o,a,s,l);o=_.maxWidth,a=_.maxHeight,s=_.minWidth,l=_.minHeight;var k=this.calculateNewSizeFromDirection(u,d),T=k.newHeight,L=k.newWidth,O=this.calculateNewMaxFromBoundary(o,a);this.props.snap&&this.props.snap.x&&(L=DI(L,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(T=DI(T,this.props.snap.y,this.props.snapGap));var D=this.calculateNewSizeFromAspectRatio(L,T,{width:O.maxWidth,height:O.maxHeight},{width:s,height:l});if(L=D.newWidth,T=D.newHeight,this.props.grid){var I=II(L,this.props.grid[0]),N=II(T,this.props.grid[1]),W=this.props.snapGap||0;L=W===0||Math.abs(I-L)<=W?I:L,T=W===0||Math.abs(N-T)<=W?N:T}var B={width:L-y.width,height:T-y.height};if(b&&typeof b=="string"){if(b.endsWith("%")){var K=L/E.width*100;L=K+"%"}else if(b.endsWith("vw")){var ne=L/this.window.innerWidth*100;L=ne+"vw"}else if(b.endsWith("vh")){var z=L/this.window.innerHeight*100;L=z+"vh"}}if(w&&typeof w=="string"){if(w.endsWith("%")){var K=T/E.height*100;T=K+"%"}else if(w.endsWith("vw")){var ne=T/this.window.innerWidth*100;T=ne+"vw"}else if(w.endsWith("vh")){var z=T/this.window.innerHeight*100;T=z+"vh"}}var $={width:this.createSizeForCssProperty(L,"width"),height:this.createSizeForCssProperty(T,"height")};this.flexDir==="row"?$.flexBasis=$.width:this.flexDir==="column"&&($.flexBasis=$.height),Xs.flushSync(function(){r.setState($)}),this.props.onResize&&this.props.onResize(n,m,this.resizable,B)}},t.prototype.onMouseUp=function(n){var r=this.state,i=r.isResizing,o=r.direction,a=r.original;if(!(!i||!this.resizable)){var s={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,o,this.resizable,s),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:Ol(Ol({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,i=r.enable,o=r.handleStyles,a=r.handleClasses,s=r.handleWrapperStyle,l=r.handleWrapperClass,u=r.handleComponent;if(!i)return null;var d=Object.keys(i).map(function(h){return i[h]!==!1?S.createElement(Xke,{key:h,direction:h,onResizeStart:n.onResizeStart,replaceStyles:o&&o[h],className:a&&a[h]},u&&u[h]?u[h]:null):null});return S.createElement("div",{className:l,style:s},d)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,s){return t7e.indexOf(s)!==-1||(a[s]=n.props[s]),a},{}),i=Ol(Ol(Ol({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(i.flexBasis=this.state.flexBasis);var o=this.props.as||"div";return S.createElement(o,Ol({ref:this.ref,style:i,className:this.props.className},r),this.state.isResizing&&S.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(S.PureComponent);const Gn=e=>{const{label:t,styleClass:n,...r}=e;return g.jsx(dz,{className:`invokeai__checkbox ${n}`,...r,children:t})};function fG(e){return ut({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function hG(e){return ut({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}function n7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function r7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z"}}]})(e)}function i7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"}}]})(e)}function o7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 00.12-.61l-1.92-3.32a.488.488 0 00-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 00-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 00-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"}}]})(e)}function a7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M15 21h2v-2h-2v2zm4-12h2V7h-2v2zM3 5v14c0 1.1.9 2 2 2h4v-2H5V5h4V3H5c-1.1 0-2 .9-2 2zm16-2v2h2c0-1.1-.9-2-2-2zm-8 20h2V1h-2v22zm8-6h2v-2h-2v2zM15 5h2V3h-2v2zm4 8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2z"}}]})(e)}function pG(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function s7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"}}]})(e)}function l7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 10l5 5 5-5z"}}]})(e)}function u7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 14l5-5 5 5z"}}]})(e)}function c7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function d7e(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function f7e(e,t){e.classList?e.classList.add(t):d7e(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function NI(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function h7e(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=NI(e.className,t):e.setAttribute("class",NI(e.className&&e.className.baseVal||"",t))}const $I={disabled:!1},gG=Ke.createContext(null);var mG=function(t){return t.scrollTop},S1="unmounted",ph="exited",gh="entering",Fg="entered",Gk="exiting",mc=function(e){b8(t,e);function t(r,i){var o;o=e.call(this,r,i)||this;var a=i,s=a&&!a.isMounting?r.enter:r.appear,l;return o.appearStatus=null,r.in?s?(l=ph,o.appearStatus=gh):l=Fg:r.unmountOnExit||r.mountOnEnter?l=S1:l=ph,o.state={status:l},o.nextCallback=null,o}t.getDerivedStateFromProps=function(i,o){var a=i.in;return a&&o.status===S1?{status:ph}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var o=null;if(i!==this.props){var a=this.state.status;this.props.in?a!==gh&&a!==Fg&&(o=gh):(a===gh||a===Fg)&&(o=Gk)}this.updateStatus(!1,o)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,o,a,s;return o=a=s=i,i!=null&&typeof i!="number"&&(o=i.exit,a=i.enter,s=i.appear!==void 0?i.appear:a),{exit:o,enter:a,appear:s}},n.updateStatus=function(i,o){if(i===void 0&&(i=!1),o!==null)if(this.cancelNextCallback(),o===gh){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this);a&&mG(a)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===ph&&this.setState({status:S1})},n.performEnter=function(i){var o=this,a=this.props.enter,s=this.context?this.context.isMounting:i,l=this.props.nodeRef?[s]:[Ob.findDOMNode(this),s],u=l[0],d=l[1],h=this.getTimeouts(),m=s?h.appear:h.enter;if(!i&&!a||$I.disabled){this.safeSetState({status:Fg},function(){o.props.onEntered(u)});return}this.props.onEnter(u,d),this.safeSetState({status:gh},function(){o.props.onEntering(u,d),o.onTransitionEnd(m,function(){o.safeSetState({status:Fg},function(){o.props.onEntered(u,d)})})})},n.performExit=function(){var i=this,o=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:Ob.findDOMNode(this);if(!o||$I.disabled){this.safeSetState({status:ph},function(){i.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:Gk},function(){i.props.onExiting(s),i.onTransitionEnd(a.exit,function(){i.safeSetState({status:ph},function(){i.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,o){o=this.setNextCallback(o),this.setState(i,o)},n.setNextCallback=function(i){var o=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,o.nextCallback=null,i(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(i,o){this.setNextCallback(o);var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this),s=i==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],u=l[0],d=l[1];this.props.addEndListener(u,d)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===S1)return null;var o=this.props,a=o.children;o.in,o.mountOnEnter,o.unmountOnExit,o.appear,o.enter,o.exit,o.timeout,o.addEndListener,o.onEnter,o.onEntering,o.onEntered,o.onExit,o.onExiting,o.onExited,o.nodeRef;var s=m8(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Ke.createElement(gG.Provider,{value:null},typeof a=="function"?a(i,s):Ke.cloneElement(Ke.Children.only(a),s))},t}(Ke.Component);mc.contextType=gG;mc.propTypes={};function Dg(){}mc.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Dg,onEntering:Dg,onEntered:Dg,onExit:Dg,onExiting:Dg,onExited:Dg};mc.UNMOUNTED=S1;mc.EXITED=ph;mc.ENTERING=gh;mc.ENTERED=Fg;mc.EXITING=Gk;const p7e=mc;var g7e=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return f7e(t,r)})},JC=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return h7e(t,r)})},WE=function(e){b8(t,e);function t(){for(var r,i=arguments.length,o=new Array(i),a=0;ab,Object.values(b));return S.createElement(w.Provider,{value:E},y)}function d(h,m){const y=(m==null?void 0:m[e][l])||s,b=S.useContext(y);if(b)return b;if(a!==void 0)return a;throw new Error(`\`${h}\` must be used within \`${o}\``)}return u.displayName=o+"Provider",[u,d]}const i=()=>{const o=n.map(a=>S.createContext(a));return function(s){const l=(s==null?void 0:s[e])||o;return S.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[r,m7e(i,...t)]}function m7e(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const a=r.reduce((s,{useScope:l,scopeName:u})=>{const h=l(o)[`__scope${u}`];return{...s,...h}},{});return S.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function v7e(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function yG(...e){return t=>e.forEach(n=>v7e(n,t))}function ds(...e){return S.useCallback(yG(...e),e)}const Fy=S.forwardRef((e,t)=>{const{children:n,...r}=e,i=S.Children.toArray(n),o=i.find(b7e);if(o){const a=o.props.children,s=i.map(l=>l===o?S.Children.count(a)>1?S.Children.only(null):S.isValidElement(a)?a.props.children:null:l);return S.createElement(qk,pn({},r,{ref:t}),S.isValidElement(a)?S.cloneElement(a,void 0,s):null)}return S.createElement(qk,pn({},r,{ref:t}),n)});Fy.displayName="Slot";const qk=S.forwardRef((e,t)=>{const{children:n,...r}=e;return S.isValidElement(n)?S.cloneElement(n,{...x7e(r,n.props),ref:yG(t,n.ref)}):S.Children.count(n)>1?S.Children.only(null):null});qk.displayName="SlotClone";const y7e=({children:e})=>S.createElement(S.Fragment,null,e);function b7e(e){return S.isValidElement(e)&&e.type===y7e}function x7e(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...s)=>{o(...s),i(...s)}:i&&(n[r]=i):r==="style"?n[r]={...i,...o}:r==="className"&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}const S7e=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],sc=S7e.reduce((e,t)=>{const n=S.forwardRef((r,i)=>{const{asChild:o,...a}=r,s=o?Fy:t;return S.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),S.createElement(s,pn({},a,{ref:i}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function bG(e,t){e&&Xs.flushSync(()=>e.dispatchEvent(t))}function xG(e){const t=e+"CollectionProvider",[n,r]=b2(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=y=>{const{scope:b,children:w}=y,E=Ke.useRef(null),_=Ke.useRef(new Map).current;return Ke.createElement(i,{scope:b,itemMap:_,collectionRef:E},w)},s=e+"CollectionSlot",l=Ke.forwardRef((y,b)=>{const{scope:w,children:E}=y,_=o(s,w),k=ds(b,_.collectionRef);return Ke.createElement(Fy,{ref:k},E)}),u=e+"CollectionItemSlot",d="data-radix-collection-item",h=Ke.forwardRef((y,b)=>{const{scope:w,children:E,..._}=y,k=Ke.useRef(null),T=ds(b,k),L=o(u,w);return Ke.useEffect(()=>(L.itemMap.set(k,{ref:k,..._}),()=>void L.itemMap.delete(k))),Ke.createElement(Fy,{[d]:"",ref:T},E)});function m(y){const b=o(e+"CollectionConsumer",y);return Ke.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const _=Array.from(E.querySelectorAll(`[${d}]`));return Array.from(b.itemMap.values()).sort((L,O)=>_.indexOf(L.ref.current)-_.indexOf(O.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:l,ItemSlot:h},m,r]}const w7e=S.createContext(void 0);function SG(e){const t=S.useContext(w7e);return e||t||"ltr"}function Js(e){const t=S.useRef(e);return S.useEffect(()=>{t.current=e}),S.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function C7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e);S.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const Kk="dismissableLayer.update",_7e="dismissableLayer.pointerDownOutside",k7e="dismissableLayer.focusOutside";let FI;const E7e=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),P7e=S.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...u}=e,d=S.useContext(E7e),[h,m]=S.useState(null),y=(n=h==null?void 0:h.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,b]=S.useState({}),w=ds(t,N=>m(N)),E=Array.from(d.layers),[_]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),k=E.indexOf(_),T=h?E.indexOf(h):-1,L=d.layersWithOutsidePointerEventsDisabled.size>0,O=T>=k,D=T7e(N=>{const W=N.target,B=[...d.branches].some(K=>K.contains(W));!O||B||(o==null||o(N),s==null||s(N),N.defaultPrevented||l==null||l())},y),I=M7e(N=>{const W=N.target;[...d.branches].some(K=>K.contains(W))||(a==null||a(N),s==null||s(N),N.defaultPrevented||l==null||l())},y);return C7e(N=>{T===d.layers.size-1&&(i==null||i(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},y),S.useEffect(()=>{if(h)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(FI=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),BI(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=FI)}},[h,y,r,d]),S.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),BI())},[h,d]),S.useEffect(()=>{const N=()=>b({});return document.addEventListener(Kk,N),()=>document.removeEventListener(Kk,N)},[]),S.createElement(sc.div,pn({},u,{ref:w,style:{pointerEvents:L?O?"auto":"none":void 0,...e.style},onFocusCapture:Kn(e.onFocusCapture,I.onFocusCapture),onBlurCapture:Kn(e.onBlurCapture,I.onBlurCapture),onPointerDownCapture:Kn(e.onPointerDownCapture,D.onPointerDownCapture)}))});function T7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1),i=S.useRef(()=>{});return S.useEffect(()=>{const o=s=>{if(s.target&&!r.current){let u=function(){wG(_7e,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=u,t.addEventListener("click",i.current,{once:!0})):u()}r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",o),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function M7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1);return S.useEffect(()=>{const i=o=>{o.target&&!r.current&&wG(k7e,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function BI(){const e=new CustomEvent(Kk);document.dispatchEvent(e)}function wG(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?bG(i,o):i.dispatchEvent(o)}let e6=0;function L7e(){S.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:zI()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:zI()),e6++,()=>{e6===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),e6--}},[])}function zI(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}const t6="focusScope.autoFocusOnMount",n6="focusScope.autoFocusOnUnmount",HI={bubbles:!1,cancelable:!0},A7e=S.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...a}=e,[s,l]=S.useState(null),u=Js(i),d=Js(o),h=S.useRef(null),m=ds(t,w=>l(w)),y=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(r){let w=function(_){if(y.paused||!s)return;const k=_.target;s.contains(k)?h.current=k:mh(h.current,{select:!0})},E=function(_){y.paused||!s||s.contains(_.relatedTarget)||mh(h.current,{select:!0})};return document.addEventListener("focusin",w),document.addEventListener("focusout",E),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",E)}}},[r,s,y.paused]),S.useEffect(()=>{if(s){UI.add(y);const w=document.activeElement;if(!s.contains(w)){const _=new CustomEvent(t6,HI);s.addEventListener(t6,u),s.dispatchEvent(_),_.defaultPrevented||(O7e(N7e(CG(s)),{select:!0}),document.activeElement===w&&mh(s))}return()=>{s.removeEventListener(t6,u),setTimeout(()=>{const _=new CustomEvent(n6,HI);s.addEventListener(n6,d),s.dispatchEvent(_),_.defaultPrevented||mh(w??document.body,{select:!0}),s.removeEventListener(n6,d),UI.remove(y)},0)}}},[s,u,d,y]);const b=S.useCallback(w=>{if(!n&&!r||y.paused)return;const E=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,_=document.activeElement;if(E&&_){const k=w.currentTarget,[T,L]=R7e(k);T&&L?!w.shiftKey&&_===L?(w.preventDefault(),n&&mh(T,{select:!0})):w.shiftKey&&_===T&&(w.preventDefault(),n&&mh(L,{select:!0})):_===k&&w.preventDefault()}},[n,r,y.paused]);return S.createElement(sc.div,pn({tabIndex:-1},a,{ref:m,onKeyDown:b}))});function O7e(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(mh(r,{select:t}),document.activeElement!==n)return}function R7e(e){const t=CG(e),n=WI(t,e),r=WI(t.reverse(),e);return[n,r]}function CG(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function WI(e,t){for(const n of e)if(!I7e(n,{upTo:t}))return n}function I7e(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function D7e(e){return e instanceof HTMLInputElement&&"select"in e}function mh(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&D7e(e)&&t&&e.select()}}const UI=j7e();function j7e(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=VI(e,t),e.unshift(t)},remove(t){var n;e=VI(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function VI(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function N7e(e){return e.filter(t=>t.tagName!=="A")}const Pd=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:()=>{},$7e=p6["useId".toString()]||(()=>{});let F7e=0;function B7e(e){const[t,n]=S.useState($7e());return Pd(()=>{e||n(r=>r??String(F7e++))},[e]),e||(t?`radix-${t}`:"")}function gp(e){return e.split("-")[0]}function x2(e){return e.split("-")[1]}function w0(e){return["top","bottom"].includes(gp(e))?"x":"y"}function UE(e){return e==="y"?"height":"width"}function GI(e,t,n){let{reference:r,floating:i}=e;const o=r.x+r.width/2-i.width/2,a=r.y+r.height/2-i.height/2,s=w0(t),l=UE(s),u=r[l]/2-i[l]/2,d=s==="x";let h;switch(gp(t)){case"top":h={x:o,y:r.y-i.height};break;case"bottom":h={x:o,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:a};break;case"left":h={x:r.x-i.width,y:a};break;default:h={x:r.x,y:r.y}}switch(x2(t)){case"start":h[s]-=u*(n&&d?-1:1);break;case"end":h[s]+=u*(n&&d?-1:1)}return h}const z7e=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,s=await(a.isRTL==null?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=GI(l,r,s),h=r,m={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{element:n,padding:r=0}=e??{},{x:i,y:o,placement:a,rects:s,platform:l}=t;if(n==null)return{};const u=_G(r),d={x:i,y:o},h=w0(a),m=x2(a),y=UE(h),b=await l.getDimensions(n),w=h==="y"?"top":"left",E=h==="y"?"bottom":"right",_=s.reference[y]+s.reference[h]-d[h]-s.floating[y],k=d[h]-s.reference[h],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(n));let L=T?h==="y"?T.clientHeight||0:T.clientWidth||0:0;L===0&&(L=s.floating[y]);const O=_/2-k/2,D=u[w],I=L-b[y]-u[E],N=L/2-b[y]/2+O,W=Yk(D,N,I),B=(m==="start"?u[w]:u[E])>0&&N!==W&&s.reference[y]<=s.floating[y];return{[h]:d[h]-(B?NW7e[t])}function U7e(e,t,n){n===void 0&&(n=!1);const r=x2(e),i=w0(e),o=UE(i);let a=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=R3(a)),{main:a,cross:R3(a)}}const V7e={start:"end",end:"start"};function KI(e){return e.replace(/start|end/g,t=>V7e[t])}const kG=["top","right","bottom","left"];kG.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const G7e=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:i,rects:o,initialPlacement:a,platform:s,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",flipAlignment:y=!0,...b}=e,w=gp(r),E=h||(w===a||!y?[R3(a)]:function(N){const W=R3(N);return[KI(N),W,KI(W)]}(a)),_=[a,...E],k=await By(t,b),T=[];let L=((n=i.flip)==null?void 0:n.overflows)||[];if(u&&T.push(k[w]),d){const{main:N,cross:W}=U7e(r,o,await(s.isRTL==null?void 0:s.isRTL(l.floating)));T.push(k[N],k[W])}if(L=[...L,{placement:r,overflows:T}],!T.every(N=>N<=0)){var O,D;const N=((O=(D=i.flip)==null?void 0:D.index)!=null?O:0)+1,W=_[N];if(W)return{data:{index:N,overflows:L},reset:{placement:W}};let B="bottom";switch(m){case"bestFit":{var I;const K=(I=L.map(ne=>[ne,ne.overflows.filter(z=>z>0).reduce((z,$)=>z+$,0)]).sort((ne,z)=>ne[1]-z[1])[0])==null?void 0:I[0].placement;K&&(B=K);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function YI(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function XI(e){return kG.some(t=>e[t]>=0)}const q7e=function(e){let{strategy:t="referenceHidden",...n}=e===void 0?{}:e;return{name:"hide",async fn(r){const{rects:i}=r;switch(t){case"referenceHidden":{const o=YI(await By(r,{...n,elementContext:"reference"}),i.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:XI(o)}}}case"escaped":{const o=YI(await By(r,{...n,altBoundary:!0}),i.floating);return{data:{escapedOffsets:o,escaped:XI(o)}}}default:return{}}}}},K7e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,i=await async function(o,a){const{placement:s,platform:l,elements:u}=o,d=await(l.isRTL==null?void 0:l.isRTL(u.floating)),h=gp(s),m=x2(s),y=w0(s)==="x",b=["left","top"].includes(h)?-1:1,w=d&&y?-1:1,E=typeof a=="function"?a(o):a;let{mainAxis:_,crossAxis:k,alignmentAxis:T}=typeof E=="number"?{mainAxis:E,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...E};return m&&typeof T=="number"&&(k=m==="end"?-1*T:T),y?{x:k*w,y:_*b}:{x:_*b,y:k*w}}(t,e);return{x:n+i.x,y:r+i.y,data:i}}}};function EG(e){return e==="x"?"y":"x"}const Y7e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:E=>{let{x:_,y:k}=E;return{x:_,y:k}}},...l}=e,u={x:n,y:r},d=await By(t,l),h=w0(gp(i)),m=EG(h);let y=u[h],b=u[m];if(o){const E=h==="y"?"bottom":"right";y=Yk(y+d[h==="y"?"top":"left"],y,y-d[E])}if(a){const E=m==="y"?"bottom":"right";b=Yk(b+d[m==="y"?"top":"left"],b,b-d[E])}const w=s.fn({...t,[h]:y,[m]:b});return{...w,data:{x:w.x-n,y:w.y-r}}}}},X7e=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:u=!0}=e,d={x:n,y:r},h=w0(i),m=EG(h);let y=d[h],b=d[m];const w=typeof s=="function"?s({...o,placement:i}):s,E=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(l){const O=h==="y"?"height":"width",D=o.reference[h]-o.floating[O]+E.mainAxis,I=o.reference[h]+o.reference[O]-E.mainAxis;yI&&(y=I)}if(u){var _,k,T,L;const O=h==="y"?"width":"height",D=["top","left"].includes(gp(i)),I=o.reference[m]-o.floating[O]+(D&&(_=(k=a.offset)==null?void 0:k[m])!=null?_:0)+(D?0:E.crossAxis),N=o.reference[m]+o.reference[O]+(D?0:(T=(L=a.offset)==null?void 0:L[m])!=null?T:0)-(D?E.crossAxis:0);bN&&(b=N)}return{[h]:y,[m]:b}}}},Z7e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:i,elements:o}=t,{apply:a,...s}=e,l=await By(t,s),u=gp(n),d=x2(n);let h,m;u==="top"||u==="bottom"?(h=u,m=d===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(m=u,h=d==="end"?"top":"bottom");const y=vh(l.left,0),b=vh(l.right,0),w=vh(l.top,0),E=vh(l.bottom,0),_={availableHeight:r.floating.height-(["left","right"].includes(n)?2*(w!==0||E!==0?w+E:vh(l.top,l.bottom)):l[h]),availableWidth:r.floating.width-(["top","bottom"].includes(n)?2*(y!==0||b!==0?y+b:vh(l.left,l.right)):l[m])},k=await i.getDimensions(o.floating);a==null||a({...t,..._});const T=await i.getDimensions(o.floating);return k.width!==T.width||k.height!==T.height?{reset:{rects:!0}}:{}}}};function PG(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}function vc(e){if(e==null)return window;if(!PG(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function S2(e){return vc(e).getComputedStyle(e)}function Xu(e){return PG(e)?"":e?(e.nodeName||"").toLowerCase():""}function TG(){const e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(t=>t.brand+"/"+t.version).join(" "):navigator.userAgent}function ou(e){return e instanceof vc(e).HTMLElement}function ef(e){return e instanceof vc(e).Element}function VE(e){return typeof ShadowRoot>"u"?!1:e instanceof vc(e).ShadowRoot||e instanceof ShadowRoot}function p4(e){const{overflow:t,overflowX:n,overflowY:r}=S2(e);return/auto|scroll|overlay|hidden/.test(t+r+n)}function Q7e(e){return["table","td","th"].includes(Xu(e))}function ZI(e){const t=/firefox/i.test(TG()),n=S2(e);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"}function MG(){return!/^((?!chrome|android).)*safari/i.test(TG())}const QI=Math.min,Y1=Math.max,I3=Math.round;function Zu(e,t,n){var r,i,o,a;t===void 0&&(t=!1),n===void 0&&(n=!1);const s=e.getBoundingClientRect();let l=1,u=1;t&&ou(e)&&(l=e.offsetWidth>0&&I3(s.width)/e.offsetWidth||1,u=e.offsetHeight>0&&I3(s.height)/e.offsetHeight||1);const d=ef(e)?vc(e):window,h=!MG()&&n,m=(s.left+(h&&(r=(i=d.visualViewport)==null?void 0:i.offsetLeft)!=null?r:0))/l,y=(s.top+(h&&(o=(a=d.visualViewport)==null?void 0:a.offsetTop)!=null?o:0))/u,b=s.width/l,w=s.height/u;return{width:b,height:w,top:y,right:m+b,bottom:y+w,left:m,x:m,y}}function zd(e){return(t=e,(t instanceof vc(t).Node?e.ownerDocument:e.document)||window.document).documentElement;var t}function g4(e){return ef(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function LG(e){return Zu(zd(e)).left+g4(e).scrollLeft}function J7e(e,t,n){const r=ou(t),i=zd(t),o=Zu(e,r&&function(l){const u=Zu(l);return I3(u.width)!==l.offsetWidth||I3(u.height)!==l.offsetHeight}(t),n==="fixed");let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(r||!r&&n!=="fixed")if((Xu(t)!=="body"||p4(i))&&(a=g4(t)),ou(t)){const l=Zu(t,!0);s.x=l.x+t.clientLeft,s.y=l.y+t.clientTop}else i&&(s.x=LG(i));return{x:o.left+a.scrollLeft-s.x,y:o.top+a.scrollTop-s.y,width:o.width,height:o.height}}function AG(e){return Xu(e)==="html"?e:e.assignedSlot||e.parentNode||(VE(e)?e.host:null)||zd(e)}function JI(e){return ou(e)&&getComputedStyle(e).position!=="fixed"?e.offsetParent:null}function Xk(e){const t=vc(e);let n=JI(e);for(;n&&Q7e(n)&&getComputedStyle(n).position==="static";)n=JI(n);return n&&(Xu(n)==="html"||Xu(n)==="body"&&getComputedStyle(n).position==="static"&&!ZI(n))?t:n||function(r){let i=AG(r);for(VE(i)&&(i=i.host);ou(i)&&!["html","body"].includes(Xu(i));){if(ZI(i))return i;i=i.parentNode}return null}(e)||t}function eD(e){if(ou(e))return{width:e.offsetWidth,height:e.offsetHeight};const t=Zu(e);return{width:t.width,height:t.height}}function OG(e){const t=AG(e);return["html","body","#document"].includes(Xu(t))?e.ownerDocument.body:ou(t)&&p4(t)?t:OG(t)}function D3(e,t){var n;t===void 0&&(t=[]);const r=OG(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=vc(r),a=i?[o].concat(o.visualViewport||[],p4(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(D3(a))}function tD(e,t,n){return t==="viewport"?O3(function(r,i){const o=vc(r),a=zd(r),s=o.visualViewport;let l=a.clientWidth,u=a.clientHeight,d=0,h=0;if(s){l=s.width,u=s.height;const m=MG();(m||!m&&i==="fixed")&&(d=s.offsetLeft,h=s.offsetTop)}return{width:l,height:u,x:d,y:h}}(e,n)):ef(t)?function(r,i){const o=Zu(r,!1,i==="fixed"),a=o.top+r.clientTop,s=o.left+r.clientLeft;return{top:a,left:s,x:s,y:a,right:s+r.clientWidth,bottom:a+r.clientHeight,width:r.clientWidth,height:r.clientHeight}}(t,n):O3(function(r){var i;const o=zd(r),a=g4(r),s=(i=r.ownerDocument)==null?void 0:i.body,l=Y1(o.scrollWidth,o.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),u=Y1(o.scrollHeight,o.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0);let d=-a.scrollLeft+LG(r);const h=-a.scrollTop;return S2(s||o).direction==="rtl"&&(d+=Y1(o.clientWidth,s?s.clientWidth:0)-l),{width:l,height:u,x:d,y:h}}(zd(e)))}function e9e(e){const t=D3(e),n=["absolute","fixed"].includes(S2(e).position)&&ou(e)?Xk(e):e;return ef(n)?t.filter(r=>ef(r)&&function(i,o){const a=o.getRootNode==null?void 0:o.getRootNode();if(i.contains(o))return!0;if(a&&VE(a)){let s=o;do{if(s&&i===s)return!0;s=s.parentNode||s.host}while(s)}return!1}(r,n)&&Xu(r)!=="body"):[]}const t9e={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[...n==="clippingAncestors"?e9e(t):[].concat(n),r],a=o[0],s=o.reduce((l,u)=>{const d=tD(t,u,i);return l.top=Y1(d.top,l.top),l.right=QI(d.right,l.right),l.bottom=QI(d.bottom,l.bottom),l.left=Y1(d.left,l.left),l},tD(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const i=ou(n),o=zd(n);if(n===o)return t;let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((i||!i&&r!=="fixed")&&((Xu(n)!=="body"||p4(o))&&(a=g4(n)),ou(n))){const l=Zu(n,!0);s.x=l.x+n.clientLeft,s.y=l.y+n.clientTop}return{...t,x:t.x-a.scrollLeft+s.x,y:t.y-a.scrollTop+s.y}},isElement:ef,getDimensions:eD,getOffsetParent:Xk,getDocumentElement:zd,getElementRects:e=>{let{reference:t,floating:n,strategy:r}=e;return{reference:J7e(t,Xk(n),r),floating:{...eD(n),x:0,y:0}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>S2(e).direction==="rtl"};function n9e(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a=!0,animationFrame:s=!1}=r,l=i&&!s,u=o&&!s,d=l||u?[...ef(e)?D3(e):[],...D3(t)]:[];d.forEach(b=>{l&&b.addEventListener("scroll",n,{passive:!0}),u&&b.addEventListener("resize",n)});let h,m=null;if(a){let b=!0;m=new ResizeObserver(()=>{b||n(),b=!1}),ef(e)&&!s&&m.observe(e),m.observe(t)}let y=s?Zu(e):null;return s&&function b(){const w=Zu(e);!y||w.x===y.x&&w.y===y.y&&w.width===y.width&&w.height===y.height||n(),y=w,h=requestAnimationFrame(b)}(),n(),()=>{var b;d.forEach(w=>{l&&w.removeEventListener("scroll",n),u&&w.removeEventListener("resize",n)}),(b=m)==null||b.disconnect(),m=null,s&&cancelAnimationFrame(h)}}const r9e=(e,t,n)=>z7e(e,t,{platform:t9e,...n});var Zk=typeof document<"u"?S.useLayoutEffect:S.useEffect;function Qk(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Qk(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){const o=i[r];if(!(o==="_owner"&&e.$$typeof)&&!Qk(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function i9e(e){const t=S.useRef(e);return Zk(()=>{t.current=e}),t}function o9e(e){let{middleware:t,placement:n="bottom",strategy:r="absolute",whileElementsMounted:i}=e===void 0?{}:e;const o=S.useRef(null),a=S.useRef(null),s=i9e(i),l=S.useRef(null),[u,d]=S.useState({x:null,y:null,strategy:r,placement:n,middlewareData:{}}),[h,m]=S.useState(t);Qk(h==null?void 0:h.map(T=>{let{options:L}=T;return L}),t==null?void 0:t.map(T=>{let{options:L}=T;return L}))||m(t);const y=S.useCallback(()=>{!o.current||!a.current||r9e(o.current,a.current,{middleware:h,placement:n,strategy:r}).then(T=>{b.current&&Xs.flushSync(()=>{d(T)})})},[h,n,r]);Zk(()=>{b.current&&y()},[y]);const b=S.useRef(!1);Zk(()=>(b.current=!0,()=>{b.current=!1}),[]);const w=S.useCallback(()=>{if(typeof l.current=="function"&&(l.current(),l.current=null),o.current&&a.current)if(s.current){const T=s.current(o.current,a.current,y);l.current=T}else y()},[y,s]),E=S.useCallback(T=>{o.current=T,w()},[w]),_=S.useCallback(T=>{a.current=T,w()},[w]),k=S.useMemo(()=>({reference:o,floating:a}),[]);return S.useMemo(()=>({...u,update:y,refs:k,reference:E,floating:_}),[u,y,k,E,_])}const a9e=e=>{const{element:t,padding:n}=e;function r(i){return Object.prototype.hasOwnProperty.call(i,"current")}return{name:"arrow",options:e,fn(i){return r(t)?t.current!=null?qI({element:t.current,padding:n}).fn(i):{}:t?qI({element:t,padding:n}).fn(i):{}}}};function s9e(e){const[t,n]=S.useState(void 0);return Pd(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const o=i[0];let a,s;if("borderBoxSize"in o){const l=o.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,s=u.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const RG="Popper",[GE,IG]=b2(RG),[l9e,DG]=GE(RG),u9e=e=>{const{__scopePopper:t,children:n}=e,[r,i]=S.useState(null);return S.createElement(l9e,{scope:t,anchor:r,onAnchorChange:i},n)},c9e="PopperAnchor",d9e=S.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,o=DG(c9e,n),a=S.useRef(null),s=ds(t,a);return S.useEffect(()=>{o.onAnchorChange((r==null?void 0:r.current)||a.current)}),r?null:S.createElement(sc.div,pn({},i,{ref:s}))}),j3="PopperContent",[f9e,zNe]=GE(j3),[h9e,p9e]=GE(j3,{hasParent:!1,positionUpdateFns:new Set}),g9e=S.forwardRef((e,t)=>{var n,r,i,o,a,s,l,u;const{__scopePopper:d,side:h="bottom",sideOffset:m=0,align:y="center",alignOffset:b=0,arrowPadding:w=0,collisionBoundary:E=[],collisionPadding:_=0,sticky:k="partial",hideWhenDetached:T=!1,avoidCollisions:L=!0,onPlaced:O,...D}=e,I=DG(j3,d),[N,W]=S.useState(null),B=ds(t,He=>W(He)),[K,ne]=S.useState(null),z=s9e(K),$=(n=z==null?void 0:z.width)!==null&&n!==void 0?n:0,V=(r=z==null?void 0:z.height)!==null&&r!==void 0?r:0,X=h+(y!=="center"?"-"+y:""),Q=typeof _=="number"?_:{top:0,right:0,bottom:0,left:0,..._},G=Array.isArray(E)?E:[E],Y=G.length>0,ee={padding:Q,boundary:G.filter(v9e),altBoundary:Y},{reference:fe,floating:Ce,strategy:we,x:xe,y:Le,placement:Se,middlewareData:Qe,update:Xe}=o9e({strategy:"fixed",placement:X,whileElementsMounted:n9e,middleware:[y9e(),K7e({mainAxis:m+V,alignmentAxis:b}),L?Y7e({mainAxis:!0,crossAxis:!1,limiter:k==="partial"?X7e():void 0,...ee}):void 0,K?a9e({element:K,padding:w}):void 0,L?G7e({...ee}):void 0,Z7e({...ee,apply:({elements:He,availableWidth:Ue,availableHeight:ye})=>{He.floating.style.setProperty("--radix-popper-available-width",`${Ue}px`),He.floating.style.setProperty("--radix-popper-available-height",`${ye}px`)}}),b9e({arrowWidth:$,arrowHeight:V}),T?q7e({strategy:"referenceHidden"}):void 0].filter(m9e)});Pd(()=>{fe(I.anchor)},[fe,I.anchor]);const tt=xe!==null&&Le!==null,[yt,Be]=jG(Se),Ae=Js(O);Pd(()=>{tt&&(Ae==null||Ae())},[tt,Ae]);const bt=(i=Qe.arrow)===null||i===void 0?void 0:i.x,Fe=(o=Qe.arrow)===null||o===void 0?void 0:o.y,at=((a=Qe.arrow)===null||a===void 0?void 0:a.centerOffset)!==0,[jt,mt]=S.useState();Pd(()=>{N&&mt(window.getComputedStyle(N).zIndex)},[N]);const{hasParent:Zt,positionUpdateFns:on}=p9e(j3,d),se=!Zt;S.useLayoutEffect(()=>{if(!se)return on.add(Xe),()=>{on.delete(Xe)}},[se,on,Xe]),Pd(()=>{se&&tt&&Array.from(on).reverse().forEach(He=>requestAnimationFrame(He))},[se,tt,on]);const Ie={"data-side":yt,"data-align":Be,...D,ref:B,style:{...D.style,animation:tt?void 0:"none",opacity:(s=Qe.hide)!==null&&s!==void 0&&s.referenceHidden?0:void 0}};return S.createElement("div",{ref:Ce,"data-radix-popper-content-wrapper":"",style:{position:we,left:0,top:0,transform:tt?`translate3d(${Math.round(xe)}px, ${Math.round(Le)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:jt,["--radix-popper-transform-origin"]:[(l=Qe.transformOrigin)===null||l===void 0?void 0:l.x,(u=Qe.transformOrigin)===null||u===void 0?void 0:u.y].join(" ")},dir:e.dir},S.createElement(f9e,{scope:d,placedSide:yt,onArrowChange:ne,arrowX:bt,arrowY:Fe,shouldHideArrow:at},se?S.createElement(h9e,{scope:d,hasParent:!0,positionUpdateFns:on},S.createElement(sc.div,Ie)):S.createElement(sc.div,Ie)))});function m9e(e){return e!==void 0}function v9e(e){return e!==null}const y9e=()=>({name:"anchorCssProperties",fn(e){const{rects:t,elements:n}=e,{width:r,height:i}=t.reference;return n.floating.style.setProperty("--radix-popper-anchor-width",`${r}px`),n.floating.style.setProperty("--radix-popper-anchor-height",`${i}px`),{}}}),b9e=e=>({name:"transformOrigin",options:e,fn(t){var n,r,i,o,a;const{placement:s,rects:l,middlewareData:u}=t,h=((n=u.arrow)===null||n===void 0?void 0:n.centerOffset)!==0,m=h?0:e.arrowWidth,y=h?0:e.arrowHeight,[b,w]=jG(s),E={start:"0%",center:"50%",end:"100%"}[w],_=((r=(i=u.arrow)===null||i===void 0?void 0:i.x)!==null&&r!==void 0?r:0)+m/2,k=((o=(a=u.arrow)===null||a===void 0?void 0:a.y)!==null&&o!==void 0?o:0)+y/2;let T="",L="";return b==="bottom"?(T=h?E:`${_}px`,L=`${-y}px`):b==="top"?(T=h?E:`${_}px`,L=`${l.floating.height+y}px`):b==="right"?(T=`${-y}px`,L=h?E:`${k}px`):b==="left"&&(T=`${l.floating.width+y}px`,L=h?E:`${k}px`),{data:{x:T,y:L}}}});function jG(e){const[t,n="center"]=e.split("-");return[t,n]}const x9e=u9e,S9e=d9e,w9e=g9e;function C9e(e,t){return S.useReducer((n,r)=>{const i=t[n][r];return i??n},e)}const NG=e=>{const{present:t,children:n}=e,r=_9e(t),i=typeof n=="function"?n({present:r.isPresent}):S.Children.only(n),o=ds(r.ref,i.ref);return typeof n=="function"||r.isPresent?S.cloneElement(i,{ref:o}):null};NG.displayName="Presence";function _9e(e){const[t,n]=S.useState(),r=S.useRef({}),i=S.useRef(e),o=S.useRef("none"),a=e?"mounted":"unmounted",[s,l]=C9e(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{const u=Sx(r.current);o.current=s==="mounted"?u:"none"},[s]),Pd(()=>{const u=r.current,d=i.current;if(d!==e){const m=o.current,y=Sx(u);e?l("MOUNT"):y==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==y?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),Pd(()=>{if(t){const u=h=>{const y=Sx(r.current).includes(h.animationName);h.target===t&&y&&Xs.flushSync(()=>l("ANIMATION_END"))},d=h=>{h.target===t&&(o.current=Sx(r.current))};return t.addEventListener("animationstart",d),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{t.removeEventListener("animationstart",d),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:S.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function Sx(e){return(e==null?void 0:e.animationName)||"none"}function k9e({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,i]=E9e({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,s=Js(n),l=S.useCallback(u=>{if(o){const h=typeof u=="function"?u(e):u;h!==e&&s(h)}else i(u)},[o,e,i,s]);return[a,l]}function E9e({defaultProp:e,onChange:t}){const n=S.useState(e),[r]=n,i=S.useRef(r),o=Js(t);return S.useEffect(()=>{i.current!==r&&(o(r),i.current=r)},[r,i,o]),n}const r6="rovingFocusGroup.onEntryFocus",P9e={bubbles:!1,cancelable:!0},qE="RovingFocusGroup",[Jk,$G,T9e]=xG(qE),[M9e,FG]=b2(qE,[T9e]),[L9e,A9e]=M9e(qE),O9e=S.forwardRef((e,t)=>S.createElement(Jk.Provider,{scope:e.__scopeRovingFocusGroup},S.createElement(Jk.Slot,{scope:e.__scopeRovingFocusGroup},S.createElement(R9e,pn({},e,{ref:t}))))),R9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:u,...d}=e,h=S.useRef(null),m=ds(t,h),y=SG(o),[b=null,w]=k9e({prop:a,defaultProp:s,onChange:l}),[E,_]=S.useState(!1),k=Js(u),T=$G(n),L=S.useRef(!1),[O,D]=S.useState(0);return S.useEffect(()=>{const I=h.current;if(I)return I.addEventListener(r6,k),()=>I.removeEventListener(r6,k)},[k]),S.createElement(L9e,{scope:n,orientation:r,dir:y,loop:i,currentTabStopId:b,onItemFocus:S.useCallback(I=>w(I),[w]),onItemShiftTab:S.useCallback(()=>_(!0),[]),onFocusableItemAdd:S.useCallback(()=>D(I=>I+1),[]),onFocusableItemRemove:S.useCallback(()=>D(I=>I-1),[])},S.createElement(sc.div,pn({tabIndex:E||O===0?-1:0,"data-orientation":r},d,{ref:m,style:{outline:"none",...e.style},onMouseDown:Kn(e.onMouseDown,()=>{L.current=!0}),onFocus:Kn(e.onFocus,I=>{const N=!L.current;if(I.target===I.currentTarget&&N&&!E){const W=new CustomEvent(r6,P9e);if(I.currentTarget.dispatchEvent(W),!W.defaultPrevented){const B=T().filter(V=>V.focusable),K=B.find(V=>V.active),ne=B.find(V=>V.id===b),$=[K,ne,...B].filter(Boolean).map(V=>V.ref.current);BG($)}}L.current=!1}),onBlur:Kn(e.onBlur,()=>_(!1))})))}),I9e="RovingFocusGroupItem",D9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:o,...a}=e,s=B7e(),l=o||s,u=A9e(I9e,n),d=u.currentTabStopId===l,h=$G(n),{onFocusableItemAdd:m,onFocusableItemRemove:y}=u;return S.useEffect(()=>{if(r)return m(),()=>y()},[r,m,y]),S.createElement(Jk.ItemSlot,{scope:n,id:l,focusable:r,active:i},S.createElement(sc.span,pn({tabIndex:d?0:-1,"data-orientation":u.orientation},a,{ref:t,onMouseDown:Kn(e.onMouseDown,b=>{r?u.onItemFocus(l):b.preventDefault()}),onFocus:Kn(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Kn(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=$9e(b,u.orientation,u.dir);if(w!==void 0){b.preventDefault();let _=h().filter(k=>k.focusable).map(k=>k.ref.current);if(w==="last")_.reverse();else if(w==="prev"||w==="next"){w==="prev"&&_.reverse();const k=_.indexOf(b.currentTarget);_=u.loop?F9e(_,k+1):_.slice(k+1)}setTimeout(()=>BG(_))}})})))}),j9e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function N9e(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function $9e(e,t,n){const r=N9e(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return j9e[r]}function BG(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function F9e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const B9e=O9e,z9e=D9e,H9e=["Enter"," "],W9e=["ArrowDown","PageUp","Home"],zG=["ArrowUp","PageDown","End"],U9e=[...W9e,...zG],m4="Menu",[e7,V9e,G9e]=xG(m4),[mp,HG]=b2(m4,[G9e,IG,FG]),KE=IG(),WG=FG(),[q9e,v4]=mp(m4),[K9e,YE]=mp(m4),Y9e=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:o,modal:a=!0}=e,s=KE(t),[l,u]=S.useState(null),d=S.useRef(!1),h=Js(o),m=SG(i);return S.useEffect(()=>{const y=()=>{d.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>d.current=!1;return document.addEventListener("keydown",y,{capture:!0}),()=>{document.removeEventListener("keydown",y,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),S.createElement(x9e,s,S.createElement(q9e,{scope:t,open:n,onOpenChange:h,content:l,onContentChange:u},S.createElement(K9e,{scope:t,onClose:S.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:d,dir:m,modal:a},r)))},X9e=S.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=KE(n);return S.createElement(S9e,pn({},i,r,{ref:t}))}),Z9e="MenuPortal",[HNe,Q9e]=mp(Z9e,{forceMount:void 0}),Hd="MenuContent",[J9e,UG]=mp(Hd),e8e=S.forwardRef((e,t)=>{const n=Q9e(Hd,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,o=v4(Hd,e.__scopeMenu),a=YE(Hd,e.__scopeMenu);return S.createElement(e7.Provider,{scope:e.__scopeMenu},S.createElement(NG,{present:r||o.open},S.createElement(e7.Slot,{scope:e.__scopeMenu},a.modal?S.createElement(t8e,pn({},i,{ref:t})):S.createElement(n8e,pn({},i,{ref:t})))))}),t8e=S.forwardRef((e,t)=>{const n=v4(Hd,e.__scopeMenu),r=S.useRef(null),i=ds(t,r);return S.useEffect(()=>{const o=r.current;if(o)return LH(o)},[]),S.createElement(VG,pn({},e,{ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Kn(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)}))}),n8e=S.forwardRef((e,t)=>{const n=v4(Hd,e.__scopeMenu);return S.createElement(VG,pn({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)}))}),VG=S.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:h,onInteractOutside:m,onDismiss:y,disableOutsideScroll:b,...w}=e,E=v4(Hd,n),_=YE(Hd,n),k=KE(n),T=WG(n),L=V9e(n),[O,D]=S.useState(null),I=S.useRef(null),N=ds(t,I,E.onContentChange),W=S.useRef(0),B=S.useRef(""),K=S.useRef(0),ne=S.useRef(null),z=S.useRef("right"),$=S.useRef(0),V=b?NH:S.Fragment,X=b?{as:Fy,allowPinchZoom:!0}:void 0,Q=Y=>{var ee,fe;const Ce=B.current+Y,we=L().filter(tt=>!tt.disabled),xe=document.activeElement,Le=(ee=we.find(tt=>tt.ref.current===xe))===null||ee===void 0?void 0:ee.textValue,Se=we.map(tt=>tt.textValue),Qe=d8e(Se,Ce,Le),Xe=(fe=we.find(tt=>tt.textValue===Qe))===null||fe===void 0?void 0:fe.ref.current;(function tt(yt){B.current=yt,window.clearTimeout(W.current),yt!==""&&(W.current=window.setTimeout(()=>tt(""),1e3))})(Ce),Xe&&setTimeout(()=>Xe.focus())};S.useEffect(()=>()=>window.clearTimeout(W.current),[]),L7e();const G=S.useCallback(Y=>{var ee,fe;return z.current===((ee=ne.current)===null||ee===void 0?void 0:ee.side)&&h8e(Y,(fe=ne.current)===null||fe===void 0?void 0:fe.area)},[]);return S.createElement(J9e,{scope:n,searchRef:B,onItemEnter:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),onItemLeave:S.useCallback(Y=>{var ee;G(Y)||((ee=I.current)===null||ee===void 0||ee.focus(),D(null))},[G]),onTriggerLeave:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),pointerGraceTimerRef:K,onPointerGraceIntentChange:S.useCallback(Y=>{ne.current=Y},[])},S.createElement(V,X,S.createElement(A7e,{asChild:!0,trapped:i,onMountAutoFocus:Kn(o,Y=>{var ee;Y.preventDefault(),(ee=I.current)===null||ee===void 0||ee.focus()}),onUnmountAutoFocus:a},S.createElement(P7e,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:h,onInteractOutside:m,onDismiss:y},S.createElement(B9e,pn({asChild:!0},T,{dir:_.dir,orientation:"vertical",loop:r,currentTabStopId:O,onCurrentTabStopIdChange:D,onEntryFocus:Kn(l,Y=>{_.isUsingKeyboardRef.current||Y.preventDefault()})}),S.createElement(w9e,pn({role:"menu","aria-orientation":"vertical","data-state":l8e(E.open),"data-radix-menu-content":"",dir:_.dir},k,w,{ref:N,style:{outline:"none",...w.style},onKeyDown:Kn(w.onKeyDown,Y=>{const fe=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,Ce=Y.ctrlKey||Y.altKey||Y.metaKey,we=Y.key.length===1;fe&&(Y.key==="Tab"&&Y.preventDefault(),!Ce&&we&&Q(Y.key));const xe=I.current;if(Y.target!==xe||!U9e.includes(Y.key))return;Y.preventDefault();const Se=L().filter(Qe=>!Qe.disabled).map(Qe=>Qe.ref.current);zG.includes(Y.key)&&Se.reverse(),u8e(Se)}),onBlur:Kn(e.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(W.current),B.current="")}),onPointerMove:Kn(e.onPointerMove,n7(Y=>{const ee=Y.target,fe=$.current!==Y.clientX;if(Y.currentTarget.contains(ee)&&fe){const Ce=Y.clientX>$.current?"right":"left";z.current=Ce,$.current=Y.clientX}}))})))))))}),t7="MenuItem",nD="menu.itemSelect",r8e=S.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,o=S.useRef(null),a=YE(t7,e.__scopeMenu),s=UG(t7,e.__scopeMenu),l=ds(t,o),u=S.useRef(!1),d=()=>{const h=o.current;if(!n&&h){const m=new CustomEvent(nD,{bubbles:!0,cancelable:!0});h.addEventListener(nD,y=>r==null?void 0:r(y),{once:!0}),bG(h,m),m.defaultPrevented?u.current=!1:a.onClose()}};return S.createElement(i8e,pn({},i,{ref:l,disabled:n,onClick:Kn(e.onClick,d),onPointerDown:h=>{var m;(m=e.onPointerDown)===null||m===void 0||m.call(e,h),u.current=!0},onPointerUp:Kn(e.onPointerUp,h=>{var m;u.current||(m=h.currentTarget)===null||m===void 0||m.click()}),onKeyDown:Kn(e.onKeyDown,h=>{const m=s.searchRef.current!=="";n||m&&h.key===" "||H9e.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})}))}),i8e=S.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...o}=e,a=UG(t7,n),s=WG(n),l=S.useRef(null),u=ds(t,l),[d,h]=S.useState(!1),[m,y]=S.useState("");return S.useEffect(()=>{const b=l.current;if(b){var w;y(((w=b.textContent)!==null&&w!==void 0?w:"").trim())}},[o.children]),S.createElement(e7.ItemSlot,{scope:n,disabled:r,textValue:i??m},S.createElement(z9e,pn({asChild:!0},s,{focusable:!r}),S.createElement(sc.div,pn({role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0},o,{ref:u,onPointerMove:Kn(e.onPointerMove,n7(b=>{r?a.onItemLeave(b):(a.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus())})),onPointerLeave:Kn(e.onPointerLeave,n7(b=>a.onItemLeave(b))),onFocus:Kn(e.onFocus,()=>h(!0)),onBlur:Kn(e.onBlur,()=>h(!1))}))))}),o8e="MenuRadioGroup";mp(o8e,{value:void 0,onValueChange:()=>{}});const a8e="MenuItemIndicator";mp(a8e,{checked:!1});const s8e="MenuSub";mp(s8e);function l8e(e){return e?"open":"closed"}function u8e(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function c8e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function d8e(e,t,n){const i=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=c8e(e,Math.max(o,0));i.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function f8e(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;or!=d>r&&n<(u-s)*(r-l)/(d-l)+s&&(i=!i)}return i}function h8e(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return f8e(n,t)}function n7(e){return t=>t.pointerType==="mouse"?e(t):void 0}const p8e=Y9e,g8e=X9e,m8e=e8e,v8e=r8e,GG="ContextMenu",[y8e,WNe]=b2(GG,[HG]),y4=HG(),[b8e,qG]=y8e(GG),x8e=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:o=!0}=e,[a,s]=S.useState(!1),l=y4(t),u=Js(r),d=S.useCallback(h=>{s(h),u(h)},[u]);return S.createElement(b8e,{scope:t,open:a,onOpenChange:d,modal:o},S.createElement(p8e,pn({},l,{dir:i,open:a,onOpenChange:d,modal:o}),n))},S8e="ContextMenuTrigger",w8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...i}=e,o=qG(S8e,n),a=y4(n),s=S.useRef({x:0,y:0}),l=S.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...s.current})}),u=S.useRef(0),d=S.useCallback(()=>window.clearTimeout(u.current),[]),h=m=>{s.current={x:m.clientX,y:m.clientY},o.onOpenChange(!0)};return S.useEffect(()=>d,[d]),S.useEffect(()=>void(r&&d()),[r,d]),S.createElement(S.Fragment,null,S.createElement(g8e,pn({},a,{virtualRef:l})),S.createElement(sc.span,pn({"data-state":o.open?"open":"closed","data-disabled":r?"":void 0},i,{ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:Kn(e.onContextMenu,m=>{d(),h(m),m.preventDefault()}),onPointerDown:r?e.onPointerDown:Kn(e.onPointerDown,wx(m=>{d(),u.current=window.setTimeout(()=>h(m),700)})),onPointerMove:r?e.onPointerMove:Kn(e.onPointerMove,wx(d)),onPointerCancel:r?e.onPointerCancel:Kn(e.onPointerCancel,wx(d)),onPointerUp:r?e.onPointerUp:Kn(e.onPointerUp,wx(d))})))}),C8e="ContextMenuContent",_8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=qG(C8e,n),o=y4(n),a=S.useRef(!1);return S.createElement(m8e,pn({},o,r,{ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:s=>{var l;(l=e.onCloseAutoFocus)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&a.current&&s.preventDefault(),a.current=!1},onInteractOutside:s=>{var l;(l=e.onInteractOutside)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&!i.modal&&(a.current=!0)},style:{...e.style,["--radix-context-menu-content-transform-origin"]:"var(--radix-popper-transform-origin)"}}))}),k8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=y4(n);return S.createElement(v8e,pn({},i,r,{ref:t}))});function wx(e){return t=>t.pointerType!=="mouse"?e(t):void 0}const E8e=x8e,P8e=w8e,T8e=_8e,ud=k8e,M8e=(e,t)=>e.image.uuid===t.image.uuid&&e.isSelected===t.isSelected,KG=S.memo(e=>{var z,$,V,X,Q,G,Y,ee;const t=Te(),{activeTabName:n,galleryImageObjectFit:r,galleryImageMinimumWidth:i,mayDeleteImage:o,shouldUseSingleGalleryColumn:a}=le(Bke),{image:s,isSelected:l}=e,{url:u,thumbnail:d,uuid:h,metadata:m}=s,[y,b]=S.useState(!1),w=a2(),{t:E}=De(),_=zE(),k=()=>b(!0),T=()=>b(!1),L=()=>{var fe,Ce,we,xe;(Ce=(fe=s.metadata)==null?void 0:fe.image)!=null&&Ce.prompt&&_((xe=(we=s.metadata)==null?void 0:we.image)==null?void 0:xe.prompt),w({title:E("toast.promptSet"),status:"success",duration:2500,isClosable:!0})},O=()=>{s.metadata&&t(p2(s.metadata.image.seed)),w({title:E("toast.seedSet"),status:"success",duration:2500,isClosable:!0})},D=()=>{t(y0(s)),n!=="img2img"&&t(Wo("img2img")),w({title:E("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})},I=()=>{t(i4(s)),t(r4()),n!=="unifiedCanvas"&&t(Wo("unifiedCanvas")),w({title:E("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},N=()=>{m&&t(aU(m)),w({title:E("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})},W=async()=>{var fe;if((fe=m==null?void 0:m.image)!=null&&fe.init_image_path&&(await fetch(m.image.init_image_path)).ok){t(Wo("img2img")),t(N3e(m)),w({title:E("toast.initialImageSet"),status:"success",duration:2500,isClosable:!0});return}w({title:E("toast.initialImageNotSet"),description:E("toast.initialImageNotSetDesc"),status:"error",duration:2500,isClosable:!0})},B=()=>t(ZO(s)),K=fe=>{fe.dataTransfer.setData("invokeai/imageUuid",h),fe.dataTransfer.effectAllowed="move"},ne=()=>{t(ZO(s))};return g.jsxs(E8e,{onOpenChange:fe=>{t(eU(fe))},children:[g.jsx(P8e,{children:g.jsxs(ao,{position:"relative",className:"hoverable-image",onMouseOver:k,onMouseOut:T,userSelect:"none",draggable:!0,onDragStart:K,children:[g.jsx(jw,{className:"hoverable-image-image",objectFit:a?"contain":r,rounded:"md",src:d||u,loading:"lazy"}),g.jsx("div",{className:"hoverable-image-content",onClick:B,children:l&&g.jsx(ja,{width:"50%",height:"50%",as:jE,className:"hoverable-image-check"})}),y&&i>=64&&g.jsx("div",{className:"hoverable-image-delete-button",children:g.jsx(A3,{image:s,children:g.jsx(ls,{"aria-label":E("parameters.deleteImage"),icon:g.jsx(jke,{}),size:"xs",variant:"imageHoverIconButton",fontSize:14,isDisabled:!o})})})]},h)}),g.jsxs(T8e,{className:"hoverable-image-context-menu",sticky:"always",onInteractOutside:fe=>{fe.detail.originalEvent.preventDefault()},children:[g.jsx(ud,{onClickCapture:ne,children:E("parameters.openInViewer")}),g.jsx(ud,{onClickCapture:L,disabled:(($=(z=s==null?void 0:s.metadata)==null?void 0:z.image)==null?void 0:$.prompt)===void 0,children:E("parameters.usePrompt")}),g.jsx(ud,{onClickCapture:O,disabled:((X=(V=s==null?void 0:s.metadata)==null?void 0:V.image)==null?void 0:X.seed)===void 0,children:E("parameters.useSeed")}),g.jsx(ud,{onClickCapture:N,disabled:!["txt2img","img2img"].includes((G=(Q=s==null?void 0:s.metadata)==null?void 0:Q.image)==null?void 0:G.type),children:E("parameters.useAll")}),g.jsx(ud,{onClickCapture:W,disabled:((ee=(Y=s==null?void 0:s.metadata)==null?void 0:Y.image)==null?void 0:ee.type)!=="img2img",children:E("parameters.useInitImg")}),g.jsx(ud,{onClickCapture:D,children:E("parameters.sendToImg2Img")}),g.jsx(ud,{onClickCapture:I,children:E("parameters.sendToUnifiedCanvas")}),g.jsx(ud,{"data-warning":!0,children:g.jsx(A3,{image:s,children:g.jsx("p",{children:E("parameters.deleteImage")})})})]})]})},M8e);KG.displayName="HoverableImage";const Cx=320,rD=40,L8e={txt2img:{galleryMinWidth:200,galleryMaxWidth:500},img2img:{galleryMinWidth:200,galleryMaxWidth:500},unifiedCanvas:{galleryMinWidth:200,galleryMaxWidth:200},nodes:{galleryMinWidth:200,galleryMaxWidth:500},postprocess:{galleryMinWidth:200,galleryMaxWidth:500},training:{galleryMinWidth:200,galleryMaxWidth:500}},iD=400;function YG(){const e=Te(),{t}=De(),{images:n,currentCategory:r,currentImageUuid:i,shouldPinGallery:o,shouldShowGallery:a,galleryScrollPosition:s,galleryImageMinimumWidth:l,galleryGridTemplateColumns:u,activeTabName:d,galleryImageObjectFit:h,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,areMoreImagesAvailable:b,galleryWidth:w,isLightboxOpen:E,isStaging:_,shouldEnableResize:k,shouldUseSingleGalleryColumn:T}=le(Fke),{galleryMinWidth:L,galleryMaxWidth:O}=E?{galleryMinWidth:iD,galleryMaxWidth:iD}:L8e[d],[D,I]=S.useState(w>=Cx),[N,W]=S.useState(!1),[B,K]=S.useState(0),ne=S.useRef(null),z=S.useRef(null),$=S.useRef(null);S.useEffect(()=>{w>=Cx&&I(!1)},[w]);const V=()=>{e(_3e(!o)),e(Li(!0))},X=()=>{a?G():Q()},Q=()=>{e(Am(!0)),o&&e(Li(!0))},G=S.useCallback(()=>{e(Am(!1)),e(eU(!1)),e(k3e(z.current?z.current.scrollTop:0)),setTimeout(()=>o&&e(Li(!0)),400)},[e,o]),Y=()=>{e(Uk(r))},ee=xe=>{e(Gv(xe))},fe=()=>{m||($.current=window.setTimeout(()=>G(),500))},Ce=()=>{$.current&&window.clearTimeout($.current)};Je("g",()=>{X()},[a,o]),Je("left",()=>{e(vE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Je("right",()=>{e(mE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Je("shift+g",()=>{V()},[o]),Je("esc",()=>{e(Am(!1))},{enabled:()=>!o,preventDefault:!0},[o]);const we=32;return Je("shift+up",()=>{if(l<256){const xe=Pe.clamp(l+we,32,256);e(Gv(xe))}},[l]),Je("shift+down",()=>{if(l>32){const xe=Pe.clamp(l-we,32,256);e(Gv(xe))}},[l]),S.useEffect(()=>{z.current&&(z.current.scrollTop=s)},[s,a]),S.useEffect(()=>{function xe(Le){!o&&ne.current&&!ne.current.contains(Le.target)&&G()}return document.addEventListener("mousedown",xe),()=>{document.removeEventListener("mousedown",xe)}},[G,o]),g.jsx(vG,{nodeRef:ne,in:a||m,unmountOnExit:!0,timeout:200,classNames:"image-gallery-wrapper",children:g.jsxs("div",{className:"image-gallery-wrapper",style:{zIndex:o?1:100},"data-pinned":o,ref:ne,onMouseLeave:o?void 0:fe,onMouseEnter:o?void 0:Ce,onMouseOver:o?void 0:Ce,children:[g.jsxs(dG,{minWidth:L,maxWidth:o?O:window.innerWidth,className:"image-gallery-popup",handleStyles:{left:{width:"15px"}},enable:{left:k},size:{width:w,height:o?"100%":"100vh"},onResizeStart:(xe,Le,Se)=>{K(Se.clientHeight),Se.style.height=`${Se.clientHeight}px`,o&&(Se.style.position="fixed",Se.style.right="1rem",W(!0))},onResizeStop:(xe,Le,Se,Qe)=>{const Xe=o?Pe.clamp(Number(w)+Qe.width,L,Number(O)):Number(w)+Qe.width;e(T3e(Xe)),Se.removeAttribute("data-resize-alert"),o&&(Se.style.position="relative",Se.style.removeProperty("right"),Se.style.setProperty("height",o?"100%":"100vh"),W(!1),e(Li(!0)))},onResize:(xe,Le,Se,Qe)=>{const Xe=Pe.clamp(Number(w)+Qe.width,L,Number(o?O:.95*window.innerWidth));Xe>=Cx&&!D?I(!0):XeXe-rD&&e(Gv(Xe-rD)),o&&(Xe>=O?Se.setAttribute("data-resize-alert","true"):Se.removeAttribute("data-resize-alert")),Se.style.height=`${B}px`},children:[g.jsxs("div",{className:"image-gallery-header",children:[g.jsx(Gi,{size:"sm",isAttached:!0,variant:"solid",className:"image-gallery-category-btn-group",children:D?g.jsxs(g.Fragment,{children:[g.jsx(On,{size:"sm","data-selected":r==="result",onClick:()=>e(ex("result")),children:t("gallery.generations")}),g.jsx(On,{size:"sm","data-selected":r==="user",onClick:()=>e(ex("user")),children:t("gallery.uploads")})]}):g.jsxs(g.Fragment,{children:[g.jsx(Ye,{"aria-label":t("gallery.showGenerations"),tooltip:t("gallery.showGenerations"),"data-selected":r==="result",icon:g.jsx(_ke,{}),onClick:()=>e(ex("result"))}),g.jsx(Ye,{"aria-label":t("gallery.showUploads"),tooltip:t("gallery.showUploads"),"data-selected":r==="user",icon:g.jsx($ke,{}),onClick:()=>e(ex("user"))})]})}),g.jsxs("div",{className:"image-gallery-header-right-icons",children:[g.jsx(Ys,{isLazy:!0,trigger:"hover",placement:"left",triggerComponent:g.jsx(Ye,{size:"sm","aria-label":t("gallery.gallerySettings"),icon:g.jsx(BE,{}),className:"image-gallery-icon-btn",cursor:"pointer"}),children:g.jsxs("div",{className:"image-gallery-settings-popover",children:[g.jsxs("div",{children:[g.jsx(Dn,{value:l,onChange:ee,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize")}),g.jsx(Ye,{size:"sm","aria-label":t("gallery.galleryImageResetSize"),tooltip:t("gallery.galleryImageResetSize"),onClick:()=>e(Gv(64)),icon:g.jsx(f4,{}),"data-selected":o,styleClass:"image-gallery-icon-btn"})]}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.maintainAspectRatio"),isChecked:h==="contain",onChange:()=>e(E3e(h==="contain"?"cover":"contain"))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:y,onChange:xe=>e(P3e(xe.target.checked))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.singleColumnLayout"),isChecked:T,onChange:xe=>e(M3e(xe.target.checked))})})]})}),g.jsx(Ye,{size:"sm",className:"image-gallery-icon-btn","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:V,icon:o?g.jsx(fG,{}):g.jsx(hG,{})})]})]}),g.jsx("div",{className:"image-gallery-container",ref:z,children:n.length||b?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"image-gallery",style:{gridTemplateColumns:u},children:n.map(xe=>{const{uuid:Le}=xe,Se=i===Le;return g.jsx(KG,{image:xe,isSelected:Se},Le)})}),g.jsx(ss,{onClick:Y,isDisabled:!b,className:"image-gallery-load-more-btn",children:t(b?"gallery.loadMore":"gallery.allImagesLoaded")})]}):g.jsxs("div",{className:"image-gallery-container-placeholder",children:[g.jsx(pG,{}),g.jsx("p",{children:t("gallery.noImagesInGallery")})]})})]}),N&&g.jsx("div",{style:{width:`${w}px`,height:"100%"}})]})})}var ns=function(e,t){return Number(e.toFixed(t))},A8e=function(e,t){return typeof e=="number"?e:t},mr=function(e,t,n){n&&typeof n=="function"&&n(e,t)},O8e=function(e){return-Math.cos(e*Math.PI)/2+.5},R8e=function(e){return e},I8e=function(e){return e*e},D8e=function(e){return e*(2-e)},j8e=function(e){return e<.5?2*e*e:-1+(4-2*e)*e},N8e=function(e){return e*e*e},$8e=function(e){return--e*e*e+1},F8e=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},B8e=function(e){return e*e*e*e},z8e=function(e){return 1- --e*e*e*e},H8e=function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},W8e=function(e){return e*e*e*e*e},U8e=function(e){return 1+--e*e*e*e*e},V8e=function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e},XG={easeOut:O8e,linear:R8e,easeInQuad:I8e,easeOutQuad:D8e,easeInOutQuad:j8e,easeInCubic:N8e,easeOutCubic:$8e,easeInOutCubic:F8e,easeInQuart:B8e,easeOutQuart:z8e,easeInOutQuart:H8e,easeInQuint:W8e,easeOutQuint:U8e,easeInOutQuint:V8e},ZG=function(e){typeof e=="number"&&cancelAnimationFrame(e)},Fl=function(e){e.mounted&&(ZG(e.animation),e.animate=!1,e.animation=null,e.velocity=null)};function QG(e,t,n,r){if(e.mounted){var i=new Date().getTime(),o=1;Fl(e),e.animation=function(){if(!e.mounted)return ZG(e.animation);var a=new Date().getTime()-i,s=a/n,l=XG[t],u=l(s);a>=n?(r(o),e.animation=null):e.animation&&(r(u),requestAnimationFrame(e.animation))},requestAnimationFrame(e.animation)}}function G8e(e){var t=e.scale,n=e.positionX,r=e.positionY;return!(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(r))}function ff(e,t,n,r){var i=G8e(t);if(!(!e.mounted||!i)){var o=e.setTransformState,a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=t.scale-s,h=t.positionX-l,m=t.positionY-u;n===0?o(t.scale,t.positionX,t.positionY):QG(e,r,n,function(y){var b=s+d*y,w=l+h*y,E=u+m*y;o(b,w,E)})}}function q8e(e,t,n){var r=e.offsetWidth,i=e.offsetHeight,o=t.offsetWidth,a=t.offsetHeight,s=o*n,l=a*n,u=r-s,d=i-l;return{wrapperWidth:r,wrapperHeight:i,newContentWidth:s,newDiffWidth:u,newContentHeight:l,newDiffHeight:d}}var K8e=function(e,t,n,r,i,o,a){var s=e>t?n*(a?1:.5):0,l=r>i?o*(a?1:.5):0,u=e-t-s,d=s,h=r-i-l,m=l;return{minPositionX:u,maxPositionX:d,minPositionY:h,maxPositionY:m}},XE=function(e,t){var n=e.wrapperComponent,r=e.contentComponent,i=e.setup.centerZoomedOut;if(!n||!r)throw new Error("Components are not mounted");var o=q8e(n,r,t),a=o.wrapperWidth,s=o.wrapperHeight,l=o.newContentWidth,u=o.newDiffWidth,d=o.newContentHeight,h=o.newDiffHeight,m=K8e(a,l,u,s,d,h,Boolean(i));return m},r7=function(e,t,n,r){return r?en?ns(n,2):ns(e,2):ns(e,2)},t0=function(e,t){var n=XE(e,t);return e.bounds=n,n};function b4(e,t,n,r,i,o,a){var s=n.minPositionX,l=n.minPositionY,u=n.maxPositionX,d=n.maxPositionY,h=0,m=0;a&&(h=i,m=o);var y=r7(e,s-h,u+h,r),b=r7(t,l-m,d+m,r);return{x:y,y:b}}function x4(e,t,n,r,i,o){var a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=r-s;if(typeof t!="number"||typeof n!="number")return console.error("Mouse X and Y position were not provided!"),{x:l,y:u};var h=l-t*d,m=u-n*d,y=b4(h,m,i,o,0,0,null);return y}function w2(e,t,n,r,i){var o=i?r:0,a=t-o;return!Number.isNaN(n)&&e>=n?n:!Number.isNaN(t)&&e<=a?a:e}var oD=function(e,t){var n=e.setup.panning.excluded,r=e.isInitialized,i=e.wrapperComponent,o=t.target,a=i==null?void 0:i.contains(o),s=r&&o&&a;if(!s)return!1;var l=S4(o,n);return!l},aD=function(e){var t=e.isInitialized,n=e.isPanning,r=e.setup,i=r.panning.disabled,o=t&&n&&!i;return!!o},Y8e=function(e,t){var n=e.transformState,r=n.positionX,i=n.positionY;e.isPanning=!0;var o=t.clientX,a=t.clientY;e.startCoords={x:o-r,y:a-i}},X8e=function(e,t){var n=t.touches,r=e.transformState,i=r.positionX,o=r.positionY;e.isPanning=!0;var a=n.length===1;if(a){var s=n[0].clientX,l=n[0].clientY;e.startCoords={x:s-i,y:l-o}}};function Z8e(e){var t=e.transformState,n=t.positionX,r=t.positionY,i=t.scale,o=e.setup,a=o.disabled,s=o.limitToBounds,l=o.centerZoomedOut,u=e.wrapperComponent;if(!(a||!u||!e.bounds)){var d=e.bounds,h=d.maxPositionX,m=d.minPositionX,y=d.maxPositionY,b=d.minPositionY,w=n>h||ny||rh?u.offsetWidth:e.setup.minPositionX||0,k=r>y?u.offsetHeight:e.setup.minPositionY||0,T=x4(e,_,k,i,e.bounds,s||l),L=T.x,O=T.y;return{scale:i,positionX:w?L:n,positionY:E?O:r}}}function Q8e(e,t,n,r,i){var o=e.setup.limitToBounds,a=e.wrapperComponent,s=e.bounds,l=e.transformState,u=l.scale,d=l.positionX,h=l.positionY;if(!(a===null||s===null||t===d&&n===h)){var m=b4(t,n,s,o,r,i,a),y=m.x,b=m.y;e.setTransformState(u,y,b)}}var J8e=function(e,t,n){var r=e.startCoords,i=e.transformState,o=e.setup.panning,a=o.lockAxisX,s=o.lockAxisY,l=i.positionX,u=i.positionY;if(!r)return{x:l,y:u};var d=t-r.x,h=n-r.y,m=a?l:d,y=s?u:h;return{x:m,y}},N3=function(e,t){var n=e.setup,r=e.transformState,i=r.scale,o=n.minScale,a=n.disablePadding;return t>0&&i>=o&&!a?t:0},eEe=function(e){var t=e.mounted,n=e.setup,r=n.disabled,i=n.velocityAnimation,o=e.transformState.scale,a=i.disabled,s=!a||o>1||!r||t;return!!s},tEe=function(e){var t=e.mounted,n=e.velocity,r=e.bounds,i=e.setup,o=i.disabled,a=i.velocityAnimation,s=e.transformState.scale,l=a.disabled,u=!l||s>1||!o||t;return!(!u||!n||!r)};function nEe(e,t){var n=e.setup.velocityAnimation,r=n.equalToMove,i=n.animationTime,o=n.sensitivity;return r?i*t*o:i}function sD(e,t,n,r,i,o,a,s,l,u){if(i){if(t>a&&n>a){var d=a+(e-a)*u;return d>l?l:do?o:d}}return r?t:r7(e,o,a,i)}function rEe(e,t){var n=1;return t?Math.min(n,e.offsetWidth/window.innerWidth):n}function iEe(e,t){var n=eEe(e);if(n){var r=e.lastMousePosition,i=e.velocityTime,o=e.setup,a=e.wrapperComponent,s=o.velocityAnimation.equalToMove,l=Date.now();if(r&&i&&a){var u=rEe(a,s),d=t.x-r.x,h=t.y-r.y,m=d/u,y=h/u,b=l-i,w=d*d+h*h,E=Math.sqrt(w)/b;e.velocity={velocityX:m,velocityY:y,total:E}}e.lastMousePosition=t,e.velocityTime=l}}function oEe(e){var t=e.velocity,n=e.bounds,r=e.setup,i=e.wrapperComponent,o=tEe(e);if(!(!o||!t||!n||!i)){var a=t.velocityX,s=t.velocityY,l=t.total,u=n.maxPositionX,d=n.minPositionX,h=n.maxPositionY,m=n.minPositionY,y=r.limitToBounds,b=r.alignmentAnimation,w=r.zoomAnimation,E=r.panning,_=E.lockAxisY,k=E.lockAxisX,T=w.animationType,L=b.sizeX,O=b.sizeY,D=b.velocityAlignmentTime,I=D,N=nEe(e,l),W=Math.max(N,I),B=N3(e,L),K=N3(e,O),ne=B*i.offsetWidth/100,z=K*i.offsetHeight/100,$=u+ne,V=d-ne,X=h+z,Q=m-z,G=e.transformState,Y=new Date().getTime();QG(e,T,W,function(ee){var fe=e.transformState,Ce=fe.scale,we=fe.positionX,xe=fe.positionY,Le=new Date().getTime()-Y,Se=Le/I,Qe=XG[b.animationType],Xe=1-Qe(Math.min(1,Se)),tt=1-ee,yt=we+a*tt,Be=xe+s*tt,Ae=sD(yt,G.positionX,we,k,y,d,u,V,$,Xe),bt=sD(Be,G.positionY,xe,_,y,m,h,Q,X,Xe);(we!==yt||xe!==Be)&&e.setTransformState(Ce,Ae,bt)})}}function lD(e,t){var n=e.transformState.scale;Fl(e),t0(e,n),window.TouchEvent!==void 0&&t instanceof TouchEvent?X8e(e,t):Y8e(e,t)}function JG(e){var t=e.transformState.scale,n=e.setup,r=n.minScale,i=n.alignmentAnimation,o=i.disabled,a=i.sizeX,s=i.sizeY,l=i.animationTime,u=i.animationType,d=o||t.1&&h;m?oEe(e):JG(e)}}function ZE(e,t,n,r){var i=e.setup,o=i.minScale,a=i.maxScale,s=i.limitToBounds,l=w2(ns(t,2),o,a,0,!1),u=t0(e,l),d=x4(e,n,r,l,u,s),h=d.x,m=d.y;return{scale:l,positionX:h,positionY:m}}function eq(e,t,n){var r=e.transformState.scale,i=e.wrapperComponent,o=e.setup,a=o.minScale,s=o.limitToBounds,l=o.zoomAnimation,u=l.disabled,d=l.animationTime,h=l.animationType,m=u||r>=a;if((r>=1||s)&&JG(e),!(m||!i||!e.mounted)){var y=t||i.offsetWidth/2,b=n||i.offsetHeight/2,w=ZE(e,a,y,b);w&&ff(e,w,d,h)}}var Wd=function(){return Wd=Object.assign||function(t){for(var n,r=1,i=arguments.length;ra||Math.sign(n.deltaY)!==Math.sign(t.deltaY)||n.deltaY>0&&n.deltaYt.deltaY||Math.sign(n.deltaY)!==Math.sign(t.deltaY):!1},wEe=function(e,t){var n=e.setup.pinch,r=n.disabled,i=n.excluded,o=e.isInitialized,a=t.target,s=o&&!r&&a;if(!s)return!1;var l=S4(a,i);return!l},CEe=function(e){var t=e.setup.pinch.disabled,n=e.isInitialized,r=e.pinchStartDistance,i=n&&!t&&r;return!!i},_Ee=function(e,t,n){var r=n.getBoundingClientRect(),i=e.touches,o=ns(i[0].clientX-r.left,5),a=ns(i[0].clientY-r.top,5),s=ns(i[1].clientX-r.left,5),l=ns(i[1].clientY-r.top,5);return{x:(o+s)/2/t,y:(a+l)/2/t}},sq=function(e){return Math.sqrt(Math.pow(e.touches[0].pageX-e.touches[1].pageX,2)+Math.pow(e.touches[0].pageY-e.touches[1].pageY,2))},kEe=function(e,t){var n=e.pinchStartScale,r=e.pinchStartDistance,i=e.setup,o=i.maxScale,a=i.minScale,s=i.zoomAnimation,l=i.disablePadding,u=s.size,d=s.disabled;if(!n||r===null||!t)throw new Error("Pinch touches distance was not provided");if(t<0)return e.transformState.scale;var h=t/r,m=h*n;return w2(ns(m,2),a,o,u,!d&&!l)},EEe=160,PEe=100,TEe=function(e,t){var n=e.props,r=n.onWheelStart,i=n.onZoomStart;e.wheelStopEventTimer||(Fl(e),mr(Un(e),t,r),mr(Un(e),t,i))},MEe=function(e,t){var n=e.props,r=n.onWheel,i=n.onZoom,o=e.contentComponent,a=e.setup,s=e.transformState,l=s.scale,u=a.limitToBounds,d=a.centerZoomedOut,h=a.zoomAnimation,m=a.wheel,y=a.disablePadding,b=h.size,w=h.disabled,E=m.step;if(!o)throw new Error("Component not mounted");t.preventDefault(),t.stopPropagation();var _=bEe(t,null),k=xEe(e,_,E,!t.ctrlKey);if(l!==k){var T=t0(e,k),L=aq(t,o,l),O=w||b===0||d||y,D=u&&O,I=x4(e,L.x,L.y,k,T,D),N=I.x,W=I.y;e.previousWheelEvent=t,e.setTransformState(k,N,W),mr(Un(e),t,r),mr(Un(e),t,i)}},LEe=function(e,t){var n=e.props,r=n.onWheelStop,i=n.onZoomStop;i7(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(eq(e,t.x,t.y),e.wheelAnimationTimer=null)},PEe);var o=SEe(e,t);o&&(i7(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,mr(Un(e),t,r),mr(Un(e),t,i))},EEe))},AEe=function(e,t){var n=sq(t);e.pinchStartDistance=n,e.lastDistance=n,e.pinchStartScale=e.transformState.scale,e.isPanning=!1,Fl(e)},OEe=function(e,t){var n=e.contentComponent,r=e.pinchStartDistance,i=e.transformState.scale,o=e.setup,a=o.limitToBounds,s=o.centerZoomedOut,l=o.zoomAnimation,u=l.disabled,d=l.size;if(!(r===null||!n)){var h=_Ee(t,i,n);if(!(!Number.isFinite(h.x)||!Number.isFinite(h.y))){var m=sq(t),y=kEe(e,m);if(y!==i){var b=t0(e,y),w=u||d===0||s,E=a&&w,_=x4(e,h.x,h.y,y,b,E),k=_.x,T=_.y;e.pinchMidpoint=h,e.lastDistance=m,e.setTransformState(y,k,T)}}}},REe=function(e){var t=e.pinchMidpoint;e.velocity=null,e.lastDistance=null,e.pinchMidpoint=null,e.pinchStartScale=null,e.pinchStartDistance=null,eq(e,t==null?void 0:t.x,t==null?void 0:t.y)},lq=function(e,t){var n=e.props.onZoomStop,r=e.setup.doubleClick.animationTime;i7(e.doubleClickStopEventTimer),e.doubleClickStopEventTimer=setTimeout(function(){e.doubleClickStopEventTimer=null,mr(Un(e),t,n)},r)},IEe=function(e,t){var n=e.props,r=n.onZoomStart,i=n.onZoom,o=e.setup.doubleClick,a=o.animationTime,s=o.animationType;mr(Un(e),t,r),iq(e,a,s,function(){return mr(Un(e),t,i)}),lq(e,t)};function DEe(e,t){var n=e.setup,r=e.doubleClickStopEventTimer,i=e.transformState,o=e.contentComponent,a=i.scale,s=e.props,l=s.onZoomStart,u=s.onZoom,d=n.doubleClick,h=d.disabled,m=d.mode,y=d.step,b=d.animationTime,w=d.animationType;if(!h&&!r){if(m==="reset")return IEe(e,t);if(!o)return console.error("No ContentComponent found");var E=m==="zoomOut"?-1:1,_=nq(e,E,y);if(a!==_){mr(Un(e),t,l);var k=aq(t,o,a),T=ZE(e,_,k.x,k.y);if(!T)return console.error("Error during zoom event. New transformation state was not calculated.");mr(Un(e),t,u),ff(e,T,b,w),lq(e,t)}}}var jEe=function(e,t){var n=e.isInitialized,r=e.setup,i=e.wrapperComponent,o=r.doubleClick,a=o.disabled,s=o.excluded,l=t.target,u=i==null?void 0:i.contains(l),d=n&&l&&u&&!a;if(!d)return!1;var h=S4(l,s);return!h},NEe=function(){function e(t){var n=this;this.mounted=!0,this.onChangeCallbacks=new Set,this.wrapperComponent=null,this.contentComponent=null,this.isInitialized=!1,this.bounds=null,this.previousWheelEvent=null,this.wheelStopEventTimer=null,this.wheelAnimationTimer=null,this.isPanning=!1,this.startCoords=null,this.lastTouch=null,this.distance=null,this.lastDistance=null,this.pinchStartDistance=null,this.pinchStartScale=null,this.pinchMidpoint=null,this.doubleClickStopEventTimer=null,this.velocity=null,this.velocityTime=null,this.lastMousePosition=null,this.animate=!1,this.animation=null,this.maxBounds=null,this.pressedKeys={},this.mount=function(){n.initializeWindowEvents()},this.unmount=function(){n.cleanupWindowEvents()},this.update=function(r){t0(n,n.transformState.scale),n.setup=dD(r)},this.initializeWindowEvents=function(){var r,i=o6(),o=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,a=o==null?void 0:o.defaultView;a==null||a.addEventListener("mousedown",n.onPanningStart,i),a==null||a.addEventListener("mousemove",n.onPanning,i),a==null||a.addEventListener("mouseup",n.onPanningStop,i),o==null||o.addEventListener("mouseleave",n.clearPanning,i),a==null||a.addEventListener("keyup",n.setKeyUnPressed,i),a==null||a.addEventListener("keydown",n.setKeyPressed,i)},this.cleanupWindowEvents=function(){var r,i,o=o6(),a=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,s=a==null?void 0:a.defaultView;s==null||s.removeEventListener("mousedown",n.onPanningStart,o),s==null||s.removeEventListener("mousemove",n.onPanning,o),s==null||s.removeEventListener("mouseup",n.onPanningStop,o),a==null||a.removeEventListener("mouseleave",n.clearPanning,o),s==null||s.removeEventListener("keyup",n.setKeyUnPressed,o),s==null||s.removeEventListener("keydown",n.setKeyPressed,o),document.removeEventListener("mouseleave",n.clearPanning,o),Fl(n),(i=n.observer)===null||i===void 0||i.disconnect()},this.handleInitializeWrapperEvents=function(r){var i=o6();r.addEventListener("wheel",n.onWheelZoom,i),r.addEventListener("dblclick",n.onDoubleClick,i),r.addEventListener("touchstart",n.onTouchPanningStart,i),r.addEventListener("touchmove",n.onTouchPanning,i),r.addEventListener("touchend",n.onTouchPanningStop,i)},this.handleInitialize=function(r){var i=n.setup.centerOnInit;n.applyTransformation(),i&&(n.setCenter(),n.observer=new ResizeObserver(function(){var o;n.setCenter(),(o=n.observer)===null||o===void 0||o.disconnect()}),n.observer.observe(r))},this.onWheelZoom=function(r){var i=n.setup.disabled;if(!i){var o=vEe(n,r);if(o){var a=n.isPressingKeys(n.setup.wheel.activationKeys);a&&(TEe(n,r),MEe(n,r),LEe(n,r))}}},this.onPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=oD(n,r);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),Fl(n),lD(n,r),mr(Un(n),r,o))}}},this.onPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(!i){var a=aD(n);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),uD(n,r.clientX,r.clientY),mr(Un(n),r,o))}}},this.onPanningStop=function(r){var i=n.props.onPanningStop;n.isPanning&&(aEe(n),mr(Un(n),r,i))},this.onPinchStart=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinchingStart,s=o.onZoomStart;if(!i){var l=wEe(n,r);l&&(AEe(n,r),Fl(n),mr(Un(n),r,a),mr(Un(n),r,s))}},this.onPinch=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinching,s=o.onZoom;if(!i){var l=CEe(n);l&&(r.preventDefault(),r.stopPropagation(),OEe(n,r),mr(Un(n),r,a),mr(Un(n),r,s))}},this.onPinchStop=function(r){var i=n.props,o=i.onPinchingStop,a=i.onZoomStop;n.pinchStartScale&&(REe(n),mr(Un(n),r,o),mr(Un(n),r,a))},this.onTouchPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=oD(n,r);if(a){var s=n.lastTouch&&+new Date-n.lastTouch<200;if(s&&r.touches.length===1)n.onDoubleClick(r);else{n.lastTouch=+new Date,Fl(n);var l=r.touches,u=l.length===1,d=l.length===2;u&&(Fl(n),lD(n,r),mr(Un(n),r,o)),d&&n.onPinchStart(r)}}}},this.onTouchPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(n.isPanning&&r.touches.length===1){if(i)return;var a=aD(n);if(!a)return;r.preventDefault(),r.stopPropagation();var s=r.touches[0];uD(n,s.clientX,s.clientY),mr(Un(n),r,o)}else r.touches.length>1&&n.onPinch(r)},this.onTouchPanningStop=function(r){n.onPanningStop(r),n.onPinchStop(r)},this.onDoubleClick=function(r){var i=n.setup.disabled;if(!i){var o=jEe(n,r);o&&DEe(n,r)}},this.clearPanning=function(r){n.isPanning&&n.onPanningStop(r)},this.setKeyPressed=function(r){n.pressedKeys[r.key]=!0},this.setKeyUnPressed=function(r){n.pressedKeys[r.key]=!1},this.isPressingKeys=function(r){return r.length?Boolean(r.find(function(i){return n.pressedKeys[i]})):!0},this.setTransformState=function(r,i,o){var a=n.props.onTransformed;if(!Number.isNaN(r)&&!Number.isNaN(i)&&!Number.isNaN(o)){r!==n.transformState.scale&&(n.transformState.previousScale=n.transformState.scale,n.transformState.scale=r),n.transformState.positionX=i,n.transformState.positionY=o;var s=Un(n);n.onChangeCallbacks.forEach(function(l){return l(s)}),mr(s,{scale:r,positionX:i,positionY:o},a),n.applyTransformation()}else console.error("Detected NaN set state values")},this.setCenter=function(){if(n.wrapperComponent&&n.contentComponent){var r=oq(n.transformState.scale,n.wrapperComponent,n.contentComponent);n.setTransformState(r.scale,r.positionX,r.positionY)}},this.handleTransformStyles=function(r,i,o){return n.props.customTransform?n.props.customTransform(r,i,o):gEe(r,i,o)},this.applyTransformation=function(){if(!(!n.mounted||!n.contentComponent)){var r=n.transformState,i=r.scale,o=r.positionX,a=r.positionY,s=n.handleTransformStyles(o,a,i);n.contentComponent.style.transform=s}},this.getContext=function(){return Un(n)},this.onChange=function(r){return n.onChangeCallbacks.has(r)||n.onChangeCallbacks.add(r),function(){n.onChangeCallbacks.delete(r)}},this.init=function(r,i){n.cleanupWindowEvents(),n.wrapperComponent=r,n.contentComponent=i,t0(n,n.transformState.scale),n.handleInitializeWrapperEvents(r),n.handleInitialize(i),n.initializeWindowEvents(),n.isInitialized=!0,mr(Un(n),void 0,n.props.onInit)},this.props=t,this.setup=dD(this.props),this.transformState=tq(this.props)}return e}(),QE=Ke.createContext(null),$Ee=function(e,t){return typeof e=="function"?e(t):e},FEe=Ke.forwardRef(function(e,t){var n=S.useState(0),r=n[1],i=e.children,o=S.useRef(new NEe(e)).current,a=$Ee(e.children,Un(o)),s=S.useCallback(function(){typeof i=="function"&&r(function(l){return l+1})},[i]);return S.useImperativeHandle(t,function(){return Un(o)},[o]),S.useEffect(function(){o.update(e)},[o,e]),S.useEffect(function(){return o.onChange(s)},[o,e,s]),Ke.createElement(QE.Provider,{value:o},a)});function BEe(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(!e||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var zEe=`.transform-component-module_wrapper__7HFJe { +}`;var Vt=yT(function(){return en(H,gt+"return "+Re).apply(n,Z)});if(Vt.source=Re,Y4(Vt))throw Vt;return Vt}function rQ(c){return _n(c).toLowerCase()}function iQ(c){return _n(c).toUpperCase()}function oQ(c,v,C){if(c=_n(c),c&&(C||v===n))return co(c);if(!c||!(v=po(v)))return c;var A=Qi(c),j=Qi(v),H=la(A,j),Z=Cs(A,j)+1;return Ls(A,H,Z).join("")}function aQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.slice(0,G0(c)+1);if(!c||!(v=po(v)))return c;var A=Qi(c),j=Cs(A,Qi(v))+1;return Ls(A,0,j).join("")}function sQ(c,v,C){if(c=_n(c),c&&(C||v===n))return c.replace(xc,"");if(!c||!(v=po(v)))return c;var A=Qi(c),j=la(A,Qi(v));return Ls(A,j).join("")}function lQ(c,v){var C=B,A=K;if(Cr(v)){var j="separator"in v?v.separator:j;C="length"in v?Ft(v.length):C,A="omission"in v?po(v.omission):A}c=_n(c);var H=c.length;if(bu(c)){var Z=Qi(c);H=Z.length}if(C>=H)return c;var te=C-za(A);if(te<1)return A;var ce=Z?Ls(Z,0,te).join(""):c.slice(0,te);if(j===n)return ce+A;if(Z&&(te+=ce.length-te),X4(j)){if(c.slice(te).search(j)){var _e,Ee=ce;for(j.global||(j=If(j.source,_n(bs.exec(j))+"g")),j.lastIndex=0;_e=j.exec(Ee);)var Re=_e.index;ce=ce.slice(0,Re===n?te:Re)}}else if(c.indexOf(po(j),te)!=te){var nt=ce.lastIndexOf(j);nt>-1&&(ce=ce.slice(0,nt))}return ce+A}function uQ(c){return c=_n(c),c&&_0.test(c)?c.replace(ys,D2):c}var cQ=_l(function(c,v,C){return c+(C?" ":"")+v.toUpperCase()}),J4=pg("toUpperCase");function vT(c,v,C){return c=_n(c),v=C?n:v,v===n?jp(c)?Rf(c):W0(c):c.match(v)||[]}var yT=Tt(function(c,v){try{return Ii(c,n,v)}catch(C){return Y4(C)?C:new Lt(C)}}),dQ=gr(function(c,v){return Zn(v,function(C){C=kl(C),fa(c,C,q4(c[C],c))}),c});function fQ(c){var v=c==null?0:c.length,C=Oe();return c=v?Hn(c,function(A){if(typeof A[1]!="function")throw new Di(a);return[C(A[0]),A[1]]}):[],Tt(function(A){for(var j=-1;++jG)return[];var C=fe,A=hi(c,fe);v=Oe(v),c-=fe;for(var j=Lf(A,v);++C0||v<0)?new Yt(C):(c<0?C=C.takeRight(-c):c&&(C=C.drop(c)),v!==n&&(v=Ft(v),C=v<0?C.dropRight(-v):C.take(v-c)),C)},Yt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Yt.prototype.toArray=function(){return this.take(fe)},ga(Yt.prototype,function(c,v){var C=/^(?:filter|find|map|reject)|While$/.test(v),A=/^(?:head|last)$/.test(v),j=F[A?"take"+(v=="last"?"Right":""):v],H=A||/^find/.test(v);j&&(F.prototype[v]=function(){var Z=this.__wrapped__,te=A?[1]:arguments,ce=Z instanceof Yt,_e=te[0],Ee=ce||$t(Z),Re=function(Xt){var tn=j.apply(F,Ba([Xt],te));return A&&nt?tn[0]:tn};Ee&&C&&typeof _e=="function"&&_e.length!=1&&(ce=Ee=!1);var nt=this.__chain__,gt=!!this.__actions__.length,_t=H&&!nt,Vt=ce&&!gt;if(!H&&Ee){Z=Vt?Z:new Yt(this);var kt=c.apply(Z,te);return kt.__actions__.push({func:ab,args:[Re],thisArg:n}),new fo(kt,nt)}return _t&&Vt?c.apply(this,te):(kt=this.thru(Re),_t?A?kt.value()[0]:kt.value():kt)})}),Zn(["pop","push","shift","sort","splice","unshift"],function(c){var v=Ic[c],C=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",A=/^(?:pop|shift)$/.test(c);F.prototype[c]=function(){var j=arguments;if(A&&!this.__chain__){var H=this.value();return v.apply($t(H)?H:[],j)}return this[C](function(Z){return v.apply($t(Z)?Z:[],j)})}}),ga(Yt.prototype,function(c,v){var C=F[v];if(C){var A=C.name+"";an.call(ks,A)||(ks[A]=[]),ks[A].push({name:v,func:C})}}),ks[Qf(n,_).name]=[{name:"wrapper",func:n}],Yt.prototype.clone=Ji,Yt.prototype.reverse=Ni,Yt.prototype.value=U2,F.prototype.at=BY,F.prototype.chain=zY,F.prototype.commit=HY,F.prototype.next=WY,F.prototype.plant=VY,F.prototype.reverse=GY,F.prototype.toJSON=F.prototype.valueOf=F.prototype.value=qY,F.prototype.first=F.prototype.head,Fc&&(F.prototype[Fc]=UY),F},Ha=Io();Kt?((Kt.exports=Ha)._=Ha,Ot._=Ha):St._=Ha}).call(wo)})(WSe,Pe);const Pg=(e,t,n,r,i,o,a)=>{const s=e/2-(n+i/2)*a,l=t/2-(r+o/2)*a;return{x:s,y:l}},Tg=(e,t,n,r,i=.95)=>{const o=e*i/n,a=t*i/r;return Math.min(1,Math.min(o,a))},USe=.999,VSe=.1,GSe=20,Vv=.95,KO=30,pk=10,YO=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),ih=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let a=t*n,s=448;for(;a1?(r.width=s,r.height=Hl(s/o,64)):o<1&&(r.height=s,r.width=Hl(s*o,64)),a=r.width*r.height;return r},qSe=e=>({width:Hl(e.width,64),height:Hl(e.height,64)}),IW=[{key:"Base",value:"base"},{key:"Mask",value:"mask"}],KSe=[{key:"Auto",value:"auto"},{key:"Manual",value:"manual"},{key:"None",value:"none"}],hE=e=>e.kind==="line"&&e.layer==="mask",YSe=e=>e.kind==="line"&&e.layer==="base",x3=e=>e.kind==="image"&&e.layer==="base",XSe=e=>e.kind==="fillRect"&&e.layer==="base",ZSe=e=>e.kind==="eraseRect"&&e.layer==="base",QSe=e=>e.kind==="line",p1={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},JSe={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:p1,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},DW=ap({name:"canvas",initialState:JSe,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!hE(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{stageDimensions:r}=e,i={width:Cd(Pe.clamp(n.width,64,512),64),height:Cd(Pe.clamp(n.height,64,512),64)},o={x:Hl(n.width/2-i.width/2,64),y:Hl(n.height/2-i.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const l=ih(i);e.scaledBoundingBoxDimensions=l}e.boundingBoxDimensions=i,e.boundingBoxCoordinates=o,e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.layerState={...p1,objects:[{kind:"image",layer:"base",x:0,y:0,width:n.width,height:n.height,image:n}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const a=Tg(r.width,r.height,n.width,n.height,Vv),s=Pg(r.width,r.height,0,0,n.width,n.height,a);e.stageScale=a,e.stageCoordinates=s,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=qSe(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=ih(n);e.scaledBoundingBoxDimensions=r}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=YO(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},addImageToStagingArea:(e,t)=>{const{boundingBox:n,image:r}=t.payload;!n||!r||(e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...n,image:r}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...p1.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:a}=e;if(n==="move"||n==="colorPicker")return;const s=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:s,points:t.payload,...l};a&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(QSe);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Pe.cloneDeep(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.layerState=p1,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(x3),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=Tg(i.width,i.height,512,512,Vv),h=Pg(i.width,i.height,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=h,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}return}const{width:o,height:a}=r,l=Tg(t,n,o,a,.95),u=Pg(i.width,i.height,0,0,o,a,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=YO(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(x3)){const i=Tg(r.width,r.height,512,512,Vv),o=Pg(r.width,r.height,0,0,512,512,i),a={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=a,e.boundingBoxScaleMethod==="auto"){const s=ih(a);e.scaledBoundingBoxDimensions=s}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:a,y:s,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:Tg(i,o,l,u,Vv),h=Pg(i,o,a,s,l,u,d);e.stageScale=d,e.stageCoordinates=h}else{const d=Tg(i,o,512,512,Vv),h=Pg(i,o,0,0,512,512,d),m={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=h,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=m,e.boundingBoxScaleMethod==="auto"){const y=ih(m);e.scaledBoundingBoxDimensions=y}}},nextStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:e=>{const{images:t,selectedImageIndex:n}=e.layerState.stagingArea;e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...t[n]}),e.layerState.stagingArea={...p1.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,a=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>a){const s={width:Cd(Pe.clamp(o,64,512),64),height:Cd(Pe.clamp(a,64,512),64)},l={x:Hl(o/2-s.width/2,64),y:Hl(a/2-s.height/2,64)};if(e.boundingBoxDimensions=s,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=ih(s);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=ih(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Pe.cloneDeep(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}}}),{addEraseRect:jW,addFillRect:NW,addImageToStagingArea:e3e,addLine:t3e,addPointToCurrentLine:$W,clearCanvasHistory:FW,clearMask:pE,commitColorPickerColor:n3e,commitStagingAreaImage:r3e,discardStagedImages:i3e,fitBoundingBoxToStage:vNe,mouseLeftCanvas:o3e,nextStagingAreaImage:a3e,prevStagingAreaImage:s3e,redo:l3e,resetCanvas:gE,resetCanvasInteractionState:u3e,resetCanvasView:BW,resizeAndScaleCanvas:r4,resizeCanvas:c3e,setBoundingBoxCoordinates:RC,setBoundingBoxDimensions:g1,setBoundingBoxPreviewFill:yNe,setBoundingBoxScaleMethod:d3e,setBrushColor:Mm,setBrushSize:Lm,setCanvasContainerDimensions:f3e,setColorPickerColor:h3e,setCursorPosition:p3e,setDoesCanvasNeedScaling:Li,setInitialCanvasImage:i4,setIsDrawing:zW,setIsMaskEnabled:h2,setIsMouseOverBoundingBox:Qb,setIsMoveBoundingBoxKeyHeld:bNe,setIsMoveStageKeyHeld:xNe,setIsMovingBoundingBox:IC,setIsMovingStage:S3,setIsTransformingBoundingBox:DC,setLayer:w3,setMaskColor:HW,setMergedCanvas:g3e,setShouldAutoSave:WW,setShouldCropToBoundingBoxOnSave:UW,setShouldDarkenOutsideBoundingBox:VW,setShouldLockBoundingBox:SNe,setShouldPreserveMaskedArea:GW,setShouldShowBoundingBox:m3e,setShouldShowBrush:wNe,setShouldShowBrushPreview:CNe,setShouldShowCanvasDebugInfo:qW,setShouldShowCheckboardTransparency:_Ne,setShouldShowGrid:KW,setShouldShowIntermediates:YW,setShouldShowStagingImage:v3e,setShouldShowStagingOutline:XO,setShouldSnapToGrid:C3,setStageCoordinates:XW,setStageScale:y3e,setTool:Jl,toggleShouldLockBoundingBox:kNe,toggleTool:ENe,undo:b3e,setScaledBoundingBoxDimensions:Jb,setShouldRestrictStrokesToBox:ZW}=DW.actions,x3e=DW.reducer,S3e={currentImageUuid:"",shouldPinGallery:!0,shouldShowGallery:!0,galleryScrollPosition:0,galleryImageMinimumWidth:64,galleryImageObjectFit:"cover",shouldHoldGalleryOpen:!1,shouldAutoSwitchToNewImages:!0,currentCategory:"result",categories:{user:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0},result:{images:[],latest_mtime:void 0,earliest_mtime:void 0,areMoreImagesAvailable:!0}},galleryWidth:300,shouldUseSingleGalleryColumn:!1},QW=ap({name:"gallery",initialState:S3e,reducers:{setCurrentImage:(e,t)=>{e.currentImage=t.payload,e.currentImageUuid=t.payload.uuid},removeImage:(e,t)=>{const{uuid:n,category:r}=t.payload,i=e.categories[r].images,o=i.filter(a=>a.uuid!==n);if(n===e.currentImageUuid){const a=i.findIndex(l=>l.uuid===n),s=Pe.clamp(a,0,o.length-1);e.currentImage=o.length?o[s]:void 0,e.currentImageUuid=o.length?o[s].uuid:""}e.categories[r].images=o},addImage:(e,t)=>{const{image:n,category:r}=t.payload,{uuid:i,url:o,mtime:a}=n,s=e.categories[r];s.images.find(l=>l.url===o&&l.mtime===a)||(s.images.unshift(n),e.shouldAutoSwitchToNewImages&&(e.currentImageUuid=i,e.currentImage=n,e.currentCategory=r),e.intermediateImage=void 0,s.latest_mtime=a)},setIntermediateImage:(e,t)=>{e.intermediateImage=t.payload},clearIntermediateImage:e=>{e.intermediateImage=void 0},selectNextImage:e=>{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r{const{currentImage:t}=e;if(!t)return;const n=e.categories[t.category].images;if(t){const r=n.findIndex(i=>i.uuid===t.uuid);if(r>0){const i=n[r-1];e.currentImage=i,e.currentImageUuid=i.uuid}}},addGalleryImages:(e,t)=>{const{images:n,areMoreImagesAvailable:r,category:i}=t.payload,o=e.categories[i].images;if(n.length>0){const a=n.filter(s=>!o.find(l=>l.url===s.url&&l.mtime===s.mtime));if(e.categories[i].images=o.concat(a).sort((s,l)=>l.mtime-s.mtime),!e.currentImage){const s=n[0];e.currentImage=s,e.currentImageUuid=s.uuid}e.categories[i].latest_mtime=n[0].mtime,e.categories[i].earliest_mtime=n[n.length-1].mtime}r!==void 0&&(e.categories[i].areMoreImagesAvailable=r)},setShouldPinGallery:(e,t)=>{e.shouldPinGallery=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},setGalleryScrollPosition:(e,t)=>{e.galleryScrollPosition=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},setGalleryImageObjectFit:(e,t)=>{e.galleryImageObjectFit=t.payload},setShouldHoldGalleryOpen:(e,t)=>{e.shouldHoldGalleryOpen=t.payload},setShouldAutoSwitchToNewImages:(e,t)=>{e.shouldAutoSwitchToNewImages=t.payload},setCurrentCategory:(e,t)=>{e.currentCategory=t.payload},setGalleryWidth:(e,t)=>{e.galleryWidth=t.payload},setShouldUseSingleGalleryColumn:(e,t)=>{e.shouldUseSingleGalleryColumn=t.payload}}}),{addImage:sm,clearIntermediateImage:jC,removeImage:JW,setCurrentImage:ZO,addGalleryImages:w3e,setIntermediateImage:C3e,selectNextImage:mE,selectPrevImage:vE,setShouldPinGallery:_3e,setShouldShowGallery:Am,setGalleryScrollPosition:k3e,setGalleryImageMinimumWidth:Gv,setGalleryImageObjectFit:E3e,setShouldHoldGalleryOpen:eU,setShouldAutoSwitchToNewImages:P3e,setCurrentCategory:ex,setGalleryWidth:T3e,setShouldUseSingleGalleryColumn:M3e}=QW.actions,L3e=QW.reducer,A3e={isLightboxOpen:!1},O3e=A3e,tU=ap({name:"lightbox",initialState:O3e,reducers:{setIsLightboxOpen:(e,t)=>{e.isLightboxOpen=t.payload}}}),{setIsLightboxOpen:Om}=tU.actions,R3e=tU.reducer,Rm=e=>typeof e=="string"?e:e.length===1?e[0].prompt:e.map(t=>`${t.prompt}:${t.weight}`).join(" ");function nU(e){let t=typeof e=="string"?e:Rm(e),n="";const r=new RegExp(/\[([^\][]*)]/,"gi"),i=[...t.matchAll(r)].map(o=>o[1]);return i.length&&(n=i.join(" "),i.forEach(o=>{t=t.replace(`[${o}]`,"").replaceAll("[]","").trim()})),[t,n]}const I3e=e=>{const r=e.split(",").map(i=>i.split(":")).map(i=>({seed:Number(i[0]),weight:Number(i[1])}));return yE(r)?r:!1},yE=e=>Boolean(typeof e=="string"?I3e(e):e.length&&!e.some(t=>{const{seed:n,weight:r}=t,i=!isNaN(parseInt(n.toString(),10)),o=!isNaN(parseInt(r.toString(),10))&&r>=0&&r<=1;return!(i&&o)})),_3=e=>e.reduce((t,n,r,i)=>{const{seed:o,weight:a}=n;return t+=`${o}:${a}`,r!==i.length-1&&(t+=","),t},""),D3e=e=>e.split(",").map(r=>r.split(":")).map(r=>[parseInt(r[0],10),parseFloat(r[1])]),rU={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,maskPath:"",perlin:0,prompt:"",negativePrompt:"",sampler:"k_lms",seamBlur:16,seamless:!1,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetryTimePercentage:0,verticalSymmetryTimePercentage:0},j3e=rU,iU=ap({name:"generation",initialState:j3e,reducers:{setPrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.prompt=n:e.prompt=Rm(n)},setNegativePrompt:(e,t)=>{const n=t.payload;typeof n=="string"?e.negativePrompt=n:e.negativePrompt=Rm(n)},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},setSampler:(e,t)=>{e.sampler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setMaskPath:(e,t)=>{e.maskPath=t.payload},setSeamless:(e,t)=>{e.seamless=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setParameter:(e,t)=>{const{key:n,value:r}=t.payload,i={...e,[n]:r};return n==="seed"&&(i.shouldRandomizeSeed=!1),i},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},setAllTextToImageParameters:(e,t)=>{const{sampler:n,prompt:r,seed:i,variations:o,steps:a,cfg_scale:s,threshold:l,perlin:u,seamless:d,hires_fix:h,width:m,height:y}=t.payload.image;o&&o.length>0?(e.seedWeights=_3(o),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,i&&(e.seed=i,e.shouldRandomizeSeed=!1),r&&(e.prompt=Rm(r)),n&&(e.sampler=n),a&&(e.steps=a),s&&(e.cfgScale=s),typeof l>"u"?e.threshold=0:e.threshold=l,typeof u>"u"?e.perlin=0:e.perlin=u,typeof d=="boolean"&&(e.seamless=d),m&&(e.width=m),y&&(e.height=y)},setAllImageToImageParameters:(e,t)=>{const{type:n,strength:r,fit:i,init_image_path:o,mask_image_path:a}=t.payload.image;n==="img2img"&&(o&&(e.initialImage=o),a&&(e.maskPath=a),r&&(e.img2imgStrength=r),typeof i=="boolean"&&(e.shouldFitToWidthHeight=i))},setAllParameters:(e,t)=>{const{type:n,sampler:r,prompt:i,seed:o,variations:a,steps:s,cfg_scale:l,threshold:u,perlin:d,seamless:h,hires_fix:m,width:y,height:b,strength:w,fit:E,init_image_path:_,mask_image_path:k}=t.payload.image;if(n==="img2img"&&(_&&(e.initialImage=_),k&&(e.maskPath=k),w&&(e.img2imgStrength=w),typeof E=="boolean"&&(e.shouldFitToWidthHeight=E)),a&&a.length>0?(e.seedWeights=_3(a),e.shouldGenerateVariations=!0,e.variationAmount=0):e.shouldGenerateVariations=!1,o&&(e.seed=o,e.shouldRandomizeSeed=!1),i){const[T,L]=nU(i);T&&(e.prompt=T),L?e.negativePrompt=L:e.negativePrompt=""}r&&(e.sampler=r),s&&(e.steps=s),l&&(e.cfgScale=l),typeof u>"u"?e.threshold=0:e.threshold=u,typeof d>"u"?e.perlin=0:e.perlin=d,typeof h=="boolean"&&(e.seamless=h),y&&(e.width=y),b&&(e.height=b)},resetParametersState:e=>({...e,...rU}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},setInitialImage:(e,t)=>{e.initialImage=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetryTimePercentage:(e,t)=>{e.horizontalSymmetryTimePercentage=t.payload},setVerticalSymmetryTimePercentage:(e,t)=>{e.verticalSymmetryTimePercentage=t.payload}}}),{clearInitialImage:oU,resetParametersState:PNe,resetSeed:TNe,setAllImageToImageParameters:N3e,setAllParameters:aU,setAllTextToImageParameters:MNe,setCfgScale:gk,setHeight:uS,setImg2imgStrength:mk,setInfillMethod:sU,setInitialImage:y0,setIterations:QO,setMaskPath:lU,setParameter:LNe,setPerlin:vk,setPrompt:uU,setNegativePrompt:cU,setSampler:dU,setSeamBlur:JO,setSeamless:fU,setSeamSize:eR,setSeamSteps:tR,setSeamStrength:nR,setSeed:p2,setSeedWeights:hU,setShouldFitToWidthHeight:pU,setShouldGenerateVariations:$3e,setShouldRandomizeSeed:F3e,setSteps:yk,setThreshold:bk,setTileSize:rR,setVariationAmount:iR,setWidth:cS,setShouldUseSymmetry:B3e,setHorizontalSymmetryTimePercentage:oR,setVerticalSymmetryTimePercentage:aR}=iU.actions,z3e=iU.reducer,gU={codeformerFidelity:.75,facetoolStrength:.75,facetoolType:"gfpgan",hiresFix:!1,hiresStrength:.75,shouldLoopback:!1,shouldRunESRGAN:!1,shouldRunFacetool:!1,upscalingLevel:4,upscalingDenoising:.75,upscalingStrength:.75},H3e=gU,mU=ap({name:"postprocessing",initialState:H3e,reducers:{setFacetoolStrength:(e,t)=>{e.facetoolStrength=t.payload},setCodeformerFidelity:(e,t)=>{e.codeformerFidelity=t.payload},setUpscalingLevel:(e,t)=>{e.upscalingLevel=t.payload},setUpscalingDenoising:(e,t)=>{e.upscalingDenoising=t.payload},setUpscalingStrength:(e,t)=>{e.upscalingStrength=t.payload},setHiresFix:(e,t)=>{e.hiresFix=t.payload},setHiresStrength:(e,t)=>{e.hiresStrength=t.payload},resetPostprocessingState:e=>({...e,...gU}),setShouldRunFacetool:(e,t)=>{e.shouldRunFacetool=t.payload},setFacetoolType:(e,t)=>{e.facetoolType=t.payload},setShouldRunESRGAN:(e,t)=>{e.shouldRunESRGAN=t.payload},setShouldLoopback:(e,t)=>{e.shouldLoopback=t.payload}}}),{resetPostprocessingState:ANe,setCodeformerFidelity:xk,setFacetoolStrength:k3,setFacetoolType:dS,setHiresFix:vU,setHiresStrength:sR,setShouldLoopback:W3e,setShouldRunESRGAN:U3e,setShouldRunFacetool:V3e,setUpscalingLevel:yU,setUpscalingDenoising:Sk,setUpscalingStrength:wk}=mU.actions,G3e=mU.reducer;function gs(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function lR(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.init(t,n)}return ms(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||Y3e,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?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}for(var o=typeof t!="string"?[].concat(t):t.split(".");o.length>1;){if(i())return{};var a=r(o.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function hR(e,t,n){var r=bE(e,t,Object),i=r.obj,o=r.k;i[o]=n}function Q3e(e,t,n,r){var i=bE(e,t,Object),o=i.obj,a=i.k;o[a]=o[a]||[],r&&(o[a]=o[a].concat(n)),r||o[a].push(n)}function E3(e,t){var n=bE(e,t),r=n.obj,i=n.k;if(r)return r[i]}function pR(e,t,n){var r=E3(e,n);return r!==void 0?r:E3(t,n)}function wU(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]):wU(e[r],t[r],n):e[r]=t[r]);return e}function Mg(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var J3e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function ewe(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return J3e[t]}):e}var a4=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,twe=[" ",",","?","!",";"];function nwe(e,t,n){t=t||"",n=n||"";var r=twe.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),o=!i.test(e);if(!o){var a=e.indexOf(n);a>0&&!i.test(e.substring(0,a))&&(o=!0)}return o}function gR(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 tx(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 CU(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+a;)a++,s=r.slice(o,o+a).join(n),l=i[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var u=r.slice(o+a).join(n);return u?CU(l,u,n):void 0}i=i[r[o]]}return i}}var owe=function(e){o4(n,e);var t=rwe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return gs(this,n),i=t.call(this),a4&&Jd.call(Fd(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 ms(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,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,u=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,d=[i,o];a&&typeof a!="string"&&(d=d.concat(a)),a&&typeof a=="string"&&(d=d.concat(l?a.split(l):a)),i.indexOf(".")>-1&&(d=i.split("."));var h=E3(this.data,d);return h||!u||typeof a!="string"?h:CU(this.data&&this.data[i]&&this.data[i][o],a,l)}},{key:"addResource",value:function(i,o,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var d=[i,o];a&&(d=d.concat(u?a.split(u):a)),i.indexOf(".")>-1&&(d=i.split("."),s=o,o=d[1]),this.addNamespaces(o),hR(this.data,d,s),l.silent||this.emit("added",i,o,a,s)}},{key:"addResources",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(i,o,l,a[l],{silent:!0});s.silent||this.emit("added",i,o,a)}},{key:"addResourceBundle",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},d=[i,o];i.indexOf(".")>-1&&(d=i.split("."),s=a,a=o,o=d[1]),this.addNamespaces(o);var h=E3(this.data,d)||{};s?wU(h,a,l):h=tx(tx({},h),a),hR(this.data,d,h),u.silent||this.emit("added",i,o,a)}},{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"?tx(tx({},{}),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),a=o&&Object.keys(o)||[];return!!a.find(function(s){return o[s]&&Object.keys(o[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(Jd),_U={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,i,o){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,i,o))}),n}};function mR(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 yo(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 vR={},yR=function(e){o4(n,e);var t=awe(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return gs(this,n),i=t.call(this),a4&&Jd.call(Fd(i)),Z3e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,Fd(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=Wl.create("translator"),i}return ms(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 a=this.resolve(i,o);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(i,o){var a=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,l=o.ns||this.options.defaultNS||[],u=a&&i.indexOf(a)>-1,d=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!nwe(i,a,s);if(u&&!d){var h=i.match(this.interpolator.nestingRegexp);if(h&&h.length>0)return{key:i,namespaces:l};var m=i.split(a);(a!==s||a===s&&this.options.ns.indexOf(m[0])>-1)&&(l=m.shift()),i=m.join(s)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,o,a){var s=this;if(Ks(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,d=this.extractFromKey(i[i.length-1],o),h=d.key,m=d.namespaces,y=m[m.length-1],b=o.lng||this.language,w=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(b&&b.toLowerCase()==="cimode"){if(w){var E=o.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(y).concat(E).concat(h),usedKey:h,exactUsedKey:h,usedLng:b,usedNS:y}:"".concat(y).concat(E).concat(h)}return l?{res:h,usedKey:h,exactUsedKey:h,usedLng:b,usedNS:y}:h}var _=this.resolve(i,o),k=_&&_.res,T=_&&_.usedKey||h,L=_&&_.exactUsedKey||h,O=Object.prototype.toString.apply(k),D=["[object Number]","[object Function]","[object RegExp]"],I=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,N=!this.i18nFormat||this.i18nFormat.handleAsObject,W=typeof k!="string"&&typeof k!="boolean"&&typeof k!="number";if(N&&k&&W&&D.indexOf(O)<0&&!(typeof I=="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 B=this.options.returnedObjectHandler?this.options.returnedObjectHandler(T,k,yo(yo({},o),{},{ns:m})):"key '".concat(h," (").concat(this.language,")' returned an object instead of string.");return l?(_.res=B,_):B}if(u){var K=O==="[object Array]",ne=K?[]:{},z=K?L:T;for(var $ in k)if(Object.prototype.hasOwnProperty.call(k,$)){var V="".concat(z).concat(u).concat($);ne[$]=this.translate(V,yo(yo({},o),{joinArrays:!1,ns:m})),ne[$]===V&&(ne[$]=k[$])}k=ne}}else if(N&&typeof I=="string"&&O==="[object Array]")k=k.join(I),k&&(k=this.extendTranslation(k,i,o,a));else{var X=!1,Q=!1,G=o.count!==void 0&&typeof o.count!="string",Y=n.hasDefaultValue(o),ee=G?this.pluralResolver.getSuffix(b,o.count,o):"",fe=o["defaultValue".concat(ee)]||o.defaultValue;!this.isValidLookup(k)&&Y&&(X=!0,k=fe),this.isValidLookup(k)||(Q=!0,k=h);var Ce=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,we=Ce&&Q?void 0:k,xe=Y&&fe!==k&&this.options.updateMissing;if(Q||X||xe){if(this.logger.log(xe?"updateKey":"missingKey",b,y,h,xe?fe:k),u){var Le=this.resolve(h,yo(yo({},o),{},{keySeparator:!1}));Le&&Le.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 Se=[],Qe=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Qe&&Qe[0])for(var Xe=0;Xe1&&arguments[1]!==void 0?arguments[1]:{},s,l,u,d,h;return typeof i=="string"&&(i=[i]),i.forEach(function(m){if(!o.isValidLookup(s)){var y=o.extractFromKey(m,a),b=y.key;l=b;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var E=a.count!==void 0&&typeof a.count!="string",_=E&&!a.ordinal&&a.count===0&&o.pluralResolver.shouldUseIntlApi(),k=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",T=a.lngs?a.lngs:o.languageUtils.toResolveHierarchy(a.lng||o.language,a.fallbackLng);w.forEach(function(L){o.isValidLookup(s)||(h=L,!vR["".concat(T[0],"-").concat(L)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(h)&&(vR["".concat(T[0],"-").concat(L)]=!0,o.logger.warn('key "'.concat(l,'" for languages "').concat(T.join(", "),`" won't get resolved as namespace "`).concat(h,'" 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!!!")),T.forEach(function(O){if(!o.isValidLookup(s)){d=O;var D=[b];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(D,b,O,L,a);else{var I;E&&(I=o.pluralResolver.getSuffix(O,a.count,a));var N="".concat(o.options.pluralSeparator,"zero");if(E&&(D.push(b+I),_&&D.push(b+N)),k){var W="".concat(b).concat(o.options.contextSeparator).concat(a.context);D.push(W),E&&(D.push(W+I),_&&D.push(W+N))}}for(var B;B=D.pop();)o.isValidLookup(s)||(u=B,s=o.getResource(O,L,B,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:u,usedLng:d,usedNS:h}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,a,s):this.resourceStore.getResource(i,o,a,s)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var a in i)if(Object.prototype.hasOwnProperty.call(i,a)&&o===a.substring(0,o.length)&&i[a]!==void 0)return!0;return!1}}]),n}(Jd);function NC(e){return e.charAt(0).toUpperCase()+e.slice(1)}var bR=function(){function e(t){gs(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Wl.create("languageUtils")}return ms(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]=NC(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]=NC(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=NC(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 a=r.formatLanguageCode(o);(!r.options.supportedLngs||r.isSupportedCode(a))&&(i=a)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var a=r.getLanguagePartFromCode(o);if(r.isSupportedCode(a))return i=a;i=r.options.supportedLngs.find(function(s){if(s.indexOf(a)===0)return s})}}),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),a=[],s=function(u){u&&(i.isSupportedCode(u)?a.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"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),o.forEach(function(l){a.indexOf(l)<0&&s(i.formatLanguageCode(l))}),a}}]),e}(),lwe=[{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}],uwe={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)}},cwe=["v1","v2","v3"],xR={zero:0,one:1,two:2,few:3,many:4,other:5};function dwe(){var e={};return lwe.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:uwe[t.fc]}})}),e}var fwe=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.languageUtils=t,this.options=n,this.logger=Wl.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=dwe()}return ms(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(a,s){return xR[a]-xR[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):o.numbers.map(function(a){return r.getSuffix(n,a,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)),a=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return i.options.prepend&&a.toString()?i.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!cwe.includes(this.options.compatibilityJSON)}}]),e}();function SR(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 Fs(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return ms(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:ewe,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Mg(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Mg(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?Mg(r.nestingPrefix):r.nestingPrefixEscaped||Mg("$t("),this.nestingSuffix=r.nestingSuffix?Mg(r.nestingSuffix):r.nestingSuffixEscaped||Mg(")"),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 a=this,s,l,u,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function h(E){return E.replace(/\$/g,"$$$$")}var m=function(_){if(_.indexOf(a.formatSeparator)<0){var k=pR(r,d,_);return a.alwaysFormat?a.format(k,void 0,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:_})):k}var T=_.split(a.formatSeparator),L=T.shift().trim(),O=T.join(a.formatSeparator).trim();return a.format(pR(r,d,L),O,i,Fs(Fs(Fs({},o),r),{},{interpolationkey:L}))};this.resetRegExp();var y=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,b=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,w=[{regex:this.regexpUnescape,safeValue:function(_){return h(_)}},{regex:this.regexp,safeValue:function(_){return a.escapeValue?h(a.escape(_)):h(_)}}];return w.forEach(function(E){for(u=0;s=E.regex.exec(n);){var _=s[1].trim();if(l=m(_),l===void 0)if(typeof y=="function"){var k=y(n,s,o);l=typeof k=="string"?k:""}else if(o&&Object.prototype.hasOwnProperty.call(o,_))l="";else if(b){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(_," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=fR(l));var T=E.safeValue(l);if(n=n.replace(s[0],T),b?(E.regex.lastIndex+=l.length,E.regex.lastIndex-=s[0].length):E.regex.lastIndex=0,u++,u>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function u(y,b){var w=this.nestingOptionsSeparator;if(y.indexOf(w)<0)return y;var E=y.split(new RegExp("".concat(w,"[ ]*{"))),_="{".concat(E[1]);y=E[0],_=this.interpolate(_,l);var k=_.match(/'/g),T=_.match(/"/g);(k&&k.length%2===0&&!T||T.length%2!==0)&&(_=_.replace(/'/g,'"'));try{l=JSON.parse(_),b&&(l=Fs(Fs({},b),l))}catch(L){return this.logger.warn("failed parsing options string in nesting for key ".concat(y),L),"".concat(y).concat(w).concat(_)}return delete l.defaultValue,y}for(;a=this.nestingRegexp.exec(n);){var d=[];l=Fs({},o),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var h=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var m=a[1].split(this.formatSeparator).map(function(y){return y.trim()});a[1]=m.shift(),d=m,h=!0}if(s=r(u.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=fR(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),h&&(s=d.reduce(function(y,b){return i.format(y,b,o.lng,Fs(Fs({},o),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function wR(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 Ru(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(a){if(a){var s=a.split(":"),l=K3e(s),u=l[0],d=l.slice(1),h=d.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=h),h==="false"&&(n[u.trim()]=!1),h==="true"&&(n[u.trim()]=!0),isNaN(h)||(n[u.trim()]=parseInt(h,10))}})}}return{formatName:t,formatOptions:n}}function Lg(e){var t={};return function(r,i,o){var a=i+JSON.stringify(o),s=t[a];return s||(s=e(i,o),t[a]=s),s(r)}}var gwe=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};gs(this,e),this.logger=Wl.create("formatter"),this.options=t,this.formats={number:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru({},r));return function(o){return i.format(o)}}),currency:Lg(function(n,r){var i=new Intl.NumberFormat(n,Ru(Ru({},r),{},{style:"currency"}));return function(o){return i.format(o)}}),datetime:Lg(function(n,r){var i=new Intl.DateTimeFormat(n,Ru({},r));return function(o){return i.format(o)}}),relativetime:Lg(function(n,r){var i=new Intl.RelativeTimeFormat(n,Ru({},r));return function(o){return i.format(o,r.range||"day")}}),list:Lg(function(n,r){var i=new Intl.ListFormat(n,Ru({},r));return function(o){return i.format(o)}})},this.init(t)}return ms(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:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Lg(r)}},{key:"format",value:function(n,r,i){var o=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(u,d){var h=pwe(d),m=h.formatName,y=h.formatOptions;if(o.formats[m]){var b=u;try{var w=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},E=w.locale||w.lng||a.locale||a.lng||i;b=o.formats[m](u,E,Ru(Ru(Ru({},y),a),w))}catch(_){o.logger.warn(_)}return b}else o.logger.warn("there was no format function for ".concat(m));return u},n);return l}}]),e}();function CR(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 _R(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 ywe(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var bwe=function(e){o4(n,e);var t=mwe(n);function n(r,i,o){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return gs(this,n),a=t.call(this),a4&&Jd.call(Fd(a)),a.backend=r,a.store=i,a.services=o,a.languageUtils=o.languageUtils,a.options=s,a.logger=Wl.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,s.backend,s),a}return ms(n,[{key:"queueLoad",value:function(i,o,a,s){var l=this,u={},d={},h={},m={};return i.forEach(function(y){var b=!0;o.forEach(function(w){var E="".concat(y,"|").concat(w);!a.reload&&l.store.hasResourceBundle(y,w)?l.state[E]=2:l.state[E]<0||(l.state[E]===1?d[E]===void 0&&(d[E]=!0):(l.state[E]=1,b=!1,d[E]===void 0&&(d[E]=!0),u[E]===void 0&&(u[E]=!0),m[w]===void 0&&(m[w]=!0)))}),b||(h[y]=!0)}),(Object.keys(u).length||Object.keys(d).length)&&this.queue.push({pending:d,pendingCount:Object.keys(d).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(u),pending:Object.keys(d),toLoadLanguages:Object.keys(h),toLoadNamespaces:Object.keys(m)}}},{key:"loaded",value:function(i,o,a){var s=i.split("|"),l=s[0],u=s[1];o&&this.emit("failedLoading",l,u,o),a&&this.store.addResourceBundle(l,u,a),this.state[i]=o?-1:2;var d={};this.queue.forEach(function(h){Q3e(h.loaded,[l],u),ywe(h,i),o&&h.errors.push(o),h.pendingCount===0&&!h.done&&(Object.keys(h.loaded).forEach(function(m){d[m]||(d[m]={});var y=h.loaded[m];y.length&&y.forEach(function(b){d[m][b]===void 0&&(d[m][b]=!0)})}),h.done=!0,h.errors.length?h.callback(h.errors):h.callback())}),this.emit("loaded",d),this.queue=this.queue.filter(function(h){return!h.done})}},{key:"read",value:function(i,o,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,d=arguments.length>5?arguments[5]:void 0;if(!i.length)return d(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:a,tried:l,wait:u,callback:d});return}this.readingCalls++;var h=function(w,E){if(s.readingCalls--,s.waitingReads.length>0){var _=s.waitingReads.shift();s.read(_.lng,_.ns,_.fcName,_.tried,_.wait,_.callback)}if(w&&E&&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,s,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(d){a.loadOne(d)})}},{key:"load",value:function(i,o,a){this.prepareLoading(i,o,{},a)}},{key:"reload",value:function(i,o,a){this.prepareLoading(i,o,{reload:!0},a)}},{key:"loadOne",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=i.split("|"),l=s[0],u=s[1];this.read(l,u,"read",void 0,void 0,function(d,h){d&&o.logger.warn("".concat(a,"loading namespace ").concat(u," for language ").concat(l," failed"),d),!d&&h&&o.logger.log("".concat(a,"loaded namespace ").concat(u," for language ").concat(l),h),o.loaded(i,d,h)})}},{key:"saveMissing",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},d=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(a,'" 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}if(!(a==null||a==="")){if(this.backend&&this.backend.create){var h=_R(_R({},u),{},{isUpdate:l}),m=this.backend.create.bind(this.backend);if(m.length<6)try{var y;m.length===5?y=m(i,o,a,s,h):y=m(i,o,a,s),y&&typeof y.then=="function"?y.then(function(b){return d(null,b)}).catch(d):d(null,y)}catch(b){d(b)}else m(i,o,a,s,d,h)}!i||!i[0]||this.store.addResource(i[0],o,a,s)}}}]),n}(Jd);function kR(){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(Ks(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),Ks(t[2])==="object"||Ks(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 ER(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 PR(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 Tl(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 nx(){}function wwe(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var P3=function(e){o4(n,e);var t=xwe(n);function n(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(gs(this,n),r=t.call(this),a4&&Jd.call(Fd(r)),r.options=ER(i),r.services={},r.logger=Wl,r.modules={external:[]},wwe(Fd(r)),o&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,o),g2(r,Fd(r));setTimeout(function(){r.init(i,o)},0)}return r}return ms(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(a=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 s=kR();this.options=Tl(Tl(Tl({},s),this.options),ER(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=Tl(Tl({},s.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function l(_){return _?typeof _=="function"?new _:_:null}if(!this.options.isClone){this.modules.logger?Wl.init(l(this.modules.logger),this.options):Wl.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=gwe);var d=new bR(this.options);this.store=new owe(this.options.resources,this.options);var h=this.services;h.logger=Wl,h.resourceStore=this.store,h.languageUtils=d,h.pluralResolver=new fwe(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(h.formatter=l(u),h.formatter.init(h,this.options),this.options.interpolation.format=h.formatter.format.bind(h.formatter)),h.interpolator=new hwe(this.options),h.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},h.backendConnector=new bwe(l(this.modules.backend),h.resourceStore,h,this.options),h.backendConnector.on("*",function(_){for(var k=arguments.length,T=new Array(k>1?k-1:0),L=1;L1?k-1:0),L=1;L0&&m[0]!=="dev"&&(this.options.lng=m[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var y=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];y.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments)}});var b=["addResource","addResources","addResourceBundle","removeResourceBundle"];b.forEach(function(_){i[_]=function(){var k;return(k=i.store)[_].apply(k,arguments),i}});var w=qv(),E=function(){var k=function(L,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),w.resolve(O),a(L,O)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return k(null,i.t.bind(i));i.changeLanguage(i.options.lng,k)};return this.options.resources||!this.options.initImmediate?E():setTimeout(E,0),w}},{key:"loadResources",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=a,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(s=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var u=[],d=function(y){if(y){var b=o.services.languageUtils.toResolveHierarchy(y);b.forEach(function(w){u.indexOf(w)<0&&u.push(w)})}};if(l)d(l);else{var h=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);h.forEach(function(m){return d(m)})}this.options.preload&&this.options.preload.forEach(function(m){return d(m)}),this.services.backendConnector.load(u,this.options.ns,function(m){!m&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),s(m)})}else s(null)}},{key:"reloadResources",value:function(i,o,a){var s=qv();return i||(i=this.languages),o||(o=this.options.ns),a||(a=nx),this.services.backendConnector.reload(i,o,function(l){s.resolve(),a(l)}),s}},{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"&&_U.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(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(i,o){var a=this;this.isLanguageChangingTo=i;var s=qv();this.emit("languageChanging",i);var l=function(m){a.language=m,a.languages=a.services.languageUtils.toResolveHierarchy(m),a.resolvedLanguage=void 0,a.setResolvedLanguage(m)},u=function(m,y){y?(l(y),a.translator.changeLanguage(y),a.isLanguageChangingTo=void 0,a.emit("languageChanged",y),a.logger.log("languageChanged",y)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),o&&o(m,function(){return a.t.apply(a,arguments)})},d=function(m){!i&&!m&&a.services.languageDetector&&(m=[]);var y=typeof m=="string"?m:a.services.languageUtils.getBestMatchFromCodes(m);y&&(a.language||l(y),a.translator.language||a.translator.changeLanguage(y),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(y)),a.loadResources(y,function(b){u(b,y)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?d(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(d):this.services.languageDetector.detect(d):d(i),s}},{key:"getFixedT",value:function(i,o,a){var s=this,l=function u(d,h){var m;if(Ks(h)!=="object"){for(var y=arguments.length,b=new Array(y>2?y-2:0),w=2;w1&&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 s=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var d=function(y,b){var w=o.services.backendConnector.state["".concat(y,"|").concat(b)];return w===-1||w===2};if(a.precheck){var h=a.precheck(this,d);if(h!==void 0)return h}return!!(this.hasResourceBundle(s,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||d(s,i)&&(!l||d(u,i)))}},{key:"loadNamespaces",value:function(i,o){var a=this,s=qv();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),o&&o(l)}),s):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var a=qv();typeof i=="string"&&(i=[i]);var s=this.options.preload||[],l=i.filter(function(u){return s.indexOf(u)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(u){a.resolve(),o&&o(u)}),a):(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"],a=this.services&&this.services.languageUtils||new bR(kR());return o.indexOf(a.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]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nx,s=Tl(Tl(Tl({},this.options),o),{isClone:!0}),l=new n(s);(o.debug!==void 0||o.prefix!==void 0)&&(l.logger=l.logger.clone(o));var u=["store","services","language"];return u.forEach(function(d){l[d]=i[d]}),l.services=Tl({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new yR(l.services,l.options),l.translator.on("*",function(d){for(var h=arguments.length,m=new Array(h>1?h-1:0),y=1;y0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new P3(e,t)});var Et=P3.createInstance();Et.createInstance=P3.createInstance;Et.createInstance;Et.dir;Et.init;Et.loadResources;Et.reloadResources;Et.use;Et.changeLanguage;Et.getFixedT;Et.t;Et.exists;Et.setDefaultNamespace;Et.hasLoadedNamespace;Et.loadNamespaces;Et.loadLanguages;var kU=[],Cwe=kU.forEach,_we=kU.slice;function kwe(e){return Cwe.call(_we.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}var TR=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Ewe=function(t,n,r){var i=r||{};i.path=i.path||"/";var o=encodeURIComponent(n),a="".concat(t,"=").concat(o);if(i.maxAge>0){var s=i.maxAge-0;if(Number.isNaN(s))throw new Error("maxAge should be a Number");a+="; Max-Age=".concat(Math.floor(s))}if(i.domain){if(!TR.test(i.domain))throw new TypeError("option domain is invalid");a+="; Domain=".concat(i.domain)}if(i.path){if(!TR.test(i.path))throw new TypeError("option path is invalid");a+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(a+="; HttpOnly"),i.secure&&(a+="; Secure"),i.sameSite){var l=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a},MR={create:function(t,n,r,i){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+r*60*1e3)),i&&(o.domain=i),document.cookie=Ewe(t,encodeURIComponent(n),o)},read:function(t){for(var n="".concat(t,"="),r=document.cookie.split(";"),i=0;i-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=r.substring(1),o=i.split("&"),a=0;a0){var l=o[a].substring(0,s);l===t.lookupQuerystring&&(n=o[a].substring(s+1))}}}return n}},Kv=null,LR=function(){if(Kv!==null)return Kv;try{Kv=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{Kv=!1}return Kv},Mwe={name:"localStorage",lookup:function(t){var n;if(t.lookupLocalStorage&&LR()){var r=window.localStorage.getItem(t.lookupLocalStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupLocalStorage&&LR()&&window.localStorage.setItem(n.lookupLocalStorage,t)}},Yv=null,AR=function(){if(Yv!==null)return Yv;try{Yv=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{Yv=!1}return Yv},Lwe={name:"sessionStorage",lookup:function(t){var n;if(t.lookupSessionStorage&&AR()){var r=window.sessionStorage.getItem(t.lookupSessionStorage);r&&(n=r)}return n},cacheUserLanguage:function(t,n){n.lookupSessionStorage&&AR()&&window.sessionStorage.setItem(n.lookupSessionStorage,t)}},Awe={name:"navigator",lookup:function(t){var n=[];if(typeof navigator<"u"){if(navigator.languages)for(var r=0;r0?n:void 0}},Owe={name:"htmlTag",lookup:function(t){var n,r=t.htmlTag||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},Rwe={name:"path",lookup:function(t){var n;if(typeof window<"u"){var r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(r instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof r[t.lookupFromPathIndex]!="string")return;n=r[t.lookupFromPathIndex].replace("/","")}else n=r[0].replace("/","")}return n}},Iwe={name:"subdomain",lookup:function(t){var n=typeof t.lookupFromSubdomainIndex=="number"?t.lookupFromSubdomainIndex+1:1,r=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};function Dwe(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"]}}var EU=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};gs(this,e),this.type="languageDetector",this.detectors={},this.init(t,n)}return ms(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=kwe(r,this.options||{},Dwe()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(Pwe),this.addDetector(Twe),this.addDetector(Mwe),this.addDetector(Lwe),this.addDetector(Awe),this.addDetector(Owe),this.addDetector(Rwe),this.addDetector(Iwe)}},{key:"addDetector",value:function(n){this.detectors[n.name]=n}},{key:"detect",value:function(n){var r=this;n||(n=this.options.order);var i=[];return n.forEach(function(o){if(r.detectors[o]){var a=r.detectors[o].lookup(r.options);a&&typeof a=="string"&&(a=[a]),a&&(i=i.concat(a))}}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(n,r){var i=this;r||(r=this.options.caches),r&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||r.forEach(function(o){i.detectors[o]&&i.detectors[o].cacheUserLanguage(n,i.options)}))}}]),e}();EU.type="languageDetector";function Ck(e){return Ck=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},Ck(e)}var PU=[],jwe=PU.forEach,Nwe=PU.slice;function _k(e){return jwe.call(Nwe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function TU(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":Ck(XMLHttpRequest))==="object"}function $we(e){return!!e&&typeof e.then=="function"}function Fwe(e){return $we(e)?e:Promise.resolve(e)}function Bwe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Dy={},zwe={get exports(){return Dy},set exports(e){Dy=e}},V1={},Hwe={get exports(){return V1},set exports(e){V1=e}},OR;function Wwe(){return OR||(OR=1,function(e,t){var n=typeof self<"u"?self:wo,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(a){var s={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l($){return $&&DataView.prototype.isPrototypeOf($)}if(s.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function($){return $&&u.indexOf(Object.prototype.toString.call($))>-1};function h($){if(typeof $!="string"&&($=String($)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test($))throw new TypeError("Invalid character in header field name");return $.toLowerCase()}function m($){return typeof $!="string"&&($=String($)),$}function y($){var V={next:function(){var X=$.shift();return{done:X===void 0,value:X}}};return s.iterable&&(V[Symbol.iterator]=function(){return V}),V}function b($){this.map={},$ instanceof b?$.forEach(function(V,X){this.append(X,V)},this):Array.isArray($)?$.forEach(function(V){this.append(V[0],V[1])},this):$&&Object.getOwnPropertyNames($).forEach(function(V){this.append(V,$[V])},this)}b.prototype.append=function($,V){$=h($),V=m(V);var X=this.map[$];this.map[$]=X?X+", "+V:V},b.prototype.delete=function($){delete this.map[h($)]},b.prototype.get=function($){return $=h($),this.has($)?this.map[$]:null},b.prototype.has=function($){return this.map.hasOwnProperty(h($))},b.prototype.set=function($,V){this.map[h($)]=m(V)},b.prototype.forEach=function($,V){for(var X in this.map)this.map.hasOwnProperty(X)&&$.call(V,this.map[X],X,this)},b.prototype.keys=function(){var $=[];return this.forEach(function(V,X){$.push(X)}),y($)},b.prototype.values=function(){var $=[];return this.forEach(function(V){$.push(V)}),y($)},b.prototype.entries=function(){var $=[];return this.forEach(function(V,X){$.push([X,V])}),y($)},s.iterable&&(b.prototype[Symbol.iterator]=b.prototype.entries);function w($){if($.bodyUsed)return Promise.reject(new TypeError("Already read"));$.bodyUsed=!0}function E($){return new Promise(function(V,X){$.onload=function(){V($.result)},$.onerror=function(){X($.error)}})}function _($){var V=new FileReader,X=E(V);return V.readAsArrayBuffer($),X}function k($){var V=new FileReader,X=E(V);return V.readAsText($),X}function T($){for(var V=new Uint8Array($),X=new Array(V.length),Q=0;Q-1?V:$}function N($,V){V=V||{};var X=V.body;if($ instanceof N){if($.bodyUsed)throw new TypeError("Already read");this.url=$.url,this.credentials=$.credentials,V.headers||(this.headers=new b($.headers)),this.method=$.method,this.mode=$.mode,this.signal=$.signal,!X&&$._bodyInit!=null&&(X=$._bodyInit,$.bodyUsed=!0)}else this.url=String($);if(this.credentials=V.credentials||this.credentials||"same-origin",(V.headers||!this.headers)&&(this.headers=new b(V.headers)),this.method=I(V.method||this.method||"GET"),this.mode=V.mode||this.mode||null,this.signal=V.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&X)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(X)}N.prototype.clone=function(){return new N(this,{body:this._bodyInit})};function W($){var V=new FormData;return $.trim().split("&").forEach(function(X){if(X){var Q=X.split("="),G=Q.shift().replace(/\+/g," "),Y=Q.join("=").replace(/\+/g," ");V.append(decodeURIComponent(G),decodeURIComponent(Y))}}),V}function B($){var V=new b,X=$.replace(/\r?\n[\t ]+/g," ");return X.split(/\r?\n/).forEach(function(Q){var G=Q.split(":"),Y=G.shift().trim();if(Y){var ee=G.join(":").trim();V.append(Y,ee)}}),V}O.call(N.prototype);function K($,V){V||(V={}),this.type="default",this.status=V.status===void 0?200:V.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in V?V.statusText:"OK",this.headers=new b(V.headers),this.url=V.url||"",this._initBody($)}O.call(K.prototype),K.prototype.clone=function(){return new K(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new b(this.headers),url:this.url})},K.error=function(){var $=new K(null,{status:0,statusText:""});return $.type="error",$};var ne=[301,302,303,307,308];K.redirect=function($,V){if(ne.indexOf(V)===-1)throw new RangeError("Invalid status code");return new K(null,{status:V,headers:{location:$}})},a.DOMException=o.DOMException;try{new a.DOMException}catch{a.DOMException=function(V,X){this.message=V,this.name=X;var Q=Error(V);this.stack=Q.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function z($,V){return new Promise(function(X,Q){var G=new N($,V);if(G.signal&&G.signal.aborted)return Q(new a.DOMException("Aborted","AbortError"));var Y=new XMLHttpRequest;function ee(){Y.abort()}Y.onload=function(){var fe={status:Y.status,statusText:Y.statusText,headers:B(Y.getAllResponseHeaders()||"")};fe.url="responseURL"in Y?Y.responseURL:fe.headers.get("X-Request-URL");var Ce="response"in Y?Y.response:Y.responseText;X(new K(Ce,fe))},Y.onerror=function(){Q(new TypeError("Network request failed"))},Y.ontimeout=function(){Q(new TypeError("Network request failed"))},Y.onabort=function(){Q(new a.DOMException("Aborted","AbortError"))},Y.open(G.method,G.url,!0),G.credentials==="include"?Y.withCredentials=!0:G.credentials==="omit"&&(Y.withCredentials=!1),"responseType"in Y&&s.blob&&(Y.responseType="blob"),G.headers.forEach(function(fe,Ce){Y.setRequestHeader(Ce,fe)}),G.signal&&(G.signal.addEventListener("abort",ee),Y.onreadystatechange=function(){Y.readyState===4&&G.signal.removeEventListener("abort",ee)}),Y.send(typeof G._bodyInit>"u"?null:G._bodyInit)})}return z.polyfill=!0,o.fetch||(o.fetch=z,o.Headers=b,o.Request=N,o.Response=K),a.Headers=b,a.Request=N,a.Response=K,a.fetch=z,Object.defineProperty(a,"__esModule",{value:!0}),a})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Hwe,V1)),V1}(function(e,t){var n;if(typeof fetch=="function"&&(typeof wo<"u"&&wo.fetch?n=wo.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof Bwe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||Wwe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(zwe,Dy);const MU=Dy,RR=Cj({__proto__:null,default:MU},[Dy]);function T3(e){return T3=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},T3(e)}var Yu;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Yu=global.fetch:typeof window<"u"&&window.fetch?Yu=window.fetch:Yu=fetch);var jy;TU()&&(typeof global<"u"&&global.XMLHttpRequest?jy=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(jy=window.XMLHttpRequest));var M3;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?M3=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(M3=window.ActiveXObject));!Yu&&RR&&!jy&&!M3&&(Yu=MU||RR);typeof Yu!="function"&&(Yu=void 0);var kk=function(t,n){if(n&&T3(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},IR=function(t,n,r){Yu(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},DR=!1,Uwe=function(t,n,r,i){t.queryStringParams&&(n=kk(n,t.queryStringParams));var o=_k({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var a=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,s=_k({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},DR?{}:a);try{IR(n,s,i)}catch(l){if(!a||Object.keys(a).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(a).forEach(function(u){delete s[u]}),IR(n,s,i),DR=!0}catch(u){i(u)}}},Vwe=function(t,n,r,i){r&&T3(r)==="object"&&(r=kk("",r).slice(1)),t.queryStringParams&&(n=kk(n,t.queryStringParams));try{var o;jy?o=new jy:o=new M3("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var a=t.customHeaders;if(a=typeof a=="function"?a():a,a)for(var s in a)o.setRequestHeader(s,a[s]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},Gwe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Yu&&n.indexOf("file:")!==0)return Uwe(t,n,r,i);if(TU()||typeof ActiveXObject=="function")return Vwe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Ny(e){return Ny=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},Ny(e)}function qwe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jR(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};qwe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return Kwe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=_k(i,this.options||{},Zwe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,a){var s=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=Fwe(l),l.then(function(u){if(!u)return a(null,{});var d=s.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});s.loadUrl(d,a,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var a=this;this.options.request(this.options,n,void 0,function(s,l){if(l&&(l.status>=500&&l.status<600||!l.status))return r("failed loading "+n+"; status code: "+l.status,!0);if(l&&l.status>=400&&l.status<500)return r("failed loading "+n+"; status code: "+l.status,!1);if(!l&&s&&s.message&&s.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+s.message,!0);if(s)return r(s,!1);var u,d;try{typeof l.data=="string"?u=a.options.parse(l.data,i,o):u=l.data}catch{d="failed parsing "+n+" to json"}if(d)return r(d,!1);r(null,u)})}},{key:"create",value:function(n,r,i,o,a){var s=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],h=[];n.forEach(function(m){var y=s.options.addPath;typeof s.options.addPath=="function"&&(y=s.options.addPath(m,r));var b=s.services.interpolator.interpolate(y,{lng:m,ns:r});s.options.request(s.options,b,l,function(w,E){u+=1,d.push(w),h.push(E),u===n.length&&typeof a=="function"&&a(d,h)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,a=r.logger,s=i.language;if(!(s&&s.toLowerCase()==="cimode")){var l=[],u=function(h){var m=o.toResolveHierarchy(h);m.forEach(function(y){l.indexOf(y)<0&&l.push(y)})};u(s),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(h){i.read(d,h,"read",null,null,function(m,y){m&&a.warn("loading namespace ".concat(h," for language ").concat(d," failed"),m),!m&&y&&a.log("loaded namespace ".concat(h," for language ").concat(d),y),i.loaded("".concat(d,"|").concat(h),m,y)})})})}}}]),e}();AU.type="backend";function Qwe(){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 a=function(l,u){var d=t.services.backendConnector.state["".concat(l,"|").concat(u)];return d===-1||d===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!i||a(o,e)))}function e4e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return Ek("i18n.languages were undefined or empty",t.languages),!0;var r=t.options.ignoreJSONStructure!==void 0;return r?t.hasLoadedNamespace(e,{precheck:function(o,a){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!a(o.isLanguageChangingTo,e))return!1}}):Jwe(e,t,n)}var t4e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,n4e={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},r4e=function(t){return n4e[t]},i4e=function(t){return t.replace(t4e,r4e)};function FR(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 BR(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:{};Pk=BR(BR({},Pk),e)}function a4e(){return Pk}var OU;function s4e(e){OU=e}function l4e(){return OU}var u4e={type:"3rdParty",init:function(t){o4e(t.options.react),s4e(t)}},c4e=S.createContext(),d4e=function(){function e(){gs(this,e),this.usedNamespaces={}}return ms(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 f4e(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(d){u=!0,i=d}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}function h4e(e,t){return bU(e)||f4e(e,t)||xU(e,t)||SU()}function zR(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 $C(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},n=t.i18n,r=S.useContext(c4e)||{},i=r.i18n,o=r.defaultNS,a=n||i||l4e();if(a&&!a.reportNamespaces&&(a.reportNamespaces=new d4e),!a){Ek("You will need to pass in an i18next instance by using initReactI18next");var s=function(W){return Array.isArray(W)?W[W.length-1]:W},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}a.options.react&&a.options.react.wait!==void 0&&Ek("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var u=$C($C($C({},a4e()),a.options.react),t),d=u.useSuspense,h=u.keyPrefix,m=e||o||a.options&&a.options.defaultNS;m=typeof m=="string"?[m]:m||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(m);var y=(a.isInitialized||a.initializedStoreOnce)&&m.every(function(N){return e4e(N,a,u)});function b(){return a.getFixedT(null,u.nsMode==="fallback"?m:m[0],h)}var w=S.useState(b),E=h4e(w,2),_=E[0],k=E[1],T=m.join(),L=p4e(T),O=S.useRef(!0);S.useEffect(function(){var N=u.bindI18n,W=u.bindI18nStore;O.current=!0,!y&&!d&&$R(a,m,function(){O.current&&k(b)}),y&&L&&L!==T&&O.current&&k(b);function B(){O.current&&k(b)}return N&&a&&a.on(N,B),W&&a&&a.store.on(W,B),function(){O.current=!1,N&&a&&N.split(" ").forEach(function(K){return a.off(K,B)}),W&&a&&W.split(" ").forEach(function(K){return a.store.off(K,B)})}},[a,T]);var D=S.useRef(!0);S.useEffect(function(){O.current&&!D.current&&k(b),D.current=!1},[a,h]);var I=[_,a,y];if(I.t=_,I.i18n=a,I.ready=y,y||!y&&!d)return I;throw new Promise(function(N){$R(a,m,function(){N()})})}Et.use(AU).use(EU).use(u4e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const g4e={isConnected:!1,isProcessing:!1,log:[],shouldShowLogViewer:!1,shouldDisplayInProgressType:"latents",shouldDisplayGuides:!0,isGFPGANAvailable:!0,isESRGANAvailable:!0,socketId:"",shouldConfirmOnDelete:!0,openAccordions:[0],currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatus:Et.isInitialized?Et.t("common.statusDisconnected"):"Disconnected",currentStatusHasSteps:!1,model:"",model_id:"",model_hash:"",app_id:"",app_version:"",model_list:{},infill_methods:[],hasError:!1,wasErrorSeen:!0,isCancelable:!0,saveIntermediatesInterval:5,enableImageDebugging:!1,toastQueue:[],searchFolder:null,foundModels:null,openModel:null,cancelOptions:{cancelType:"immediate",cancelAfter:null}},RU=ap({name:"system",initialState:g4e,reducers:{setShouldDisplayInProgressType:(e,t)=>{e.shouldDisplayInProgressType=t.payload},setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.currentStatus=t.payload},setSystemStatus:(e,t)=>({...e,...t.payload}),errorOccurred:e=>{e.hasError=!0,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusError"),e.wasErrorSeen=!1},errorSeen:e=>{e.hasError=!1,e.wasErrorSeen=!0,e.currentStatus=e.isConnected?Et.t("common.statusConnected"):Et.t("common.statusDisconnected")},addLogEntry:(e,t)=>{const{timestamp:n,message:r,level:i}=t.payload,a={timestamp:n,message:r,level:i||"info"};e.log.push(a)},setShouldShowLogViewer:(e,t)=>{e.shouldShowLogViewer=t.payload},setIsConnected:(e,t)=>{e.isConnected=t.payload,e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.hasError=!1},setSocketId:(e,t)=>{e.socketId=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setOpenAccordions:(e,t)=>{e.openAccordions=t.payload},setSystemConfig:(e,t)=>({...e,...t.payload}),setShouldDisplayGuides:(e,t)=>{e.shouldDisplayGuides=t.payload},processingCanceled:e=>{e.isProcessing=!1,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusProcessingCanceled")},generationRequested:e=>{e.isProcessing=!0,e.isCancelable=!0,e.currentStep=0,e.totalSteps=0,e.currentIteration=0,e.totalIterations=0,e.currentStatusHasSteps=!1,e.currentStatus=Et.t("common.statusPreparing")},setModelList:(e,t)=>{e.model_list=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},modelChangeRequested:e=>{e.currentStatus=Et.t("common.statusLoadingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelConvertRequested:e=>{e.currentStatus=Et.t("common.statusConvertingModel"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},modelMergingRequested:e=>{e.currentStatus=Et.t("common.statusMergingModels"),e.isCancelable=!1,e.isProcessing=!0,e.currentStatusHasSteps=!1},setSaveIntermediatesInterval:(e,t)=>{e.saveIntermediatesInterval=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},setProcessingIndeterminateTask:(e,t)=>{e.isProcessing=!0,e.currentStatus=t.payload,e.currentStatusHasSteps=!1},setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setFoundModels:(e,t)=>{e.foundModels=t.payload},setOpenModel:(e,t)=>{e.openModel=t.payload},setCancelType:(e,t)=>{e.cancelOptions.cancelType=t.payload},setCancelAfter:(e,t)=>{e.cancelOptions.cancelAfter=t.payload}}}),{setShouldDisplayInProgressType:m4e,setIsProcessing:wa,addLogEntry:Pi,setShouldShowLogViewer:FC,setIsConnected:HR,setSocketId:ONe,setShouldConfirmOnDelete:IU,setOpenAccordions:v4e,setSystemStatus:y4e,setCurrentStatus:hh,setSystemConfig:b4e,setShouldDisplayGuides:x4e,processingCanceled:S4e,errorOccurred:WR,errorSeen:DU,setModelList:Ag,setIsCancelable:_d,modelChangeRequested:w4e,modelConvertRequested:C4e,modelMergingRequested:_4e,setSaveIntermediatesInterval:k4e,setEnableImageDebugging:E4e,generationRequested:P4e,addToast:$u,clearToastQueue:T4e,setProcessingIndeterminateTask:M4e,setSearchFolder:jU,setFoundModels:NU,setOpenModel:UR,setCancelType:VR,setCancelAfter:BC}=RU.actions,L4e=RU.reducer,xE=["txt2img","img2img","unifiedCanvas","nodes","postprocess","training"],A4e={activeTab:0,currentTheme:"dark",parametersPanelScrollPosition:0,shouldHoldParametersPanelOpen:!1,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowDualDisplay:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,addNewModelUIOption:null},O4e=A4e,$U=ap({name:"ui",initialState:O4e,reducers:{setActiveTab:(e,t)=>{typeof t.payload=="number"?e.activeTab=t.payload:e.activeTab=xE.indexOf(t.payload)},setCurrentTheme:(e,t)=>{e.currentTheme=t.payload},setParametersPanelScrollPosition:(e,t)=>{e.parametersPanelScrollPosition=t.payload},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldHoldParametersPanelOpen:(e,t)=>{e.shouldHoldParametersPanelOpen=t.payload},setShouldShowDualDisplay:(e,t)=>{e.shouldShowDualDisplay=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setAddNewModelUIOption:(e,t)=>{e.addNewModelUIOption=t.payload}}}),{setActiveTab:Uo,setCurrentTheme:R4e,setParametersPanelScrollPosition:I4e,setShouldHoldParametersPanelOpen:D4e,setShouldPinParametersPanel:j4e,setShouldShowParametersPanel:Fh,setShouldShowDualDisplay:N4e,setShouldShowImageDetails:FU,setShouldUseCanvasBetaLayout:$4e,setShouldShowExistingModelsInSearch:F4e,setShouldUseSliders:B4e,setAddNewModelUIOption:Bh}=$U.actions,z4e=$U.reducer,iu=Object.create(null);iu.open="0";iu.close="1";iu.ping="2";iu.pong="3";iu.message="4";iu.upgrade="5";iu.noop="6";const fS=Object.create(null);Object.keys(iu).forEach(e=>{fS[iu[e]]=e});const H4e={type:"error",data:"parser error"},W4e=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",U4e=typeof ArrayBuffer=="function",V4e=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,BU=({type:e,data:t},n,r)=>W4e&&t instanceof Blob?n?r(t):GR(t,r):U4e&&(t instanceof ArrayBuffer||V4e(t))?n?r(t):GR(new Blob([t]),r):r(iu[e]+(t||"")),GR=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)},qR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,a,s,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(a&15)<<4|s>>2,d[i++]=(s&3)<<6|l&63;return u},q4e=typeof ArrayBuffer=="function",zU=(e,t)=>{if(typeof e!="string")return{type:"message",data:HU(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:K4e(e.substring(1),t)}:fS[n]?e.length>1?{type:fS[n],data:e.substring(1)}:{type:fS[n]}:H4e},K4e=(e,t)=>{if(q4e){const n=G4e(e);return HU(n,t)}else return{base64:!0,data:e}},HU=(e,t)=>{switch(t){case"blob":return e instanceof ArrayBuffer?new Blob([e]):e;case"arraybuffer":default:return e}},WU=String.fromCharCode(30),Y4e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,a)=>{BU(o,!1,s=>{r[a]=s,++i===n&&t(r.join(WU))})})},X4e=(e,t)=>{const n=e.split(WU),r=[];for(let i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function VU(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const Q4e=Za.setTimeout,J4e=Za.clearTimeout;function s4(e,t){t.useNativeTimers?(e.setTimeoutFn=Q4e.bind(Za),e.clearTimeoutFn=J4e.bind(Za)):(e.setTimeoutFn=Za.setTimeout.bind(Za),e.clearTimeoutFn=Za.clearTimeout.bind(Za))}const e5e=1.33;function t5e(e){return typeof e=="string"?n5e(e):Math.ceil((e.byteLength||e.size)*e5e)}function n5e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}class r5e extends Error{constructor(t,n,r){super(t),this.description=n,this.context=r,this.type="TransportError"}}class GU extends ai{constructor(t){super(),this.writable=!1,s4(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,n,r){return super.emitReserved("error",new r5e(t,n,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(t){this.readyState==="open"&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const n=zU(t,this.socket.binaryType);this.onPacket(n)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}}const qU="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Tk=64,i5e={};let KR=0,rx=0,YR;function XR(e){let t="";do t=qU[e%Tk]+t,e=Math.floor(e/Tk);while(e>0);return t}function KU(){const e=XR(+new Date);return e!==YR?(KR=0,YR=e):e+"."+XR(KR++)}for(;rx{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};X4e(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,Y4e(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let t=this.query||{};const n=this.opts.secure?"https":"http";let r="";this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=KU()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.opts.port&&(n==="https"&&Number(this.opts.port)!==443||n==="http"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port);const i=YU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts),new eu(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}class eu extends ai{constructor(t,n){super(),s4(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.async=n.async!==!1,this.data=n.data!==void 0?n.data:null,this.create()}create(){const t=VU(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd,t.xscheme=!!this.opts.xs;const n=this.xhr=new ZU(t);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let r in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,this.opts.extraHeaders[r])}}catch{}if(this.method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{n.readyState===4&&(n.status===200||n.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof n.status=="number"?n.status:0)},0))},n.send(this.data)}catch(r){this.setTimeoutFn(()=>{this.onError(r)},0);return}typeof document<"u"&&(this.index=eu.requestsCount++,eu.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=s5e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete eu.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}eu.requestsCount=0;eu.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",ZR);else if(typeof addEventListener=="function"){const e="onpagehide"in Za?"pagehide":"unload";addEventListener(e,ZR,!1)}}function ZR(){for(let e in eu.requests)eu.requests.hasOwnProperty(e)&&eu.requests[e].abort()}const QU=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),ix=Za.WebSocket||Za.MozWebSocket,QR=!0,c5e="arraybuffer",JR=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class d5e extends GU{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=JR?{}:VU(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=QR&&!JR?n?new ix(t,n):new ix(t):new ix(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||c5e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const a={};try{QR&&this.ws.send(o)}catch{}i&&QU(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){let t=this.query||{};const n=this.opts.secure?"wss":"ws";let r="";this.opts.port&&(n==="wss"&&Number(this.opts.port)!==443||n==="ws"&&Number(this.opts.port)!==80)&&(r=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=KU()),this.supportsBinary||(t.b64=1);const i=YU(t),o=this.opts.hostname.indexOf(":")!==-1;return n+"://"+(o?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(i.length?"?"+i:"")}check(){return!!ix}}const f5e={websocket:d5e,polling:u5e},h5e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,p5e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Mk(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=h5e.exec(e||""),o={},a=14;for(;a--;)o[p5e[a]]=i[a]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=g5e(o,o.path),o.queryKey=m5e(o,o.query),o}function g5e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function m5e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let JU=class Ng extends ai{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=Mk(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=Mk(n.host).host),s4(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=o5e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=UU,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts.transportOptions[t],this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new f5e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Ng.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Ng.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",h=>{if(!r)if(h.type==="pong"&&h.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Ng.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const m=new Error("probe error");m.transport=n.name,this.emitReserved("upgradeError",m)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const a=h=>{const m=new Error("probe error: "+h);m.transport=n.name,o(),this.emitReserved("upgradeError",m)};function s(){a("transport closed")}function l(){a("socket closed")}function u(h){n&&h.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",a),n.removeListener("close",s),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",a),n.once("close",s),this.once("close",l),this.once("upgrading",u),n.open()}onOpen(){if(this.readyState="open",Ng.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Ng.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,eV=Object.prototype.toString,x5e=typeof Blob=="function"||typeof Blob<"u"&&eV.call(Blob)==="[object BlobConstructor]",S5e=typeof File=="function"||typeof File<"u"&&eV.call(File)==="[object FileConstructor]";function SE(e){return y5e&&(e instanceof ArrayBuffer||b5e(e))||x5e&&e instanceof Blob||S5e&&e instanceof File}function hS(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num0;case nn.ACK:case nn.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class E5e{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const n=C5e(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const P5e=Object.freeze(Object.defineProperty({__proto__:null,Decoder:wE,Encoder:k5e,get PacketType(){return nn},protocol:_5e},Symbol.toStringTag,{value:"Module"}));function Hs(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const T5e=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class tV extends ai{constructor(t,n,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=n,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Hs(t,"open",this.onopen.bind(this)),Hs(t,"packet",this.onpacket.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...n){if(T5e.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(n.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;const r={type:nn.EVENT,data:n};if(r.options={},r.options.compress=this.flags.compress!==!1,typeof n[n.length-1]=="function"){const a=this.ids++,s=n.pop();this._registerAckCallback(a,s),r.id=a}const i=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!i||!this.connected)||(this.connected?(this.notifyOutgoingListeners(r),this.packet(r)):this.sendBuffer.push(r)),this.flags={},this}_registerAckCallback(t,n){var r;const i=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(i===void 0){this.acks[t]=n;return}const o=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let a=0;a{this.io.clearTimeoutFn(o),n.apply(this,[null,...a])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((a,s)=>r?a?o(a):i(s):i(a)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this.ids++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(){if(this._queue.length===0)return;const t=this._queue[0];if(t.pending)return;t.pending=!0,t.tryCount++;const n=this.ids;this.ids=t.id,this.flags=t.flags,this.emit.apply(this,t.args),this.ids=n}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:nn.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case nn.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case nn.EVENT:case nn.BINARY_EVENT:this.onevent(t);break;case nn.ACK:case nn.BINARY_ACK:this.onack(t);break;case nn.DISCONNECT:this.ondisconnect();break;case nn.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:nn.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:nn.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}b0.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};b0.prototype.reset=function(){this.attempts=0};b0.prototype.setMin=function(e){this.ms=e};b0.prototype.setMax=function(e){this.max=e};b0.prototype.setJitter=function(e){this.jitter=e};class Ok extends ai{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,s4(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new b0({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||P5e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new JU(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Hs(n,"open",function(){r.onopen(),t&&t()}),o=Hs(n,"error",a=>{r.cleanup(),r._readyState="closed",this.emitReserved("error",a),t?t(a):r.maybeReconnectOnOpen()});if(this._timeout!==!1){const a=this._timeout;a===0&&i();const s=this.setTimeoutFn(()=>{i(),n.close(),n.emit("error",new Error("timeout"))},a);this.opts.autoUnref&&s.unref(),this.subs.push(function(){clearTimeout(s)})}return this.subs.push(i),this.subs.push(o),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Hs(t,"ping",this.onping.bind(this)),Hs(t,"data",this.ondata.bind(this)),Hs(t,"error",this.onerror.bind(this)),Hs(t,"close",this.onclose.bind(this)),Hs(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){QU(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r||(r=new tV(this,t,n),this.nsps[t]=r),this._autoConnect&&r.connect(),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(function(){clearTimeout(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Xv={};function pS(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=v5e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,a=Xv[i]&&o in Xv[i].nsps,s=t.forceNew||t["force new connection"]||t.multiplex===!1||a;let l;return s?l=new Ok(r,t):(Xv[i]||(Xv[i]=new Ok(r,t)),l=Xv[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(pS,{Manager:Ok,Socket:tV,io:pS,connect:pS});const M5e=["ddim","plms","k_lms","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_dpmpp_2_a","k_euler","k_euler_a","k_heun"],L5e=["ddim","plms","k_lms","dpmpp_2","k_dpm_2","k_dpm_2_a","k_dpmpp_2","k_euler","k_euler_a","k_heun"],A5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],O5e=[64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024,1088,1152,1216,1280,1344,1408,1472,1536,1600,1664,1728,1792,1856,1920,1984,2048],R5e=[{key:"2x",value:2},{key:"4x",value:4}],CE=0,_E=4294967295,I5e=["gfpgan","codeformer"],D5e=[{key:"None",value:"none"},{key:"Fast",value:"latents"},{key:"Accurate",value:"full-res"}];var j5e=Math.PI/180;function N5e(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const Im=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},ft={_global:Im,version:"8.4.2",isBrowser:N5e(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return ft.angleDeg?e*j5e:e},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return ft.DD.isDragging},isDragReady(){return!!ft.DD.node},releaseCanvasOnDestroy:!0,document:Im.document,_injectGlobal(e){Im.Konva=e}},Mr=e=>{ft[e.prototype.getClassName()]=e};ft._injectGlobal(ft);class Ca{constructor(t=[1,0,0,1,0,0]){this.dirty=!1,this.m=t&&t.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new Ca(this.m)}copyInto(t){t.m[0]=this.m[0],t.m[1]=this.m[1],t.m[2]=this.m[2],t.m[3]=this.m[3],t.m[4]=this.m[4],t.m[5]=this.m[5]}point(t){var n=this.m;return{x:n[0]*t.x+n[2]*t.y+n[4],y:n[1]*t.x+n[3]*t.y+n[5]}}translate(t,n){return this.m[4]+=this.m[0]*t+this.m[2]*n,this.m[5]+=this.m[1]*t+this.m[3]*n,this}scale(t,n){return this.m[0]*=t,this.m[1]*=t,this.m[2]*=n,this.m[3]*=n,this}rotate(t){var n=Math.cos(t),r=Math.sin(t),i=this.m[0]*n+this.m[2]*r,o=this.m[1]*n+this.m[3]*r,a=this.m[0]*-r+this.m[2]*n,s=this.m[1]*-r+this.m[3]*n;return this.m[0]=i,this.m[1]=o,this.m[2]=a,this.m[3]=s,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(t,n){var r=this.m[0]+this.m[2]*n,i=this.m[1]+this.m[3]*n,o=this.m[2]+this.m[0]*t,a=this.m[3]+this.m[1]*t;return this.m[0]=r,this.m[1]=i,this.m[2]=o,this.m[3]=a,this}multiply(t){var n=this.m[0]*t.m[0]+this.m[2]*t.m[1],r=this.m[1]*t.m[0]+this.m[3]*t.m[1],i=this.m[0]*t.m[2]+this.m[2]*t.m[3],o=this.m[1]*t.m[2]+this.m[3]*t.m[3],a=this.m[0]*t.m[4]+this.m[2]*t.m[5]+this.m[4],s=this.m[1]*t.m[4]+this.m[3]*t.m[5]+this.m[5];return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}invert(){var t=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*t,r=-this.m[1]*t,i=-this.m[2]*t,o=this.m[0]*t,a=t*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),s=t*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=r,this.m[2]=i,this.m[3]=o,this.m[4]=a,this.m[5]=s,this}getMatrix(){return this.m}decompose(){var t=this.m[0],n=this.m[1],r=this.m[2],i=this.m[3],o=this.m[4],a=this.m[5],s=t*i-n*r;let l={x:o,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!=0||n!=0){var u=Math.sqrt(t*t+n*n);l.rotation=n>0?Math.acos(t/u):-Math.acos(t/u),l.scaleX=u,l.scaleY=s/u,l.skewX=(t*r+n*i)/s,l.skewY=0}else if(r!=0||i!=0){var d=Math.sqrt(r*r+i*i);l.rotation=Math.PI/2-(i>0?Math.acos(-r/d):-Math.acos(r/d)),l.scaleX=s/d,l.scaleY=d,l.skewX=0,l.skewY=(t*r+n*i)/s}return l.rotation=de._getRotation(l.rotation),l}}var $5e="[object Array]",F5e="[object Number]",B5e="[object String]",z5e="[object Boolean]",H5e=Math.PI/180,W5e=180/Math.PI,zC="#",U5e="",V5e="0",G5e="Konva warning: ",eI="Konva error: ",q5e="rgb(",HC={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,132,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,255,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,5]},K5e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,ox=[];const Y5e=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(e){setTimeout(e,60)},de={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===$5e},_isNumber(e){return Object.prototype.toString.call(e)===F5e&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===B5e},_isBoolean(e){return Object.prototype.toString.call(e)===z5e},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!="string")return!1;var t=e[0];return t==="#"||t==="."||t===t.toUpperCase()},_sign(e){return e===0||e>0?1:-1},requestAnimFrame(e){ox.push(e),ox.length===1&&Y5e(function(){const t=ox;ox=[],t.forEach(function(n){n()})})},createCanvasElement(){var e=document.createElement("canvas");try{e.style=e.style||{}}catch{}return e},createImageElement(){return document.createElement("img")},_isInDocument(e){for(;e=e.parentNode;)if(e==document)return!0;return!1},_urlToImage(e,t){var n=de.createImageElement();n.onload=function(){t(n)},n.src=e},_rgbToHex(e,t,n){return((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)},_hexToRgb(e){e=e.replace(zC,U5e);var t=parseInt(e,16);return{r:t>>16&255,g:t>>8&255,b:t&255}},getRandomColor(){for(var e=(Math.random()*16777215<<0).toString(16);e.length<6;)e=V5e+e;return zC+e},getRGB(e){var t;return e in HC?(t=HC[e],{r:t[0],g:t[1],b:t[2]}):e[0]===zC?this._hexToRgb(e.substring(1)):e.substr(0,4)===q5e?(t=K5e.exec(e.replace(/ /g,"")),{r:parseInt(t[1],10),g:parseInt(t[2],10),b:parseInt(t[3],10)}):{r:0,g:0,b:0}},colorToRGBA(e){return e=e||"black",de._namedColorToRBA(e)||de._hex3ColorToRGBA(e)||de._hex4ColorToRGBA(e)||de._hex6ColorToRGBA(e)||de._hex8ColorToRGBA(e)||de._rgbColorToRGBA(e)||de._rgbaColorToRGBA(e)||de._hslColorToRGBA(e)},_namedColorToRBA(e){var t=HC[e.toLowerCase()];return t?{r:t[0],g:t[1],b:t[2],a:1}:null},_rgbColorToRGBA(e){if(e.indexOf("rgb(")===0){e=e.match(/rgb\(([^)]+)\)/)[1];var t=e.split(/ *, */).map(Number);return{r:t[0],g:t[1],b:t[2],a:1}}},_rgbaColorToRGBA(e){if(e.indexOf("rgba(")===0){e=e.match(/rgba\(([^)]+)\)/)[1];var t=e.split(/ *, */).map((n,r)=>n.slice(-1)==="%"?r===3?parseInt(n)/100:parseInt(n)/100*255:Number(n));return{r:t[0],g:t[1],b:t[2],a:t[3]}}},_hex8ColorToRGBA(e){if(e[0]==="#"&&e.length===9)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e[0]==="#"&&e.length===7)return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e[0]==="#"&&e.length===5)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e[0]==="#"&&e.length===4)return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(e)){const[t,...n]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e),r=Number(n[0])/360,i=Number(n[1])/100,o=Number(n[2])/100;let a,s,l;if(i===0)return l=o*255,{r:Math.round(l),g:Math.round(l),b:Math.round(l),a:1};o<.5?a=o*(1+i):a=o+i-o*i;const u=2*o-a,d=[0,0,0];for(let h=0;h<3;h++)s=r+1/3*-(h-1),s<0&&s++,s>1&&s--,6*s<1?l=u+(a-u)*6*s:2*s<1?l=a:3*s<2?l=u+(a-u)*(2/3-s)*6:l=u,d[h]=l*255;return{r:Math.round(d[0]),g:Math.round(d[1]),b:Math.round(d[2]),a:1}}},haveIntersection(e,t){return!(t.x>e.x+e.width||t.x+t.widthe.y+e.height||t.y+t.height1?(a=n,s=r,l=(n-i)*(n-i)+(r-o)*(r-o)):(a=e+d*(n-e),s=t+d*(r-t),l=(a-i)*(a-i)+(s-o)*(s-o))}return[a,s,l]},_getProjectionToLine(e,t,n){var r=de.cloneObject(e),i=Number.MAX_VALUE;return t.forEach(function(o,a){if(!(!n&&a===t.length-1)){var s=t[(a+1)%t.length],l=de._getProjectionToSegment(o.x,o.y,s.x,s.y,e.x,e.y),u=l[0],d=l[1],h=l[2];ht.length){var a=t;t=e,e=a}for(r=0;r{t.width=0,t.height=0})},drawRoundedRectPath(e,t,n,r){let i=0,o=0,a=0,s=0;typeof r=="number"?i=o=a=s=Math.min(r,t/2,n/2):(i=Math.min(r[0]||0,t/2,n/2),o=Math.min(r[1]||0,t/2,n/2),s=Math.min(r[2]||0,t/2,n/2),a=Math.min(r[3]||0,t/2,n/2)),e.moveTo(i,0),e.lineTo(t-o,0),e.arc(t-o,o,o,Math.PI*3/2,0,!1),e.lineTo(t,n-s),e.arc(t-s,n-s,s,0,Math.PI/2,!1),e.lineTo(a,n),e.arc(a,n-a,a,Math.PI/2,Math.PI,!1),e.lineTo(0,i),e.arc(i,i,i,Math.PI,Math.PI*3/2,!1)}};function uf(e){return de._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||de._isBoolean(e)?e:Object.prototype.toString.call(e)}function nV(e){return e>255?255:e<0?0:Math.round(e)}function Ve(){if(ft.isUnminified)return function(e,t){return de._isNumber(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function kE(e){if(ft.isUnminified)return function(t,n){let r=de._isNumber(t),i=de._isArray(t)&&t.length==e;return!r&&!i&&de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}function EE(){if(ft.isUnminified)return function(e,t){var n=de._isNumber(e),r=e==="auto";return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function x0(){if(ft.isUnminified)return function(e,t){return de._isString(e)||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function rV(){if(ft.isUnminified)return function(e,t){const n=de._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function X5e(){if(ft.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(de._isArray(e)?e.forEach(function(r){de._isNumber(r)||de.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function el(){if(ft.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||de.warn(uf(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function Z5e(e){if(ft.isUnminified)return function(t,n){return t==null||de.isObject(t)||de.warn(uf(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}var Zv="get",Qv="set";const J={addGetterSetter(e,t,n,r,i){J.addGetter(e,t,n),J.addSetter(e,t,r,i),J.addOverloadedGetterSetter(e,t)},addGetter(e,t,n){var r=Zv+de._capitalize(t);e.prototype[r]=e.prototype[r]||function(){var i=this.attrs[t];return i===void 0?n:i}},addSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]||J.overWriteSetter(e,t,n,r)},overWriteSetter(e,t,n,r){var i=Qv+de._capitalize(t);e.prototype[i]=function(o){return n&&o!==void 0&&o!==null&&(o=n.call(this,o,t)),this._setAttr(t,o),r&&r.call(this),this}},addComponentsGetterSetter(e,t,n,r,i){var o=n.length,a=de._capitalize,s=Zv+a(t),l=Qv+a(t),u,d;e.prototype[s]=function(){var m={};for(u=0;u{this._setAttr(t+a(w),void 0)}),this._fireChangeEvent(t,y,m),i&&i.call(this),this},J.addOverloadedGetterSetter(e,t)},addOverloadedGetterSetter(e,t){var n=de._capitalize(t),r=Qv+n,i=Zv+n;e.prototype[t]=function(){return arguments.length?(this[r](arguments[0]),this):this[i]()}},addDeprecatedGetterSetter(e,t,n,r){de.error("Adding deprecated "+t);var i=Zv+de._capitalize(t),o=t+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[i]=function(){de.error(o);var a=this.attrs[t];return a===void 0?n:a},J.addSetter(e,t,r,function(){de.error(o)}),J.addOverloadedGetterSetter(e,t)},backCompat(e,t){de.each(t,function(n,r){var i=e.prototype[r],o=Zv+de._capitalize(n),a=Qv+de._capitalize(n);function s(){i.apply(this,arguments),de.error('"'+n+'" method is deprecated and will be removed soon. Use ""'+r+'" instead.')}e.prototype[n]=s,e.prototype[o]=s,e.prototype[a]=s})},afterSetFilter(){this._filterUpToDate=!1}};function Q5e(e){var t=[],n=e.length,r=de,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=J5e+u.join(tI)+eCe)):(o+=s.property,t||(o+=oCe+s.val)),o+=rCe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=sCe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){var n=t.getLineCap();n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){var n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,a){this._context.arc(t,n,r,i,o,a)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,a){this._context.bezierCurveTo(t,n,r,i,o,a)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(){this._context.clip()}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,a){return this._context.createRadialGradient(t,n,r,i,o,a)}drawImage(t,n,r,i,o,a,s,l,u){var d=arguments,h=this._context;d.length===3?h.drawImage(t,n,r):d.length===5?h.drawImage(t,n,r,i,o):d.length===9&&h.drawImage(t,n,r,i,o,a,s,l,u)}ellipse(t,n,r,i,o,a,s,l){this._context.ellipse(t,n,r,i,o,a,s,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(t){t?this._context.fill(t):this._context.fill()}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,a){this._context.setTransform(t,n,r,i,o,a)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,a){this._context.transform(t,n,r,i,o,a)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=nI.length,r=this.setAttr,i,o,a=function(s){var l=t[s],u;t[s]=function(){return o=Q5e(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:s,args:o}),u}};for(i=0;i{t.dragStatus==="dragging"&&(e=!0)}),e},justDragged:!1,get node(){var e;return fn._dragElements.forEach(t=>{e=t.node}),e},_dragElements:new Map,_drag(e){const t=[];fn._dragElements.forEach((n,r)=>{const{node:i}=n,o=i.getStage();o.setPointersPositions(e),n.pointerId===void 0&&(n.pointerId=de._getFirstPointerId(e));const a=o._changedPointerPositions.find(u=>u.id===n.pointerId);if(a){if(n.dragStatus!=="dragging"){var s=i.dragDistance(),l=Math.max(Math.abs(a.x-n.startPointerPos.x),Math.abs(a.y-n.startPointerPos.y));if(l{n.fire("dragmove",{type:"dragmove",target:n,evt:e},!0)})},_endDragBefore(e){const t=[];fn._dragElements.forEach(n=>{const{node:r}=n,i=r.getStage();if(e&&i.setPointersPositions(e),!i._changedPointerPositions.find(s=>s.id===n.pointerId))return;(n.dragStatus==="dragging"||n.dragStatus==="stopped")&&(fn.justDragged=!0,ft._mouseListenClick=!1,ft._touchListenClick=!1,ft._pointerListenClick=!1,n.dragStatus="stopped");const a=n.node.getLayer()||n.node instanceof ft.Stage&&n.node;a&&t.indexOf(a)===-1&&t.push(a)}),t.forEach(n=>{n.draw()})},_endDragAfter(e){fn._dragElements.forEach((t,n)=>{t.dragStatus==="stopped"&&t.node.fire("dragend",{type:"dragend",target:t.node,evt:e},!0),t.dragStatus!=="dragging"&&fn._dragElements.delete(n)})}};ft.isBrowser&&(window.addEventListener("mouseup",fn._endDragBefore,!0),window.addEventListener("touchend",fn._endDragBefore,!0),window.addEventListener("mousemove",fn._drag),window.addEventListener("touchmove",fn._drag),window.addEventListener("mouseup",fn._endDragAfter,!1),window.addEventListener("touchend",fn._endDragAfter,!1));var gS="absoluteOpacity",sx="allEventListeners",Iu="absoluteTransform",rI="absoluteScale",oh="canvas",dCe="Change",fCe="children",hCe="konva",Rk="listening",iI="mouseenter",oI="mouseleave",aI="set",sI="Shape",mS=" ",lI="stage",fd="transform",pCe="Stage",Ik="visible",gCe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(mS);let mCe=1,Ge=class Dk{constructor(t){this._id=mCe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===fd||t===Iu)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===fd||t===Iu,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(mS);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(oh)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Iu&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(oh)){const{scene:t,filter:n,hit:r}=this._cache.get(oh);de.releaseCanvas(t,n,r),this._cache.delete(oh)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),a=n.pixelRatio,s=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,h=n.hitCanvasPixelRatio||1;if(!i||!o){de.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,s-=u,l-=u;var m=new Dm({pixelRatio:a,width:i,height:o}),y=new Dm({pixelRatio:a,width:0,height:0}),b=new PE({pixelRatio:h,width:i,height:o}),w=m.getContext(),E=b.getContext();return b.isCache=!0,m.isCache=!0,this._cache.delete(oh),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(m.getContext()._context.imageSmoothingEnabled=!1,y.getContext()._context.imageSmoothingEnabled=!1),w.save(),E.save(),w.translate(-s,-l),E.translate(-s,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(gS),this._clearSelfAndDescendantCache(rI),this.drawScene(m,this),this.drawHit(b,this),this._isUnderCache=!1,w.restore(),E.restore(),d&&(w.save(),w.beginPath(),w.rect(0,0,i,o),w.closePath(),w.setAttr("strokeStyle","red"),w.setAttr("lineWidth",5),w.stroke(),w.restore()),this._cache.set(oh,{scene:m,filter:y,hit:b,x:s,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(oh)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,a,s,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),{x:i,y:o,width:a-i,height:s-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),a,s,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(a=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),s=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==fCe&&(r=aI+de._capitalize(n),de._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(Rk,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(Ik,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;fn._dragElements.forEach(a=>{a.dragStatus==="dragging"&&(a.node.nodeType==="Stage"||a.node.getLayer()===r)&&(i=!0)});var o=!n&&!ft.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,a,s;function l(u){for(i=[],o=u.length,a=0;a0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==pCe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(fd),this._clearSelfAndDescendantCache(Iu)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new Ca,a=this.offset();return o.m=i.slice(),o.translate(a.x,a.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(fd);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(fd),this._clearSelfAndDescendantCache(Iu),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,a;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,a=0;a0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return de.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return de.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&de.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(gS,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,a,s;t.attrs={};for(r in n)i=n[r],s=de.isObject(i)&&!de._isPlainObject(i)&&!de._isArray(i),!s&&(o=typeof this[r]=="function"&&this[r],delete n[r],a=o?o.call(this):null,n[r]=i,a!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),de._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,de._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():ft.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,a,s;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;fn._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=fn._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&fn._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return de.haveIntersection(r,this.getClientRect())}static create(t,n){return de._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=Dk.prototype.getClassName.call(t),i=t.children,o,a,s;n&&(t.attrs.container=n),ft[r]||(de.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=ft[r];if(o=new l(t.attrs),i)for(a=i.length,s=0;s0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Ge.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Ge.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),a=this._getCanvasCache(),s=a&&a.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(s){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),a=this._getCanvasCache(),s=a&&a.hit;if(s){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),a=this.clipWidth(),s=this.clipHeight(),l=this.clipFunc(),u=a&&s||l;const d=r===this;if(u){o.save();var h=this.getAbsoluteTransform(r),m=h.getMatrix();if(o.transform(m[0],m[1],m[2],m[3],m[4],m[5]),o.beginPath(),l)l.call(this,o,this);else{var y=this.clipX(),b=this.clipY();o.rect(y,b,a,s)}o.clip(),m=h.copy().invert().getMatrix(),o.transform(m[0],m[1],m[2],m[3],m[4],m[5])}var w=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";w&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(E){E[t](n,r)}),w&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,a,s,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(w){if(w.visible()){var E=w.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});E.width===0&&E.height===0||(o===void 0?(o=E.x,a=E.y,s=E.x+E.width,l=E.y+E.height):(o=Math.min(o,E.x),a=Math.min(a,E.y),s=Math.max(s,E.x+E.width),l=Math.max(l,E.y+E.height)))}});for(var h=this.find("Shape"),m=!1,y=0;ye.indexOf("pointer")>=0?"pointer":e.indexOf("touch")>=0?"touch":"mouse",Og=e=>{const t=x1(e);if(t==="pointer")return ft.pointerEventsEnabled&&UC.pointer;if(t==="touch")return UC.touch;if(t==="mouse")return UC.mouse};function cI(e={}){return(e.clipFunc||e.clipWidth||e.clipHeight)&&de.warn("Stage does not support clipping. Please use clip for Layers or Groups."),e}const CCe="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);",vS=[];let c4=class extends Ma{constructor(t){super(cI(t)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),vS.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{cI(this.attrs)}),this._checkVisibility()}_validateAdd(t){const n=t.getType()==="Layer",r=t.getType()==="FastLayer";n||r||de.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const t=this.visible()?"":"none";this.content.style.display=t}setContainer(t){if(typeof t===yCe){if(t.charAt(0)==="."){var n=t.slice(1);t=document.getElementsByClassName(n)[0]}else{var r;t.charAt(0)!=="#"?r=t:r=t.slice(1),t=document.getElementById(r)}if(!t)throw"Can not find container in document with id "+r}return this._setAttr("container",t),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),t.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var t=this.children,n=t.length,r;for(r=0;r-1&&vS.splice(n,1),de.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const t=this._pointerPositions[0]||this._changedPointerPositions[0];return t?{x:t.x,y:t.y}:(de.warn(CCe),null)}_getPointerById(t){return this._pointerPositions.find(n=>n.id===t)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(t){t=t||{},t.x=t.x||0,t.y=t.y||0,t.width=t.width||this.width(),t.height=t.height||this.height();var n=new Dm({width:t.width,height:t.height,pixelRatio:t.pixelRatio||1}),r=n.getContext()._context,i=this.children;return(t.x||t.y)&&r.translate(-1*t.x,-1*t.y),i.forEach(function(o){if(o.isVisible()){var a=o._toKonvaCanvas(t);r.drawImage(a._canvas,t.x,t.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}}),n}getIntersection(t){if(!t)return null;var n=this.children,r=n.length,i=r-1,o;for(o=i;o>=0;o--){const a=n[o].getIntersection(t);if(a)return a}return null}_resizeDOM(){var t=this.width(),n=this.height();this.content&&(this.content.style.width=t+uI,this.content.style.height=n+uI),this.bufferCanvas.setSize(t,n),this.bufferHitCanvas.setSize(t,n),this.children.forEach(r=>{r.setSize({width:t,height:n}),r.draw()})}add(t,...n){if(arguments.length>1){for(var r=0;rSCe&&de.warn("The stage has "+i+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),t.setSize({width:this.width(),height:this.height()}),t.draw(),ft.isBrowser&&this.content.appendChild(t.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(t){return oV(t,this)}setPointerCapture(t){aV(t,this)}releaseCapture(t){G1(t)}getLayers(){return this.children}_bindContentEvents(){ft.isBrowser&&wCe.forEach(([t,n])=>{this.content.addEventListener(t,r=>{this[n](r)},{passive:!1})})}_pointerenter(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerenter,{evt:t,target:this,currentTarget:this})}_pointerover(t){this.setPointersPositions(t);const n=Og(t.type);this._fire(n.pointerover,{evt:t,target:this,currentTarget:this})}_getTargetShape(t){let n=this[t+"targetShape"];return n&&!n.getStage()&&(n=null),n}_pointerleave(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=this._getTargetShape(r),o=!fn.isDragging||ft.hitOnDragEnabled;i&&o?(i._fireAndBubble(n.pointerout,{evt:t}),i._fireAndBubble(n.pointerleave,{evt:t}),this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this[r+"targetShape"]=null):o&&(this._fire(n.pointerleave,{evt:t,target:this,currentTarget:this}),this._fire(n.pointerout,{evt:t,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(t){const n=Og(t.type),r=x1(t.type);if(n){this.setPointersPositions(t);var i=!1;this._changedPointerPositions.forEach(o=>{var a=this.getIntersection(o);if(fn.justDragged=!1,ft["_"+r+"ListenClick"]=!0,!(a&&a.isListening()))return;ft.capturePointerEventsEnabled&&a.setPointerCapture(o.id),this[r+"ClickStartShape"]=a,a._fireAndBubble(n.pointerdown,{evt:t,pointerId:o.id}),i=!0;const l=t.type.indexOf("touch")>=0;a.preventDefault()&&t.cancelable&&l&&t.preventDefault()}),i||this._fire(n.pointerdown,{evt:t,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(t){const n=Og(t.type),r=x1(t.type);if(!n)return;fn.isDragging&&fn.node.preventDefault()&&t.cancelable&&t.preventDefault(),this.setPointersPositions(t);var i=!fn.isDragging||ft.hitOnDragEnabled;if(!i)return;var o={};let a=!1;var s=this._getTargetShape(r);this._changedPointerPositions.forEach(l=>{const u=WC(l.id)||this.getIntersection(l),d=l.id,h={evt:t,pointerId:d};var m=s!==u;if(m&&s&&(s._fireAndBubble(n.pointerout,Object.assign({},h),u),s._fireAndBubble(n.pointerleave,Object.assign({},h),u)),u){if(o[u._id])return;o[u._id]=!0}u&&u.isListening()?(a=!0,m&&(u._fireAndBubble(n.pointerover,Object.assign({},h),s),u._fireAndBubble(n.pointerenter,Object.assign({},h),s),this[r+"targetShape"]=u),u._fireAndBubble(n.pointermove,Object.assign({},h))):s&&(this._fire(n.pointerover,{evt:t,target:this,currentTarget:this,pointerId:d}),this[r+"targetShape"]=null)}),a||this._fire(n.pointermove,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(t){const n=Og(t.type),r=x1(t.type);if(!n)return;this.setPointersPositions(t);const i=this[r+"ClickStartShape"],o=this[r+"ClickEndShape"];var a={};let s=!1;this._changedPointerPositions.forEach(l=>{const u=WC(l.id)||this.getIntersection(l);if(u){if(u.releaseCapture(l.id),a[u._id])return;a[u._id]=!0}const d=l.id,h={evt:t,pointerId:d};let m=!1;ft["_"+r+"InDblClickWindow"]?(m=!0,clearTimeout(this[r+"DblTimeout"])):fn.justDragged||(ft["_"+r+"InDblClickWindow"]=!0,clearTimeout(this[r+"DblTimeout"])),this[r+"DblTimeout"]=setTimeout(function(){ft["_"+r+"InDblClickWindow"]=!1},ft.dblClickWindow),u&&u.isListening()?(s=!0,this[r+"ClickEndShape"]=u,u._fireAndBubble(n.pointerup,Object.assign({},h)),ft["_"+r+"ListenClick"]&&i&&i===u&&(u._fireAndBubble(n.pointerclick,Object.assign({},h)),m&&o&&o===u&&u._fireAndBubble(n.pointerdblclick,Object.assign({},h)))):(this[r+"ClickEndShape"]=null,ft["_"+r+"ListenClick"]&&this._fire(n.pointerclick,{evt:t,target:this,currentTarget:this,pointerId:d}),m&&this._fire(n.pointerdblclick,{evt:t,target:this,currentTarget:this,pointerId:d}))}),s||this._fire(n.pointerup,{evt:t,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),ft["_"+r+"ListenClick"]=!1,t.cancelable&&r!=="touch"&&t.preventDefault()}_contextmenu(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(jk,{evt:t}):this._fire(jk,{evt:t,target:this,currentTarget:this})}_wheel(t){this.setPointersPositions(t);var n=this.getIntersection(this.getPointerPosition());n&&n.isListening()?n._fireAndBubble(Nk,{evt:t}):this._fire(Nk,{evt:t,target:this,currentTarget:this})}_pointercancel(t){this.setPointersPositions(t);const n=WC(t.pointerId)||this.getIntersection(this.getPointerPosition());n&&n._fireAndBubble(lm,TE(t)),G1(t.pointerId)}_lostpointercapture(t){G1(t.pointerId)}setPointersPositions(t){var n=this._getContentPosition(),r=null,i=null;t=t||window.event,t.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(t.touches,o=>{this._pointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})}),Array.prototype.forEach.call(t.changedTouches||t.touches,o=>{this._changedPointerPositions.push({id:o.identifier,x:(o.clientX-n.left)/n.scaleX,y:(o.clientY-n.top)/n.scaleY})})):(r=(t.clientX-n.left)/n.scaleX,i=(t.clientY-n.top)/n.scaleY,this.pointerPos={x:r,y:i},this._pointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}],this._changedPointerPositions=[{x:r,y:i,id:de._getFirstPointerId(t)}])}_setPointerPosition(t){de.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(t)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var t=this.content.getBoundingClientRect();return{top:t.top,left:t.left,scaleX:t.width/this.content.clientWidth||1,scaleY:t.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new Dm({width:this.width(),height:this.height()}),this.bufferHitCanvas=new PE({pixelRatio:1,width:this.width(),height:this.height()}),!!ft.isBrowser){var t=this.container();if(!t)throw"Stage has no container. A container is required.";t.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),t.appendChild(this.content),this._resizeDOM()}}cache(){return de.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(t){t.batchDraw()}),this}};c4.prototype.nodeType=vCe;Mr(c4);J.addGetterSetter(c4,"container");var vV="hasShadow",yV="shadowRGBA",bV="patternImage",xV="linearGradient",SV="radialGradient";let fx;function VC(){return fx||(fx=de.createCanvasElement().getContext("2d"),fx)}const q1={};function _Ce(e){e.fill()}function kCe(e){e.stroke()}function ECe(e){e.fill()}function PCe(e){e.stroke()}function TCe(){this._clearCache(vV)}function MCe(){this._clearCache(yV)}function LCe(){this._clearCache(bV)}function ACe(){this._clearCache(xV)}function OCe(){this._clearCache(SV)}class $e extends Ge{constructor(t){super(t);let n;for(;n=de.getRandomColor(),!(n&&!(n in q1)););this.colorKey=n,q1[n]=this}getContext(){return de.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return de.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(vV,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(bV,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var t=VC();const n=t.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){const r=new Ca;r.translate(this.fillPatternX(),this.fillPatternY()),r.rotate(ft.getAngle(this.fillPatternRotation())),r.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),r.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const i=r.getMatrix(),o=typeof DOMMatrix>"u"?{a:i[0],b:i[1],c:i[2],d:i[3],e:i[4],f:i[5]}:new DOMMatrix(i);n.setTransform(o)}return n}}_getLinearGradient(){return this._getCache(xV,this.__getLinearGradient)}__getLinearGradient(){var t=this.fillLinearGradientColorStops();if(t){for(var n=VC(),r=this.fillLinearGradientStartPoint(),i=this.fillLinearGradientEndPoint(),o=n.createLinearGradient(r.x,r.y,i.x,i.y),a=0;athis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const t=this.hitStrokeWidth();return t==="auto"?this.hasStroke():this.strokeEnabled()&&!!t}intersects(t){var n=this.getStage(),r=n.bufferHitCanvas,i;return r.getContext().clear(),this.drawHit(r,null,!0),i=r.context.getImageData(Math.round(t.x),Math.round(t.y),1,1).data,i[3]>0}destroy(){return Ge.prototype.destroy.call(this),delete q1[this.colorKey],delete this.colorKey,this}_useBufferCanvas(t){var n;if(!this.getStage()||!((n=this.attrs.perfectDrawEnabled)!==null&&n!==void 0?n:!0))return!1;const i=t||this.hasFill(),o=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(i&&o&&a)return!0;const s=this.hasShadow(),l=this.shadowForStrokeEnabled();return!!(i&&o&&s&&l)}setStrokeHitEnabled(t){de.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),t?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var t=this.size();return{x:this._centroid?-t.width/2:0,y:this._centroid?-t.height/2:0,width:t.width,height:t.height}}getClientRect(t={}){const n=t.skipTransform,r=t.relativeTo,i=this.getSelfRect(),a=!t.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,s=i.width+a,l=i.height+a,u=!t.skipShadow&&this.hasShadow(),d=u?this.shadowOffsetX():0,h=u?this.shadowOffsetY():0,m=s+Math.abs(d),y=l+Math.abs(h),b=u&&this.shadowBlur()||0,w=m+b*2,E=y+b*2,_={width:w,height:E,x:-(a/2+b)+Math.min(d,0)+i.x,y:-(a/2+b)+Math.min(h,0)+i.y};return n?_:this._transformedRect(_,r)}drawScene(t,n){var r=this.getLayer(),i=t||r.getCanvas(),o=i.getContext(),a=this._getCanvasCache(),s=this.getSceneFunc(),l=this.hasShadow(),u,d,h,m=i.isCache,y=n===this;if(!this.isVisible()&&!y)return this;if(a){o.save();var b=this.getAbsoluteTransform(n).getMatrix();return o.transform(b[0],b[1],b[2],b[3],b[4],b[5]),this._drawCachedSceneCanvas(o),o.restore(),this}if(!s)return this;if(o.save(),this._useBufferCanvas()&&!m){u=this.getStage(),d=u.bufferCanvas,h=d.getContext(),h.clear(),h.save(),h._applyLineJoin(this);var w=this.getAbsoluteTransform(n).getMatrix();h.transform(w[0],w[1],w[2],w[3],w[4],w[5]),s.call(this,h,this),h.restore();var E=d.pixelRatio;l&&o._applyShadow(this),o._applyOpacity(this),o._applyGlobalCompositeOperation(this),o.drawImage(d._canvas,0,0,d.width/E,d.height/E)}else{if(o._applyLineJoin(this),!y){var w=this.getAbsoluteTransform(n).getMatrix();o.transform(w[0],w[1],w[2],w[3],w[4],w[5]),o._applyOpacity(this),o._applyGlobalCompositeOperation(this)}l&&o._applyShadow(this),s.call(this,o,this)}return o.restore(),this}drawHit(t,n,r=!1){if(!this.shouldDrawHit(n,r))return this;var i=this.getLayer(),o=t||i.hitCanvas,a=o&&o.getContext(),s=this.hitFunc()||this.sceneFunc(),l=this._getCanvasCache(),u=l&&l.hit;if(this.colorKey||de.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),u){a.save();var d=this.getAbsoluteTransform(n).getMatrix();return a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedHitCanvas(a),a.restore(),this}if(!s)return this;if(a.save(),a._applyLineJoin(this),!(this===n)){var m=this.getAbsoluteTransform(n).getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5])}return s.call(this,a,this),a.restore(),this}drawHitFromCache(t=0){var n=this._getCanvasCache(),r=this._getCachedSceneCanvas(),i=n.hit,o=i.getContext(),a=i.getWidth(),s=i.getHeight(),l,u,d,h,m,y;o.clear(),o.drawImage(r._canvas,0,0,a,s);try{for(l=o.getImageData(0,0,a,s),u=l.data,d=u.length,h=de._hexToRgb(this.colorKey),m=0;mt?(u[m]=h.r,u[m+1]=h.g,u[m+2]=h.b,u[m+3]=255):u[m+3]=0;o.putImageData(l,0,0)}catch(b){de.error("Unable to draw hit graph from cached scene canvas. "+b.message)}return this}hasPointerCapture(t){return oV(t,this)}setPointerCapture(t){aV(t,this)}releaseCapture(t){G1(t)}}$e.prototype._fillFunc=_Ce;$e.prototype._strokeFunc=kCe;$e.prototype._fillFuncHit=ECe;$e.prototype._strokeFuncHit=PCe;$e.prototype._centroid=!1;$e.prototype.nodeType="Shape";Mr($e);$e.prototype.eventListeners={};$e.prototype.on.call($e.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",TCe);$e.prototype.on.call($e.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",MCe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",LCe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",ACe);$e.prototype.on.call($e.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",OCe);J.addGetterSetter($e,"stroke",void 0,rV());J.addGetterSetter($e,"strokeWidth",2,Ve());J.addGetterSetter($e,"fillAfterStrokeEnabled",!1);J.addGetterSetter($e,"hitStrokeWidth","auto",EE());J.addGetterSetter($e,"strokeHitEnabled",!0,el());J.addGetterSetter($e,"perfectDrawEnabled",!0,el());J.addGetterSetter($e,"shadowForStrokeEnabled",!0,el());J.addGetterSetter($e,"lineJoin");J.addGetterSetter($e,"lineCap");J.addGetterSetter($e,"sceneFunc");J.addGetterSetter($e,"hitFunc");J.addGetterSetter($e,"dash");J.addGetterSetter($e,"dashOffset",0,Ve());J.addGetterSetter($e,"shadowColor",void 0,x0());J.addGetterSetter($e,"shadowBlur",0,Ve());J.addGetterSetter($e,"shadowOpacity",1,Ve());J.addComponentsGetterSetter($e,"shadowOffset",["x","y"]);J.addGetterSetter($e,"shadowOffsetX",0,Ve());J.addGetterSetter($e,"shadowOffsetY",0,Ve());J.addGetterSetter($e,"fillPatternImage");J.addGetterSetter($e,"fill",void 0,rV());J.addGetterSetter($e,"fillPatternX",0,Ve());J.addGetterSetter($e,"fillPatternY",0,Ve());J.addGetterSetter($e,"fillLinearGradientColorStops");J.addGetterSetter($e,"strokeLinearGradientColorStops");J.addGetterSetter($e,"fillRadialGradientStartRadius",0);J.addGetterSetter($e,"fillRadialGradientEndRadius",0);J.addGetterSetter($e,"fillRadialGradientColorStops");J.addGetterSetter($e,"fillPatternRepeat","repeat");J.addGetterSetter($e,"fillEnabled",!0);J.addGetterSetter($e,"strokeEnabled",!0);J.addGetterSetter($e,"shadowEnabled",!0);J.addGetterSetter($e,"dashEnabled",!0);J.addGetterSetter($e,"strokeScaleEnabled",!0);J.addGetterSetter($e,"fillPriority","color");J.addComponentsGetterSetter($e,"fillPatternOffset",["x","y"]);J.addGetterSetter($e,"fillPatternOffsetX",0,Ve());J.addGetterSetter($e,"fillPatternOffsetY",0,Ve());J.addComponentsGetterSetter($e,"fillPatternScale",["x","y"]);J.addGetterSetter($e,"fillPatternScaleX",1,Ve());J.addGetterSetter($e,"fillPatternScaleY",1,Ve());J.addComponentsGetterSetter($e,"fillLinearGradientStartPoint",["x","y"]);J.addComponentsGetterSetter($e,"strokeLinearGradientStartPoint",["x","y"]);J.addGetterSetter($e,"fillLinearGradientStartPointX",0);J.addGetterSetter($e,"strokeLinearGradientStartPointX",0);J.addGetterSetter($e,"fillLinearGradientStartPointY",0);J.addGetterSetter($e,"strokeLinearGradientStartPointY",0);J.addComponentsGetterSetter($e,"fillLinearGradientEndPoint",["x","y"]);J.addComponentsGetterSetter($e,"strokeLinearGradientEndPoint",["x","y"]);J.addGetterSetter($e,"fillLinearGradientEndPointX",0);J.addGetterSetter($e,"strokeLinearGradientEndPointX",0);J.addGetterSetter($e,"fillLinearGradientEndPointY",0);J.addGetterSetter($e,"strokeLinearGradientEndPointY",0);J.addComponentsGetterSetter($e,"fillRadialGradientStartPoint",["x","y"]);J.addGetterSetter($e,"fillRadialGradientStartPointX",0);J.addGetterSetter($e,"fillRadialGradientStartPointY",0);J.addComponentsGetterSetter($e,"fillRadialGradientEndPoint",["x","y"]);J.addGetterSetter($e,"fillRadialGradientEndPointX",0);J.addGetterSetter($e,"fillRadialGradientEndPointY",0);J.addGetterSetter($e,"fillPatternRotation",0);J.backCompat($e,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var RCe="#",ICe="beforeDraw",DCe="draw",wV=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],jCe=wV.length;let sp=class extends Ma{constructor(t){super(t),this.canvas=new Dm,this.hitCanvas=new PE({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ICe,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Ma.prototype.drawScene.call(this,i,n),this._fire(DCe,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Ma.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){de.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return de.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return de.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}};sp.prototype.nodeType="Layer";Mr(sp);J.addGetterSetter(sp,"imageSmoothingEnabled",!0);J.addGetterSetter(sp,"clearBeforeDraw",!0);J.addGetterSetter(sp,"hitGraphEnabled",!0,el());class ME extends sp{constructor(t){super(t),this.listening(!1),de.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}ME.prototype.nodeType="FastLayer";Mr(ME);let Jm=class extends Ma{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&de.throw("You may only add groups and shapes to groups.")}};Jm.prototype.nodeType="Group";Mr(Jm);var GC=function(){return Im.performance&&Im.performance.now?function(){return Im.performance.now()}:function(){return new Date().getTime()}}();class Ja{constructor(t,n){this.id=Ja.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:GC(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():t<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=t,this.update())}getTime(){return this._time}setPosition(t){this.prevPos=this._pos,this.propFunc(t),this._pos=t}getPosition(t){return t===void 0&&(t=this._time),this.func(t,this.begin,this._change,this.duration)}play(){this.state=dI,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=fI,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(t){this.pause(),this._time=t,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var t=this.getTimer()-this._startTime;this.state===dI?this.setTime(t):this.state===fI&&this.setTime(this.duration-t)}pause(){this.state=$Ce,this.fire("onPause")}getTimer(){return new Date().getTime()}}class Xr{constructor(t){var n=this,r=t.node,i=r._id,o,a=t.easing||K1.Linear,s=!!t.yoyo,l;typeof t.duration>"u"?o=.3:t.duration===0?o=.001:o=t.duration,this.node=r,this._id=FCe++;var u=r.getLayer()||(r instanceof ft.Stage?r.getLayers():null);u||de.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new Ja(function(){n.tween.onEnterFrame()},u),this.tween=new BCe(l,function(d){n._tweenFunc(d)},a,0,1,o*1e3,s),this._addListeners(),Xr.attrs[i]||(Xr.attrs[i]={}),Xr.attrs[i][this._id]||(Xr.attrs[i][this._id]={}),Xr.tweens[i]||(Xr.tweens[i]={});for(l in t)NCe[l]===void 0&&this._addAttr(l,t[l]);this.reset(),this.onFinish=t.onFinish,this.onReset=t.onReset,this.onUpdate=t.onUpdate}_addAttr(t,n){var r=this.node,i=r._id,o,a,s,l,u,d,h,m;if(s=Xr.tweens[i][t],s&&delete Xr.attrs[i][s][t],o=r.getAttr(t),de._isArray(n))if(a=[],u=Math.max(n.length,o.length),t==="points"&&n.length!==o.length&&(n.length>o.length?(h=o,o=de._prepareArrayForTween(o,n,r.closed())):(d=n,n=de._prepareArrayForTween(n,o,r.closed()))),t.indexOf("fill")===0)for(l=0;l{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueEnd&&t.setAttr("points",n.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var t=this.node,n=Xr.attrs[t._id][this._id];n.points&&n.points.trueStart&&t.points(n.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(t){return this.tween.seek(t*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var t=this.node._id,n=this._id,r=Xr.tweens[t],i;this.pause();for(i in r)delete Xr.tweens[t][i];delete Xr.attrs[t][n]}}Xr.attrs={};Xr.tweens={};Ge.prototype.to=function(e){var t=e.onFinish;e.node=this,e.onFinish=function(){this.destroy(),t&&t()};var n=new Xr(e);n.play()};const K1={BackEaseIn(e,t,n,r){var i=1.70158;return n*(e/=r)*e*((i+1)*e-i)+t},BackEaseOut(e,t,n,r){var i=1.70158;return n*((e=e/r-1)*e*((i+1)*e+i)+1)+t},BackEaseInOut(e,t,n,r){var i=1.70158;return(e/=r/2)<1?n/2*(e*e*(((i*=1.525)+1)*e-i))+t:n/2*((e-=2)*e*(((i*=1.525)+1)*e+i)+2)+t},ElasticEaseIn(e,t,n,r,i,o){var a=0;return e===0?t:(e/=r)===1?t+n:(o||(o=r*.3),!i||i0?t:n),d=a*n,h=s*(s>0?t:n),m=l*(l>0?n:t);return{x:u,y:r?-1*m:h,width:d-u,height:m-h}}}hc.prototype._centroid=!0;hc.prototype.className="Arc";hc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(hc);J.addGetterSetter(hc,"innerRadius",0,Ve());J.addGetterSetter(hc,"outerRadius",0,Ve());J.addGetterSetter(hc,"angle",0,Ve());J.addGetterSetter(hc,"clockwise",!1,el());function $k(e,t,n,r,i,o,a){var s=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=a*s/(s+l),d=a*l/(s+l),h=n-u*(i-e),m=r-u*(o-t),y=n+d*(i-e),b=r+d*(o-t);return[h,m,y,b]}function pI(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(s=this.getTensionPoints(),l=s.length,u=o?0:4,o||t.quadraticCurveTo(s[0],s[1],s[2],s[3]);ud?u:d,E=u>d?1:u/d,_=u>d?d/u:1;t.translate(s,l),t.rotate(y),t.scale(E,_),t.arc(0,0,w,h,h+m,1-b),t.scale(1/E,1/_),t.rotate(-y),t.translate(-s,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],h=u.points[5],m=u.points[4]+h,y=Math.PI/180;if(Math.abs(d-m)m;b-=y){const w=Fn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],b,0);t.push(w.x,w.y)}else for(let b=d+y;bthis.dataArray[r].pathLength;)t-=this.dataArray[r].pathLength,++r;if(r===i)return n=this.dataArray[r-1].points.slice(-2),{x:n[0],y:n[1]};if(t<.01)return n=this.dataArray[r].points.slice(0,2),{x:n[0],y:n[1]};var o=this.dataArray[r],a=o.points;switch(o.command){case"L":return Fn.getPointOnLine(t,o.start.x,o.start.y,a[0],a[1]);case"C":return Fn.getPointOnCubicBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Fn.getPointOnQuadraticBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":var s=a[0],l=a[1],u=a[2],d=a[3],h=a[4],m=a[5],y=a[6];return h+=m*t/o.pathLength,Fn.getPointOnEllipticalArc(s,l,u,d,h,y)}return null}static getLineLength(t,n,r,i){return Math.sqrt((r-t)*(r-t)+(i-n)*(i-n))}static getPointOnLine(t,n,r,i,o,a,s){a===void 0&&(a=n),s===void 0&&(s=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(b[0]);){var k=null,T=[],L=l,O=u,D,I,N,W,B,K,ne,z,$,V;switch(y){case"l":l+=b.shift(),u+=b.shift(),k="L",T.push(l,u);break;case"L":l=b.shift(),u=b.shift(),T.push(l,u);break;case"m":var X=b.shift(),Q=b.shift();if(l+=X,u+=Q,k="M",a.length>2&&a[a.length-1].command==="z"){for(var G=a.length-2;G>=0;G--)if(a[G].command==="M"){l=a[G].points[0]+X,u=a[G].points[1]+Q;break}}T.push(l,u),y="l";break;case"M":l=b.shift(),u=b.shift(),k="M",T.push(l,u),y="L";break;case"h":l+=b.shift(),k="L",T.push(l,u);break;case"H":l=b.shift(),k="L",T.push(l,u);break;case"v":u+=b.shift(),k="L",T.push(l,u);break;case"V":u=b.shift(),k="L",T.push(l,u);break;case"C":T.push(b.shift(),b.shift(),b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"c":T.push(l+b.shift(),u+b.shift(),l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"S":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,b.shift(),b.shift()),l=b.shift(),u=b.shift(),k="C",T.push(l,u);break;case"s":I=l,N=u,D=a[a.length-1],D.command==="C"&&(I=l+(l-D.points[2]),N=u+(u-D.points[3])),T.push(I,N,l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="C",T.push(l,u);break;case"Q":T.push(b.shift(),b.shift()),l=b.shift(),u=b.shift(),T.push(l,u);break;case"q":T.push(l+b.shift(),u+b.shift()),l+=b.shift(),u+=b.shift(),k="Q",T.push(l,u);break;case"T":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l=b.shift(),u=b.shift(),k="Q",T.push(I,N,l,u);break;case"t":I=l,N=u,D=a[a.length-1],D.command==="Q"&&(I=l+(l-D.points[0]),N=u+(u-D.points[1])),l+=b.shift(),u+=b.shift(),k="Q",T.push(I,N,l,u);break;case"A":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l=b.shift(),u=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break;case"a":W=b.shift(),B=b.shift(),K=b.shift(),ne=b.shift(),z=b.shift(),$=l,V=u,l+=b.shift(),u+=b.shift(),k="A",T=this.convertEndpointToCenterParameterization($,V,l,u,ne,z,W,B,K);break}a.push({command:k||y,points:T,start:{x:L,y:O},pathLength:this.calcLength(L,O,k||y,T)})}(y==="z"||y==="Z")&&a.push({command:"z",points:[],start:void 0,pathLength:0})}return a}static calcLength(t,n,r,i){var o,a,s,l,u=Fn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":for(o=0,a=u.getPointOnCubicBezier(0,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)s=u.getPointOnCubicBezier(l,t,n,i[0],i[1],i[2],i[3],i[4],i[5]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"Q":for(o=0,a=u.getPointOnQuadraticBezier(0,t,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)s=u.getPointOnQuadraticBezier(l,t,n,i[0],i[1],i[2],i[3]),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;return o;case"A":o=0;var d=i[4],h=i[5],m=i[4]+h,y=Math.PI/180;if(Math.abs(d-m)m;l-=y)s=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(a.x,a.y,s.x,s.y),a=s;else for(l=d+y;l1&&(s*=Math.sqrt(y),l*=Math.sqrt(y));var b=Math.sqrt((s*s*(l*l)-s*s*(m*m)-l*l*(h*h))/(s*s*(m*m)+l*l*(h*h)));o===a&&(b*=-1),isNaN(b)&&(b=0);var w=b*s*m/l,E=b*-l*h/s,_=(t+r)/2+Math.cos(d)*w-Math.sin(d)*E,k=(n+i)/2+Math.sin(d)*w+Math.cos(d)*E,T=function(B){return Math.sqrt(B[0]*B[0]+B[1]*B[1])},L=function(B,K){return(B[0]*K[0]+B[1]*K[1])/(T(B)*T(K))},O=function(B,K){return(B[0]*K[1]=1&&(W=0),a===0&&W>0&&(W=W-2*Math.PI),a===1&&W<0&&(W=W+2*Math.PI),[_,k,s,l,D,W,d,a]}}Fn.prototype.className="Path";Fn.prototype._attrsAffectingSize=["data"];Mr(Fn);J.addGetterSetter(Fn,"data");class lp extends pc{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var a=this.pointerLength(),s=r.length,l,u;if(o){const m=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[s-2],r[s-1]],y=Fn.calcLength(i[i.length-4],i[i.length-3],"C",m),b=Fn.getPointOnQuadraticBezier(Math.min(1,1-a/y),m[0],m[1],m[2],m[3],m[4],m[5]);l=r[s-2]-b.x,u=r[s-1]-b.y}else l=r[s-2]-r[s-4],u=r[s-1]-r[s-3];var d=(Math.atan2(u,l)+n)%n,h=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[s-2],r[s-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-a,h/2),t.lineTo(-a,-h/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-a,h/2),t.lineTo(-a,-h/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}lp.prototype.className="Arrow";Mr(lp);J.addGetterSetter(lp,"pointerLength",10,Ve());J.addGetterSetter(lp,"pointerWidth",10,Ve());J.addGetterSetter(lp,"pointerAtBeginning",!1);J.addGetterSetter(lp,"pointerAtEnding",!0);let S0=class extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};S0.prototype._centroid=!0;S0.prototype.className="Circle";S0.prototype._attrsAffectingSize=["radius"];Mr(S0);J.addGetterSetter(S0,"radius",0,Ve());class cf extends $e{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}cf.prototype.className="Ellipse";cf.prototype._centroid=!0;cf.prototype._attrsAffectingSize=["radiusX","radiusY"];Mr(cf);J.addComponentsGetterSetter(cf,"radius",["x","y"]);J.addGetterSetter(cf,"radiusX",0,Ve());J.addGetterSetter(cf,"radiusY",0,Ve());let uu=class CV extends $e{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let a;if(o){const s=this.attrs.cropWidth,l=this.attrs.cropHeight;s&&l?a=[o,this.cropX(),this.cropY(),s,l,0,0,n,r]:a=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?de.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,a))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?de.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=de.createImageElement();i.onload=function(){var o=new CV({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};uu.prototype.className="Image";Mr(uu);J.addGetterSetter(uu,"cornerRadius",0,kE(4));J.addGetterSetter(uu,"image");J.addComponentsGetterSetter(uu,"crop",["x","y","width","height"]);J.addGetterSetter(uu,"cropX",0,Ve());J.addGetterSetter(uu,"cropY",0,Ve());J.addGetterSetter(uu,"cropWidth",0,Ve());J.addGetterSetter(uu,"cropHeight",0,Ve());var _V=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],zCe="Change.konva",HCe="none",Fk="up",Bk="right",zk="down",Hk="left",WCe=_V.length;class LE extends Jm{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,a.x),r=Math.max(r,a.x),i=Math.min(i,a.y),o=Math.max(o,a.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}cp.prototype.className="RegularPolygon";cp.prototype._centroid=!0;cp.prototype._attrsAffectingSize=["radius"];Mr(cp);J.addGetterSetter(cp,"radius",0,Ve());J.addGetterSetter(cp,"sides",0,Ve());var gI=Math.PI*2;class dp extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,gI,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),gI,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}dp.prototype.className="Ring";dp.prototype._centroid=!0;dp.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Mr(dp);J.addGetterSetter(dp,"innerRadius",0,Ve());J.addGetterSetter(dp,"outerRadius",0,Ve());class cu extends $e{constructor(t){super(t),this._updated=!0,this.anim=new Ja(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],a=this.frameOffsets(),s=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],h=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),h)if(a){var m=a[n],y=r*2;t.drawImage(h,s,l,u,d,m[y+0],m[y+1],u,d)}else t.drawImage(h,s,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],a=this.frameOffsets(),s=o[i+2],l=o[i+3];if(t.beginPath(),a){var u=a[n],d=r*2;t.rect(u[d+0],u[d+1],s,l)}else t.rect(0,0,s,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var px;function KC(){return px||(px=de.createCanvasElement().getContext(GCe),px)}function r6e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function i6e(e){e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function o6e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Tr extends $e{constructor(t){super(o6e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=a)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=de._isString(t)?t:t==null?"":t+"";return this._setAttr(qCe,n),this}getWidth(){var t=this.attrs.width===Rg||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Rg||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return de.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=KC(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+hx+this.fontVariant()+hx+(this.fontSize()+ZCe)+n6e(this.fontFamily())}_addTextLine(t){this.align()===Jv&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return KC().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,a=this.attrs.height,s=o!==Rg&&o!==void 0,l=a!==Rg&&a!==void 0,u=this.padding(),d=o-u*2,h=a-u*2,m=0,y=this.wrap(),b=y!==yI,w=y!==e6e&&b,E=this.ellipsis();this.textArr=[],KC().font=this._getContextFont();for(var _=E?this._getTextWidth(qC):0,k=0,T=t.length;kd)for(;L.length>0;){for(var D=0,I=L.length,N="",W=0;D>>1,K=L.slice(0,B+1),ne=this._getTextWidth(K)+_;ne<=d?(D=B+1,N=K,W=ne):I=B}if(N){if(w){var z,$=L[N.length],V=$===hx||$===mI;V&&W<=d?z=N.length:z=Math.max(N.lastIndexOf(hx),N.lastIndexOf(mI))+1,z>0&&(D=z,N=N.slice(0,D),W=this._getTextWidth(N))}N=N.trimRight(),this._addTextLine(N),r=Math.max(r,W),m+=i;var X=this._shouldHandleEllipsis(m);if(X){this._tryToAddEllipsisToLastLine();break}if(L=L.slice(D),L=L.trimLeft(),L.length>0&&(O=this._getTextWidth(L),O<=d)){this._addTextLine(L),m+=i,r=Math.max(r,O);break}}else break}else this._addTextLine(L),m+=i,r=Math.max(r,O),this._shouldHandleEllipsis(m)&&kh)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Rg&&i!==void 0,a=this.padding(),s=i-a*2,l=this.wrap(),u=l!==yI;return!u||o&&t+r>s}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Rg&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!o)){if(n){var s=this._getTextWidth(a.text+qC)=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;i0&&(s+=t.dataArray[l].pathLength);var u=0;i==="center"&&(u=Math.max(0,s/2-a/2)),i==="right"&&(u=Math.max(0,s-a));for(var d=kV(this.text()),h=this.text().split(" ").length-1,m,y,b,w=-1,E=0,_=function(){E=0;for(var ne=t.dataArray,z=w+1;z0)return w=z,ne[z];ne[z].command==="M"&&(m={x:ne[z].points[0],y:ne[z].points[1]})}return{}},k=function(ne){var z=t._getTextSize(ne).width+r;ne===" "&&i==="justify"&&(z+=(s-a)/h);var $=0,V=0;for(y=void 0;Math.abs(z-$)/z>.01&&V<20;){V++;for(var X=$;b===void 0;)b=_(),b&&X+b.pathLengthz?y=Fn.getPointOnLine(z,m.x,m.y,b.points[0],b.points[1],m.x,m.y):b=void 0;break;case"A":var G=b.points[4],Y=b.points[5],ee=b.points[4]+Y;E===0?E=G+1e-8:z>$?E+=Math.PI/180*Y/Math.abs(Y):E-=Math.PI/360*Y/Math.abs(Y),(Y<0&&E=0&&E>ee)&&(E=ee,Q=!0),y=Fn.getPointOnEllipticalArc(b.points[0],b.points[1],b.points[2],b.points[3],E,b.points[6]);break;case"C":E===0?z>b.pathLength?E=1e-8:E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength/2:E=Math.max(E-($-z)/b.pathLength/2,0),E>1&&(E=1,Q=!0),y=Fn.getPointOnCubicBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3],b.points[4],b.points[5]);break;case"Q":E===0?E=z/b.pathLength:z>$?E+=(z-$)/b.pathLength:E-=($-z)/b.pathLength,E>1&&(E=1,Q=!0),y=Fn.getPointOnQuadraticBezier(E,b.start.x,b.start.y,b.points[0],b.points[1],b.points[2],b.points[3]);break}y!==void 0&&($=Fn.getLineLength(m.x,m.y,y.x,y.y)),Q&&(Q=!1,b=void 0)}},T="C",L=t._getTextSize(T).width+r,O=u/L-1,D=0;De+`.${OV}`).join(" "),bI="nodesRect",l6e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],u6e={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const c6e="ontouchstart"in ft._global;function d6e(e,t){if(e==="rotater")return"crosshair";t+=de.degToRad(u6e[e]||0);var n=(de.radToDeg(t)%360+360)%360;return de._inRange(n,315+22.5,360)||de._inRange(n,0,22.5)?"ns-resize":de._inRange(n,45-22.5,45+22.5)?"nesw-resize":de._inRange(n,90-22.5,90+22.5)?"ew-resize":de._inRange(n,135-22.5,135+22.5)?"nwse-resize":de._inRange(n,180-22.5,180+22.5)?"ns-resize":de._inRange(n,225-22.5,225+22.5)?"nesw-resize":de._inRange(n,270-22.5,270+22.5)?"ew-resize":de._inRange(n,315-22.5,315+22.5)?"nwse-resize":(de.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var L3=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],xI=1e8;function f6e(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function RV(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function h6e(e,t){const n=f6e(e);return RV(e,t,n)}function p6e(e,t,n){let r=t;for(let i=0;i{const i=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},o=r._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");r.on(o,i),r.on(l6e.map(a=>a+`.${this._getEventNamespace()}`).join(" "),i),r.on(`absoluteTransformChange.${this._getEventNamespace()}`,i),this._proxyDrag(r)}),this._resetTransformCache();var n=!!this.findOne(".top-left");return n&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,a=i.y-n.y;this.nodes().forEach(s=>{if(s===t||s.isDragging())return;const l=s.getAbsolutePosition();s.setAbsolutePosition({x:l.x+o,y:l.y+a}),s.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(bI),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(bI,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),a=t.getAbsolutePosition(r),s=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(ft.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+s*Math.cos(u)+l*Math.sin(-u),y:a.y+l*Math.cos(u)+s*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return RV(d,-ft.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-xI,y:-xI,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var h=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],m=u.getAbsoluteTransform();h.forEach(function(y){var b=m.point(y);n.push(b)})});const r=new Ca;r.rotate(-ft.getAngle(this.rotation()));var i,o,a,s;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=a=d.x,o=s=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),a=Math.max(a,d.x),s=Math.max(s,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:a-i,height:s-o,rotation:ft.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),L3.forEach(function(t){this._createAnchor(t)}.bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new m2({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:c6e?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=ft.getAngle(this.rotation()),o=d6e(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new $e({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*de._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var a=t.target.getAbsolutePosition(),s=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:s.x-a.x,y:s.y-a.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),a=o.getStage();a.setPointersPositions(t);const s=a.getPointerPosition();let l={x:s.x-this._anchorDragOffset.x,y:s.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var h=this._getNodeRect();n=o.x()-h.width/2,r=-o.y()+h.height/2;let ne=Math.atan2(-r,n)+Math.PI/2;h.height<0&&(ne-=Math.PI);var m=ft.getAngle(this.rotation());const z=m+ne,$=ft.getAngle(this.rotationSnapTolerance()),X=p6e(this.rotationSnaps(),z,$)-h.rotation,Q=h6e(h,X);this._fitNodesInto(Q,t);return}var y=this.keepRatio()||t.shiftKey,k=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(y){var b=k?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(b.x-o.x(),2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-left").x()>b.x?-1:1,E=this.findOne(".top-left").y()>b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-left").x(b.x-n),this.findOne(".top-left").y(b.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(y){var b=k?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-b.x,2)+Math.pow(b.y-o.y(),2));var w=this.findOne(".top-right").x()b.y?-1:1;n=i*this.cos*w,r=i*this.sin*E,this.findOne(".top-right").x(b.x+n),this.findOne(".top-right").y(b.y-r)}var _=o.position();this.findOne(".top-left").y(_.y),this.findOne(".bottom-right").x(_.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(y){var b=k?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(b.x-o.x(),2)+Math.pow(o.y()-b.y,2));var w=b.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(de._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(de._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var a=new Ca;if(a.rotate(ft.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const h=a.point({x:-this.padding()*2,y:0});if(t.x+=h.x,t.y+=h.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const h=a.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const h=a.point({x:0,y:-this.padding()*2});if(t.x+=h.x,t.y+=h.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const h=a.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=h.x,this._anchorDragOffset.y-=h.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const h=this.boundBoxFunc()(r,t);h?t=h:de.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const s=1e7,l=new Ca;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/s,r.height/s);const u=new Ca;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/s,t.height/s);const d=u.multiply(l.invert());this._nodes.forEach(h=>{var m;const y=h.getParent().getAbsoluteTransform(),b=h.getTransform().copy();b.translate(h.offsetX(),h.offsetY());const w=new Ca;w.multiply(y.copy().invert()).multiply(d).multiply(y).multiply(b);const E=w.decompose();h.setAttrs(E),this._fire("transform",{evt:n,target:h}),h._fire("transform",{evt:n,target:h}),(m=h.getLayer())===null||m===void 0||m.batchDraw()}),this.rotation(de._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(de._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),a=this.resizeEnabled(),s=this.padding(),l=this.anchorSize();this.find("._anchor").forEach(u=>{u.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+s,offsetY:l/2+s,visible:a&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+s,visible:a&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-s,offsetY:l/2+s,visible:a&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+s,visible:a&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-s,visible:a&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-s,visible:a&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-s,offsetY:l/2-s,visible:a&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*de._sign(i)-s,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),Jm.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return Ge.prototype.toObject.call(this)}clone(t){var n=Ge.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}};function g6e(e){return e instanceof Array||de.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){L3.indexOf(t)===-1&&de.warn("Unknown anchor name: "+t+". Available names are: "+L3.join(", "))}),e||[]}Tn.prototype.className="Transformer";Mr(Tn);J.addGetterSetter(Tn,"enabledAnchors",L3,g6e);J.addGetterSetter(Tn,"flipEnabled",!0,el());J.addGetterSetter(Tn,"resizeEnabled",!0);J.addGetterSetter(Tn,"anchorSize",10,Ve());J.addGetterSetter(Tn,"rotateEnabled",!0);J.addGetterSetter(Tn,"rotationSnaps",[]);J.addGetterSetter(Tn,"rotateAnchorOffset",50,Ve());J.addGetterSetter(Tn,"rotationSnapTolerance",5,Ve());J.addGetterSetter(Tn,"borderEnabled",!0);J.addGetterSetter(Tn,"anchorStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"anchorStrokeWidth",1,Ve());J.addGetterSetter(Tn,"anchorFill","white");J.addGetterSetter(Tn,"anchorCornerRadius",0,Ve());J.addGetterSetter(Tn,"borderStroke","rgb(0, 161, 255)");J.addGetterSetter(Tn,"borderStrokeWidth",1,Ve());J.addGetterSetter(Tn,"borderDash");J.addGetterSetter(Tn,"keepRatio",!0);J.addGetterSetter(Tn,"centeredScaling",!1);J.addGetterSetter(Tn,"ignoreStroke",!1);J.addGetterSetter(Tn,"padding",0,Ve());J.addGetterSetter(Tn,"node");J.addGetterSetter(Tn,"nodes");J.addGetterSetter(Tn,"boundBoxFunc");J.addGetterSetter(Tn,"anchorDragBoundFunc");J.addGetterSetter(Tn,"shouldOverdrawWholeArea",!1);J.addGetterSetter(Tn,"useSingleNodeRotation",!0);J.backCompat(Tn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class gc extends $e{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,ft.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}gc.prototype.className="Wedge";gc.prototype._centroid=!0;gc.prototype._attrsAffectingSize=["radius"];Mr(gc);J.addGetterSetter(gc,"radius",0,Ve());J.addGetterSetter(gc,"angle",0,Ve());J.addGetterSetter(gc,"clockwise",!1);J.backCompat(gc,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function SI(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var m6e=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],v6e=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function y6e(e,t){var n=e.data,r=e.width,i=e.height,o,a,s,l,u,d,h,m,y,b,w,E,_,k,T,L,O,D,I,N,W,B,K,ne,z=t+t+1,$=r-1,V=i-1,X=t+1,Q=X*(X+1)/2,G=new SI,Y=null,ee=G,fe=null,Ce=null,we=m6e[t],xe=v6e[t];for(s=1;s>xe,K!==0?(K=255/K,n[d]=(m*we>>xe)*K,n[d+1]=(y*we>>xe)*K,n[d+2]=(b*we>>xe)*K):n[d]=n[d+1]=n[d+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=h+((l=o+t+1)<$?l:$)<<2,L+=fe.r=n[l],O+=fe.g=n[l+1],D+=fe.b=n[l+2],I+=fe.a=n[l+3],m+=L,y+=O,b+=D,w+=I,fe=fe.next,E+=N=Ce.r,_+=W=Ce.g,k+=B=Ce.b,T+=K=Ce.a,L-=N,O-=W,D-=B,I-=K,Ce=Ce.next,d+=4;h+=r}for(o=0;o>xe,K>0?(K=255/K,n[l]=(m*we>>xe)*K,n[l+1]=(y*we>>xe)*K,n[l+2]=(b*we>>xe)*K):n[l]=n[l+1]=n[l+2]=0,m-=E,y-=_,b-=k,w-=T,E-=fe.r,_-=fe.g,k-=fe.b,T-=fe.a,l=o+((l=a+X)0&&y6e(t,n)};J.addGetterSetter(Ge,"blurRadius",0,Ve(),J.afterSetFilter);const x6e=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,a=a<0?0:a>255?255:a,n[s]=i,n[s+1]=o,n[s+2]=a};J.addGetterSetter(Ge,"contrast",0,Ve(),J.afterSetFilter);const w6e=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,a=0,s=e.data,l=e.width,u=e.height,d=l*4,h=u;switch(r){case"top-left":o=-1,a=-1;break;case"top":o=-1,a=0;break;case"top-right":o=-1,a=1;break;case"right":o=0,a=1;break;case"bottom-right":o=1,a=1;break;case"bottom":o=1,a=0;break;case"bottom-left":o=1,a=-1;break;case"left":o=0,a=-1;break;default:de.error("Unknown emboss direction: "+r)}do{var m=(h-1)*d,y=o;h+y<1&&(y=0),h+y>u&&(y=0);var b=(h-1+y)*l*4,w=l;do{var E=m+(w-1)*4,_=a;w+_<1&&(_=0),w+_>l&&(_=0);var k=b+(w-1+_)*4,T=s[E]-s[k],L=s[E+1]-s[k+1],O=s[E+2]-s[k+2],D=T,I=D>0?D:-D,N=L>0?L:-L,W=O>0?O:-O;if(N>I&&(D=L),W>I&&(D=O),D*=t,i){var B=s[E]+D,K=s[E+1]+D,ne=s[E+2]+D;s[E]=B>255?255:B<0?0:B,s[E+1]=K>255?255:K<0?0:K,s[E+2]=ne>255?255:ne<0?0:ne}else{var z=n-D;z<0?z=0:z>255&&(z=255),s[E]=s[E+1]=s[E+2]=z}}while(--w)}while(--h)};J.addGetterSetter(Ge,"embossStrength",.5,Ve(),J.afterSetFilter);J.addGetterSetter(Ge,"embossWhiteLevel",.5,Ve(),J.afterSetFilter);J.addGetterSetter(Ge,"embossDirection","top-left",null,J.afterSetFilter);J.addGetterSetter(Ge,"embossBlend",!1,null,J.afterSetFilter);function YC(e,t,n,r,i){var o=n-t,a=i-r,s;return o===0?r+a/2:a===0?r:(s=(e-t)/o,s=a*s+r,s)}const C6e=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,a=t[1],s=a,l,u=t[2],d=u,h,m,y=this.enhance();if(y!==0){for(m=0;mi&&(i=o),l=t[m+1],ls&&(s=l),h=t[m+2],hd&&(d=h);i===r&&(i=255,r=0),s===a&&(s=255,a=0),d===u&&(d=255,u=0);var b,w,E,_,k,T,L,O,D;for(y>0?(w=i+y*(255-i),E=r-y*(r-0),k=s+y*(255-s),T=a-y*(a-0),O=d+y*(255-d),D=u-y*(u-0)):(b=(i+r)*.5,w=i+y*(i-b),E=r+y*(r-b),_=(s+a)*.5,k=s+y*(s-_),T=a+y*(a-_),L=(d+u)*.5,O=d+y*(d-L),D=u+y*(u-L)),m=0;m_?E:_;var k=a,T=o,L,O,D=360/T*Math.PI/180,I,N;for(O=0;OT?k:T;var L=a,O=o,D,I,N=n.polarRotation||0,W,B;for(d=0;dt&&(L=T,O=0,D=-1),i=0;i=0&&y=0&&b=0&&y=0&&b=255*4?255:0}return a}function j6e(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),a=[],s=0;s=0&&y=0&&b=n))for(o=w;o=r||(a=(n*o+i)*4,s+=L[a+0],l+=L[a+1],u+=L[a+2],d+=L[a+3],T+=1);for(s=s/T,l=l/T,u=u/T,d=d/T,i=y;i=n))for(o=w;o=r||(a=(n*o+i)*4,L[a+0]=s,L[a+1]=l,L[a+2]=u,L[a+3]=d)}};J.addGetterSetter(Ge,"pixelSize",8,Ve(),J.afterSetFilter);const B6e=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"blue",0,nV,J.afterSetFilter);const H6e=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),a=this.alpha(),s,l;for(s=0;s255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});J.addGetterSetter(Ge,"blue",0,nV,J.afterSetFilter);J.addGetterSetter(Ge,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});const W6e=function(e){var t=e.data,n=t.length,r,i,o,a;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),h>127&&(h=255-h),t[l]=u,t[l+1]=d,t[l+2]=h}while(--s)}while(--o)},V6e=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:n,height:r}=t,i=document.createElement("div"),o=new $g.Stage({container:i,width:n,height:r}),a=new $g.Layer,s=new $g.Layer;a.add(new $g.Rect({...t,fill:"white"})),e.forEach(u=>s.add(new $g.Line({points:u.points,stroke:"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),o.add(a),o.add(s);const l=o.toDataURL({...t});return i.remove(),l};let IV=null,DV=null;const q6e=e=>{IV=e},Qs=()=>IV,K6e=e=>{DV=e},jV=()=>DV,Y6e=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},NV=(e,t)=>Math.floor(Math.random()*(t-e+1)+e),X6e=e=>{const t=Qs(),{generationMode:n,generationState:r,postprocessingState:i,canvasState:o,systemState:a}=e,{codeformerFidelity:s,facetoolStrength:l,facetoolType:u,hiresFix:d,hiresStrength:h,shouldRunESRGAN:m,shouldRunFacetool:y,upscalingLevel:b,upscalingStrength:w,upscalingDenoising:E}=i,{cfgScale:_,height:k,img2imgStrength:T,infillMethod:L,initialImage:O,iterations:D,perlin:I,prompt:N,negativePrompt:W,sampler:B,seamBlur:K,seamless:ne,seamSize:z,seamSteps:$,seamStrength:V,seed:X,seedWeights:Q,shouldFitToWidthHeight:G,shouldGenerateVariations:Y,shouldRandomizeSeed:ee,steps:fe,threshold:Ce,tileSize:we,variationAmount:xe,width:Le,shouldUseSymmetry:Se,horizontalSymmetryTimePercentage:Qe,verticalSymmetryTimePercentage:Xe}=r,{shouldDisplayInProgressType:tt,saveIntermediatesInterval:yt,enableImageDebugging:Be}=a,Ae={prompt:N,iterations:D,steps:fe,cfg_scale:_,threshold:Ce,perlin:I,height:k,width:Le,sampler_name:B,seed:X,progress_images:tt==="full-res",progress_latents:tt==="latents",save_intermediates:yt,generation_mode:n,init_mask:""};let bt=!1,Fe=!1;if(W!==""&&(Ae.prompt=`${N} [${W}]`),Ae.seed=ee?NV(CE,_E):X,Se&&(Qe>0&&(Ae.h_symmetry_time_pct=Math.max(0,Math.min(1,Qe/fe))),Qe>0&&(Ae.v_symmetry_time_pct=Math.max(0,Math.min(1,Xe/fe)))),n==="txt2img"&&(Ae.hires_fix=d,d&&(Ae.strength=h)),["txt2img","img2img"].includes(n)&&(Ae.seamless=ne,m&&(bt={level:b,denoise_str:E,strength:w}),y&&(Fe={type:u,strength:l},u==="codeformer"&&(Fe.codeformer_fidelity=s))),n==="img2img"&&O&&(Ae.init_img=typeof O=="string"?O:O.url,Ae.strength=T,Ae.fit=G),n==="unifiedCanvas"&&t){const{layerState:{objects:at},boundingBoxCoordinates:jt,boundingBoxDimensions:mt,stageScale:Zt,isMaskEnabled:on,shouldPreserveMaskedArea:se,boundingBoxScaleMethod:Ie,scaledBoundingBoxDimensions:He}=o,Ue={...jt,...mt},ye=G6e(on?at.filter(hE):[],Ue);Ae.init_mask=ye,Ae.fit=!1,Ae.strength=T,Ae.invert_mask=se,Ae.bounding_box=Ue;const je=t.scale();t.scale({x:1/Zt,y:1/Zt});const vt=t.getAbsolutePosition(),Mt=t.toDataURL({x:Ue.x+vt.x,y:Ue.y+vt.y,width:Ue.width,height:Ue.height});Be&&Y6e([{base64:ye,caption:"mask sent as init_mask"},{base64:Mt,caption:"image sent as init_img"}]),t.scale(je),Ae.init_img=Mt,Ae.progress_images=!1,Ie!=="none"&&(Ae.inpaint_width=He.width,Ae.inpaint_height=He.height),Ae.seam_size=z,Ae.seam_blur=K,Ae.seam_strength=V,Ae.seam_steps=$,Ae.tile_size=we,Ae.infill_method=L,Ae.force_outpaint=!1}return Y?(Ae.variation_amount=xe,Q&&(Ae.with_variations=D3e(Q))):Ae.variation_amount=0,Be&&(Ae.enable_image_debugging=Be),{generationParameters:Ae,esrganParameters:bt,facetoolParameters:Fe}};var Z6e=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,Q6e=/\b(?:[A-Z]{1,3}[A-Z][TC])(?:[-+]\d{4})?|((?:Australian )?(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time)\b/g,J6e=/[^-+\dA-Z]/g;function Ti(e,t,n,r){if(arguments.length===1&&typeof e=="string"&&!/\d/.test(e)&&(t=e,e=void 0),e=e||e===0?e:new Date,e instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");t=String(wI[t]||t||wI.default);var i=t.slice(0,4);(i==="UTC:"||i==="GMT:")&&(t=t.slice(4),n=!0,i==="GMT:"&&(r=!0));var o=function(){return n?"getUTC":"get"},a=function(){return e[o()+"Date"]()},s=function(){return e[o()+"Day"]()},l=function(){return e[o()+"Month"]()},u=function(){return e[o()+"FullYear"]()},d=function(){return e[o()+"Hours"]()},h=function(){return e[o()+"Minutes"]()},m=function(){return e[o()+"Seconds"]()},y=function(){return e[o()+"Milliseconds"]()},b=function(){return n?0:e.getTimezoneOffset()},w=function(){return e_e(e)},E=function(){return t_e(e)},_={d:function(){return a()},dd:function(){return xa(a())},ddd:function(){return Ho.dayNames[s()]},DDD:function(){return CI({y:u(),m:l(),d:a(),_:o(),dayName:Ho.dayNames[s()],short:!0})},dddd:function(){return Ho.dayNames[s()+7]},DDDD:function(){return CI({y:u(),m:l(),d:a(),_:o(),dayName:Ho.dayNames[s()+7]})},m:function(){return l()+1},mm:function(){return xa(l()+1)},mmm:function(){return Ho.monthNames[l()]},mmmm:function(){return Ho.monthNames[l()+12]},yy:function(){return String(u()).slice(2)},yyyy:function(){return xa(u(),4)},h:function(){return d()%12||12},hh:function(){return xa(d()%12||12)},H:function(){return d()},HH:function(){return xa(d())},M:function(){return h()},MM:function(){return xa(h())},s:function(){return m()},ss:function(){return xa(m())},l:function(){return xa(y(),3)},L:function(){return xa(Math.floor(y()/10))},t:function(){return d()<12?Ho.timeNames[0]:Ho.timeNames[1]},tt:function(){return d()<12?Ho.timeNames[2]:Ho.timeNames[3]},T:function(){return d()<12?Ho.timeNames[4]:Ho.timeNames[5]},TT:function(){return d()<12?Ho.timeNames[6]:Ho.timeNames[7]},Z:function(){return r?"GMT":n?"UTC":n_e(e)},o:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60)*100+Math.abs(b())%60,4)},p:function(){return(b()>0?"-":"+")+xa(Math.floor(Math.abs(b())/60),2)+":"+xa(Math.floor(Math.abs(b())%60),2)},S:function(){return["th","st","nd","rd"][a()%10>3?0:(a()%100-a()%10!=10)*a()%10]},W:function(){return w()},WW:function(){return xa(w())},N:function(){return E()}};return t.replace(Z6e,function(k){return k in _?_[k]():k.slice(1,k.length-1)})}var wI={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},Ho={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]},xa=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(t).padStart(n,"0")},CI=function(t){var n=t.y,r=t.m,i=t.d,o=t._,a=t.dayName,s=t.short,l=s===void 0?!1:s,u=new Date,d=new Date;d.setDate(d[o+"Date"]()-1);var h=new Date;h.setDate(h[o+"Date"]()+1);var m=function(){return u[o+"Date"]()},y=function(){return u[o+"Month"]()},b=function(){return u[o+"FullYear"]()},w=function(){return d[o+"Date"]()},E=function(){return d[o+"Month"]()},_=function(){return d[o+"FullYear"]()},k=function(){return h[o+"Date"]()},T=function(){return h[o+"Month"]()},L=function(){return h[o+"FullYear"]()};return b()===n&&y()===r&&m()===i?l?"Tdy":"Today":_()===n&&E()===r&&w()===i?l?"Ysd":"Yesterday":L()===n&&T()===r&&k()===i?l?"Tmw":"Tomorrow":a},e_e=function(t){var n=new Date(t.getFullYear(),t.getMonth(),t.getDate());n.setDate(n.getDate()-(n.getDay()+6)%7+3);var r=new Date(n.getFullYear(),0,4);r.setDate(r.getDate()-(r.getDay()+6)%7+3);var i=n.getTimezoneOffset()-r.getTimezoneOffset();n.setHours(n.getHours()-i);var o=(n-r)/(864e5*7);return 1+Math.floor(o)},t_e=function(t){var n=t.getDay();return n===0&&(n=7),n},n_e=function(t){return(String(t).match(Q6e)||[""]).pop().replace(J6e,"").replace(/GMT\+0000/g,"UTC")};const r_e=(e,t)=>{const{dispatch:n,getState:r}=e;return{emitGenerateImage:i=>{n(wa(!0));const o=r(),{generation:a,postprocessing:s,system:l,canvas:u}=o,d={generationMode:i,generationState:a,postprocessingState:s,canvasState:u,systemState:l};n(P4e());const{generationParameters:h,esrganParameters:m,facetoolParameters:y}=X6e(d);t.emit("generateImage",h,m,y),h.init_mask&&(h.init_mask=h.init_mask.substr(0,64).concat("...")),h.init_img&&(h.init_img=h.init_img.substr(0,64).concat("...")),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generation requested: ${JSON.stringify({...h,...m,...y})}`}))},emitRunESRGAN:i=>{n(wa(!0));const{postprocessing:{upscalingLevel:o,upscalingDenoising:a,upscalingStrength:s}}=r(),l={upscale:[o,a,s]};t.emit("runPostprocessing",i,{type:"esrgan",...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`ESRGAN upscale requested: ${JSON.stringify({file:i.url,...l})}`}))},emitRunFacetool:i=>{n(wa(!0));const{postprocessing:{facetoolType:o,facetoolStrength:a,codeformerFidelity:s}}=r(),l={facetool_strength:a};o==="codeformer"&&(l.codeformer_fidelity=s),t.emit("runPostprocessing",i,{type:o,...l}),n(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Face restoration (${o}) requested: ${JSON.stringify({file:i.url,...l})}`}))},emitDeleteImage:i=>{const{url:o,uuid:a,category:s,thumbnail:l}=i;n(JW(i)),t.emit("deleteImage",o,l,a,s)},emitRequestImages:i=>{const o=r().gallery,{earliest_mtime:a}=o.categories[i];t.emit("requestImages",i,a)},emitRequestNewImages:i=>{const o=r().gallery,{latest_mtime:a}=o.categories[i];t.emit("requestLatestImages",i,a)},emitCancelProcessing:()=>{t.emit("cancel")},emitRequestSystemConfig:()=>{t.emit("requestSystemConfig")},emitSearchForModels:i=>{t.emit("searchForModels",i)},emitAddNewModel:i=>{t.emit("addNewModel",i)},emitDeleteModel:i=>{t.emit("deleteModel",i)},emitConvertToDiffusers:i=>{n(C4e()),t.emit("convertToDiffusers",i)},emitMergeDiffusersModels:i=>{n(_4e()),t.emit("mergeDiffusersModels",i)},emitRequestModelChange:i=>{n(w4e()),t.emit("requestModelChange",i)},emitSaveStagingAreaImageToGallery:i=>{t.emit("requestSaveStagingAreaImageToGallery",i)},emitRequestEmptyTempFolder:()=>{t.emit("requestEmptyTempFolder")}}};let mx;const i_e=new Uint8Array(16);function o_e(){if(!mx&&(mx=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!mx))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mx(i_e)}const Hi=[];for(let e=0;e<256;++e)Hi.push((e+256).toString(16).slice(1));function a_e(e,t=0){return(Hi[e[t+0]]+Hi[e[t+1]]+Hi[e[t+2]]+Hi[e[t+3]]+"-"+Hi[e[t+4]]+Hi[e[t+5]]+"-"+Hi[e[t+6]]+Hi[e[t+7]]+"-"+Hi[e[t+8]]+Hi[e[t+9]]+"-"+Hi[e[t+10]]+Hi[e[t+11]]+Hi[e[t+12]]+Hi[e[t+13]]+Hi[e[t+14]]+Hi[e[t+15]]).toLowerCase()}const s_e=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),_I={randomUUID:s_e};function um(e,t,n){if(_I.randomUUID&&!t&&!e)return _I.randomUUID();e=e||{};const r=e.random||(e.rng||o_e)();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 a_e(r)}const Wk=br("socketio/generateImage"),l_e=br("socketio/runESRGAN"),u_e=br("socketio/runFacetool"),c_e=br("socketio/deleteImage"),Uk=br("socketio/requestImages"),kI=br("socketio/requestNewImages"),d_e=br("socketio/cancelProcessing"),f_e=br("socketio/requestSystemConfig"),EI=br("socketio/searchForModels"),v2=br("socketio/addNewModel"),h_e=br("socketio/deleteModel"),p_e=br("socketio/convertToDiffusers"),g_e=br("socketio/mergeDiffusersModels"),$V=br("socketio/requestModelChange"),m_e=br("socketio/saveStagingAreaImageToGallery"),v_e=br("socketio/requestEmptyTempFolder"),y_e=e=>{const{dispatch:t,getState:n}=e;return{onConnect:()=>{try{t(HR(!0)),t(hh(Et.t("common.statusConnected"))),t(f_e());const r=n().gallery;r.categories.result.latest_mtime?t(kI("result")):t(Uk("result")),r.categories.user.latest_mtime?t(kI("user")):t(Uk("user"))}catch(r){console.error(r)}},onDisconnect:()=>{try{t(HR(!1)),t(hh(Et.t("common.statusDisconnected"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Disconnected from server",level:"warning"}))}catch(r){console.error(r)}},onGenerationResult:r=>{try{const i=n(),{activeTab:o}=i.ui,{shouldLoopback:a}=i.postprocessing,{boundingBox:s,generationMode:l,...u}=r,d={uuid:um(),...u};if(["txt2img","img2img"].includes(l)&&t(sm({category:"result",image:{...d,category:"result"}})),l==="unifiedCanvas"&&r.boundingBox){const{boundingBox:h}=r;t(e3e({image:{...d,category:"temp"},boundingBox:h})),i.canvas.shouldAutoSave&&t(sm({image:{...d,category:"result"},category:"result"}))}if(a)switch(xE[o]){case"img2img":{t(y0(d));break}}t(jC()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image generated: ${r.url}`}))}catch(i){console.error(i)}},onIntermediateResult:r=>{try{t(C3e({uuid:um(),...r,category:"result"})),r.isBase64||t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image generated: ${r.url}`}))}catch(i){console.error(i)}},onPostprocessingResult:r=>{try{t(sm({category:"result",image:{uuid:um(),...r,category:"result"}})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Postprocessed: ${r.url}`}))}catch(i){console.error(i)}},onProgressUpdate:r=>{try{t(wa(!0)),t(y4e(r))}catch(i){console.error(i)}},onError:r=>{const{message:i,additionalData:o}=r;try{t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Server error: ${i}`,level:"error"})),t(WR()),t(jC())}catch(a){console.error(a)}},onGalleryImages:r=>{const{images:i,areMoreImagesAvailable:o,category:a}=r,s=i.map(l=>({uuid:um(),...l}));t(w3e({images:s,areMoreImagesAvailable:o,category:a})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Loaded ${i.length} images`}))},onProcessingCanceled:()=>{t(S4e());const{intermediateImage:r}=n().gallery;r&&(r.isBase64||(t(sm({category:"result",image:r})),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Intermediate image saved: ${r.url}`}))),t(jC())),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:"Processing canceled",level:"warning"}))},onImageDeleted:r=>{const{url:i}=r;t(JW(r));const{generation:{initialImage:o,maskPath:a}}=n();(o===i||(o==null?void 0:o.url)===i)&&t(oU()),a===i&&t(lU("")),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Image deleted: ${i}`}))},onSystemConfig:r=>{t(b4e(r)),r.infill_methods.includes("patchmatch")||t(sU(r.infill_methods[0]))},onFoundModels:r=>{const{search_folder:i,found_models:o}=r;t(jU(i)),t(NU(o))},onNewModelAdded:r=>{const{new_model_name:i,model_list:o,update:a}=r;t(Ag(o)),t(wa(!1)),t(hh(Et.t("modelManager.modelAdded"))),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model Added: ${i}`,level:"info"})),t($u({title:a?`${Et.t("modelManager.modelUpdated")}: ${i}`:`${Et.t("modelManager.modelAdded")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelDeleted:r=>{const{deleted_model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`${Et.t("modelmanager:modelAdded")}: ${i}`,level:"info"})),t($u({title:`${Et.t("modelmanager:modelEntryDeleted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelConverted:r=>{const{converted_model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelConverted"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model converted: ${i}`,level:"info"})),t($u({title:`${Et.t("modelmanager:modelConverted")}: ${i}`,status:"success",duration:2500,isClosable:!0}))},onModelsMerged:r=>{const{merged_models:i,merged_model_name:o,model_list:a}=r;t(Ag(a)),t(hh(Et.t("common.statusMergedModels"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Models merged: ${i}`,level:"info"})),t($u({title:`${Et.t("modelManager.modelsMerged")}: ${o}`,status:"success",duration:2500,isClosable:!0}))},onModelChanged:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(hh(Et.t("common.statusModelChanged"))),t(wa(!1)),t(_d(!0)),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model changed: ${i}`,level:"info"}))},onModelChangeFailed:r=>{const{model_name:i,model_list:o}=r;t(Ag(o)),t(wa(!1)),t(_d(!0)),t(WR()),t(Pi({timestamp:Ti(new Date,"isoDateTime"),message:`Model change failed: ${i}`,level:"error"}))},onTempFolderEmptied:()=>{t($u({title:Et.t("toast.tempFoldersEmptied"),status:"success",duration:2500,isClosable:!0}))}}},b_e=()=>{const{origin:e}=new URL(window.location.href),t=pS(e,{timeout:6e4,path:`${window.location.pathname}socket.io`});let n=!1;return i=>o=>a=>{const{onConnect:s,onDisconnect:l,onError:u,onPostprocessingResult:d,onGenerationResult:h,onIntermediateResult:m,onProgressUpdate:y,onGalleryImages:b,onProcessingCanceled:w,onImageDeleted:E,onSystemConfig:_,onModelChanged:k,onFoundModels:T,onNewModelAdded:L,onModelDeleted:O,onModelConverted:D,onModelsMerged:I,onModelChangeFailed:N,onTempFolderEmptied:W}=y_e(i),{emitGenerateImage:B,emitRunESRGAN:K,emitRunFacetool:ne,emitDeleteImage:z,emitRequestImages:$,emitRequestNewImages:V,emitCancelProcessing:X,emitRequestSystemConfig:Q,emitSearchForModels:G,emitAddNewModel:Y,emitDeleteModel:ee,emitConvertToDiffusers:fe,emitMergeDiffusersModels:Ce,emitRequestModelChange:we,emitSaveStagingAreaImageToGallery:xe,emitRequestEmptyTempFolder:Le}=r_e(i,t);switch(n||(t.on("connect",()=>s()),t.on("disconnect",()=>l()),t.on("error",Se=>u(Se)),t.on("generationResult",Se=>h(Se)),t.on("postprocessingResult",Se=>d(Se)),t.on("intermediateResult",Se=>m(Se)),t.on("progressUpdate",Se=>y(Se)),t.on("galleryImages",Se=>b(Se)),t.on("processingCanceled",()=>{w()}),t.on("imageDeleted",Se=>{E(Se)}),t.on("systemConfig",Se=>{_(Se)}),t.on("foundModels",Se=>{T(Se)}),t.on("newModelAdded",Se=>{L(Se)}),t.on("modelDeleted",Se=>{O(Se)}),t.on("modelConverted",Se=>{D(Se)}),t.on("modelsMerged",Se=>{I(Se)}),t.on("modelChanged",Se=>{k(Se)}),t.on("modelChangeFailed",Se=>{N(Se)}),t.on("tempFolderEmptied",()=>{W()}),n=!0),a.type){case"socketio/generateImage":{B(a.payload);break}case"socketio/runESRGAN":{K(a.payload);break}case"socketio/runFacetool":{ne(a.payload);break}case"socketio/deleteImage":{z(a.payload);break}case"socketio/requestImages":{$(a.payload);break}case"socketio/requestNewImages":{V(a.payload);break}case"socketio/cancelProcessing":{X();break}case"socketio/requestSystemConfig":{Q();break}case"socketio/searchForModels":{G(a.payload);break}case"socketio/addNewModel":{Y(a.payload);break}case"socketio/deleteModel":{ee(a.payload);break}case"socketio/convertToDiffusers":{fe(a.payload);break}case"socketio/mergeDiffusersModels":{Ce(a.payload);break}case"socketio/requestModelChange":{we(a.payload);break}case"socketio/saveStagingAreaImageToGallery":{xe(a.payload);break}case"socketio/requestEmptyTempFolder":{Le();break}}o(a)}},x_e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"].map(e=>`canvas.${e}`),S_e=["currentIteration","currentStatus","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","socketId","totalIterations","totalSteps","openModel","cancelOptions.cancelAfter"].map(e=>`system.${e}`),w_e=["categories","currentCategory","currentImage","currentImageUuid","shouldAutoSwitchToNewImages","shouldHoldGalleryOpen","intermediateImage"].map(e=>`gallery.${e}`),FV=SW({generation:z3e,postprocessing:G3e,gallery:L3e,system:L4e,canvas:x3e,ui:z4e,lightbox:R3e}),C_e=OW.getPersistConfig({key:"root",storage:AW,rootReducer:FV,blacklist:[...x_e,...S_e,...w_e],debounce:300}),__e=PSe(C_e,FV),BV=rSe({reducer:__e,middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(b_e()),devTools:{actionsDenylist:["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine"]}}),zV=RSe(BV),AE=S.createContext(null),Te=vxe,le=axe;let PI;const OE=()=>({setOpenUploader:e=>{e&&(PI=e)},openUploader:PI}),Br=lt(e=>e.ui,e=>xE[e.activeTab],{memoizeOptions:{equalityCheck:Pe.isEqual}}),k_e=lt(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:Pe.isEqual}}),fp=lt(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:Pe.isEqual}}),TI=e=>async(t,n)=>{const{imageFile:r}=e,i=n(),o=Br(i),a=new FormData;a.append("file",r,r.name),a.append("data",JSON.stringify({kind:"init"}));const l=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:a})).json(),u={uuid:um(),category:"user",...l};t(sm({image:u,category:"user"})),o==="unifiedCanvas"?t(i4(u)):o==="img2img"&&t(y0(u))};function E_e(){const{t:e}=De();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.nodes")}),g.jsx("p",{children:e("common.nodesDesc")})]})}const P_e=()=>{const{t:e}=De();return g.jsxs("div",{className:"work-in-progress post-processing-work-in-progress",children:[g.jsx("h1",{children:e("common.postProcessing")}),g.jsx("p",{children:e("common.postProcessDesc1")}),g.jsx("p",{children:e("common.postProcessDesc2")}),g.jsx("p",{children:e("common.postProcessDesc3")})]})};function T_e(){const{t:e}=De();return g.jsxs("div",{className:"work-in-progress nodes-work-in-progress",children:[g.jsx("h1",{children:e("common.training")}),g.jsxs("p",{children:[e("common.trainingDesc1"),g.jsx("br",{}),g.jsx("br",{}),e("common.trainingDesc2")]})]})}function M_e(e){const{i18n:t}=De(),n=localStorage.getItem("i18nextLng");Ke.useEffect(()=>{e()},[e]),Ke.useEffect(()=>{t.on("languageChanged",()=>{e()})},[e,t,n])}const L_e=fc({displayName:"ImageToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{transform:"matrix(1.10943,0,0,1.10943,-206.981,-213.533)",children:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M688.533,2405.95L542.987,2405.95C349.532,2405.95 192.47,2248.89 192.47,2055.44L192.47,542.987C192.47,349.532 349.532,192.47 542.987,192.47L2527.88,192.47C2721.33,192.47 2878.4,349.532 2878.4,542.987L2878.4,1172.79L3023.94,1172.79C3217.4,1172.79 3374.46,1329.85 3374.46,1523.3C3374.46,1523.3 3374.46,3035.75 3374.46,3035.75C3374.46,3229.21 3217.4,3386.27 3023.94,3386.27L1039.05,3386.27C845.595,3386.27 688.533,3229.21 688.533,3035.75L688.533,2405.95ZM3286.96,2634.37L3286.96,1523.3C3286.96,1378.14 3169.11,1260.29 3023.94,1260.29C3023.94,1260.29 1039.05,1260.29 1039.05,1260.29C893.887,1260.29 776.033,1378.14 776.033,1523.3L776.033,2489.79L1440.94,1736.22L2385.83,2775.59L2880.71,2200.41L3286.96,2634.37ZM2622.05,1405.51C2778.5,1405.51 2905.51,1532.53 2905.51,1688.98C2905.51,1845.42 2778.5,1972.44 2622.05,1972.44C2465.6,1972.44 2338.58,1845.42 2338.58,1688.98C2338.58,1532.53 2465.6,1405.51 2622.05,1405.51ZM2790.9,1172.79L1323.86,1172.79L944.882,755.906L279.97,1509.47L279.97,542.987C279.97,397.824 397.824,279.97 542.987,279.97C542.987,279.97 2527.88,279.97 2527.88,279.97C2673.04,279.97 2790.9,397.824 2790.9,542.987L2790.9,1172.79ZM2125.98,425.197C2282.43,425.197 2409.45,552.213 2409.45,708.661C2409.45,865.11 2282.43,992.126 2125.98,992.126C1969.54,992.126 1842.52,865.11 1842.52,708.661C1842.52,552.213 1969.54,425.197 2125.98,425.197Z"})})}),A_e=fc({displayName:"NodesIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 0,515.578 0,770.787L0,2766.03C0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM3427.88,770.787L3427.88,2766.03C3427.88,2957.53 3272.4,3113.01 3080.9,3113.01C3080.9,3113.01 462.407,3113.01 462.407,3113.01C270.906,3113.01 115.431,2957.53 115.431,2766.03L115.431,770.787C115.431,579.286 270.906,423.812 462.407,423.812L3080.9,423.812C3272.4,423.812 3427.88,579.286 3427.88,770.787ZM1214.23,1130.69L1321.47,1130.69C1324.01,1130.69 1326.54,1130.53 1329.05,1130.2C1329.05,1130.2 1367.3,1125.33 1397.94,1149.8C1421.63,1168.72 1437.33,1204.3 1437.33,1265.48L1437.33,2078.74L1220.99,2078.74C1146.83,2078.74 1086.61,2138.95 1086.61,2213.12L1086.61,2762.46C1086.61,2836.63 1146.83,2896.84 1220.99,2896.84L1770.34,2896.84C1844.5,2896.84 1904.71,2836.63 1904.71,2762.46L1904.71,2213.12C1904.71,2138.95 1844.5,2078.74 1770.34,2078.74L1554,2078.74L1554,1604.84C1625.84,1658.19 1703.39,1658.1 1703.39,1658.1C1703.54,1658.1 1703.69,1658.11 1703.84,1658.11L2362.2,1658.11L2362.2,1874.44C2362.2,1948.61 2422.42,2008.82 2496.58,2008.82L3045.93,2008.82C3120.09,2008.82 3180.3,1948.61 3180.3,1874.44L3180.3,1325.1C3180.3,1250.93 3120.09,1190.72 3045.93,1190.72L2496.58,1190.72C2422.42,1190.72 2362.2,1250.93 2362.2,1325.1L2362.2,1558.97L2362.2,1541.44L1704.23,1541.44C1702.2,1541.37 1650.96,1539.37 1609.51,1499.26C1577.72,1468.49 1554,1416.47 1554,1331.69L1554,1265.48C1554,1153.86 1513.98,1093.17 1470.76,1058.64C1411.24,1011.1 1338.98,1012.58 1319.15,1014.03L1214.23,1014.03L1214.23,796.992C1214.23,722.828 1154.02,662.617 1079.85,662.617L530.507,662.617C456.343,662.617 396.131,722.828 396.131,796.992L396.131,1346.34C396.131,1420.5 456.343,1480.71 530.507,1480.71L1079.85,1480.71C1154.02,1480.71 1214.23,1420.5 1214.23,1346.34L1214.23,1130.69Z"})}),O_e=fc({displayName:"PostprocessingIcon",viewBox:"0 0 3543 3543",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M709.477,1596.53L992.591,1275.66L2239.09,2646.81L2891.95,1888.03L3427.88,2460.51L3427.88,994.78C3427.88,954.66 3421.05,916.122 3408.5,880.254L3521.9,855.419C3535.8,899.386 3543.31,946.214 3543.31,994.78L3543.31,2990.02C3543.31,3245.23 3336.11,3452.43 3080.9,3452.43C3080.9,3452.43 462.407,3452.43 462.407,3452.43C207.197,3452.43 -0,3245.23 -0,2990.02L-0,994.78C-0,739.571 207.197,532.373 462.407,532.373L505.419,532.373L504.644,532.546L807.104,600.085C820.223,601.729 832.422,607.722 841.77,617.116C850.131,625.517 855.784,636.21 858.055,647.804L462.407,647.804C270.906,647.804 115.431,803.279 115.431,994.78L115.431,2075.73L-0,2101.5L115.431,2127.28L115.431,2269.78L220.47,2150.73L482.345,2209.21C503.267,2211.83 522.722,2221.39 537.63,2236.37C552.538,2251.35 562.049,2270.9 564.657,2291.93L671.84,2776.17L779.022,2291.93C781.631,2270.9 791.141,2251.35 806.05,2236.37C820.958,2221.39 840.413,2211.83 861.334,2209.21L1353.15,2101.5L861.334,1993.8C840.413,1991.18 820.958,1981.62 806.05,1966.64C791.141,1951.66 781.631,1932.11 779.022,1911.08L709.477,1596.53ZM671.84,1573.09L725.556,2006.07C726.863,2016.61 731.63,2026.4 739.101,2033.91C746.573,2041.42 756.323,2046.21 766.808,2047.53L1197.68,2101.5L766.808,2155.48C756.323,2156.8 746.573,2161.59 739.101,2169.09C731.63,2176.6 726.863,2186.4 725.556,2196.94L671.84,2629.92L618.124,2196.94C616.817,2186.4 612.05,2176.6 604.579,2169.09C597.107,2161.59 587.357,2156.8 576.872,2155.48L146.001,2101.5L576.872,2047.53C587.357,2046.21 597.107,2041.42 604.579,2033.91C612.05,2026.4 616.817,2016.61 618.124,2006.07L671.84,1573.09ZM609.035,1710.36L564.657,1911.08C562.049,1932.11 552.538,1951.66 537.63,1966.64C522.722,1981.62 503.267,1991.18 482.345,1993.8L328.665,2028.11L609.035,1710.36ZM2297.12,938.615L2451.12,973.003C2480.59,976.695 2507.99,990.158 2528.99,1011.26C2549.99,1032.37 2563.39,1059.9 2567.07,1089.52L2672.73,1566.9C2634.5,1580.11 2593.44,1587.29 2550.72,1587.29C2344.33,1587.29 2176.77,1419.73 2176.77,1213.34C2176.77,1104.78 2223.13,1006.96 2297.12,938.615ZM2718.05,76.925L2793.72,686.847C2795.56,701.69 2802.27,715.491 2812.8,726.068C2823.32,736.644 2837.06,743.391 2851.83,745.242L3458.78,821.28L2851.83,897.318C2837.06,899.168 2823.32,905.916 2812.8,916.492C2802.27,927.068 2795.56,940.87 2793.72,955.712L2718.05,1565.63L2642.38,955.712C2640.54,940.87 2633.83,927.068 2623.3,916.492C2612.78,905.916 2599.04,899.168 2584.27,897.318L1977.32,821.28L2584.27,745.242C2599.04,743.391 2612.78,736.644 2623.3,726.068C2633.83,715.491 2640.54,701.69 2642.38,686.847L2718.05,76.925ZM2883.68,1043.06C2909.88,1094.13 2924.67,1152.02 2924.67,1213.34C2924.67,1335.4 2866.06,1443.88 2775.49,1512.14L2869.03,1089.52C2871.07,1073.15 2876.07,1057.42 2883.68,1043.06ZM925.928,201.2L959.611,472.704C960.431,479.311 963.42,485.455 968.105,490.163C972.79,494.871 978.904,497.875 985.479,498.698L1255.66,532.546L985.479,566.395C978.904,567.218 972.79,570.222 968.105,574.93C963.42,579.638 960.431,585.781 959.611,592.388L925.928,863.893L892.245,592.388C891.425,585.781 888.436,579.638 883.751,574.93C879.066,570.222 872.952,567.218 866.378,566.395L596.195,532.546L866.378,498.698C872.952,497.875 879.066,494.871 883.751,490.163C888.436,485.455 891.425,479.311 892.245,472.704L925.928,201.2ZM2864.47,532.373L3080.9,532.373C3258.7,532.373 3413.2,632.945 3490.58,780.281L3319.31,742.773C3257.14,683.925 3173.2,647.804 3080.9,647.804L2927.07,647.804C2919.95,642.994 2913.25,637.473 2907.11,631.298C2886.11,610.194 2872.71,582.655 2869.03,553.04L2864.47,532.373ZM1352.36,532.373L2571.64,532.373L2567.07,553.04C2563.39,582.655 2549.99,610.194 2528.99,631.298C2522.85,637.473 2516.16,642.994 2509.03,647.804L993.801,647.804C996.072,636.21 1001.73,625.517 1010.09,617.116C1019.43,607.722 1031.63,601.729 1044.75,600.085L1353.15,532.546L1352.36,532.373Z"})}),R_e=fc({displayName:"TextToImageIcon",viewBox:"0 0 3543 3543",path:g.jsx("g",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",transform:"matrix(1.11667,0,0,1.1066,-231.131,-213.062)",children:g.jsx("path",{d:"M2209.59,1137.35L2209.59,1098.17C2177.13,1108.99 2125.74,1121.91 2055.41,1136.94C2054.77,1137.08 2054.14,1137.21 2053.49,1137.35L1662.79,1137.35C1687.75,1101.98 1720.8,1074.35 1761.93,1054.44C1808.52,1031.9 1875.69,1012.22 1963.45,995.386C2081.86,973.146 2163.91,952.409 2209.59,933.174L2209.59,907.929C2209.59,859.241 2197.57,824.529 2173.53,803.792C2149.48,783.054 2104.1,772.686 2037.38,772.686C1992.3,772.686 1957.14,781.552 1931.89,799.284C1906.64,817.015 1886.21,848.121 1870.58,892.601L1640.67,851.127C1666.51,758.56 1710.99,690.037 1774.11,645.557C1837.22,601.077 1930.99,578.837 2055.41,578.837C2168.42,578.837 2252.57,592.211 2307.87,618.959C2363.17,645.707 2402.09,679.668 2424.63,720.842C2447.17,762.016 2458.44,837.602 2458.44,947.6L2456.7,1137.35L3021.34,1137.35C3214.79,1137.35 3371.86,1294.41 3371.86,1487.87C3371.86,1487.87 3371.86,3000.32 3371.86,3000.32C3371.86,3193.78 3214.79,3350.84 3021.34,3350.84C3021.34,3350.84 1036.45,3350.84 1036.45,3350.84C842.991,3350.84 685.93,3193.78 685.93,3000.32L685.93,1487.87C685.93,1400.21 718.174,1320.03 771.448,1258.54L772.123,1257.76L607.408,1257.76L498.311,1558L215.202,1558L730.028,236.22L1012.24,236.22L1373.06,1137.35L2209.59,1137.35ZM3284.36,2598.93L3284.36,1487.87C3284.36,1342.71 3166.5,1224.85 3021.34,1224.85C3021.34,1224.85 1036.45,1224.85 1036.45,1224.85C891.284,1224.85 773.43,1342.71 773.43,1487.87L773.43,2454.35L1438.34,1700.79L2383.22,2740.16L2878.11,2164.98L3284.36,2598.93ZM2619.44,1370.08C2775.89,1370.08 2902.91,1497.1 2902.91,1653.54C2902.91,1809.99 2775.89,1937.01 2619.44,1937.01C2462.99,1937.01 2335.98,1809.99 2335.98,1653.54C2335.98,1497.1 2462.99,1370.08 2619.44,1370.08ZM772.877,1256.89L772.849,1256.93L773.167,1256.57L772.877,1256.89ZM773.634,1256.04L773.563,1256.12L773.985,1255.64L773.634,1256.04ZM774.394,1255.18L774.276,1255.31L774.746,1254.78L774.394,1255.18ZM775.157,1254.32L774.988,1254.51L775.493,1253.95L775.157,1254.32ZM775.923,1253.47L775.698,1253.72L776.237,1253.12L775.923,1253.47ZM776.691,1252.62L776.403,1252.94L776.979,1252.3L776.691,1252.62ZM777.462,1251.77L777.098,1252.17L777.723,1251.49L777.462,1251.77ZM925.081,1155.44C868.026,1174.57 817.508,1207.99 777.775,1251.43C817.511,1207.99 868.031,1174.57 925.081,1155.44ZM925.646,1155.25L925.108,1155.43L926.103,1155.1L925.646,1155.25ZM935.286,1152.2C932.214,1153.12 929.159,1154.09 926.13,1155.09C929.165,1154.09 932.219,1153.12 935.286,1152.2ZM935.716,1152.07L935.384,1152.17L936.292,1151.89L935.716,1152.07ZM936.843,1151.73L936.451,1151.85L937.327,1151.59L936.843,1151.73ZM937.972,1151.4L937.514,1151.53L938.377,1151.28L937.972,1151.4ZM939.102,1151.07L938.57,1151.22L939.438,1150.97L939.102,1151.07ZM940.233,1150.74L939.613,1150.92L940.505,1150.67L940.233,1150.74ZM946.659,1148.98C944.639,1149.51 942.626,1150.07 940.626,1150.63C942.631,1150.06 944.642,1149.51 946.659,1148.98ZM947.056,1148.87L946.829,1148.93L947.659,1148.71L947.056,1148.87ZM948.198,1148.57L947.919,1148.65L948.705,1148.44L948.198,1148.57ZM949.342,1148.28L949.008,1148.37L949.771,1148.17L949.342,1148.28ZM950.488,1147.99L950.096,1148.09L950.848,1147.9L950.488,1147.99ZM951.635,1147.7L951.182,1147.81L951.932,1147.63L951.635,1147.7ZM952.783,1147.42L952.262,1147.55L953.022,1147.36L952.783,1147.42ZM953.933,1147.14L953.327,1147.28L954.115,1147.09L953.933,1147.14ZM958.213,1146.13C956.927,1146.42 955.644,1146.73 954.354,1147.04C955.637,1146.73 956.923,1146.43 958.213,1146.13ZM958.547,1146.06L958.409,1146.09L959.174,1145.91L958.547,1146.06ZM959.704,1145.79L959.517,1145.84L960.229,1145.68L959.704,1145.79ZM960.863,1145.54L960.626,1145.59L961.311,1145.44L960.863,1145.54ZM962.023,1145.28L961.736,1145.35L962.406,1145.2L962.023,1145.28ZM963.184,1145.03L962.846,1145.11L963.508,1144.97L963.184,1145.03ZM964.347,1144.79L963.956,1144.87L964.615,1144.73L964.347,1144.79ZM965.511,1144.55L965.066,1144.64L965.725,1144.5L965.511,1144.55ZM966.677,1144.31L966.172,1144.41L966.838,1144.28L966.677,1144.31ZM967.844,1144.08L967.269,1144.19L967.953,1144.05L967.844,1144.08ZM970.183,1143.62C969.793,1143.69 969.403,1143.77 969.013,1143.85L969.055,1143.84C969.413,1143.77 969.771,1143.7 970.129,1143.63L970.183,1143.62ZM971.354,1143.4L971.245,1143.42L971.882,1143.3L971.354,1143.4ZM972.526,1143.18L972.37,1143.21L972.987,1143.09L972.526,1143.18ZM973.7,1142.96L973.496,1143L974.103,1142.89L973.7,1142.96ZM974.876,1142.75L974.624,1142.8L975.225,1142.69L974.876,1142.75ZM976.052,1142.55L975.754,1142.6L976.349,1142.49L976.052,1142.55ZM977.23,1142.34L976.885,1142.4L977.476,1142.3L977.23,1142.34ZM978.41,1142.14L978.019,1142.21L978.605,1142.11L978.41,1142.14ZM979.59,1141.95L979.156,1142.02L979.736,1141.92L979.59,1141.95ZM980.772,1141.76L980.299,1141.83L980.868,1141.74L980.772,1141.76ZM981.955,1141.57L981.464,1141.65L982.002,1141.56L981.955,1141.57ZM983.14,1141.39L983.1,1141.39L983.605,1141.32L983.14,1141.39ZM984.326,1141.21L984.239,1141.22L984.778,1141.14L984.326,1141.21ZM985.513,1141.03L985.379,1141.05L985.928,1140.97L985.513,1141.03ZM986.702,1140.86L986.521,1140.89L987.073,1140.81L986.702,1140.86ZM987.891,1140.69L987.665,1140.73L988.218,1140.65L987.891,1140.69ZM989.082,1140.53L988.811,1140.57L989.363,1140.49L989.082,1140.53ZM990.275,1140.37L989.96,1140.41L990.508,1140.34L990.275,1140.37ZM991.468,1140.22L991.113,1140.26L991.654,1140.19L991.468,1140.22ZM992.663,1140.07L992.273,1140.12L992.8,1140.05L992.663,1140.07ZM993.859,1139.92L993.447,1139.97L993.948,1139.91L993.859,1139.92ZM995.056,1139.78L994.671,1139.82L995.097,1139.77L995.056,1139.78ZM996.255,1139.64L996.23,1139.64L996.578,1139.6L996.255,1139.64ZM997.454,1139.5L997.383,1139.51L997.852,1139.46L997.454,1139.5ZM998.655,1139.37L998.537,1139.38L999.041,1139.33L998.655,1139.37ZM999.857,1139.24L999.693,1139.26L1000.21,1139.21L999.857,1139.24ZM1001.06,1139.12L1000.85,1139.14L1001.38,1139.09L1001.06,1139.12ZM1002.26,1139L1002.01,1139.03L1002.54,1138.98L1002.26,1139ZM1003.47,1138.89L1003.18,1138.91L1003.7,1138.87L1003.47,1138.89ZM1004.68,1138.78L1004.34,1138.81L1004.86,1138.76L1004.68,1138.78ZM1005.89,1138.67L1005.52,1138.7L1006.02,1138.66L1005.89,1138.67ZM1007.1,1138.57L1006.71,1138.6L1007.18,1138.56L1007.1,1138.57ZM1008.31,1138.47L1007.96,1138.5L1008.35,1138.46L1008.31,1138.47ZM1009.52,1138.37L1009.5,1138.38L1009.72,1138.36L1009.52,1138.37ZM1010.73,1138.28L1010.67,1138.29L1011.1,1138.26L1010.73,1138.28ZM1011.94,1138.2L1011.84,1138.2L1012.32,1138.17L1011.94,1138.2ZM1013.16,1138.12L1013,1138.13L1013.51,1138.09L1013.16,1138.12ZM1014.37,1138.04L1014.17,1138.05L1014.69,1138.02L1014.37,1138.04ZM1015.59,1137.96L1015.35,1137.98L1015.86,1137.95L1015.59,1137.96ZM1016.81,1137.89L1016.52,1137.91L1017.04,1137.88L1016.81,1137.89ZM1018.03,1137.83L1017.7,1137.85L1018.21,1137.82L1018.03,1137.83ZM1019.25,1137.77L1018.89,1137.79L1019.39,1137.76L1019.25,1137.77ZM1020.47,1137.71L1020.1,1137.73L1020.56,1137.71L1020.47,1137.71ZM1021.69,1137.66L1021.36,1137.67L1021.74,1137.66L1021.69,1137.66ZM1022.92,1137.61L1022.91,1137.61L1023.02,1137.61L1022.92,1137.61ZM1024.14,1137.57L1024.09,1137.57L1024.49,1137.55L1024.14,1137.57ZM1025.37,1137.52L1025.27,1137.53L1025.74,1137.51L1025.37,1137.52ZM1026.6,1137.49L1026.45,1137.49L1026.94,1137.48L1026.6,1137.49ZM1027.82,1137.46L1027.63,1137.46L1028.14,1137.45L1027.82,1137.46ZM1029.05,1137.43L1028.81,1137.43L1029.33,1137.42L1029.05,1137.43ZM1030.28,1137.41L1030,1137.41L1030.52,1137.4L1030.28,1137.41ZM1031.51,1137.39L1031.19,1137.39L1031.7,1137.38L1031.51,1137.39ZM1032.75,1137.37L1032.39,1137.38L1032.89,1137.37L1032.75,1137.37ZM1033.98,1137.36L1033.61,1137.36L1034.07,1137.36L1033.98,1137.36ZM1035.21,1137.35L1034.87,1137.36L1035.26,1137.35L1035.21,1137.35ZM1050.1,1035.06L867.977,544.575L689.455,1035.06L1050.1,1035.06Z"})})}),I_e=fc({displayName:"TrainingIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M0,768.593L0,2774.71C0,2930.6 78.519,3068.3 198.135,3150.37C273.059,3202.68 364.177,3233.38 462.407,3233.38C462.407,3233.38 3080.9,3233.38 3080.9,3233.38C3179.13,3233.38 3270.25,3202.68 3345.17,3150.37C3464.79,3068.3 3543.31,2930.6 3543.31,2774.71L3543.31,768.593C3543.31,517.323 3339.31,313.324 3088.04,313.324L455.269,313.324C203.999,313.324 0,517.323 0,768.593ZM3427.88,775.73L3427.88,2770.97C3427.88,2962.47 3272.4,3117.95 3080.9,3117.95L462.407,3117.95C270.906,3117.95 115.431,2962.47 115.431,2770.97C115.431,2770.97 115.431,775.73 115.431,775.73C115.431,584.229 270.906,428.755 462.407,428.755C462.407,428.755 3080.9,428.755 3080.9,428.755C3272.4,428.755 3427.88,584.229 3427.88,775.73ZM796.24,1322.76L796.24,1250.45C796.24,1199.03 836.16,1157.27 885.331,1157.27C885.331,1157.27 946.847,1157.27 946.847,1157.27C996.017,1157.27 1035.94,1199.03 1035.94,1250.45L1035.94,1644.81L2507.37,1644.81L2507.37,1250.45C2507.37,1199.03 2547.29,1157.27 2596.46,1157.27C2596.46,1157.27 2657.98,1157.27 2657.98,1157.27C2707.15,1157.27 2747.07,1199.03 2747.07,1250.45L2747.07,1322.76C2756.66,1319.22 2767.02,1317.29 2777.83,1317.29C2777.83,1317.29 2839.34,1317.29 2839.34,1317.29C2888.51,1317.29 2928.43,1357.21 2928.43,1406.38L2928.43,1527.32C2933.51,1526.26 2938.77,1525.71 2944.16,1525.71L2995.3,1525.71C3036.18,1525.71 3069.37,1557.59 3069.37,1596.86C3069.37,1596.86 3069.37,1946.44 3069.37,1946.44C3069.37,1985.72 3036.18,2017.6 2995.3,2017.6C2995.3,2017.6 2944.16,2017.6 2944.16,2017.6C2938.77,2017.6 2933.51,2017.04 2928.43,2015.99L2928.43,2136.92C2928.43,2186.09 2888.51,2226.01 2839.34,2226.01L2777.83,2226.01C2767.02,2226.01 2756.66,2224.08 2747.07,2220.55L2747.07,2292.85C2747.07,2344.28 2707.15,2386.03 2657.98,2386.03C2657.98,2386.03 2596.46,2386.03 2596.46,2386.03C2547.29,2386.03 2507.37,2344.28 2507.37,2292.85L2507.37,1898.5L1035.94,1898.5L1035.94,2292.85C1035.94,2344.28 996.017,2386.03 946.847,2386.03C946.847,2386.03 885.331,2386.03 885.331,2386.03C836.16,2386.03 796.24,2344.28 796.24,2292.85L796.24,2220.55C786.651,2224.08 776.29,2226.01 765.482,2226.01L703.967,2226.01C654.796,2226.01 614.876,2186.09 614.876,2136.92L614.876,2015.99C609.801,2017.04 604.539,2017.6 599.144,2017.6C599.144,2017.6 548.003,2017.6 548.003,2017.6C507.125,2017.6 473.937,1985.72 473.937,1946.44C473.937,1946.44 473.937,1596.86 473.937,1596.86C473.937,1557.59 507.125,1525.71 548.003,1525.71L599.144,1525.71C604.539,1525.71 609.801,1526.26 614.876,1527.32L614.876,1406.38C614.876,1357.21 654.796,1317.29 703.967,1317.29C703.967,1317.29 765.482,1317.29 765.482,1317.29C776.29,1317.29 786.651,1319.22 796.24,1322.76ZM977.604,1250.45C977.604,1232.7 963.822,1218.29 946.847,1218.29L885.331,1218.29C868.355,1218.29 854.573,1232.7 854.573,1250.45L854.573,2292.85C854.573,2310.61 868.355,2325.02 885.331,2325.02L946.847,2325.02C963.822,2325.02 977.604,2310.61 977.604,2292.85L977.604,1250.45ZM2565.7,1250.45C2565.7,1232.7 2579.49,1218.29 2596.46,1218.29L2657.98,1218.29C2674.95,1218.29 2688.73,1232.7 2688.73,1250.45L2688.73,2292.85C2688.73,2310.61 2674.95,2325.02 2657.98,2325.02L2596.46,2325.02C2579.49,2325.02 2565.7,2310.61 2565.7,2292.85L2565.7,1250.45ZM673.209,1406.38L673.209,2136.92C673.209,2153.9 686.991,2167.68 703.967,2167.68L765.482,2167.68C782.458,2167.68 796.24,2153.9 796.24,2136.92L796.24,1406.38C796.24,1389.41 782.458,1375.63 765.482,1375.63L703.967,1375.63C686.991,1375.63 673.209,1389.41 673.209,1406.38ZM2870.1,1406.38L2870.1,2136.92C2870.1,2153.9 2856.32,2167.68 2839.34,2167.68L2777.83,2167.68C2760.85,2167.68 2747.07,2153.9 2747.07,2136.92L2747.07,1406.38C2747.07,1389.41 2760.85,1375.63 2777.83,1375.63L2839.34,1375.63C2856.32,1375.63 2870.1,1389.41 2870.1,1406.38ZM614.876,1577.5C610.535,1574.24 605.074,1572.3 599.144,1572.3L548.003,1572.3C533.89,1572.3 522.433,1583.3 522.433,1596.86L522.433,1946.44C522.433,1960 533.89,1971.01 548.003,1971.01L599.144,1971.01C605.074,1971.01 610.535,1969.07 614.876,1965.81L614.876,1577.5ZM2928.43,1965.81L2928.43,1577.5C2932.77,1574.24 2938.23,1572.3 2944.16,1572.3L2995.3,1572.3C3009.42,1572.3 3020.87,1583.3 3020.87,1596.86L3020.87,1946.44C3020.87,1960 3009.42,1971.01 2995.3,1971.01L2944.16,1971.01C2938.23,1971.01 2932.77,1969.07 2928.43,1965.81ZM2507.37,1703.14L1035.94,1703.14L1035.94,1840.16L2507.37,1840.16L2507.37,1898.38L2507.37,1659.46L2507.37,1703.14Z"})}),D_e=fc({displayName:"UnifiedCanvasIcon",viewBox:"0 0 3544 3544",path:g.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 -0,515.578 -0,770.787L-0,2766.03C-0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM922.933,3113.01L462.407,3113.01C437.741,3113.01 413.674,3110.43 390.453,3105.52L390.453,2899.11L922.933,2899.11L922.933,3113.01ZM947.933,2899.11L947.933,3113.01L1480.41,3113.01L1480.41,2899.11L947.933,2899.11ZM1505.41,2899.11L1505.41,3113.01L2037.89,3113.01L2037.89,2899.11L1505.41,2899.11ZM2062.89,2899.11L2062.89,3113.01L2595.37,3113.01L2595.37,2899.11L2062.89,2899.11ZM3152.85,3105.52C3129.63,3110.43 3105.57,3113.01 3080.9,3113.01L2620.37,3113.01L2620.37,2899.11L3152.85,2899.11L3152.85,3105.52ZM365.453,3099.26L365.408,3099.24C354.521,3096.07 343.79,3092.37 333.266,3088.14C315.377,3080.95 298.094,3072.26 281.651,3062.2C263.114,3050.85 245.648,3037.77 229.544,3023.17C213.34,3008.49 198.518,2992.28 185.34,2974.83C174.102,2959.94 164.06,2944.16 155.353,2927.66C150.517,2918.5 146.102,2909.13 142.102,2899.57L141.91,2899.11L365.453,2899.11L365.453,3099.26ZM3401.4,2899.11C3361.33,2995.39 3279.12,3069.8 3177.85,3099.26L3177.85,2899.11L3401.4,2899.11ZM132.624,2874.11C121.465,2840.08 115.431,2803.76 115.431,2766.03L115.431,2341.63L365.453,2341.63L365.453,2874.11L132.624,2874.11ZM922.933,918.103L922.933,669.193L390.453,669.193L390.453,1201.67L731.014,1201.67L731.014,1226.67L390.453,1226.67L390.453,1759.15L731.014,1759.15L731.014,1784.15L390.453,1784.15L390.453,2316.63L731.014,2316.63L731.014,2341.63L390.453,2341.63L390.453,2874.11L922.933,2874.11L922.933,2625.2C931.122,2627.1 939.463,2628.6 947.933,2629.66L947.933,2874.11L1480.41,2874.11L1480.41,2631.62L1505.41,2631.62L1505.41,2874.11L2037.89,2874.11L2037.89,2631.62L2062.89,2631.62L2062.89,2874.11L2595.37,2874.11L2595.37,2629.66C2603.85,2628.6 2612.18,2627.1 2620.37,2625.2L2620.37,2874.11L3152.85,2874.11L3152.85,2341.63L2812.29,2341.63L2812.29,2316.63L3152.85,2316.63L3152.85,1784.15L2812.29,1784.15L2812.29,1759.15L3152.85,1759.15L3152.85,1226.67L2812.29,1226.67L2812.29,1201.67L3152.85,1201.67L3152.85,669.193L2620.37,669.193L2620.37,918.103C2612.18,916.203 2603.84,914.708 2595.37,913.642L2595.37,669.193L2062.89,669.193L2062.89,911.688L2037.89,911.688L2037.89,669.193L1505.41,669.193L1505.41,911.688L1480.41,911.688L1480.41,669.193L947.933,669.193L947.933,913.642C939.462,914.708 931.123,916.203 922.933,918.103ZM3427.88,2341.63L3427.88,2766.03C3427.88,2803.76 3421.84,2840.08 3410.68,2874.11L3177.85,2874.11L3177.85,2341.63L3427.88,2341.63ZM2494.01,2603.04L2524.53,2603.04C2541.26,2603.04 2557.62,2601.44 2573.47,2598.39L2598.02,2593.66L2588.56,2544.56L2564.01,2549.29C2551.23,2551.75 2538.03,2553.04 2524.53,2553.04L2494.01,2553.04L2494.01,2603.04ZM1294.01,2603.04L1394.01,2603.04L1394.01,2553.04L1294.01,2553.04L1294.01,2603.04ZM1894.01,2603.04L1994.01,2603.04L1994.01,2553.04L1894.01,2553.04L1894.01,2603.04ZM2194.01,2603.04L2294.01,2603.04L2294.01,2553.04L2194.01,2553.04L2194.01,2603.04ZM1144.01,2603.04L1244.01,2603.04L1244.01,2553.04L1144.01,2553.04L1144.01,2603.04ZM1444.01,2603.04L1544.01,2603.04L1544.01,2553.04L1444.01,2553.04L1444.01,2603.04ZM1594.01,2603.04L1694.01,2603.04L1694.01,2553.04L1594.01,2553.04L1594.01,2603.04ZM2344.01,2603.04L2444.01,2603.04L2444.01,2553.04L2344.01,2553.04L2344.01,2603.04ZM2044.01,2603.04L2144.01,2603.04L2144.01,2553.04L2044.01,2553.04L2044.01,2603.04ZM994.01,2603.04L1094.01,2603.04L1094.01,2553.04L994.01,2553.04L994.01,2603.04ZM1744.01,2603.04L1844.01,2603.04L1844.01,2553.04L1744.01,2553.04L1744.01,2603.04ZM864.145,2551.46C878.835,2562.5 894.741,2572 911.624,2579.74L934.352,2590.15L955.18,2544.7L932.452,2534.28C918.844,2528.05 906.024,2520.39 894.185,2511.49L874.199,2496.47L844.16,2536.44L864.145,2551.46ZM2674.44,2554.92C2689.46,2544.16 2703.28,2531.82 2715.65,2518.14L2732.42,2499.61L2695.35,2466.06L2678.58,2484.6C2668.59,2495.63 2657.44,2505.59 2645.32,2514.28L2625,2528.84L2654.12,2569.48L2674.44,2554.92ZM865.632,1911.31L1339.59,1374.15L2030.89,2134.59L2392.97,1713.77L2677.68,2017.9L2677.68,2324.93C2677.68,2424.23 2597.06,2504.85 2497.76,2504.85C2497.76,2504.85 1045.55,2504.85 1045.55,2504.85C946.251,2504.85 865.632,2424.23 865.632,2324.93L865.632,1911.31ZM771.251,2417.22C776.455,2435.14 783.552,2452.26 792.313,2468.35L804.27,2490.3L848.18,2466.39L836.223,2444.43C829.171,2431.49 823.457,2417.7 819.268,2403.28L812.297,2379.27L764.28,2393.21L771.251,2417.22ZM2770.36,2422.83C2775.83,2405.47 2779.52,2387.33 2781.2,2368.61L2783.43,2343.71L2733.64,2339.24L2731.4,2364.14C2730.05,2379.21 2727.08,2393.82 2722.67,2407.79L2715.15,2431.63L2762.84,2446.67L2770.36,2422.83ZM761.068,2236.12L761.068,2336.12L811.068,2336.12L811.068,2236.12L761.068,2236.12ZM3177.85,1784.15L3177.85,2316.63L3427.88,2316.63L3427.88,1784.15L3177.85,1784.15ZM115.431,1784.15L115.431,2316.63L365.453,2316.63L365.453,1784.15L115.431,1784.15ZM2782.24,2291.41L2782.24,2191.41L2732.24,2191.41L2732.24,2291.41L2782.24,2291.41ZM761.068,2086.12L761.068,2186.12L811.068,2186.12L811.068,2086.12L761.068,2086.12ZM2782.24,2141.41L2782.24,2041.4L2732.24,2041.4L2732.24,2141.41L2782.24,2141.41ZM761.068,1936.12L761.068,2036.12L811.068,2036.12L811.068,1936.12L761.068,1936.12ZM2782.24,1991.4L2782.24,1891.4L2732.24,1891.4L2732.24,1991.4L2782.24,1991.4ZM761.068,1786.12L761.068,1886.12L811.068,1886.12L811.068,1786.12L761.068,1786.12ZM2782.24,1841.4L2782.24,1741.41L2732.24,1741.41L2732.24,1841.4L2782.24,1841.4ZM3177.85,1226.67L3177.85,1759.15L3427.88,1759.15L3427.88,1226.67L3177.85,1226.67ZM115.431,1226.67L115.431,1759.15L365.453,1759.15L365.453,1226.67L115.431,1226.67ZM761.068,1636.12L761.068,1736.12L811.068,1736.12L811.068,1636.12L761.068,1636.12ZM2782.24,1691.41L2782.24,1591.41L2732.24,1591.41L2732.24,1691.41L2782.24,1691.41ZM761.068,1486.12L761.068,1586.12L811.068,1586.12L811.068,1486.12L761.068,1486.12ZM2203.72,1132.2C2318.18,1132.2 2411.11,1225.13 2411.11,1339.59C2411.11,1454.05 2318.18,1546.98 2203.72,1546.98C2089.26,1546.98 1996.33,1454.05 1996.33,1339.59C1996.33,1225.13 2089.26,1132.2 2203.72,1132.2ZM2782.24,1541.41L2782.24,1441.41L2732.24,1441.41L2732.24,1541.41L2782.24,1541.41ZM761.068,1336.12L761.068,1436.12L811.068,1436.12L811.068,1336.12L761.068,1336.12ZM2782.24,1391.41L2782.24,1291.41L2732.24,1291.41L2732.24,1391.41L2782.24,1391.41ZM761.068,1186.12L761.068,1286.12L811.068,1286.12L811.068,1186.12L761.068,1186.12ZM2732.24,1197.98L2732.24,1241.41L2782.24,1241.41L2782.24,1172.98L2781.03,1172.98C2780.06,1162.82 2778.49,1152.83 2776.36,1143.04L2771.04,1118.62L2722.18,1129.24L2727.5,1153.67C2730.61,1167.95 2732.24,1182.78 2732.24,1197.98ZM3412.74,669.193L3412.89,669.694C3414.66,675.5 3416.28,681.348 3417.73,687.238C3420.46,698.265 3422.65,709.427 3424.28,720.67C3425.85,731.554 3426.91,742.513 3427.45,753.497C3427.74,759.256 3427.87,765.021 3427.88,770.787L3427.88,1201.67L3177.85,1201.67L3177.85,669.193L3412.74,669.193ZM115.431,1201.67L115.431,770.787C115.436,765.021 115.572,759.256 115.855,753.497C116.395,742.513 117.453,731.554 119.031,720.67C120.66,709.427 122.844,698.265 125.574,687.238C127.032,681.348 128.65,675.5 130.414,669.694L130.567,669.193L365.453,669.193L365.453,1201.67L115.431,1201.67ZM804.386,1055C794.186,1070.26 785.572,1086.67 778.777,1103.99L769.647,1127.26L816.194,1145.52L825.324,1122.25C830.797,1108.3 837.738,1095.08 845.955,1082.79L859.848,1062L818.279,1034.21L804.386,1055ZM2730.5,1043.14C2719.39,1028.39 2706.73,1014.86 2692.77,1002.81L2673.84,986.48L2641.17,1024.34L2660.1,1040.67C2671.37,1050.39 2681.59,1061.31 2690.56,1073.22L2705.6,1093.19L2745.54,1063.11L2730.5,1043.14ZM933.266,954.821C915.698,961.006 898.998,969.041 883.402,978.694L862.144,991.851L888.457,1034.37L909.715,1021.21C922.275,1013.44 935.723,1006.96 949.871,1001.98L973.452,993.681L956.848,946.518L933.266,954.821ZM2596.18,950.378C2578.71,945.327 2560.49,942.072 2541.72,940.832L2516.78,939.183L2513.48,989.074L2538.43,990.723C2553.54,991.722 2568.22,994.341 2582.28,998.409L2606.3,1005.36L2620.19,957.325L2596.18,950.378ZM2165.09,940.265L2065.09,940.265L2065.09,990.265L2165.09,990.265L2165.09,940.265ZM1865.08,940.265L1765.08,940.265L1765.08,990.265L1865.08,990.265L1865.08,940.265ZM1115.08,940.265L1015.08,940.265L1015.08,990.265L1115.08,990.265L1115.08,940.265ZM2015.09,940.265L1915.09,940.265L1915.09,990.265L2015.09,990.265L2015.09,940.265ZM2315.09,940.265L2215.09,940.265L2215.09,990.265L2315.09,990.265L2315.09,940.265ZM1265.08,940.265L1165.08,940.265L1165.08,990.265L1265.08,990.265L1265.08,940.265ZM1415.08,940.265L1315.08,940.265L1315.08,990.265L1415.08,990.265L1415.08,940.265ZM1565.08,940.265L1465.08,940.265L1465.08,990.265L1565.08,990.265L1565.08,940.265ZM1715.08,940.265L1615.08,940.265L1615.08,990.265L1715.08,990.265L1715.08,940.265ZM2465.09,940.265L2365.09,940.265L2365.09,990.265L2465.09,990.265L2465.09,940.265ZM365.453,437.562L365.453,644.193L139.286,644.193C178.303,544.782 261.917,467.677 365.453,437.562ZM922.933,423.812L922.933,644.193L390.453,644.193L390.453,431.295C413.674,426.391 437.741,423.812 462.407,423.812L922.933,423.812ZM947.933,423.812L947.933,644.193L1480.41,644.193L1480.41,423.812L947.933,423.812ZM1505.41,423.812L1505.41,644.193L2037.89,644.193L2037.89,423.812L1505.41,423.812ZM2062.89,423.812L2062.89,644.193L2595.37,644.193L2595.37,423.812L2062.89,423.812ZM2620.37,423.812L3080.9,423.812C3105.57,423.812 3129.63,426.391 3152.85,431.295L3152.85,644.193L2620.37,644.193L2620.37,423.812ZM3177.85,437.562C3281.38,467.669 3365,544.774 3404.02,644.193L3177.85,644.193L3177.85,437.562Z"})}),Ye=Ze((e,t)=>{const{tooltip:n="",styleClass:r,tooltipProps:i,asCheckbox:o,isChecked:a,...s}=e;return g.jsx(si,{label:n,hasArrow:!0,...i,...i!=null&&i.placement?{placement:i.placement}:{placement:"top"},children:g.jsx(ls,{ref:t,className:r?`invokeai__icon-button ${r}`:"invokeai__icon-button","data-as-checkbox":o,"data-selected":a!==void 0?a:void 0,...s})})}),On=Ze((e,t)=>{const{children:n,tooltip:r="",tooltipProps:i,styleClass:o,...a}=e;return g.jsx(si,{label:r,...i,children:g.jsx(ss,{ref:t,className:["invokeai__button",o].join(" "),...a,children:n})})}),Ys=e=>{const{triggerComponent:t,children:n,styleClass:r,hasArrow:i=!0,...o}=e;return g.jsxs(V8,{...o,children:[g.jsx(U8,{children:t}),g.jsxs(q8,{className:`invokeai__popover-content ${r}`,children:[i&&g.jsx(G8,{className:"invokeai__popover-arrow"}),n]})]})},d4=lt(e=>e.lightbox,e=>e,{memoizeOptions:{equalityCheck:Pe.isEqual}}),Jo=e=>{const{label:t,isDisabled:n,validValues:r,tooltip:i,tooltipProps:o,size:a="sm",fontSize:s="sm",styleClass:l,...u}=e;return g.jsxs(sn,{isDisabled:n,className:`invokeai__select ${l}`,onClick:d=>{d.stopPropagation(),d.nativeEvent.stopImmediatePropagation(),d.nativeEvent.stopPropagation(),d.nativeEvent.cancelBubble=!0},children:[t&&g.jsx(Sn,{className:"invokeai__select-label",fontSize:s,fontWeight:"bold",marginRight:0,marginBottom:0,whiteSpace:"nowrap",children:t}),g.jsx(si,{label:i,...o,children:g.jsx(qH,{className:"invokeai__select-picker",fontSize:s,size:a,...u,children:r.map(d=>typeof d=="string"||typeof d=="number"?g.jsx("option",{value:d,className:"invokeai__select-option",children:d},d):g.jsx("option",{value:d.value,className:"invokeai__select-option",children:d.key},d.value))})})]})};function j_e(){const e=le(i=>i.postprocessing.facetoolType),t=Te(),{t:n}=De(),r=i=>t(dS(i.target.value));return g.jsx(Jo,{label:n("parameters.type"),validValues:I5e.concat(),value:e,onChange:r})}var HV={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},MI=Ke.createContext&&Ke.createContext(HV),Bd=globalThis&&globalThis.__assign||function(){return Bd=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{Ce(i)},[i]);const we=S.useMemo(()=>V!=null&&V.max?V.max:a,[a,V==null?void 0:V.max]),xe=Xe=>{l(Xe)},Le=Xe=>{Xe.target.value===""&&(Xe.target.value=String(o));const tt=Pe.clamp(w?Math.floor(Number(Xe.target.value)):Number(fe),o,we);l(tt)},Se=Xe=>{Ce(Xe)},Qe=()=>{O&&O()};return g.jsxs(sn,{className:W?`invokeai__slider-component ${W}`:"invokeai__slider-component","data-markers":h,style:L?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:"1rem",margin:0,padding:0}:{},...B,children:[g.jsx(Sn,{className:"invokeai__slider-component-label",fontSize:"sm",...K,children:r}),g.jsxs(l2,{w:"100%",gap:2,alignItems:"center",children:[g.jsxs(QH,{"aria-label":r,value:i,min:o,max:a,step:s,onChange:xe,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:I,width:u,...ee,children:[h&&g.jsxs(g.Fragment,{children:[g.jsx(tk,{value:o,className:"invokeai__slider-mark invokeai__slider-mark-start",ml:m,...ne,children:o}),g.jsx(tk,{value:a,className:"invokeai__slider-mark invokeai__slider-mark-end",ml:y,...ne,children:a})]}),g.jsx(eW,{className:"invokeai__slider_track",...z,children:g.jsx(tW,{className:"invokeai__slider_track-filled"})}),g.jsx(si,{hasArrow:!0,className:"invokeai__slider-component-tooltip",placement:"top",isOpen:t,label:`${i}${d}`,hidden:T,...G,children:g.jsx(JH,{className:"invokeai__slider-thumb",...$})})]}),b&&g.jsxs(B8,{min:o,max:we,step:s,value:fe,onChange:Se,onBlur:Le,className:"invokeai__slider-number-field",isDisabled:N,...V,children:[g.jsx(z8,{className:"invokeai__slider-number-input",width:E,readOnly:_,minWidth:E,...X}),g.jsxs(BH,{...Q,children:[g.jsx(W8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"}),g.jsx(H8,{onClick:()=>l(Number(fe)),className:"invokeai__slider-number-stepper"})]})]}),k&&g.jsx(Ye,{size:"sm","aria-label":"Reset",tooltip:"Reset",icon:g.jsx(f4,{}),onClick:Qe,isDisabled:D,...Y})]})]})}function U_e(){const e=le(i=>i.system.isGFPGANAvailable),t=le(i=>i.postprocessing.facetoolStrength),{t:n}=De(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.strength"),step:.05,min:0,max:1,onChange:i=>r(k3(i)),handleReset:()=>r(k3(.75)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}function V_e(){const e=le(i=>i.system.isGFPGANAvailable),t=le(i=>i.postprocessing.codeformerFidelity),{t:n}=De(),r=Te();return g.jsx(Dn,{isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e,label:n("parameters.codeformerFidelity"),step:.05,min:0,max:1,onChange:i=>r(xk(i)),handleReset:()=>r(xk(1)),value:t,withReset:!0,withSliderMarks:!0,withInput:!0})}const RE=()=>{const e=le(t=>t.postprocessing.facetoolType);return g.jsxs(ke,{direction:"column",gap:2,minWidth:"20rem",children:[g.jsx(j_e,{}),g.jsx(U_e,{}),e==="codeformer"&&g.jsx(V_e,{})]})};function G_e(){const e=le(i=>i.system.isESRGANAvailable),t=le(i=>i.postprocessing.upscalingDenoising),{t:n}=De(),r=Te();return g.jsx(Dn,{label:n("parameters.denoisingStrength"),value:t,min:0,max:1,step:.01,onChange:i=>{r(Sk(i))},handleReset:()=>r(Sk(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function q_e(){const e=le(i=>i.system.isESRGANAvailable),t=le(i=>i.postprocessing.upscalingStrength),{t:n}=De(),r=Te();return g.jsx(Dn,{label:`${n("parameters.upscale")} ${n("parameters.strength")}`,value:t,min:0,max:1,step:.05,onChange:i=>r(wk(i)),handleReset:()=>r(wk(.75)),withSliderMarks:!0,withInput:!0,withReset:!0,isSliderDisabled:!e,isInputDisabled:!e,isResetDisabled:!e})}function K_e(){const e=le(o=>o.system.isESRGANAvailable),t=le(o=>o.postprocessing.upscalingLevel),{t:n}=De(),r=Te(),i=o=>r(yU(Number(o.target.value)));return g.jsx(Jo,{isDisabled:!e,label:n("parameters.scale"),value:t,onChange:i,validValues:R5e})}const IE=()=>g.jsxs(ke,{flexDir:"column",rowGap:2,minWidth:"20rem",children:[g.jsx(K_e,{}),g.jsx(G_e,{}),g.jsx(q_e,{})]}),DE=e=>e.postprocessing,hr=e=>e.system,Y_e=e=>e.system.toastQueue,VV=lt(hr,e=>{const{model_list:t}=e,n=Pe.reduce(t,(r,i,o)=>(i.status==="active"&&(r=o),r),"");return{...t[n],name:n}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),X_e=lt(hr,e=>{const{model_list:t}=e;return Pe.pickBy(t,(r,i)=>{if(r.format==="diffusers")return{name:i,...r}})},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Vk(){return Vk=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var ike=function(t,n,r){r===void 0&&(r=!1);var i=n.alt,o=n.meta,a=n.mod,s=n.shift,l=n.ctrl,u=n.keys,d=t.key,h=t.code,m=t.ctrlKey,y=t.metaKey,b=t.shiftKey,w=t.altKey,E=kd(h),_=d.toLowerCase();if(!r){if(i===!w&&_!=="alt"||s===!b&&_!=="shift")return!1;if(a){if(!y&&!m)return!1}else if(o===!y&&_!=="meta"||l===!m&&_!=="ctrl")return!1}return u&&u.length===1&&(u.includes(_)||u.includes(E))?!0:u?J_e(u):!u},oke=S.createContext(void 0),ake=function(){return S.useContext(oke)};function XV(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&XV(e[r],t[r])},!0):e===t}var ske=S.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),lke=function(){return S.useContext(ske)};function uke(e){var t=S.useRef(void 0);return XV(t.current,e)||(t.current=e),t.current}var LI=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},cke=typeof window<"u"?S.useLayoutEffect:S.useEffect;function Je(e,t,n,r){var i=S.useRef(null),o=S.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,s=n instanceof Array?n:r instanceof Array?r:void 0,l=S.useCallback(t,s??[]),u=S.useRef(l);s?u.current=l:u.current=t;var d=uke(a),h=lke(),m=h.enabledScopes,y=ake();return cke(function(){if(!((d==null?void 0:d.enabled)===!1||!rke(m,d==null?void 0:d.scopes))){var b=function(k,T){var L;if(T===void 0&&(T=!1),!(nke(k)&&!YV(k,d==null?void 0:d.enableOnFormTags))){if(i.current!==null&&document.activeElement!==i.current&&!i.current.contains(document.activeElement)){LI(k);return}(L=k.target)!=null&&L.isContentEditable&&!(d!=null&&d.enableOnContentEditable)||XC(e,d==null?void 0:d.splitKey).forEach(function(O){var D,I=ZC(O,d==null?void 0:d.combinationKey);if(ike(k,I,d==null?void 0:d.ignoreModifiers)||(D=I.keys)!=null&&D.includes("*")){if(T&&o.current)return;if(eke(k,I,d==null?void 0:d.preventDefault),!tke(k,I,d==null?void 0:d.enabled)){LI(k);return}u.current(k,I),T||(o.current=!0)}})}},w=function(k){k.key!==void 0&&(qV(kd(k.code)),((d==null?void 0:d.keydown)===void 0&&(d==null?void 0:d.keyup)!==!0||d!=null&&d.keydown)&&b(k))},E=function(k){k.key!==void 0&&(KV(kd(k.code)),o.current=!1,d!=null&&d.keyup&&b(k,!0))};return(i.current||(a==null?void 0:a.document)||document).addEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).addEventListener("keydown",w),y&&XC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.addHotkey(ZC(_,d==null?void 0:d.combinationKey))}),function(){(i.current||(a==null?void 0:a.document)||document).removeEventListener("keyup",E),(i.current||(a==null?void 0:a.document)||document).removeEventListener("keydown",w),y&&XC(e,d==null?void 0:d.splitKey).forEach(function(_){return y.removeHotkey(ZC(_,d==null?void 0:d.combinationKey))})}}},[e,d,m]),i}function dke(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"}}]})(e)}function fke(e){return ut({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(e)}function hke(e){return ut({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"}}]})(e)}function ZV(e){return ut({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"}}]})(e)}function QV(e){return ut({tag:"svg",attr:{viewBox:"0 0 256 512"},child:[{tag:"path",attr:{d:"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"}}]})(e)}function pke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"}}]})(e)}function gke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"}}]})(e)}function JV(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"}}]})(e)}function mke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"}}]})(e)}function vke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"}}]})(e)}function jE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"}}]})(e)}function eG(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"}}]})(e)}function e0(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"}}]})(e)}function tG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"}}]})(e)}function yke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"}}]})(e)}function NE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function nG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"}}]})(e)}function bke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}}]})(e)}function xke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}}]})(e)}function rG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"}}]})(e)}function Ske(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"}}]})(e)}function wke(e){return ut({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"}}]})(e)}function iG(e){return ut({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"}}]})(e)}function Cke(e){return ut({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"}}]})(e)}function _ke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"}}]})(e)}function kke(e){return ut({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"}}]})(e)}function Eke(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"}}]})(e)}function oG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"}}]})(e)}function Pke(e){return ut({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"}}]})(e)}function Tke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function aG(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"}}]})(e)}function Mke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"}}]})(e)}function Lke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"}}]})(e)}function y2(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"}}]})(e)}function Ake(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(e)}function Oke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"}}]})(e)}function Rke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"}}]})(e)}function $E(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"}}]})(e)}function Ike(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"}}]})(e)}function Dke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"}}]})(e)}function AI(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"}}]})(e)}function FE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}}]})(e)}function jke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"}}]})(e)}function hp(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"}}]})(e)}function Nke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"}}]})(e)}function h4(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"}}]})(e)}function $ke(e){return ut({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"}}]})(e)}function BE(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"}}]})(e)}const rn=e=>e.canvas,Lr=lt([rn,Br,hr],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),sG=e=>e.canvas.layerState.objects.find(x3),pp=e=>e.gallery,Fke=lt([pp,d4,Lr,Br],(e,t,n,r)=>{const{categories:i,currentCategory:o,currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:h,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,galleryWidth:b,shouldUseSingleGalleryColumn:w}=e,{isLightboxOpen:E}=t;return{currentImageUuid:a,shouldPinGallery:s,shouldShowGallery:l,galleryScrollPosition:u,galleryImageMinimumWidth:d,galleryImageObjectFit:h,galleryGridTemplateColumns:w?"auto":`repeat(auto-fill, minmax(${d}px, auto))`,activeTabName:r,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,images:i[o].images,areMoreImagesAvailable:i[o].areMoreImagesAvailable,currentCategory:o,galleryWidth:b,isLightboxOpen:E,isStaging:n,shouldEnableResize:!(E||r==="unifiedCanvas"&&s),shouldUseSingleGalleryColumn:w}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),Bke=lt([pp,hr,d4,Br],(e,t,n,r)=>({mayDeleteImage:t.isConnected&&!t.isProcessing,galleryImageObjectFit:e.galleryImageObjectFit,galleryImageMinimumWidth:e.galleryImageMinimumWidth,shouldUseSingleGalleryColumn:e.shouldUseSingleGalleryColumn,activeTabName:r,isLightboxOpen:n.isLightboxOpen}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),zke=lt(hr,e=>{const{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}=e;return{shouldConfirmOnDelete:t,isConnected:n,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),A3=S.forwardRef(({image:e,children:t},n)=>{const{isOpen:r,onOpen:i,onClose:o}=Kd(),a=Te(),{shouldConfirmOnDelete:s,isConnected:l,isProcessing:u}=le(zke),d=S.useRef(null),h=b=>{b.stopPropagation(),s?i():m()},m=()=>{l&&!u&&e&&a(c_e(e)),o()};Je("delete",()=>{s?i():m()},[e,s,l,u]);const y=b=>a(IU(!b.target.checked));return g.jsxs(g.Fragment,{children:[S.cloneElement(t,{onClick:e?h:void 0,ref:n}),g.jsx($H,{isOpen:r,leastDestructiveRef:d,onClose:o,children:g.jsx(oc,{children:g.jsxs(FH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:"Delete image"}),g.jsx(Zm,{children:g.jsxs(ke,{direction:"column",gap:5,children:[g.jsx(Dt,{children:"Are you sure? Deleted images will be sent to the Bin. You can restore from there if you wish to."}),g.jsx(sn,{children:g.jsxs(ke,{alignItems:"center",children:[g.jsx(Sn,{mb:0,children:"Don't ask me again"}),g.jsx(K8,{checked:!s,onChange:y})]})})]})}),g.jsxs(zw,{children:[g.jsx(ss,{ref:d,onClick:o,className:"modal-close-btn",children:"Cancel"}),g.jsx(ss,{colorScheme:"red",onClick:m,ml:3,children:"Delete"})]})]})})})]})});A3.displayName="DeleteImageModal";const zE=()=>{const e=Te();return t=>{const n=typeof t=="string"?t:Rm(t),[r,i]=nU(n);e(uU(r)),e(cU(i))}},Hke=lt([hr,pp,DE,fp,d4,Br],(e,t,n,r,i,o)=>{const{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u}=e,{upscalingLevel:d,facetoolStrength:h}=n,{isLightboxOpen:m}=i,{shouldShowImageDetails:y}=r,{intermediateImage:b,currentImage:w}=t;return{isProcessing:a,isConnected:s,isGFPGANAvailable:l,isESRGANAvailable:u,upscalingLevel:d,facetoolStrength:h,shouldDisableToolbarButtons:Boolean(b)||!w,currentImage:w,shouldShowImageDetails:y,activeTabName:o,isLightboxOpen:m}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),lG=()=>{var B,K,ne,z,$,V,X,Q;const e=Te(),{isProcessing:t,isConnected:n,isGFPGANAvailable:r,isESRGANAvailable:i,upscalingLevel:o,facetoolStrength:a,shouldDisableToolbarButtons:s,shouldShowImageDetails:l,currentImage:u,isLightboxOpen:d,activeTabName:h}=le(Hke),m=a2(),{t:y}=De(),b=zE(),w=()=>{u&&(d&&e(Om(!1)),e(y0(u)),e(Uo("img2img")))},E=async()=>{if(!u)return;const G=await fetch(u.url).then(ee=>ee.blob()),Y=[new ClipboardItem({[G.type]:G})];await navigator.clipboard.write(Y),m({title:y("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})},_=()=>{navigator.clipboard.writeText(u?window.location.toString()+u.url:"").then(()=>{m({title:y("toast.imageLinkCopied"),status:"success",duration:2500,isClosable:!0})})};Je("shift+i",()=>{u?(w(),m({title:y("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.imageNotLoaded"),description:y("toast.imageNotLoadedDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const k=()=>{var G,Y;u&&(u.metadata&&e(aU(u.metadata)),((G=u.metadata)==null?void 0:G.image.type)==="img2img"?e(Uo("img2img")):((Y=u.metadata)==null?void 0:Y.image.type)==="txt2img"&&e(Uo("txt2img")))};Je("a",()=>{var G,Y;["txt2img","img2img"].includes((Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)==null?void 0:Y.type)?(k(),m({title:y("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.parametersNotSet"),description:y("toast.parametersNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const T=()=>{u!=null&&u.metadata&&e(p2(u.metadata.image.seed))};Je("s",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.seed?(T(),m({title:y("toast.seedSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.seedNotSet"),description:y("toast.seedNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const L=S.useCallback(()=>{var G,Y,ee,fe;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt&&b((fe=(ee=u==null?void 0:u.metadata)==null?void 0:ee.image)==null?void 0:fe.prompt)},[(K=(B=u==null?void 0:u.metadata)==null?void 0:B.image)==null?void 0:K.prompt,b]);Je("p",()=>{var G,Y;(Y=(G=u==null?void 0:u.metadata)==null?void 0:G.image)!=null&&Y.prompt?(L(),m({title:y("toast.promptSet"),status:"success",duration:2500,isClosable:!0})):m({title:y("toast.promptNotSet"),description:y("toast.promptNotSetDesc"),status:"error",duration:2500,isClosable:!0})},[u]);const O=()=>{u&&e(l_e(u))};Je("Shift+U",()=>{i&&!s&&n&&!t&&o?O():m({title:y("toast.upscalingFailed"),status:"error",duration:2500,isClosable:!0})},[u,i,s,n,t,o]);const D=()=>{u&&e(u_e(u))};Je("Shift+R",()=>{r&&!s&&n&&!t&&a?D():m({title:y("toast.faceRestoreFailed"),status:"error",duration:2500,isClosable:!0})},[u,r,s,n,t,a]);const I=()=>e(FU(!l)),N=()=>{u&&(d&&e(Om(!1)),e(i4(u)),e(Li(!0)),h!=="unifiedCanvas"&&e(Uo("unifiedCanvas")),m({title:y("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0}))};Je("i",()=>{u?I():m({title:y("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[u,l]);const W=()=>{e(Om(!d))};return g.jsxs("div",{className:"current-image-options",children:[g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":`${y("parameters.sendTo")}...`,icon:g.jsx(Dke,{})}),children:g.jsxs("div",{className:"current-image-send-to-popover",children:[g.jsx(On,{size:"sm",onClick:w,leftIcon:g.jsx(AI,{}),children:y("parameters.sendToImg2Img")}),g.jsx(On,{size:"sm",onClick:N,leftIcon:g.jsx(AI,{}),children:y("parameters.sendToUnifiedCanvas")}),g.jsx(On,{size:"sm",onClick:E,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImage")}),g.jsx(On,{size:"sm",onClick:_,leftIcon:g.jsx(e0,{}),children:y("parameters.copyImageToLink")}),g.jsx(Nh,{download:!0,href:u==null?void 0:u.url,children:g.jsx(On,{leftIcon:g.jsx(NE,{}),size:"sm",w:"100%",children:y("parameters.downloadImage")})})]})}),g.jsx(Ye,{icon:g.jsx(xke,{}),tooltip:d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"aria-label":d?`${y("parameters.closeViewer")} (Z)`:`${y("parameters.openInViewer")} (Z)`,"data-selected":d,onClick:W})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{icon:g.jsx(Ake,{}),tooltip:`${y("parameters.usePrompt")} (P)`,"aria-label":`${y("parameters.usePrompt")} (P)`,isDisabled:!((z=(ne=u==null?void 0:u.metadata)==null?void 0:ne.image)!=null&&z.prompt),onClick:L}),g.jsx(Ye,{icon:g.jsx(Ike,{}),tooltip:`${y("parameters.useSeed")} (S)`,"aria-label":`${y("parameters.useSeed")} (S)`,isDisabled:!((V=($=u==null?void 0:u.metadata)==null?void 0:$.image)!=null&&V.seed),onClick:T}),g.jsx(Ye,{icon:g.jsx(mke,{}),tooltip:`${y("parameters.useAll")} (A)`,"aria-label":`${y("parameters.useAll")} (A)`,isDisabled:!["txt2img","img2img"].includes((Q=(X=u==null?void 0:u.metadata)==null?void 0:X.image)==null?void 0:Q.type),onClick:k})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{icon:g.jsx(Cke,{}),"aria-label":y("parameters.restoreFaces")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(RE,{}),g.jsx(On,{isDisabled:!r||!u||!(n&&!t)||!a,onClick:D,children:y("parameters.restoreFaces")})]})}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{icon:g.jsx(bke,{}),"aria-label":y("parameters.upscale")}),children:g.jsxs("div",{className:"current-image-postprocessing-popover",children:[g.jsx(IE,{}),g.jsx(On,{isDisabled:!i||!u||!(n&&!t)||!o,onClick:O,children:y("parameters.upscaleImage")})]})})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(Ye,{icon:g.jsx(eG,{}),tooltip:`${y("parameters.info")} (I)`,"aria-label":`${y("parameters.info")} (I)`,"data-selected":l,onClick:I})}),g.jsx(A3,{image:u,children:g.jsx(Ye,{icon:g.jsx(hp,{}),tooltip:`${y("parameters.deleteImage")} (Del)`,"aria-label":`${y("parameters.deleteImage")} (Del)`,isDisabled:!u||!n||t,style:{backgroundColor:"var(--btn-delete-image)"}})})]})};var Wke=fc({displayName:"EditIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),g.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})}),uG=fc({displayName:"ExternalLinkIcon",path:g.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[g.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),g.jsx("path",{d:"M15 3h6v6"}),g.jsx("path",{d:"M10 14L21 3"})]})}),Uke=fc({displayName:"DeleteIcon",path:g.jsx("g",{fill:"currentColor",children:g.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})});function Vke(e){return ut({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const Jn=({label:e,value:t,onClick:n,isLink:r,labelPosition:i,withCopy:o=!1})=>g.jsxs(ke,{gap:2,children:[n&&g.jsx(si,{label:`Recall ${e}`,children:g.jsx(ls,{"aria-label":"Use this parameter",icon:g.jsx(Vke,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),o&&g.jsx(si,{label:`Copy ${e}`,children:g.jsx(ls,{"aria-label":`Copy ${e}`,icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),g.jsxs(ke,{direction:i?"column":"row",children:[g.jsxs(Dt,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?g.jsxs(Nh,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",g.jsx(uG,{mx:"2px"})]}):g.jsx(Dt,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}),Gke=(e,t)=>e.image.uuid===t.image.uuid,HE=S.memo(({image:e,styleClass:t})=>{var B,K;const n=Te(),r=zE();Je("esc",()=>{n(FU(!1))});const i=((B=e==null?void 0:e.metadata)==null?void 0:B.image)||{},o=e==null?void 0:e.dreamPrompt,{cfg_scale:a,fit:s,height:l,hires_fix:u,init_image_path:d,mask_image_path:h,orig_path:m,perlin:y,postprocessing:b,prompt:w,sampler:E,seamless:_,seed:k,steps:T,strength:L,threshold:O,type:D,variations:I,width:N}=i,W=JSON.stringify(e.metadata,null,2);return g.jsx("div",{className:`image-metadata-viewer ${t}`,children:g.jsxs(ke,{gap:1,direction:"column",width:"100%",children:[g.jsxs(ke,{gap:2,children:[g.jsx(Dt,{fontWeight:"semibold",children:"File:"}),g.jsxs(Nh,{href:e.url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.url.length>64?e.url.substring(0,64).concat("..."):e.url,g.jsx(uG,{mx:"2px"})]})]}),Object.keys(i).length>0?g.jsxs(g.Fragment,{children:[D&&g.jsx(Jn,{label:"Generation type",value:D}),((K=e.metadata)==null?void 0:K.model_weights)&&g.jsx(Jn,{label:"Model",value:e.metadata.model_weights}),["esrgan","gfpgan"].includes(D)&&g.jsx(Jn,{label:"Original image",value:m}),w&&g.jsx(Jn,{label:"Prompt",labelPosition:"top",value:typeof w=="string"?w:Rm(w),onClick:()=>r(w)}),k!==void 0&&g.jsx(Jn,{label:"Seed",value:k,onClick:()=>n(p2(k))}),O!==void 0&&g.jsx(Jn,{label:"Noise Threshold",value:O,onClick:()=>n(bk(O))}),y!==void 0&&g.jsx(Jn,{label:"Perlin Noise",value:y,onClick:()=>n(vk(y))}),E&&g.jsx(Jn,{label:"Sampler",value:E,onClick:()=>n(dU(E))}),T&&g.jsx(Jn,{label:"Steps",value:T,onClick:()=>n(yk(T))}),a!==void 0&&g.jsx(Jn,{label:"CFG scale",value:a,onClick:()=>n(gk(a))}),I&&I.length>0&&g.jsx(Jn,{label:"Seed-weight pairs",value:_3(I),onClick:()=>n(hU(_3(I)))}),_&&g.jsx(Jn,{label:"Seamless",value:_,onClick:()=>n(fU(_))}),u&&g.jsx(Jn,{label:"High Resolution Optimization",value:u,onClick:()=>n(vU(u))}),N&&g.jsx(Jn,{label:"Width",value:N,onClick:()=>n(cS(N))}),l&&g.jsx(Jn,{label:"Height",value:l,onClick:()=>n(uS(l))}),d&&g.jsx(Jn,{label:"Initial image",value:d,isLink:!0,onClick:()=>n(y0(d))}),h&&g.jsx(Jn,{label:"Mask image",value:h,isLink:!0,onClick:()=>n(lU(h))}),D==="img2img"&&L&&g.jsx(Jn,{label:"Image to image strength",value:L,onClick:()=>n(mk(L))}),s&&g.jsx(Jn,{label:"Image to image fit",value:s,onClick:()=>n(pU(s))}),b&&b.length>0&&g.jsxs(g.Fragment,{children:[g.jsx(jh,{size:"sm",children:"Postprocessing"}),b.map((ne,z)=>{if(ne.type==="esrgan"){const{scale:$,strength:V,denoise_str:X}=ne;return g.jsxs(ke,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Upscale (ESRGAN)`}),g.jsx(Jn,{label:"Scale",value:$,onClick:()=>n(yU($))}),g.jsx(Jn,{label:"Strength",value:V,onClick:()=>n(wk(V))}),X!==void 0&&g.jsx(Jn,{label:"Denoising strength",value:X,onClick:()=>n(Sk(X))})]},z)}else if(ne.type==="gfpgan"){const{strength:$}=ne;return g.jsxs(ke,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Face restoration (GFPGAN)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(k3($)),n(dS("gfpgan"))}})]},z)}else if(ne.type==="codeformer"){const{strength:$,fidelity:V}=ne;return g.jsxs(ke,{pl:"2rem",gap:1,direction:"column",children:[g.jsx(Dt,{size:"md",children:`${z+1}: Face restoration (Codeformer)`}),g.jsx(Jn,{label:"Strength",value:$,onClick:()=>{n(k3($)),n(dS("codeformer"))}}),V&&g.jsx(Jn,{label:"Fidelity",value:V,onClick:()=>{n(xk(V)),n(dS("codeformer"))}})]},z)}})]}),o&&g.jsx(Jn,{withCopy:!0,label:"Dream Prompt",value:o}),g.jsxs(ke,{gap:2,direction:"column",children:[g.jsxs(ke,{gap:2,children:[g.jsx(si,{label:"Copy metadata JSON",children:g.jsx(ls,{"aria-label":"Copy metadata JSON",icon:g.jsx(e0,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(W)})}),g.jsx(Dt,{fontWeight:"semibold",children:"Metadata JSON:"})]}),g.jsx("div",{className:"image-json-viewer",children:g.jsx("pre",{children:W})})]})]}):g.jsx(aH,{width:"100%",pt:10,children:g.jsx(Dt,{fontSize:"lg",fontWeight:"semibold",children:"No metadata available"})})]})})},Gke);HE.displayName="ImageMetadataViewer";const cG=lt([pp,fp],(e,t)=>{const{currentCategory:n,currentImage:r,intermediateImage:i}=e,{shouldShowImageDetails:o}=t,a=e.categories[r?r.category:"result"].images,s=a.findIndex(u=>{var d;return u.uuid===((d=e==null?void 0:e.currentImage)==null?void 0:d.uuid)}),l=a.length;return{imageToDisplay:i||r,isIntermediate:Boolean(i),viewerImageToDisplay:r,currentCategory:n,isOnFirstImage:s===0,isOnLastImage:!isNaN(s)&&s===l-1,shouldShowImageDetails:o,shouldShowPrevImageButton:s===0,shouldShowNextImageButton:!isNaN(s)&&s===l-1}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function qke(){const e=Te(),{isOnFirstImage:t,isOnLastImage:n,shouldShowImageDetails:r,imageToDisplay:i,isIntermediate:o}=le(cG),[a,s]=S.useState(!1),l=()=>{s(!0)},u=()=>{s(!1)},d=()=>{e(vE())},h=()=>{e(mE())};return g.jsxs("div",{className:"current-image-preview",children:[i&&g.jsx(jw,{src:i.url,width:i.width,height:i.height,style:{imageRendering:o?"pixelated":"initial"}}),!r&&g.jsxs("div",{className:"current-image-next-prev-buttons",children:[g.jsx("div",{className:"next-prev-button-trigger-area prev-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!t&&g.jsx(ls,{"aria-label":"Previous image",icon:g.jsx(ZV,{className:"next-prev-button"}),variant:"unstyled",onClick:d})}),g.jsx("div",{className:"next-prev-button-trigger-area next-button-trigger-area",onMouseOver:l,onMouseOut:u,children:a&&!n&&g.jsx(ls,{"aria-label":"Next image",icon:g.jsx(QV,{className:"next-prev-button"}),variant:"unstyled",onClick:h})})]}),r&&i&&g.jsx(HE,{image:i,styleClass:"current-image-metadata"})]})}var Kke=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),ni=globalThis&&globalThis.__assign||function(){return ni=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof i>"u"?void 0:Number(i),minWidth:typeof o>"u"?void 0:Number(o),minHeight:typeof a>"u"?void 0:Number(a)}},t7e=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],jI="__resizable_base__",dG=function(e){Zke(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var i=r.parentNode;if(!i)return null;var o=r.window.document.createElement("div");return o.style.width="100%",o.style.height="100%",o.style.position="absolute",o.style.transform="scale(0, 0)",o.style.left="0",o.style.flex="0 0 100%",o.classList?o.classList.add(jI):o.className+=jI,i.appendChild(o),o},r.removeBase=function(i){var o=r.parentNode;o&&o.removeChild(i)},r.ref=function(i){i&&(r.resizable=i)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||Qke},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var i=this.resizable.offsetWidth,o=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:i,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:o,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,i=function(s){if(typeof n.state[s]>"u"||n.state[s]==="auto")return"auto";if(n.propsSize&&n.propsSize[s]&&n.propsSize[s].toString().endsWith("%")){if(n.state[s].toString().endsWith("%"))return n.state[s].toString();var l=n.getParentSize(),u=Number(n.state[s].toString().replace("px","")),d=u/l[s]*100;return d+"%"}return QC(n.state[s])},o=r&&typeof r.width<"u"&&!this.state.isResizing?QC(r.width):i("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?QC(r.height):i("height");return{width:o,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,i=this.parentNode.style.flexWrap;i!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var o={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=i),this.removeBase(n),o},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var i=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof i>"u"||i==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var i=this.props.boundsByDirection,o=this.state.direction,a=i&&Ig("left",o),s=i&&Ig("top",o),l,u;if(this.props.bounds==="parent"){var d=this.parentNode;d&&(l=a?this.resizableRight-this.parentLeft:d.offsetWidth+(this.parentLeft-this.resizableLeft),u=s?this.resizableBottom-this.parentTop:d.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(l=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,u=s?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(l=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),u=s?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return l&&Number.isFinite(l)&&(n=n&&n"u"?10:o.width,h=typeof i.width>"u"||i.width<0?n:i.width,m=typeof o.height>"u"?10:o.height,y=typeof i.height>"u"||i.height<0?r:i.height,b=l||0,w=u||0;if(s){var E=(m-b)*this.ratio+w,_=(y-b)*this.ratio+w,k=(d-w)/this.ratio+b,T=(h-w)/this.ratio+b,L=Math.max(d,E),O=Math.min(h,_),D=Math.max(m,k),I=Math.min(y,T);n=yx(n,L,O),r=yx(r,D,I)}else n=yx(n,d,h),r=yx(r,m,y);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var i=this.props.bounds.getBoundingClientRect();this.targetLeft=i.left,this.targetTop=i.top}if(this.resizable){var o=this.resizable.getBoundingClientRect(),a=o.left,s=o.top,l=o.right,u=o.bottom;this.resizableLeft=a,this.resizableRight=l,this.resizableTop=s,this.resizableBottom=u}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var i=0,o=0;if(n.nativeEvent&&Jke(n.nativeEvent)?(i=n.nativeEvent.clientX,o=n.nativeEvent.clientY):n.nativeEvent&&bx(n.nativeEvent)&&(i=n.nativeEvent.touches[0].clientX,o=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var s,l=this.window.getComputedStyle(this.resizable);if(l.flexBasis!=="auto"){var u=this.parentNode;if(u){var d=this.window.getComputedStyle(u).flexDirection;this.flexDir=d.startsWith("row")?"row":"column",s=l.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var h={original:{x:i,y:o,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:Ol(Ol({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:s};this.setState(h)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&bx(n))try{n.preventDefault(),n.stopPropagation()}catch{}var i=this.props,o=i.maxWidth,a=i.maxHeight,s=i.minWidth,l=i.minHeight,u=bx(n)?n.touches[0].clientX:n.clientX,d=bx(n)?n.touches[0].clientY:n.clientY,h=this.state,m=h.direction,y=h.original,b=h.width,w=h.height,E=this.getParentSize(),_=e7e(E,this.window.innerWidth,this.window.innerHeight,o,a,s,l);o=_.maxWidth,a=_.maxHeight,s=_.minWidth,l=_.minHeight;var k=this.calculateNewSizeFromDirection(u,d),T=k.newHeight,L=k.newWidth,O=this.calculateNewMaxFromBoundary(o,a);this.props.snap&&this.props.snap.x&&(L=DI(L,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(T=DI(T,this.props.snap.y,this.props.snapGap));var D=this.calculateNewSizeFromAspectRatio(L,T,{width:O.maxWidth,height:O.maxHeight},{width:s,height:l});if(L=D.newWidth,T=D.newHeight,this.props.grid){var I=II(L,this.props.grid[0]),N=II(T,this.props.grid[1]),W=this.props.snapGap||0;L=W===0||Math.abs(I-L)<=W?I:L,T=W===0||Math.abs(N-T)<=W?N:T}var B={width:L-y.width,height:T-y.height};if(b&&typeof b=="string"){if(b.endsWith("%")){var K=L/E.width*100;L=K+"%"}else if(b.endsWith("vw")){var ne=L/this.window.innerWidth*100;L=ne+"vw"}else if(b.endsWith("vh")){var z=L/this.window.innerHeight*100;L=z+"vh"}}if(w&&typeof w=="string"){if(w.endsWith("%")){var K=T/E.height*100;T=K+"%"}else if(w.endsWith("vw")){var ne=T/this.window.innerWidth*100;T=ne+"vw"}else if(w.endsWith("vh")){var z=T/this.window.innerHeight*100;T=z+"vh"}}var $={width:this.createSizeForCssProperty(L,"width"),height:this.createSizeForCssProperty(T,"height")};this.flexDir==="row"?$.flexBasis=$.width:this.flexDir==="column"&&($.flexBasis=$.height),Xs.flushSync(function(){r.setState($)}),this.props.onResize&&this.props.onResize(n,m,this.resizable,B)}},t.prototype.onMouseUp=function(n){var r=this.state,i=r.isResizing,o=r.direction,a=r.original;if(!(!i||!this.resizable)){var s={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,o,this.resizable,s),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:Ol(Ol({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,i=r.enable,o=r.handleStyles,a=r.handleClasses,s=r.handleWrapperStyle,l=r.handleWrapperClass,u=r.handleComponent;if(!i)return null;var d=Object.keys(i).map(function(h){return i[h]!==!1?S.createElement(Xke,{key:h,direction:h,onResizeStart:n.onResizeStart,replaceStyles:o&&o[h],className:a&&a[h]},u&&u[h]?u[h]:null):null});return S.createElement("div",{className:l,style:s},d)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,s){return t7e.indexOf(s)!==-1||(a[s]=n.props[s]),a},{}),i=Ol(Ol(Ol({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(i.flexBasis=this.state.flexBasis);var o=this.props.as||"div";return S.createElement(o,Ol({ref:this.ref,style:i,className:this.props.className},r),this.state.isResizing&&S.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(S.PureComponent);const Gn=e=>{const{label:t,styleClass:n,...r}=e;return g.jsx(dz,{className:`invokeai__checkbox ${n}`,...r,children:t})};function fG(e){return ut({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function hG(e){return ut({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}function n7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function r7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z"}}]})(e)}function i7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"}}]})(e)}function o7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 00.12-.61l-1.92-3.32a.488.488 0 00-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 00-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 00-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"}}]})(e)}function a7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M15 21h2v-2h-2v2zm4-12h2V7h-2v2zM3 5v14c0 1.1.9 2 2 2h4v-2H5V5h4V3H5c-1.1 0-2 .9-2 2zm16-2v2h2c0-1.1-.9-2-2-2zm-8 20h2V1h-2v22zm8-6h2v-2h-2v2zM15 5h2V3h-2v2zm4 8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2z"}}]})(e)}function pG(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function s7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"}}]})(e)}function l7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 10l5 5 5-5z"}}]})(e)}function u7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M7 14l5-5 5 5z"}}]})(e)}function c7e(e){return ut({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function d7e(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function f7e(e,t){e.classList?e.classList.add(t):d7e(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function NI(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function h7e(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=NI(e.className,t):e.setAttribute("class",NI(e.className&&e.className.baseVal||"",t))}const $I={disabled:!1},gG=Ke.createContext(null);var mG=function(t){return t.scrollTop},S1="unmounted",ph="exited",gh="entering",Fg="entered",Gk="exiting",mc=function(e){b8(t,e);function t(r,i){var o;o=e.call(this,r,i)||this;var a=i,s=a&&!a.isMounting?r.enter:r.appear,l;return o.appearStatus=null,r.in?s?(l=ph,o.appearStatus=gh):l=Fg:r.unmountOnExit||r.mountOnEnter?l=S1:l=ph,o.state={status:l},o.nextCallback=null,o}t.getDerivedStateFromProps=function(i,o){var a=i.in;return a&&o.status===S1?{status:ph}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(i){var o=null;if(i!==this.props){var a=this.state.status;this.props.in?a!==gh&&a!==Fg&&(o=gh):(a===gh||a===Fg)&&(o=Gk)}this.updateStatus(!1,o)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var i=this.props.timeout,o,a,s;return o=a=s=i,i!=null&&typeof i!="number"&&(o=i.exit,a=i.enter,s=i.appear!==void 0?i.appear:a),{exit:o,enter:a,appear:s}},n.updateStatus=function(i,o){if(i===void 0&&(i=!1),o!==null)if(this.cancelNextCallback(),o===gh){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this);a&&mG(a)}this.performEnter(i)}else this.performExit();else this.props.unmountOnExit&&this.state.status===ph&&this.setState({status:S1})},n.performEnter=function(i){var o=this,a=this.props.enter,s=this.context?this.context.isMounting:i,l=this.props.nodeRef?[s]:[Ob.findDOMNode(this),s],u=l[0],d=l[1],h=this.getTimeouts(),m=s?h.appear:h.enter;if(!i&&!a||$I.disabled){this.safeSetState({status:Fg},function(){o.props.onEntered(u)});return}this.props.onEnter(u,d),this.safeSetState({status:gh},function(){o.props.onEntering(u,d),o.onTransitionEnd(m,function(){o.safeSetState({status:Fg},function(){o.props.onEntered(u,d)})})})},n.performExit=function(){var i=this,o=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:Ob.findDOMNode(this);if(!o||$I.disabled){this.safeSetState({status:ph},function(){i.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:Gk},function(){i.props.onExiting(s),i.onTransitionEnd(a.exit,function(){i.safeSetState({status:ph},function(){i.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(i,o){o=this.setNextCallback(o),this.setState(i,o)},n.setNextCallback=function(i){var o=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,o.nextCallback=null,i(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(i,o){this.setNextCallback(o);var a=this.props.nodeRef?this.props.nodeRef.current:Ob.findDOMNode(this),s=i==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],u=l[0],d=l[1];this.props.addEndListener(u,d)}i!=null&&setTimeout(this.nextCallback,i)},n.render=function(){var i=this.state.status;if(i===S1)return null;var o=this.props,a=o.children;o.in,o.mountOnEnter,o.unmountOnExit,o.appear,o.enter,o.exit,o.timeout,o.addEndListener,o.onEnter,o.onEntering,o.onEntered,o.onExit,o.onExiting,o.onExited,o.nodeRef;var s=m8(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Ke.createElement(gG.Provider,{value:null},typeof a=="function"?a(i,s):Ke.cloneElement(Ke.Children.only(a),s))},t}(Ke.Component);mc.contextType=gG;mc.propTypes={};function Dg(){}mc.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Dg,onEntering:Dg,onEntered:Dg,onExit:Dg,onExiting:Dg,onExited:Dg};mc.UNMOUNTED=S1;mc.EXITED=ph;mc.ENTERING=gh;mc.ENTERED=Fg;mc.EXITING=Gk;const p7e=mc;var g7e=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return f7e(t,r)})},JC=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return h7e(t,r)})},WE=function(e){b8(t,e);function t(){for(var r,i=arguments.length,o=new Array(i),a=0;ab,Object.values(b));return S.createElement(w.Provider,{value:E},y)}function d(h,m){const y=(m==null?void 0:m[e][l])||s,b=S.useContext(y);if(b)return b;if(a!==void 0)return a;throw new Error(`\`${h}\` must be used within \`${o}\``)}return u.displayName=o+"Provider",[u,d]}const i=()=>{const o=n.map(a=>S.createContext(a));return function(s){const l=(s==null?void 0:s[e])||o;return S.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[r,m7e(i,...t)]}function m7e(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const a=r.reduce((s,{useScope:l,scopeName:u})=>{const h=l(o)[`__scope${u}`];return{...s,...h}},{});return S.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function v7e(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function yG(...e){return t=>e.forEach(n=>v7e(n,t))}function ds(...e){return S.useCallback(yG(...e),e)}const Fy=S.forwardRef((e,t)=>{const{children:n,...r}=e,i=S.Children.toArray(n),o=i.find(b7e);if(o){const a=o.props.children,s=i.map(l=>l===o?S.Children.count(a)>1?S.Children.only(null):S.isValidElement(a)?a.props.children:null:l);return S.createElement(qk,pn({},r,{ref:t}),S.isValidElement(a)?S.cloneElement(a,void 0,s):null)}return S.createElement(qk,pn({},r,{ref:t}),n)});Fy.displayName="Slot";const qk=S.forwardRef((e,t)=>{const{children:n,...r}=e;return S.isValidElement(n)?S.cloneElement(n,{...x7e(r,n.props),ref:yG(t,n.ref)}):S.Children.count(n)>1?S.Children.only(null):null});qk.displayName="SlotClone";const y7e=({children:e})=>S.createElement(S.Fragment,null,e);function b7e(e){return S.isValidElement(e)&&e.type===y7e}function x7e(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...s)=>{o(...s),i(...s)}:i&&(n[r]=i):r==="style"?n[r]={...i,...o}:r==="className"&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}const S7e=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],sc=S7e.reduce((e,t)=>{const n=S.forwardRef((r,i)=>{const{asChild:o,...a}=r,s=o?Fy:t;return S.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),S.createElement(s,pn({},a,{ref:i}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function bG(e,t){e&&Xs.flushSync(()=>e.dispatchEvent(t))}function xG(e){const t=e+"CollectionProvider",[n,r]=b2(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=y=>{const{scope:b,children:w}=y,E=Ke.useRef(null),_=Ke.useRef(new Map).current;return Ke.createElement(i,{scope:b,itemMap:_,collectionRef:E},w)},s=e+"CollectionSlot",l=Ke.forwardRef((y,b)=>{const{scope:w,children:E}=y,_=o(s,w),k=ds(b,_.collectionRef);return Ke.createElement(Fy,{ref:k},E)}),u=e+"CollectionItemSlot",d="data-radix-collection-item",h=Ke.forwardRef((y,b)=>{const{scope:w,children:E,..._}=y,k=Ke.useRef(null),T=ds(b,k),L=o(u,w);return Ke.useEffect(()=>(L.itemMap.set(k,{ref:k,..._}),()=>void L.itemMap.delete(k))),Ke.createElement(Fy,{[d]:"",ref:T},E)});function m(y){const b=o(e+"CollectionConsumer",y);return Ke.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const _=Array.from(E.querySelectorAll(`[${d}]`));return Array.from(b.itemMap.values()).sort((L,O)=>_.indexOf(L.ref.current)-_.indexOf(O.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:l,ItemSlot:h},m,r]}const w7e=S.createContext(void 0);function SG(e){const t=S.useContext(w7e);return e||t||"ltr"}function Js(e){const t=S.useRef(e);return S.useEffect(()=>{t.current=e}),S.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function C7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e);S.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)},[n,t])}const Kk="dismissableLayer.update",_7e="dismissableLayer.pointerDownOutside",k7e="dismissableLayer.focusOutside";let FI;const E7e=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),P7e=S.forwardRef((e,t)=>{var n;const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:l,...u}=e,d=S.useContext(E7e),[h,m]=S.useState(null),y=(n=h==null?void 0:h.ownerDocument)!==null&&n!==void 0?n:globalThis==null?void 0:globalThis.document,[,b]=S.useState({}),w=ds(t,N=>m(N)),E=Array.from(d.layers),[_]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),k=E.indexOf(_),T=h?E.indexOf(h):-1,L=d.layersWithOutsidePointerEventsDisabled.size>0,O=T>=k,D=T7e(N=>{const W=N.target,B=[...d.branches].some(K=>K.contains(W));!O||B||(o==null||o(N),s==null||s(N),N.defaultPrevented||l==null||l())},y),I=M7e(N=>{const W=N.target;[...d.branches].some(K=>K.contains(W))||(a==null||a(N),s==null||s(N),N.defaultPrevented||l==null||l())},y);return C7e(N=>{T===d.layers.size-1&&(i==null||i(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},y),S.useEffect(()=>{if(h)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(FI=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),BI(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=FI)}},[h,y,r,d]),S.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),BI())},[h,d]),S.useEffect(()=>{const N=()=>b({});return document.addEventListener(Kk,N),()=>document.removeEventListener(Kk,N)},[]),S.createElement(sc.div,pn({},u,{ref:w,style:{pointerEvents:L?O?"auto":"none":void 0,...e.style},onFocusCapture:Kn(e.onFocusCapture,I.onFocusCapture),onBlurCapture:Kn(e.onBlurCapture,I.onBlurCapture),onPointerDownCapture:Kn(e.onPointerDownCapture,D.onPointerDownCapture)}))});function T7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1),i=S.useRef(()=>{});return S.useEffect(()=>{const o=s=>{if(s.target&&!r.current){let u=function(){wG(_7e,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=u,t.addEventListener("click",i.current,{once:!0})):u()}r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",o),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function M7e(e,t=globalThis==null?void 0:globalThis.document){const n=Js(e),r=S.useRef(!1);return S.useEffect(()=>{const i=o=>{o.target&&!r.current&&wG(k7e,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function BI(){const e=new CustomEvent(Kk);document.dispatchEvent(e)}function wG(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?bG(i,o):i.dispatchEvent(o)}let e6=0;function L7e(){S.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:zI()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:zI()),e6++,()=>{e6===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),e6--}},[])}function zI(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}const t6="focusScope.autoFocusOnMount",n6="focusScope.autoFocusOnUnmount",HI={bubbles:!1,cancelable:!0},A7e=S.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...a}=e,[s,l]=S.useState(null),u=Js(i),d=Js(o),h=S.useRef(null),m=ds(t,w=>l(w)),y=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(r){let w=function(_){if(y.paused||!s)return;const k=_.target;s.contains(k)?h.current=k:mh(h.current,{select:!0})},E=function(_){y.paused||!s||s.contains(_.relatedTarget)||mh(h.current,{select:!0})};return document.addEventListener("focusin",w),document.addEventListener("focusout",E),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",E)}}},[r,s,y.paused]),S.useEffect(()=>{if(s){UI.add(y);const w=document.activeElement;if(!s.contains(w)){const _=new CustomEvent(t6,HI);s.addEventListener(t6,u),s.dispatchEvent(_),_.defaultPrevented||(O7e(N7e(CG(s)),{select:!0}),document.activeElement===w&&mh(s))}return()=>{s.removeEventListener(t6,u),setTimeout(()=>{const _=new CustomEvent(n6,HI);s.addEventListener(n6,d),s.dispatchEvent(_),_.defaultPrevented||mh(w??document.body,{select:!0}),s.removeEventListener(n6,d),UI.remove(y)},0)}}},[s,u,d,y]);const b=S.useCallback(w=>{if(!n&&!r||y.paused)return;const E=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,_=document.activeElement;if(E&&_){const k=w.currentTarget,[T,L]=R7e(k);T&&L?!w.shiftKey&&_===L?(w.preventDefault(),n&&mh(T,{select:!0})):w.shiftKey&&_===T&&(w.preventDefault(),n&&mh(L,{select:!0})):_===k&&w.preventDefault()}},[n,r,y.paused]);return S.createElement(sc.div,pn({tabIndex:-1},a,{ref:m,onKeyDown:b}))});function O7e(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(mh(r,{select:t}),document.activeElement!==n)return}function R7e(e){const t=CG(e),n=WI(t,e),r=WI(t.reverse(),e);return[n,r]}function CG(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function WI(e,t){for(const n of e)if(!I7e(n,{upTo:t}))return n}function I7e(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function D7e(e){return e instanceof HTMLInputElement&&"select"in e}function mh(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&D7e(e)&&t&&e.select()}}const UI=j7e();function j7e(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=VI(e,t),e.unshift(t)},remove(t){var n;e=VI(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function VI(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function N7e(e){return e.filter(t=>t.tagName!=="A")}const Pd=Boolean(globalThis==null?void 0:globalThis.document)?S.useLayoutEffect:()=>{},$7e=p6["useId".toString()]||(()=>{});let F7e=0;function B7e(e){const[t,n]=S.useState($7e());return Pd(()=>{e||n(r=>r??String(F7e++))},[e]),e||(t?`radix-${t}`:"")}function gp(e){return e.split("-")[0]}function x2(e){return e.split("-")[1]}function w0(e){return["top","bottom"].includes(gp(e))?"x":"y"}function UE(e){return e==="y"?"height":"width"}function GI(e,t,n){let{reference:r,floating:i}=e;const o=r.x+r.width/2-i.width/2,a=r.y+r.height/2-i.height/2,s=w0(t),l=UE(s),u=r[l]/2-i[l]/2,d=s==="x";let h;switch(gp(t)){case"top":h={x:o,y:r.y-i.height};break;case"bottom":h={x:o,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:a};break;case"left":h={x:r.x-i.width,y:a};break;default:h={x:r.x,y:r.y}}switch(x2(t)){case"start":h[s]-=u*(n&&d?-1:1);break;case"end":h[s]+=u*(n&&d?-1:1)}return h}const z7e=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,s=await(a.isRTL==null?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=GI(l,r,s),h=r,m={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{element:n,padding:r=0}=e??{},{x:i,y:o,placement:a,rects:s,platform:l}=t;if(n==null)return{};const u=_G(r),d={x:i,y:o},h=w0(a),m=x2(a),y=UE(h),b=await l.getDimensions(n),w=h==="y"?"top":"left",E=h==="y"?"bottom":"right",_=s.reference[y]+s.reference[h]-d[h]-s.floating[y],k=d[h]-s.reference[h],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(n));let L=T?h==="y"?T.clientHeight||0:T.clientWidth||0:0;L===0&&(L=s.floating[y]);const O=_/2-k/2,D=u[w],I=L-b[y]-u[E],N=L/2-b[y]/2+O,W=Yk(D,N,I),B=(m==="start"?u[w]:u[E])>0&&N!==W&&s.reference[y]<=s.floating[y];return{[h]:d[h]-(B?NW7e[t])}function U7e(e,t,n){n===void 0&&(n=!1);const r=x2(e),i=w0(e),o=UE(i);let a=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=R3(a)),{main:a,cross:R3(a)}}const V7e={start:"end",end:"start"};function KI(e){return e.replace(/start|end/g,t=>V7e[t])}const kG=["top","right","bottom","left"];kG.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const G7e=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:i,rects:o,initialPlacement:a,platform:s,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",flipAlignment:y=!0,...b}=e,w=gp(r),E=h||(w===a||!y?[R3(a)]:function(N){const W=R3(N);return[KI(N),W,KI(W)]}(a)),_=[a,...E],k=await By(t,b),T=[];let L=((n=i.flip)==null?void 0:n.overflows)||[];if(u&&T.push(k[w]),d){const{main:N,cross:W}=U7e(r,o,await(s.isRTL==null?void 0:s.isRTL(l.floating)));T.push(k[N],k[W])}if(L=[...L,{placement:r,overflows:T}],!T.every(N=>N<=0)){var O,D;const N=((O=(D=i.flip)==null?void 0:D.index)!=null?O:0)+1,W=_[N];if(W)return{data:{index:N,overflows:L},reset:{placement:W}};let B="bottom";switch(m){case"bestFit":{var I;const K=(I=L.map(ne=>[ne,ne.overflows.filter(z=>z>0).reduce((z,$)=>z+$,0)]).sort((ne,z)=>ne[1]-z[1])[0])==null?void 0:I[0].placement;K&&(B=K);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function YI(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function XI(e){return kG.some(t=>e[t]>=0)}const q7e=function(e){let{strategy:t="referenceHidden",...n}=e===void 0?{}:e;return{name:"hide",async fn(r){const{rects:i}=r;switch(t){case"referenceHidden":{const o=YI(await By(r,{...n,elementContext:"reference"}),i.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:XI(o)}}}case"escaped":{const o=YI(await By(r,{...n,altBoundary:!0}),i.floating);return{data:{escapedOffsets:o,escaped:XI(o)}}}default:return{}}}}},K7e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,i=await async function(o,a){const{placement:s,platform:l,elements:u}=o,d=await(l.isRTL==null?void 0:l.isRTL(u.floating)),h=gp(s),m=x2(s),y=w0(s)==="x",b=["left","top"].includes(h)?-1:1,w=d&&y?-1:1,E=typeof a=="function"?a(o):a;let{mainAxis:_,crossAxis:k,alignmentAxis:T}=typeof E=="number"?{mainAxis:E,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...E};return m&&typeof T=="number"&&(k=m==="end"?-1*T:T),y?{x:k*w,y:_*b}:{x:_*b,y:k*w}}(t,e);return{x:n+i.x,y:r+i.y,data:i}}}};function EG(e){return e==="x"?"y":"x"}const Y7e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:E=>{let{x:_,y:k}=E;return{x:_,y:k}}},...l}=e,u={x:n,y:r},d=await By(t,l),h=w0(gp(i)),m=EG(h);let y=u[h],b=u[m];if(o){const E=h==="y"?"bottom":"right";y=Yk(y+d[h==="y"?"top":"left"],y,y-d[E])}if(a){const E=m==="y"?"bottom":"right";b=Yk(b+d[m==="y"?"top":"left"],b,b-d[E])}const w=s.fn({...t,[h]:y,[m]:b});return{...w,data:{x:w.x-n,y:w.y-r}}}}},X7e=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:u=!0}=e,d={x:n,y:r},h=w0(i),m=EG(h);let y=d[h],b=d[m];const w=typeof s=="function"?s({...o,placement:i}):s,E=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(l){const O=h==="y"?"height":"width",D=o.reference[h]-o.floating[O]+E.mainAxis,I=o.reference[h]+o.reference[O]-E.mainAxis;yI&&(y=I)}if(u){var _,k,T,L;const O=h==="y"?"width":"height",D=["top","left"].includes(gp(i)),I=o.reference[m]-o.floating[O]+(D&&(_=(k=a.offset)==null?void 0:k[m])!=null?_:0)+(D?0:E.crossAxis),N=o.reference[m]+o.reference[O]+(D?0:(T=(L=a.offset)==null?void 0:L[m])!=null?T:0)-(D?E.crossAxis:0);bN&&(b=N)}return{[h]:y,[m]:b}}}},Z7e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:i,elements:o}=t,{apply:a,...s}=e,l=await By(t,s),u=gp(n),d=x2(n);let h,m;u==="top"||u==="bottom"?(h=u,m=d===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(m=u,h=d==="end"?"top":"bottom");const y=vh(l.left,0),b=vh(l.right,0),w=vh(l.top,0),E=vh(l.bottom,0),_={availableHeight:r.floating.height-(["left","right"].includes(n)?2*(w!==0||E!==0?w+E:vh(l.top,l.bottom)):l[h]),availableWidth:r.floating.width-(["top","bottom"].includes(n)?2*(y!==0||b!==0?y+b:vh(l.left,l.right)):l[m])},k=await i.getDimensions(o.floating);a==null||a({...t,..._});const T=await i.getDimensions(o.floating);return k.width!==T.width||k.height!==T.height?{reset:{rects:!0}}:{}}}};function PG(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}function vc(e){if(e==null)return window;if(!PG(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function S2(e){return vc(e).getComputedStyle(e)}function Xu(e){return PG(e)?"":e?(e.nodeName||"").toLowerCase():""}function TG(){const e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(t=>t.brand+"/"+t.version).join(" "):navigator.userAgent}function ou(e){return e instanceof vc(e).HTMLElement}function ef(e){return e instanceof vc(e).Element}function VE(e){return typeof ShadowRoot>"u"?!1:e instanceof vc(e).ShadowRoot||e instanceof ShadowRoot}function p4(e){const{overflow:t,overflowX:n,overflowY:r}=S2(e);return/auto|scroll|overlay|hidden/.test(t+r+n)}function Q7e(e){return["table","td","th"].includes(Xu(e))}function ZI(e){const t=/firefox/i.test(TG()),n=S2(e);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"}function MG(){return!/^((?!chrome|android).)*safari/i.test(TG())}const QI=Math.min,Y1=Math.max,I3=Math.round;function Zu(e,t,n){var r,i,o,a;t===void 0&&(t=!1),n===void 0&&(n=!1);const s=e.getBoundingClientRect();let l=1,u=1;t&&ou(e)&&(l=e.offsetWidth>0&&I3(s.width)/e.offsetWidth||1,u=e.offsetHeight>0&&I3(s.height)/e.offsetHeight||1);const d=ef(e)?vc(e):window,h=!MG()&&n,m=(s.left+(h&&(r=(i=d.visualViewport)==null?void 0:i.offsetLeft)!=null?r:0))/l,y=(s.top+(h&&(o=(a=d.visualViewport)==null?void 0:a.offsetTop)!=null?o:0))/u,b=s.width/l,w=s.height/u;return{width:b,height:w,top:y,right:m+b,bottom:y+w,left:m,x:m,y}}function zd(e){return(t=e,(t instanceof vc(t).Node?e.ownerDocument:e.document)||window.document).documentElement;var t}function g4(e){return ef(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function LG(e){return Zu(zd(e)).left+g4(e).scrollLeft}function J7e(e,t,n){const r=ou(t),i=zd(t),o=Zu(e,r&&function(l){const u=Zu(l);return I3(u.width)!==l.offsetWidth||I3(u.height)!==l.offsetHeight}(t),n==="fixed");let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(r||!r&&n!=="fixed")if((Xu(t)!=="body"||p4(i))&&(a=g4(t)),ou(t)){const l=Zu(t,!0);s.x=l.x+t.clientLeft,s.y=l.y+t.clientTop}else i&&(s.x=LG(i));return{x:o.left+a.scrollLeft-s.x,y:o.top+a.scrollTop-s.y,width:o.width,height:o.height}}function AG(e){return Xu(e)==="html"?e:e.assignedSlot||e.parentNode||(VE(e)?e.host:null)||zd(e)}function JI(e){return ou(e)&&getComputedStyle(e).position!=="fixed"?e.offsetParent:null}function Xk(e){const t=vc(e);let n=JI(e);for(;n&&Q7e(n)&&getComputedStyle(n).position==="static";)n=JI(n);return n&&(Xu(n)==="html"||Xu(n)==="body"&&getComputedStyle(n).position==="static"&&!ZI(n))?t:n||function(r){let i=AG(r);for(VE(i)&&(i=i.host);ou(i)&&!["html","body"].includes(Xu(i));){if(ZI(i))return i;i=i.parentNode}return null}(e)||t}function eD(e){if(ou(e))return{width:e.offsetWidth,height:e.offsetHeight};const t=Zu(e);return{width:t.width,height:t.height}}function OG(e){const t=AG(e);return["html","body","#document"].includes(Xu(t))?e.ownerDocument.body:ou(t)&&p4(t)?t:OG(t)}function D3(e,t){var n;t===void 0&&(t=[]);const r=OG(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=vc(r),a=i?[o].concat(o.visualViewport||[],p4(r)?r:[]):r,s=t.concat(a);return i?s:s.concat(D3(a))}function tD(e,t,n){return t==="viewport"?O3(function(r,i){const o=vc(r),a=zd(r),s=o.visualViewport;let l=a.clientWidth,u=a.clientHeight,d=0,h=0;if(s){l=s.width,u=s.height;const m=MG();(m||!m&&i==="fixed")&&(d=s.offsetLeft,h=s.offsetTop)}return{width:l,height:u,x:d,y:h}}(e,n)):ef(t)?function(r,i){const o=Zu(r,!1,i==="fixed"),a=o.top+r.clientTop,s=o.left+r.clientLeft;return{top:a,left:s,x:s,y:a,right:s+r.clientWidth,bottom:a+r.clientHeight,width:r.clientWidth,height:r.clientHeight}}(t,n):O3(function(r){var i;const o=zd(r),a=g4(r),s=(i=r.ownerDocument)==null?void 0:i.body,l=Y1(o.scrollWidth,o.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),u=Y1(o.scrollHeight,o.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0);let d=-a.scrollLeft+LG(r);const h=-a.scrollTop;return S2(s||o).direction==="rtl"&&(d+=Y1(o.clientWidth,s?s.clientWidth:0)-l),{width:l,height:u,x:d,y:h}}(zd(e)))}function e9e(e){const t=D3(e),n=["absolute","fixed"].includes(S2(e).position)&&ou(e)?Xk(e):e;return ef(n)?t.filter(r=>ef(r)&&function(i,o){const a=o.getRootNode==null?void 0:o.getRootNode();if(i.contains(o))return!0;if(a&&VE(a)){let s=o;do{if(s&&i===s)return!0;s=s.parentNode||s.host}while(s)}return!1}(r,n)&&Xu(r)!=="body"):[]}const t9e={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[...n==="clippingAncestors"?e9e(t):[].concat(n),r],a=o[0],s=o.reduce((l,u)=>{const d=tD(t,u,i);return l.top=Y1(d.top,l.top),l.right=QI(d.right,l.right),l.bottom=QI(d.bottom,l.bottom),l.left=Y1(d.left,l.left),l},tD(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const i=ou(n),o=zd(n);if(n===o)return t;let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((i||!i&&r!=="fixed")&&((Xu(n)!=="body"||p4(o))&&(a=g4(n)),ou(n))){const l=Zu(n,!0);s.x=l.x+n.clientLeft,s.y=l.y+n.clientTop}return{...t,x:t.x-a.scrollLeft+s.x,y:t.y-a.scrollTop+s.y}},isElement:ef,getDimensions:eD,getOffsetParent:Xk,getDocumentElement:zd,getElementRects:e=>{let{reference:t,floating:n,strategy:r}=e;return{reference:J7e(t,Xk(n),r),floating:{...eD(n),x:0,y:0}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>S2(e).direction==="rtl"};function n9e(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a=!0,animationFrame:s=!1}=r,l=i&&!s,u=o&&!s,d=l||u?[...ef(e)?D3(e):[],...D3(t)]:[];d.forEach(b=>{l&&b.addEventListener("scroll",n,{passive:!0}),u&&b.addEventListener("resize",n)});let h,m=null;if(a){let b=!0;m=new ResizeObserver(()=>{b||n(),b=!1}),ef(e)&&!s&&m.observe(e),m.observe(t)}let y=s?Zu(e):null;return s&&function b(){const w=Zu(e);!y||w.x===y.x&&w.y===y.y&&w.width===y.width&&w.height===y.height||n(),y=w,h=requestAnimationFrame(b)}(),n(),()=>{var b;d.forEach(w=>{l&&w.removeEventListener("scroll",n),u&&w.removeEventListener("resize",n)}),(b=m)==null||b.disconnect(),m=null,s&&cancelAnimationFrame(h)}}const r9e=(e,t,n)=>z7e(e,t,{platform:t9e,...n});var Zk=typeof document<"u"?S.useLayoutEffect:S.useEffect;function Qk(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Qk(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){const o=i[r];if(!(o==="_owner"&&e.$$typeof)&&!Qk(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function i9e(e){const t=S.useRef(e);return Zk(()=>{t.current=e}),t}function o9e(e){let{middleware:t,placement:n="bottom",strategy:r="absolute",whileElementsMounted:i}=e===void 0?{}:e;const o=S.useRef(null),a=S.useRef(null),s=i9e(i),l=S.useRef(null),[u,d]=S.useState({x:null,y:null,strategy:r,placement:n,middlewareData:{}}),[h,m]=S.useState(t);Qk(h==null?void 0:h.map(T=>{let{options:L}=T;return L}),t==null?void 0:t.map(T=>{let{options:L}=T;return L}))||m(t);const y=S.useCallback(()=>{!o.current||!a.current||r9e(o.current,a.current,{middleware:h,placement:n,strategy:r}).then(T=>{b.current&&Xs.flushSync(()=>{d(T)})})},[h,n,r]);Zk(()=>{b.current&&y()},[y]);const b=S.useRef(!1);Zk(()=>(b.current=!0,()=>{b.current=!1}),[]);const w=S.useCallback(()=>{if(typeof l.current=="function"&&(l.current(),l.current=null),o.current&&a.current)if(s.current){const T=s.current(o.current,a.current,y);l.current=T}else y()},[y,s]),E=S.useCallback(T=>{o.current=T,w()},[w]),_=S.useCallback(T=>{a.current=T,w()},[w]),k=S.useMemo(()=>({reference:o,floating:a}),[]);return S.useMemo(()=>({...u,update:y,refs:k,reference:E,floating:_}),[u,y,k,E,_])}const a9e=e=>{const{element:t,padding:n}=e;function r(i){return Object.prototype.hasOwnProperty.call(i,"current")}return{name:"arrow",options:e,fn(i){return r(t)?t.current!=null?qI({element:t.current,padding:n}).fn(i):{}:t?qI({element:t,padding:n}).fn(i):{}}}};function s9e(e){const[t,n]=S.useState(void 0);return Pd(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const o=i[0];let a,s;if("borderBoxSize"in o){const l=o.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,s=u.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const RG="Popper",[GE,IG]=b2(RG),[l9e,DG]=GE(RG),u9e=e=>{const{__scopePopper:t,children:n}=e,[r,i]=S.useState(null);return S.createElement(l9e,{scope:t,anchor:r,onAnchorChange:i},n)},c9e="PopperAnchor",d9e=S.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,o=DG(c9e,n),a=S.useRef(null),s=ds(t,a);return S.useEffect(()=>{o.onAnchorChange((r==null?void 0:r.current)||a.current)}),r?null:S.createElement(sc.div,pn({},i,{ref:s}))}),j3="PopperContent",[f9e,zNe]=GE(j3),[h9e,p9e]=GE(j3,{hasParent:!1,positionUpdateFns:new Set}),g9e=S.forwardRef((e,t)=>{var n,r,i,o,a,s,l,u;const{__scopePopper:d,side:h="bottom",sideOffset:m=0,align:y="center",alignOffset:b=0,arrowPadding:w=0,collisionBoundary:E=[],collisionPadding:_=0,sticky:k="partial",hideWhenDetached:T=!1,avoidCollisions:L=!0,onPlaced:O,...D}=e,I=DG(j3,d),[N,W]=S.useState(null),B=ds(t,He=>W(He)),[K,ne]=S.useState(null),z=s9e(K),$=(n=z==null?void 0:z.width)!==null&&n!==void 0?n:0,V=(r=z==null?void 0:z.height)!==null&&r!==void 0?r:0,X=h+(y!=="center"?"-"+y:""),Q=typeof _=="number"?_:{top:0,right:0,bottom:0,left:0,..._},G=Array.isArray(E)?E:[E],Y=G.length>0,ee={padding:Q,boundary:G.filter(v9e),altBoundary:Y},{reference:fe,floating:Ce,strategy:we,x:xe,y:Le,placement:Se,middlewareData:Qe,update:Xe}=o9e({strategy:"fixed",placement:X,whileElementsMounted:n9e,middleware:[y9e(),K7e({mainAxis:m+V,alignmentAxis:b}),L?Y7e({mainAxis:!0,crossAxis:!1,limiter:k==="partial"?X7e():void 0,...ee}):void 0,K?a9e({element:K,padding:w}):void 0,L?G7e({...ee}):void 0,Z7e({...ee,apply:({elements:He,availableWidth:Ue,availableHeight:ye})=>{He.floating.style.setProperty("--radix-popper-available-width",`${Ue}px`),He.floating.style.setProperty("--radix-popper-available-height",`${ye}px`)}}),b9e({arrowWidth:$,arrowHeight:V}),T?q7e({strategy:"referenceHidden"}):void 0].filter(m9e)});Pd(()=>{fe(I.anchor)},[fe,I.anchor]);const tt=xe!==null&&Le!==null,[yt,Be]=jG(Se),Ae=Js(O);Pd(()=>{tt&&(Ae==null||Ae())},[tt,Ae]);const bt=(i=Qe.arrow)===null||i===void 0?void 0:i.x,Fe=(o=Qe.arrow)===null||o===void 0?void 0:o.y,at=((a=Qe.arrow)===null||a===void 0?void 0:a.centerOffset)!==0,[jt,mt]=S.useState();Pd(()=>{N&&mt(window.getComputedStyle(N).zIndex)},[N]);const{hasParent:Zt,positionUpdateFns:on}=p9e(j3,d),se=!Zt;S.useLayoutEffect(()=>{if(!se)return on.add(Xe),()=>{on.delete(Xe)}},[se,on,Xe]),Pd(()=>{se&&tt&&Array.from(on).reverse().forEach(He=>requestAnimationFrame(He))},[se,tt,on]);const Ie={"data-side":yt,"data-align":Be,...D,ref:B,style:{...D.style,animation:tt?void 0:"none",opacity:(s=Qe.hide)!==null&&s!==void 0&&s.referenceHidden?0:void 0}};return S.createElement("div",{ref:Ce,"data-radix-popper-content-wrapper":"",style:{position:we,left:0,top:0,transform:tt?`translate3d(${Math.round(xe)}px, ${Math.round(Le)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:jt,["--radix-popper-transform-origin"]:[(l=Qe.transformOrigin)===null||l===void 0?void 0:l.x,(u=Qe.transformOrigin)===null||u===void 0?void 0:u.y].join(" ")},dir:e.dir},S.createElement(f9e,{scope:d,placedSide:yt,onArrowChange:ne,arrowX:bt,arrowY:Fe,shouldHideArrow:at},se?S.createElement(h9e,{scope:d,hasParent:!0,positionUpdateFns:on},S.createElement(sc.div,Ie)):S.createElement(sc.div,Ie)))});function m9e(e){return e!==void 0}function v9e(e){return e!==null}const y9e=()=>({name:"anchorCssProperties",fn(e){const{rects:t,elements:n}=e,{width:r,height:i}=t.reference;return n.floating.style.setProperty("--radix-popper-anchor-width",`${r}px`),n.floating.style.setProperty("--radix-popper-anchor-height",`${i}px`),{}}}),b9e=e=>({name:"transformOrigin",options:e,fn(t){var n,r,i,o,a;const{placement:s,rects:l,middlewareData:u}=t,h=((n=u.arrow)===null||n===void 0?void 0:n.centerOffset)!==0,m=h?0:e.arrowWidth,y=h?0:e.arrowHeight,[b,w]=jG(s),E={start:"0%",center:"50%",end:"100%"}[w],_=((r=(i=u.arrow)===null||i===void 0?void 0:i.x)!==null&&r!==void 0?r:0)+m/2,k=((o=(a=u.arrow)===null||a===void 0?void 0:a.y)!==null&&o!==void 0?o:0)+y/2;let T="",L="";return b==="bottom"?(T=h?E:`${_}px`,L=`${-y}px`):b==="top"?(T=h?E:`${_}px`,L=`${l.floating.height+y}px`):b==="right"?(T=`${-y}px`,L=h?E:`${k}px`):b==="left"&&(T=`${l.floating.width+y}px`,L=h?E:`${k}px`),{data:{x:T,y:L}}}});function jG(e){const[t,n="center"]=e.split("-");return[t,n]}const x9e=u9e,S9e=d9e,w9e=g9e;function C9e(e,t){return S.useReducer((n,r)=>{const i=t[n][r];return i??n},e)}const NG=e=>{const{present:t,children:n}=e,r=_9e(t),i=typeof n=="function"?n({present:r.isPresent}):S.Children.only(n),o=ds(r.ref,i.ref);return typeof n=="function"||r.isPresent?S.cloneElement(i,{ref:o}):null};NG.displayName="Presence";function _9e(e){const[t,n]=S.useState(),r=S.useRef({}),i=S.useRef(e),o=S.useRef("none"),a=e?"mounted":"unmounted",[s,l]=C9e(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{const u=Sx(r.current);o.current=s==="mounted"?u:"none"},[s]),Pd(()=>{const u=r.current,d=i.current;if(d!==e){const m=o.current,y=Sx(u);e?l("MOUNT"):y==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==y?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),Pd(()=>{if(t){const u=h=>{const y=Sx(r.current).includes(h.animationName);h.target===t&&y&&Xs.flushSync(()=>l("ANIMATION_END"))},d=h=>{h.target===t&&(o.current=Sx(r.current))};return t.addEventListener("animationstart",d),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{t.removeEventListener("animationstart",d),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:S.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function Sx(e){return(e==null?void 0:e.animationName)||"none"}function k9e({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,i]=E9e({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,s=Js(n),l=S.useCallback(u=>{if(o){const h=typeof u=="function"?u(e):u;h!==e&&s(h)}else i(u)},[o,e,i,s]);return[a,l]}function E9e({defaultProp:e,onChange:t}){const n=S.useState(e),[r]=n,i=S.useRef(r),o=Js(t);return S.useEffect(()=>{i.current!==r&&(o(r),i.current=r)},[r,i,o]),n}const r6="rovingFocusGroup.onEntryFocus",P9e={bubbles:!1,cancelable:!0},qE="RovingFocusGroup",[Jk,$G,T9e]=xG(qE),[M9e,FG]=b2(qE,[T9e]),[L9e,A9e]=M9e(qE),O9e=S.forwardRef((e,t)=>S.createElement(Jk.Provider,{scope:e.__scopeRovingFocusGroup},S.createElement(Jk.Slot,{scope:e.__scopeRovingFocusGroup},S.createElement(R9e,pn({},e,{ref:t}))))),R9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:u,...d}=e,h=S.useRef(null),m=ds(t,h),y=SG(o),[b=null,w]=k9e({prop:a,defaultProp:s,onChange:l}),[E,_]=S.useState(!1),k=Js(u),T=$G(n),L=S.useRef(!1),[O,D]=S.useState(0);return S.useEffect(()=>{const I=h.current;if(I)return I.addEventListener(r6,k),()=>I.removeEventListener(r6,k)},[k]),S.createElement(L9e,{scope:n,orientation:r,dir:y,loop:i,currentTabStopId:b,onItemFocus:S.useCallback(I=>w(I),[w]),onItemShiftTab:S.useCallback(()=>_(!0),[]),onFocusableItemAdd:S.useCallback(()=>D(I=>I+1),[]),onFocusableItemRemove:S.useCallback(()=>D(I=>I-1),[])},S.createElement(sc.div,pn({tabIndex:E||O===0?-1:0,"data-orientation":r},d,{ref:m,style:{outline:"none",...e.style},onMouseDown:Kn(e.onMouseDown,()=>{L.current=!0}),onFocus:Kn(e.onFocus,I=>{const N=!L.current;if(I.target===I.currentTarget&&N&&!E){const W=new CustomEvent(r6,P9e);if(I.currentTarget.dispatchEvent(W),!W.defaultPrevented){const B=T().filter(V=>V.focusable),K=B.find(V=>V.active),ne=B.find(V=>V.id===b),$=[K,ne,...B].filter(Boolean).map(V=>V.ref.current);BG($)}}L.current=!1}),onBlur:Kn(e.onBlur,()=>_(!1))})))}),I9e="RovingFocusGroupItem",D9e=S.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:o,...a}=e,s=B7e(),l=o||s,u=A9e(I9e,n),d=u.currentTabStopId===l,h=$G(n),{onFocusableItemAdd:m,onFocusableItemRemove:y}=u;return S.useEffect(()=>{if(r)return m(),()=>y()},[r,m,y]),S.createElement(Jk.ItemSlot,{scope:n,id:l,focusable:r,active:i},S.createElement(sc.span,pn({tabIndex:d?0:-1,"data-orientation":u.orientation},a,{ref:t,onMouseDown:Kn(e.onMouseDown,b=>{r?u.onItemFocus(l):b.preventDefault()}),onFocus:Kn(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Kn(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=$9e(b,u.orientation,u.dir);if(w!==void 0){b.preventDefault();let _=h().filter(k=>k.focusable).map(k=>k.ref.current);if(w==="last")_.reverse();else if(w==="prev"||w==="next"){w==="prev"&&_.reverse();const k=_.indexOf(b.currentTarget);_=u.loop?F9e(_,k+1):_.slice(k+1)}setTimeout(()=>BG(_))}})})))}),j9e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function N9e(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function $9e(e,t,n){const r=N9e(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return j9e[r]}function BG(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function F9e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const B9e=O9e,z9e=D9e,H9e=["Enter"," "],W9e=["ArrowDown","PageUp","Home"],zG=["ArrowUp","PageDown","End"],U9e=[...W9e,...zG],m4="Menu",[e7,V9e,G9e]=xG(m4),[mp,HG]=b2(m4,[G9e,IG,FG]),KE=IG(),WG=FG(),[q9e,v4]=mp(m4),[K9e,YE]=mp(m4),Y9e=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:o,modal:a=!0}=e,s=KE(t),[l,u]=S.useState(null),d=S.useRef(!1),h=Js(o),m=SG(i);return S.useEffect(()=>{const y=()=>{d.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>d.current=!1;return document.addEventListener("keydown",y,{capture:!0}),()=>{document.removeEventListener("keydown",y,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),S.createElement(x9e,s,S.createElement(q9e,{scope:t,open:n,onOpenChange:h,content:l,onContentChange:u},S.createElement(K9e,{scope:t,onClose:S.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:d,dir:m,modal:a},r)))},X9e=S.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=KE(n);return S.createElement(S9e,pn({},i,r,{ref:t}))}),Z9e="MenuPortal",[HNe,Q9e]=mp(Z9e,{forceMount:void 0}),Hd="MenuContent",[J9e,UG]=mp(Hd),e8e=S.forwardRef((e,t)=>{const n=Q9e(Hd,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,o=v4(Hd,e.__scopeMenu),a=YE(Hd,e.__scopeMenu);return S.createElement(e7.Provider,{scope:e.__scopeMenu},S.createElement(NG,{present:r||o.open},S.createElement(e7.Slot,{scope:e.__scopeMenu},a.modal?S.createElement(t8e,pn({},i,{ref:t})):S.createElement(n8e,pn({},i,{ref:t})))))}),t8e=S.forwardRef((e,t)=>{const n=v4(Hd,e.__scopeMenu),r=S.useRef(null),i=ds(t,r);return S.useEffect(()=>{const o=r.current;if(o)return LH(o)},[]),S.createElement(VG,pn({},e,{ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Kn(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)}))}),n8e=S.forwardRef((e,t)=>{const n=v4(Hd,e.__scopeMenu);return S.createElement(VG,pn({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)}))}),VG=S.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:h,onInteractOutside:m,onDismiss:y,disableOutsideScroll:b,...w}=e,E=v4(Hd,n),_=YE(Hd,n),k=KE(n),T=WG(n),L=V9e(n),[O,D]=S.useState(null),I=S.useRef(null),N=ds(t,I,E.onContentChange),W=S.useRef(0),B=S.useRef(""),K=S.useRef(0),ne=S.useRef(null),z=S.useRef("right"),$=S.useRef(0),V=b?NH:S.Fragment,X=b?{as:Fy,allowPinchZoom:!0}:void 0,Q=Y=>{var ee,fe;const Ce=B.current+Y,we=L().filter(tt=>!tt.disabled),xe=document.activeElement,Le=(ee=we.find(tt=>tt.ref.current===xe))===null||ee===void 0?void 0:ee.textValue,Se=we.map(tt=>tt.textValue),Qe=d8e(Se,Ce,Le),Xe=(fe=we.find(tt=>tt.textValue===Qe))===null||fe===void 0?void 0:fe.ref.current;(function tt(yt){B.current=yt,window.clearTimeout(W.current),yt!==""&&(W.current=window.setTimeout(()=>tt(""),1e3))})(Ce),Xe&&setTimeout(()=>Xe.focus())};S.useEffect(()=>()=>window.clearTimeout(W.current),[]),L7e();const G=S.useCallback(Y=>{var ee,fe;return z.current===((ee=ne.current)===null||ee===void 0?void 0:ee.side)&&h8e(Y,(fe=ne.current)===null||fe===void 0?void 0:fe.area)},[]);return S.createElement(J9e,{scope:n,searchRef:B,onItemEnter:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),onItemLeave:S.useCallback(Y=>{var ee;G(Y)||((ee=I.current)===null||ee===void 0||ee.focus(),D(null))},[G]),onTriggerLeave:S.useCallback(Y=>{G(Y)&&Y.preventDefault()},[G]),pointerGraceTimerRef:K,onPointerGraceIntentChange:S.useCallback(Y=>{ne.current=Y},[])},S.createElement(V,X,S.createElement(A7e,{asChild:!0,trapped:i,onMountAutoFocus:Kn(o,Y=>{var ee;Y.preventDefault(),(ee=I.current)===null||ee===void 0||ee.focus()}),onUnmountAutoFocus:a},S.createElement(P7e,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:h,onInteractOutside:m,onDismiss:y},S.createElement(B9e,pn({asChild:!0},T,{dir:_.dir,orientation:"vertical",loop:r,currentTabStopId:O,onCurrentTabStopIdChange:D,onEntryFocus:Kn(l,Y=>{_.isUsingKeyboardRef.current||Y.preventDefault()})}),S.createElement(w9e,pn({role:"menu","aria-orientation":"vertical","data-state":l8e(E.open),"data-radix-menu-content":"",dir:_.dir},k,w,{ref:N,style:{outline:"none",...w.style},onKeyDown:Kn(w.onKeyDown,Y=>{const fe=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,Ce=Y.ctrlKey||Y.altKey||Y.metaKey,we=Y.key.length===1;fe&&(Y.key==="Tab"&&Y.preventDefault(),!Ce&&we&&Q(Y.key));const xe=I.current;if(Y.target!==xe||!U9e.includes(Y.key))return;Y.preventDefault();const Se=L().filter(Qe=>!Qe.disabled).map(Qe=>Qe.ref.current);zG.includes(Y.key)&&Se.reverse(),u8e(Se)}),onBlur:Kn(e.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(W.current),B.current="")}),onPointerMove:Kn(e.onPointerMove,n7(Y=>{const ee=Y.target,fe=$.current!==Y.clientX;if(Y.currentTarget.contains(ee)&&fe){const Ce=Y.clientX>$.current?"right":"left";z.current=Ce,$.current=Y.clientX}}))})))))))}),t7="MenuItem",nD="menu.itemSelect",r8e=S.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,o=S.useRef(null),a=YE(t7,e.__scopeMenu),s=UG(t7,e.__scopeMenu),l=ds(t,o),u=S.useRef(!1),d=()=>{const h=o.current;if(!n&&h){const m=new CustomEvent(nD,{bubbles:!0,cancelable:!0});h.addEventListener(nD,y=>r==null?void 0:r(y),{once:!0}),bG(h,m),m.defaultPrevented?u.current=!1:a.onClose()}};return S.createElement(i8e,pn({},i,{ref:l,disabled:n,onClick:Kn(e.onClick,d),onPointerDown:h=>{var m;(m=e.onPointerDown)===null||m===void 0||m.call(e,h),u.current=!0},onPointerUp:Kn(e.onPointerUp,h=>{var m;u.current||(m=h.currentTarget)===null||m===void 0||m.click()}),onKeyDown:Kn(e.onKeyDown,h=>{const m=s.searchRef.current!=="";n||m&&h.key===" "||H9e.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})}))}),i8e=S.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...o}=e,a=UG(t7,n),s=WG(n),l=S.useRef(null),u=ds(t,l),[d,h]=S.useState(!1),[m,y]=S.useState("");return S.useEffect(()=>{const b=l.current;if(b){var w;y(((w=b.textContent)!==null&&w!==void 0?w:"").trim())}},[o.children]),S.createElement(e7.ItemSlot,{scope:n,disabled:r,textValue:i??m},S.createElement(z9e,pn({asChild:!0},s,{focusable:!r}),S.createElement(sc.div,pn({role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0},o,{ref:u,onPointerMove:Kn(e.onPointerMove,n7(b=>{r?a.onItemLeave(b):(a.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus())})),onPointerLeave:Kn(e.onPointerLeave,n7(b=>a.onItemLeave(b))),onFocus:Kn(e.onFocus,()=>h(!0)),onBlur:Kn(e.onBlur,()=>h(!1))}))))}),o8e="MenuRadioGroup";mp(o8e,{value:void 0,onValueChange:()=>{}});const a8e="MenuItemIndicator";mp(a8e,{checked:!1});const s8e="MenuSub";mp(s8e);function l8e(e){return e?"open":"closed"}function u8e(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function c8e(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function d8e(e,t,n){const i=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=c8e(e,Math.max(o,0));i.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function f8e(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;or!=d>r&&n<(u-s)*(r-l)/(d-l)+s&&(i=!i)}return i}function h8e(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return f8e(n,t)}function n7(e){return t=>t.pointerType==="mouse"?e(t):void 0}const p8e=Y9e,g8e=X9e,m8e=e8e,v8e=r8e,GG="ContextMenu",[y8e,WNe]=b2(GG,[HG]),y4=HG(),[b8e,qG]=y8e(GG),x8e=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:o=!0}=e,[a,s]=S.useState(!1),l=y4(t),u=Js(r),d=S.useCallback(h=>{s(h),u(h)},[u]);return S.createElement(b8e,{scope:t,open:a,onOpenChange:d,modal:o},S.createElement(p8e,pn({},l,{dir:i,open:a,onOpenChange:d,modal:o}),n))},S8e="ContextMenuTrigger",w8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...i}=e,o=qG(S8e,n),a=y4(n),s=S.useRef({x:0,y:0}),l=S.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...s.current})}),u=S.useRef(0),d=S.useCallback(()=>window.clearTimeout(u.current),[]),h=m=>{s.current={x:m.clientX,y:m.clientY},o.onOpenChange(!0)};return S.useEffect(()=>d,[d]),S.useEffect(()=>void(r&&d()),[r,d]),S.createElement(S.Fragment,null,S.createElement(g8e,pn({},a,{virtualRef:l})),S.createElement(sc.span,pn({"data-state":o.open?"open":"closed","data-disabled":r?"":void 0},i,{ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:Kn(e.onContextMenu,m=>{d(),h(m),m.preventDefault()}),onPointerDown:r?e.onPointerDown:Kn(e.onPointerDown,wx(m=>{d(),u.current=window.setTimeout(()=>h(m),700)})),onPointerMove:r?e.onPointerMove:Kn(e.onPointerMove,wx(d)),onPointerCancel:r?e.onPointerCancel:Kn(e.onPointerCancel,wx(d)),onPointerUp:r?e.onPointerUp:Kn(e.onPointerUp,wx(d))})))}),C8e="ContextMenuContent",_8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=qG(C8e,n),o=y4(n),a=S.useRef(!1);return S.createElement(m8e,pn({},o,r,{ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:s=>{var l;(l=e.onCloseAutoFocus)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&a.current&&s.preventDefault(),a.current=!1},onInteractOutside:s=>{var l;(l=e.onInteractOutside)===null||l===void 0||l.call(e,s),!s.defaultPrevented&&!i.modal&&(a.current=!0)},style:{...e.style,["--radix-context-menu-content-transform-origin"]:"var(--radix-popper-transform-origin)"}}))}),k8e=S.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=y4(n);return S.createElement(v8e,pn({},i,r,{ref:t}))});function wx(e){return t=>t.pointerType!=="mouse"?e(t):void 0}const E8e=x8e,P8e=w8e,T8e=_8e,ud=k8e,M8e=(e,t)=>e.image.uuid===t.image.uuid&&e.isSelected===t.isSelected,KG=S.memo(e=>{var z,$,V,X,Q,G,Y,ee;const t=Te(),{activeTabName:n,galleryImageObjectFit:r,galleryImageMinimumWidth:i,mayDeleteImage:o,shouldUseSingleGalleryColumn:a}=le(Bke),{image:s,isSelected:l}=e,{url:u,thumbnail:d,uuid:h,metadata:m}=s,[y,b]=S.useState(!1),w=a2(),{t:E}=De(),_=zE(),k=()=>b(!0),T=()=>b(!1),L=()=>{var fe,Ce,we,xe;(Ce=(fe=s.metadata)==null?void 0:fe.image)!=null&&Ce.prompt&&_((xe=(we=s.metadata)==null?void 0:we.image)==null?void 0:xe.prompt),w({title:E("toast.promptSet"),status:"success",duration:2500,isClosable:!0})},O=()=>{s.metadata&&t(p2(s.metadata.image.seed)),w({title:E("toast.seedSet"),status:"success",duration:2500,isClosable:!0})},D=()=>{t(y0(s)),n!=="img2img"&&t(Uo("img2img")),w({title:E("toast.sentToImageToImage"),status:"success",duration:2500,isClosable:!0})},I=()=>{t(i4(s)),t(r4()),n!=="unifiedCanvas"&&t(Uo("unifiedCanvas")),w({title:E("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},N=()=>{m&&t(aU(m)),w({title:E("toast.parametersSet"),status:"success",duration:2500,isClosable:!0})},W=async()=>{var fe;if((fe=m==null?void 0:m.image)!=null&&fe.init_image_path&&(await fetch(m.image.init_image_path)).ok){t(Uo("img2img")),t(N3e(m)),w({title:E("toast.initialImageSet"),status:"success",duration:2500,isClosable:!0});return}w({title:E("toast.initialImageNotSet"),description:E("toast.initialImageNotSetDesc"),status:"error",duration:2500,isClosable:!0})},B=()=>t(ZO(s)),K=fe=>{fe.dataTransfer.setData("invokeai/imageUuid",h),fe.dataTransfer.effectAllowed="move"},ne=()=>{t(ZO(s))};return g.jsxs(E8e,{onOpenChange:fe=>{t(eU(fe))},children:[g.jsx(P8e,{children:g.jsxs(ao,{position:"relative",className:"hoverable-image",onMouseOver:k,onMouseOut:T,userSelect:"none",draggable:!0,onDragStart:K,children:[g.jsx(jw,{className:"hoverable-image-image",objectFit:a?"contain":r,rounded:"md",src:d||u,loading:"lazy"}),g.jsx("div",{className:"hoverable-image-content",onClick:B,children:l&&g.jsx(ja,{width:"50%",height:"50%",as:jE,className:"hoverable-image-check"})}),y&&i>=64&&g.jsx("div",{className:"hoverable-image-delete-button",children:g.jsx(A3,{image:s,children:g.jsx(ls,{"aria-label":E("parameters.deleteImage"),icon:g.jsx(jke,{}),size:"xs",variant:"imageHoverIconButton",fontSize:14,isDisabled:!o})})})]},h)}),g.jsxs(T8e,{className:"hoverable-image-context-menu",sticky:"always",onInteractOutside:fe=>{fe.detail.originalEvent.preventDefault()},children:[g.jsx(ud,{onClickCapture:ne,children:E("parameters.openInViewer")}),g.jsx(ud,{onClickCapture:L,disabled:(($=(z=s==null?void 0:s.metadata)==null?void 0:z.image)==null?void 0:$.prompt)===void 0,children:E("parameters.usePrompt")}),g.jsx(ud,{onClickCapture:O,disabled:((X=(V=s==null?void 0:s.metadata)==null?void 0:V.image)==null?void 0:X.seed)===void 0,children:E("parameters.useSeed")}),g.jsx(ud,{onClickCapture:N,disabled:!["txt2img","img2img"].includes((G=(Q=s==null?void 0:s.metadata)==null?void 0:Q.image)==null?void 0:G.type),children:E("parameters.useAll")}),g.jsx(ud,{onClickCapture:W,disabled:((ee=(Y=s==null?void 0:s.metadata)==null?void 0:Y.image)==null?void 0:ee.type)!=="img2img",children:E("parameters.useInitImg")}),g.jsx(ud,{onClickCapture:D,children:E("parameters.sendToImg2Img")}),g.jsx(ud,{onClickCapture:I,children:E("parameters.sendToUnifiedCanvas")}),g.jsx(ud,{"data-warning":!0,children:g.jsx(A3,{image:s,children:g.jsx("p",{children:E("parameters.deleteImage")})})})]})]})},M8e);KG.displayName="HoverableImage";const Cx=320,rD=40,L8e={txt2img:{galleryMinWidth:200,galleryMaxWidth:500},img2img:{galleryMinWidth:200,galleryMaxWidth:500},unifiedCanvas:{galleryMinWidth:200,galleryMaxWidth:200},nodes:{galleryMinWidth:200,galleryMaxWidth:500},postprocess:{galleryMinWidth:200,galleryMaxWidth:500},training:{galleryMinWidth:200,galleryMaxWidth:500}},iD=400;function YG(){const e=Te(),{t}=De(),{images:n,currentCategory:r,currentImageUuid:i,shouldPinGallery:o,shouldShowGallery:a,galleryScrollPosition:s,galleryImageMinimumWidth:l,galleryGridTemplateColumns:u,activeTabName:d,galleryImageObjectFit:h,shouldHoldGalleryOpen:m,shouldAutoSwitchToNewImages:y,areMoreImagesAvailable:b,galleryWidth:w,isLightboxOpen:E,isStaging:_,shouldEnableResize:k,shouldUseSingleGalleryColumn:T}=le(Fke),{galleryMinWidth:L,galleryMaxWidth:O}=E?{galleryMinWidth:iD,galleryMaxWidth:iD}:L8e[d],[D,I]=S.useState(w>=Cx),[N,W]=S.useState(!1),[B,K]=S.useState(0),ne=S.useRef(null),z=S.useRef(null),$=S.useRef(null);S.useEffect(()=>{w>=Cx&&I(!1)},[w]);const V=()=>{e(_3e(!o)),e(Li(!0))},X=()=>{a?G():Q()},Q=()=>{e(Am(!0)),o&&e(Li(!0))},G=S.useCallback(()=>{e(Am(!1)),e(eU(!1)),e(k3e(z.current?z.current.scrollTop:0)),setTimeout(()=>o&&e(Li(!0)),400)},[e,o]),Y=()=>{e(Uk(r))},ee=xe=>{e(Gv(xe))},fe=()=>{m||($.current=window.setTimeout(()=>G(),500))},Ce=()=>{$.current&&window.clearTimeout($.current)};Je("g",()=>{X()},[a,o]),Je("left",()=>{e(vE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Je("right",()=>{e(mE())},{enabled:!_||d!=="unifiedCanvas"},[_]),Je("shift+g",()=>{V()},[o]),Je("esc",()=>{e(Am(!1))},{enabled:()=>!o,preventDefault:!0},[o]);const we=32;return Je("shift+up",()=>{if(l<256){const xe=Pe.clamp(l+we,32,256);e(Gv(xe))}},[l]),Je("shift+down",()=>{if(l>32){const xe=Pe.clamp(l-we,32,256);e(Gv(xe))}},[l]),S.useEffect(()=>{z.current&&(z.current.scrollTop=s)},[s,a]),S.useEffect(()=>{function xe(Le){!o&&ne.current&&!ne.current.contains(Le.target)&&G()}return document.addEventListener("mousedown",xe),()=>{document.removeEventListener("mousedown",xe)}},[G,o]),g.jsx(vG,{nodeRef:ne,in:a||m,unmountOnExit:!0,timeout:200,classNames:"image-gallery-wrapper",children:g.jsxs("div",{className:"image-gallery-wrapper",style:{zIndex:o?1:100},"data-pinned":o,ref:ne,onMouseLeave:o?void 0:fe,onMouseEnter:o?void 0:Ce,onMouseOver:o?void 0:Ce,children:[g.jsxs(dG,{minWidth:L,maxWidth:o?O:window.innerWidth,className:"image-gallery-popup",handleStyles:{left:{width:"15px"}},enable:{left:k},size:{width:w,height:o?"100%":"100vh"},onResizeStart:(xe,Le,Se)=>{K(Se.clientHeight),Se.style.height=`${Se.clientHeight}px`,o&&(Se.style.position="fixed",Se.style.right="1rem",W(!0))},onResizeStop:(xe,Le,Se,Qe)=>{const Xe=o?Pe.clamp(Number(w)+Qe.width,L,Number(O)):Number(w)+Qe.width;e(T3e(Xe)),Se.removeAttribute("data-resize-alert"),o&&(Se.style.position="relative",Se.style.removeProperty("right"),Se.style.setProperty("height",o?"100%":"100vh"),W(!1),e(Li(!0)))},onResize:(xe,Le,Se,Qe)=>{const Xe=Pe.clamp(Number(w)+Qe.width,L,Number(o?O:.95*window.innerWidth));Xe>=Cx&&!D?I(!0):XeXe-rD&&e(Gv(Xe-rD)),o&&(Xe>=O?Se.setAttribute("data-resize-alert","true"):Se.removeAttribute("data-resize-alert")),Se.style.height=`${B}px`},children:[g.jsxs("div",{className:"image-gallery-header",children:[g.jsx(Gi,{size:"sm",isAttached:!0,variant:"solid",className:"image-gallery-category-btn-group",children:D?g.jsxs(g.Fragment,{children:[g.jsx(On,{size:"sm","data-selected":r==="result",onClick:()=>e(ex("result")),children:t("gallery.generations")}),g.jsx(On,{size:"sm","data-selected":r==="user",onClick:()=>e(ex("user")),children:t("gallery.uploads")})]}):g.jsxs(g.Fragment,{children:[g.jsx(Ye,{"aria-label":t("gallery.showGenerations"),tooltip:t("gallery.showGenerations"),"data-selected":r==="result",icon:g.jsx(_ke,{}),onClick:()=>e(ex("result"))}),g.jsx(Ye,{"aria-label":t("gallery.showUploads"),tooltip:t("gallery.showUploads"),"data-selected":r==="user",icon:g.jsx($ke,{}),onClick:()=>e(ex("user"))})]})}),g.jsxs("div",{className:"image-gallery-header-right-icons",children:[g.jsx(Ys,{isLazy:!0,trigger:"hover",placement:"left",triggerComponent:g.jsx(Ye,{size:"sm","aria-label":t("gallery.gallerySettings"),icon:g.jsx(BE,{}),className:"image-gallery-icon-btn",cursor:"pointer"}),children:g.jsxs("div",{className:"image-gallery-settings-popover",children:[g.jsxs("div",{children:[g.jsx(Dn,{value:l,onChange:ee,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize")}),g.jsx(Ye,{size:"sm","aria-label":t("gallery.galleryImageResetSize"),tooltip:t("gallery.galleryImageResetSize"),onClick:()=>e(Gv(64)),icon:g.jsx(f4,{}),"data-selected":o,styleClass:"image-gallery-icon-btn"})]}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.maintainAspectRatio"),isChecked:h==="contain",onChange:()=>e(E3e(h==="contain"?"cover":"contain"))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:y,onChange:xe=>e(P3e(xe.target.checked))})}),g.jsx("div",{children:g.jsx(Gn,{label:t("gallery.singleColumnLayout"),isChecked:T,onChange:xe=>e(M3e(xe.target.checked))})})]})}),g.jsx(Ye,{size:"sm",className:"image-gallery-icon-btn","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:V,icon:o?g.jsx(fG,{}):g.jsx(hG,{})})]})]}),g.jsx("div",{className:"image-gallery-container",ref:z,children:n.length||b?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"image-gallery",style:{gridTemplateColumns:u},children:n.map(xe=>{const{uuid:Le}=xe,Se=i===Le;return g.jsx(KG,{image:xe,isSelected:Se},Le)})}),g.jsx(ss,{onClick:Y,isDisabled:!b,className:"image-gallery-load-more-btn",children:t(b?"gallery.loadMore":"gallery.allImagesLoaded")})]}):g.jsxs("div",{className:"image-gallery-container-placeholder",children:[g.jsx(pG,{}),g.jsx("p",{children:t("gallery.noImagesInGallery")})]})})]}),N&&g.jsx("div",{style:{width:`${w}px`,height:"100%"}})]})})}var ns=function(e,t){return Number(e.toFixed(t))},A8e=function(e,t){return typeof e=="number"?e:t},mr=function(e,t,n){n&&typeof n=="function"&&n(e,t)},O8e=function(e){return-Math.cos(e*Math.PI)/2+.5},R8e=function(e){return e},I8e=function(e){return e*e},D8e=function(e){return e*(2-e)},j8e=function(e){return e<.5?2*e*e:-1+(4-2*e)*e},N8e=function(e){return e*e*e},$8e=function(e){return--e*e*e+1},F8e=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},B8e=function(e){return e*e*e*e},z8e=function(e){return 1- --e*e*e*e},H8e=function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},W8e=function(e){return e*e*e*e*e},U8e=function(e){return 1+--e*e*e*e*e},V8e=function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e},XG={easeOut:O8e,linear:R8e,easeInQuad:I8e,easeOutQuad:D8e,easeInOutQuad:j8e,easeInCubic:N8e,easeOutCubic:$8e,easeInOutCubic:F8e,easeInQuart:B8e,easeOutQuart:z8e,easeInOutQuart:H8e,easeInQuint:W8e,easeOutQuint:U8e,easeInOutQuint:V8e},ZG=function(e){typeof e=="number"&&cancelAnimationFrame(e)},Fl=function(e){e.mounted&&(ZG(e.animation),e.animate=!1,e.animation=null,e.velocity=null)};function QG(e,t,n,r){if(e.mounted){var i=new Date().getTime(),o=1;Fl(e),e.animation=function(){if(!e.mounted)return ZG(e.animation);var a=new Date().getTime()-i,s=a/n,l=XG[t],u=l(s);a>=n?(r(o),e.animation=null):e.animation&&(r(u),requestAnimationFrame(e.animation))},requestAnimationFrame(e.animation)}}function G8e(e){var t=e.scale,n=e.positionX,r=e.positionY;return!(Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(r))}function ff(e,t,n,r){var i=G8e(t);if(!(!e.mounted||!i)){var o=e.setTransformState,a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=t.scale-s,h=t.positionX-l,m=t.positionY-u;n===0?o(t.scale,t.positionX,t.positionY):QG(e,r,n,function(y){var b=s+d*y,w=l+h*y,E=u+m*y;o(b,w,E)})}}function q8e(e,t,n){var r=e.offsetWidth,i=e.offsetHeight,o=t.offsetWidth,a=t.offsetHeight,s=o*n,l=a*n,u=r-s,d=i-l;return{wrapperWidth:r,wrapperHeight:i,newContentWidth:s,newDiffWidth:u,newContentHeight:l,newDiffHeight:d}}var K8e=function(e,t,n,r,i,o,a){var s=e>t?n*(a?1:.5):0,l=r>i?o*(a?1:.5):0,u=e-t-s,d=s,h=r-i-l,m=l;return{minPositionX:u,maxPositionX:d,minPositionY:h,maxPositionY:m}},XE=function(e,t){var n=e.wrapperComponent,r=e.contentComponent,i=e.setup.centerZoomedOut;if(!n||!r)throw new Error("Components are not mounted");var o=q8e(n,r,t),a=o.wrapperWidth,s=o.wrapperHeight,l=o.newContentWidth,u=o.newDiffWidth,d=o.newContentHeight,h=o.newDiffHeight,m=K8e(a,l,u,s,d,h,Boolean(i));return m},r7=function(e,t,n,r){return r?en?ns(n,2):ns(e,2):ns(e,2)},t0=function(e,t){var n=XE(e,t);return e.bounds=n,n};function b4(e,t,n,r,i,o,a){var s=n.minPositionX,l=n.minPositionY,u=n.maxPositionX,d=n.maxPositionY,h=0,m=0;a&&(h=i,m=o);var y=r7(e,s-h,u+h,r),b=r7(t,l-m,d+m,r);return{x:y,y:b}}function x4(e,t,n,r,i,o){var a=e.transformState,s=a.scale,l=a.positionX,u=a.positionY,d=r-s;if(typeof t!="number"||typeof n!="number")return console.error("Mouse X and Y position were not provided!"),{x:l,y:u};var h=l-t*d,m=u-n*d,y=b4(h,m,i,o,0,0,null);return y}function w2(e,t,n,r,i){var o=i?r:0,a=t-o;return!Number.isNaN(n)&&e>=n?n:!Number.isNaN(t)&&e<=a?a:e}var oD=function(e,t){var n=e.setup.panning.excluded,r=e.isInitialized,i=e.wrapperComponent,o=t.target,a=i==null?void 0:i.contains(o),s=r&&o&&a;if(!s)return!1;var l=S4(o,n);return!l},aD=function(e){var t=e.isInitialized,n=e.isPanning,r=e.setup,i=r.panning.disabled,o=t&&n&&!i;return!!o},Y8e=function(e,t){var n=e.transformState,r=n.positionX,i=n.positionY;e.isPanning=!0;var o=t.clientX,a=t.clientY;e.startCoords={x:o-r,y:a-i}},X8e=function(e,t){var n=t.touches,r=e.transformState,i=r.positionX,o=r.positionY;e.isPanning=!0;var a=n.length===1;if(a){var s=n[0].clientX,l=n[0].clientY;e.startCoords={x:s-i,y:l-o}}};function Z8e(e){var t=e.transformState,n=t.positionX,r=t.positionY,i=t.scale,o=e.setup,a=o.disabled,s=o.limitToBounds,l=o.centerZoomedOut,u=e.wrapperComponent;if(!(a||!u||!e.bounds)){var d=e.bounds,h=d.maxPositionX,m=d.minPositionX,y=d.maxPositionY,b=d.minPositionY,w=n>h||ny||rh?u.offsetWidth:e.setup.minPositionX||0,k=r>y?u.offsetHeight:e.setup.minPositionY||0,T=x4(e,_,k,i,e.bounds,s||l),L=T.x,O=T.y;return{scale:i,positionX:w?L:n,positionY:E?O:r}}}function Q8e(e,t,n,r,i){var o=e.setup.limitToBounds,a=e.wrapperComponent,s=e.bounds,l=e.transformState,u=l.scale,d=l.positionX,h=l.positionY;if(!(a===null||s===null||t===d&&n===h)){var m=b4(t,n,s,o,r,i,a),y=m.x,b=m.y;e.setTransformState(u,y,b)}}var J8e=function(e,t,n){var r=e.startCoords,i=e.transformState,o=e.setup.panning,a=o.lockAxisX,s=o.lockAxisY,l=i.positionX,u=i.positionY;if(!r)return{x:l,y:u};var d=t-r.x,h=n-r.y,m=a?l:d,y=s?u:h;return{x:m,y}},N3=function(e,t){var n=e.setup,r=e.transformState,i=r.scale,o=n.minScale,a=n.disablePadding;return t>0&&i>=o&&!a?t:0},eEe=function(e){var t=e.mounted,n=e.setup,r=n.disabled,i=n.velocityAnimation,o=e.transformState.scale,a=i.disabled,s=!a||o>1||!r||t;return!!s},tEe=function(e){var t=e.mounted,n=e.velocity,r=e.bounds,i=e.setup,o=i.disabled,a=i.velocityAnimation,s=e.transformState.scale,l=a.disabled,u=!l||s>1||!o||t;return!(!u||!n||!r)};function nEe(e,t){var n=e.setup.velocityAnimation,r=n.equalToMove,i=n.animationTime,o=n.sensitivity;return r?i*t*o:i}function sD(e,t,n,r,i,o,a,s,l,u){if(i){if(t>a&&n>a){var d=a+(e-a)*u;return d>l?l:do?o:d}}return r?t:r7(e,o,a,i)}function rEe(e,t){var n=1;return t?Math.min(n,e.offsetWidth/window.innerWidth):n}function iEe(e,t){var n=eEe(e);if(n){var r=e.lastMousePosition,i=e.velocityTime,o=e.setup,a=e.wrapperComponent,s=o.velocityAnimation.equalToMove,l=Date.now();if(r&&i&&a){var u=rEe(a,s),d=t.x-r.x,h=t.y-r.y,m=d/u,y=h/u,b=l-i,w=d*d+h*h,E=Math.sqrt(w)/b;e.velocity={velocityX:m,velocityY:y,total:E}}e.lastMousePosition=t,e.velocityTime=l}}function oEe(e){var t=e.velocity,n=e.bounds,r=e.setup,i=e.wrapperComponent,o=tEe(e);if(!(!o||!t||!n||!i)){var a=t.velocityX,s=t.velocityY,l=t.total,u=n.maxPositionX,d=n.minPositionX,h=n.maxPositionY,m=n.minPositionY,y=r.limitToBounds,b=r.alignmentAnimation,w=r.zoomAnimation,E=r.panning,_=E.lockAxisY,k=E.lockAxisX,T=w.animationType,L=b.sizeX,O=b.sizeY,D=b.velocityAlignmentTime,I=D,N=nEe(e,l),W=Math.max(N,I),B=N3(e,L),K=N3(e,O),ne=B*i.offsetWidth/100,z=K*i.offsetHeight/100,$=u+ne,V=d-ne,X=h+z,Q=m-z,G=e.transformState,Y=new Date().getTime();QG(e,T,W,function(ee){var fe=e.transformState,Ce=fe.scale,we=fe.positionX,xe=fe.positionY,Le=new Date().getTime()-Y,Se=Le/I,Qe=XG[b.animationType],Xe=1-Qe(Math.min(1,Se)),tt=1-ee,yt=we+a*tt,Be=xe+s*tt,Ae=sD(yt,G.positionX,we,k,y,d,u,V,$,Xe),bt=sD(Be,G.positionY,xe,_,y,m,h,Q,X,Xe);(we!==yt||xe!==Be)&&e.setTransformState(Ce,Ae,bt)})}}function lD(e,t){var n=e.transformState.scale;Fl(e),t0(e,n),window.TouchEvent!==void 0&&t instanceof TouchEvent?X8e(e,t):Y8e(e,t)}function JG(e){var t=e.transformState.scale,n=e.setup,r=n.minScale,i=n.alignmentAnimation,o=i.disabled,a=i.sizeX,s=i.sizeY,l=i.animationTime,u=i.animationType,d=o||t.1&&h;m?oEe(e):JG(e)}}function ZE(e,t,n,r){var i=e.setup,o=i.minScale,a=i.maxScale,s=i.limitToBounds,l=w2(ns(t,2),o,a,0,!1),u=t0(e,l),d=x4(e,n,r,l,u,s),h=d.x,m=d.y;return{scale:l,positionX:h,positionY:m}}function eq(e,t,n){var r=e.transformState.scale,i=e.wrapperComponent,o=e.setup,a=o.minScale,s=o.limitToBounds,l=o.zoomAnimation,u=l.disabled,d=l.animationTime,h=l.animationType,m=u||r>=a;if((r>=1||s)&&JG(e),!(m||!i||!e.mounted)){var y=t||i.offsetWidth/2,b=n||i.offsetHeight/2,w=ZE(e,a,y,b);w&&ff(e,w,d,h)}}var Wd=function(){return Wd=Object.assign||function(t){for(var n,r=1,i=arguments.length;ra||Math.sign(n.deltaY)!==Math.sign(t.deltaY)||n.deltaY>0&&n.deltaYt.deltaY||Math.sign(n.deltaY)!==Math.sign(t.deltaY):!1},wEe=function(e,t){var n=e.setup.pinch,r=n.disabled,i=n.excluded,o=e.isInitialized,a=t.target,s=o&&!r&&a;if(!s)return!1;var l=S4(a,i);return!l},CEe=function(e){var t=e.setup.pinch.disabled,n=e.isInitialized,r=e.pinchStartDistance,i=n&&!t&&r;return!!i},_Ee=function(e,t,n){var r=n.getBoundingClientRect(),i=e.touches,o=ns(i[0].clientX-r.left,5),a=ns(i[0].clientY-r.top,5),s=ns(i[1].clientX-r.left,5),l=ns(i[1].clientY-r.top,5);return{x:(o+s)/2/t,y:(a+l)/2/t}},sq=function(e){return Math.sqrt(Math.pow(e.touches[0].pageX-e.touches[1].pageX,2)+Math.pow(e.touches[0].pageY-e.touches[1].pageY,2))},kEe=function(e,t){var n=e.pinchStartScale,r=e.pinchStartDistance,i=e.setup,o=i.maxScale,a=i.minScale,s=i.zoomAnimation,l=i.disablePadding,u=s.size,d=s.disabled;if(!n||r===null||!t)throw new Error("Pinch touches distance was not provided");if(t<0)return e.transformState.scale;var h=t/r,m=h*n;return w2(ns(m,2),a,o,u,!d&&!l)},EEe=160,PEe=100,TEe=function(e,t){var n=e.props,r=n.onWheelStart,i=n.onZoomStart;e.wheelStopEventTimer||(Fl(e),mr(Un(e),t,r),mr(Un(e),t,i))},MEe=function(e,t){var n=e.props,r=n.onWheel,i=n.onZoom,o=e.contentComponent,a=e.setup,s=e.transformState,l=s.scale,u=a.limitToBounds,d=a.centerZoomedOut,h=a.zoomAnimation,m=a.wheel,y=a.disablePadding,b=h.size,w=h.disabled,E=m.step;if(!o)throw new Error("Component not mounted");t.preventDefault(),t.stopPropagation();var _=bEe(t,null),k=xEe(e,_,E,!t.ctrlKey);if(l!==k){var T=t0(e,k),L=aq(t,o,l),O=w||b===0||d||y,D=u&&O,I=x4(e,L.x,L.y,k,T,D),N=I.x,W=I.y;e.previousWheelEvent=t,e.setTransformState(k,N,W),mr(Un(e),t,r),mr(Un(e),t,i)}},LEe=function(e,t){var n=e.props,r=n.onWheelStop,i=n.onZoomStop;i7(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(eq(e,t.x,t.y),e.wheelAnimationTimer=null)},PEe);var o=SEe(e,t);o&&(i7(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,mr(Un(e),t,r),mr(Un(e),t,i))},EEe))},AEe=function(e,t){var n=sq(t);e.pinchStartDistance=n,e.lastDistance=n,e.pinchStartScale=e.transformState.scale,e.isPanning=!1,Fl(e)},OEe=function(e,t){var n=e.contentComponent,r=e.pinchStartDistance,i=e.transformState.scale,o=e.setup,a=o.limitToBounds,s=o.centerZoomedOut,l=o.zoomAnimation,u=l.disabled,d=l.size;if(!(r===null||!n)){var h=_Ee(t,i,n);if(!(!Number.isFinite(h.x)||!Number.isFinite(h.y))){var m=sq(t),y=kEe(e,m);if(y!==i){var b=t0(e,y),w=u||d===0||s,E=a&&w,_=x4(e,h.x,h.y,y,b,E),k=_.x,T=_.y;e.pinchMidpoint=h,e.lastDistance=m,e.setTransformState(y,k,T)}}}},REe=function(e){var t=e.pinchMidpoint;e.velocity=null,e.lastDistance=null,e.pinchMidpoint=null,e.pinchStartScale=null,e.pinchStartDistance=null,eq(e,t==null?void 0:t.x,t==null?void 0:t.y)},lq=function(e,t){var n=e.props.onZoomStop,r=e.setup.doubleClick.animationTime;i7(e.doubleClickStopEventTimer),e.doubleClickStopEventTimer=setTimeout(function(){e.doubleClickStopEventTimer=null,mr(Un(e),t,n)},r)},IEe=function(e,t){var n=e.props,r=n.onZoomStart,i=n.onZoom,o=e.setup.doubleClick,a=o.animationTime,s=o.animationType;mr(Un(e),t,r),iq(e,a,s,function(){return mr(Un(e),t,i)}),lq(e,t)};function DEe(e,t){var n=e.setup,r=e.doubleClickStopEventTimer,i=e.transformState,o=e.contentComponent,a=i.scale,s=e.props,l=s.onZoomStart,u=s.onZoom,d=n.doubleClick,h=d.disabled,m=d.mode,y=d.step,b=d.animationTime,w=d.animationType;if(!h&&!r){if(m==="reset")return IEe(e,t);if(!o)return console.error("No ContentComponent found");var E=m==="zoomOut"?-1:1,_=nq(e,E,y);if(a!==_){mr(Un(e),t,l);var k=aq(t,o,a),T=ZE(e,_,k.x,k.y);if(!T)return console.error("Error during zoom event. New transformation state was not calculated.");mr(Un(e),t,u),ff(e,T,b,w),lq(e,t)}}}var jEe=function(e,t){var n=e.isInitialized,r=e.setup,i=e.wrapperComponent,o=r.doubleClick,a=o.disabled,s=o.excluded,l=t.target,u=i==null?void 0:i.contains(l),d=n&&l&&u&&!a;if(!d)return!1;var h=S4(l,s);return!h},NEe=function(){function e(t){var n=this;this.mounted=!0,this.onChangeCallbacks=new Set,this.wrapperComponent=null,this.contentComponent=null,this.isInitialized=!1,this.bounds=null,this.previousWheelEvent=null,this.wheelStopEventTimer=null,this.wheelAnimationTimer=null,this.isPanning=!1,this.startCoords=null,this.lastTouch=null,this.distance=null,this.lastDistance=null,this.pinchStartDistance=null,this.pinchStartScale=null,this.pinchMidpoint=null,this.doubleClickStopEventTimer=null,this.velocity=null,this.velocityTime=null,this.lastMousePosition=null,this.animate=!1,this.animation=null,this.maxBounds=null,this.pressedKeys={},this.mount=function(){n.initializeWindowEvents()},this.unmount=function(){n.cleanupWindowEvents()},this.update=function(r){t0(n,n.transformState.scale),n.setup=dD(r)},this.initializeWindowEvents=function(){var r,i=o6(),o=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,a=o==null?void 0:o.defaultView;a==null||a.addEventListener("mousedown",n.onPanningStart,i),a==null||a.addEventListener("mousemove",n.onPanning,i),a==null||a.addEventListener("mouseup",n.onPanningStop,i),o==null||o.addEventListener("mouseleave",n.clearPanning,i),a==null||a.addEventListener("keyup",n.setKeyUnPressed,i),a==null||a.addEventListener("keydown",n.setKeyPressed,i)},this.cleanupWindowEvents=function(){var r,i,o=o6(),a=(r=n.wrapperComponent)===null||r===void 0?void 0:r.ownerDocument,s=a==null?void 0:a.defaultView;s==null||s.removeEventListener("mousedown",n.onPanningStart,o),s==null||s.removeEventListener("mousemove",n.onPanning,o),s==null||s.removeEventListener("mouseup",n.onPanningStop,o),a==null||a.removeEventListener("mouseleave",n.clearPanning,o),s==null||s.removeEventListener("keyup",n.setKeyUnPressed,o),s==null||s.removeEventListener("keydown",n.setKeyPressed,o),document.removeEventListener("mouseleave",n.clearPanning,o),Fl(n),(i=n.observer)===null||i===void 0||i.disconnect()},this.handleInitializeWrapperEvents=function(r){var i=o6();r.addEventListener("wheel",n.onWheelZoom,i),r.addEventListener("dblclick",n.onDoubleClick,i),r.addEventListener("touchstart",n.onTouchPanningStart,i),r.addEventListener("touchmove",n.onTouchPanning,i),r.addEventListener("touchend",n.onTouchPanningStop,i)},this.handleInitialize=function(r){var i=n.setup.centerOnInit;n.applyTransformation(),i&&(n.setCenter(),n.observer=new ResizeObserver(function(){var o;n.setCenter(),(o=n.observer)===null||o===void 0||o.disconnect()}),n.observer.observe(r))},this.onWheelZoom=function(r){var i=n.setup.disabled;if(!i){var o=vEe(n,r);if(o){var a=n.isPressingKeys(n.setup.wheel.activationKeys);a&&(TEe(n,r),MEe(n,r),LEe(n,r))}}},this.onPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=oD(n,r);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),Fl(n),lD(n,r),mr(Un(n),r,o))}}},this.onPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(!i){var a=aD(n);if(a){var s=n.isPressingKeys(n.setup.panning.activationKeys);s&&(r.preventDefault(),r.stopPropagation(),uD(n,r.clientX,r.clientY),mr(Un(n),r,o))}}},this.onPanningStop=function(r){var i=n.props.onPanningStop;n.isPanning&&(aEe(n),mr(Un(n),r,i))},this.onPinchStart=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinchingStart,s=o.onZoomStart;if(!i){var l=wEe(n,r);l&&(AEe(n,r),Fl(n),mr(Un(n),r,a),mr(Un(n),r,s))}},this.onPinch=function(r){var i=n.setup.disabled,o=n.props,a=o.onPinching,s=o.onZoom;if(!i){var l=CEe(n);l&&(r.preventDefault(),r.stopPropagation(),OEe(n,r),mr(Un(n),r,a),mr(Un(n),r,s))}},this.onPinchStop=function(r){var i=n.props,o=i.onPinchingStop,a=i.onZoomStop;n.pinchStartScale&&(REe(n),mr(Un(n),r,o),mr(Un(n),r,a))},this.onTouchPanningStart=function(r){var i=n.setup.disabled,o=n.props.onPanningStart;if(!i){var a=oD(n,r);if(a){var s=n.lastTouch&&+new Date-n.lastTouch<200;if(s&&r.touches.length===1)n.onDoubleClick(r);else{n.lastTouch=+new Date,Fl(n);var l=r.touches,u=l.length===1,d=l.length===2;u&&(Fl(n),lD(n,r),mr(Un(n),r,o)),d&&n.onPinchStart(r)}}}},this.onTouchPanning=function(r){var i=n.setup.disabled,o=n.props.onPanning;if(n.isPanning&&r.touches.length===1){if(i)return;var a=aD(n);if(!a)return;r.preventDefault(),r.stopPropagation();var s=r.touches[0];uD(n,s.clientX,s.clientY),mr(Un(n),r,o)}else r.touches.length>1&&n.onPinch(r)},this.onTouchPanningStop=function(r){n.onPanningStop(r),n.onPinchStop(r)},this.onDoubleClick=function(r){var i=n.setup.disabled;if(!i){var o=jEe(n,r);o&&DEe(n,r)}},this.clearPanning=function(r){n.isPanning&&n.onPanningStop(r)},this.setKeyPressed=function(r){n.pressedKeys[r.key]=!0},this.setKeyUnPressed=function(r){n.pressedKeys[r.key]=!1},this.isPressingKeys=function(r){return r.length?Boolean(r.find(function(i){return n.pressedKeys[i]})):!0},this.setTransformState=function(r,i,o){var a=n.props.onTransformed;if(!Number.isNaN(r)&&!Number.isNaN(i)&&!Number.isNaN(o)){r!==n.transformState.scale&&(n.transformState.previousScale=n.transformState.scale,n.transformState.scale=r),n.transformState.positionX=i,n.transformState.positionY=o;var s=Un(n);n.onChangeCallbacks.forEach(function(l){return l(s)}),mr(s,{scale:r,positionX:i,positionY:o},a),n.applyTransformation()}else console.error("Detected NaN set state values")},this.setCenter=function(){if(n.wrapperComponent&&n.contentComponent){var r=oq(n.transformState.scale,n.wrapperComponent,n.contentComponent);n.setTransformState(r.scale,r.positionX,r.positionY)}},this.handleTransformStyles=function(r,i,o){return n.props.customTransform?n.props.customTransform(r,i,o):gEe(r,i,o)},this.applyTransformation=function(){if(!(!n.mounted||!n.contentComponent)){var r=n.transformState,i=r.scale,o=r.positionX,a=r.positionY,s=n.handleTransformStyles(o,a,i);n.contentComponent.style.transform=s}},this.getContext=function(){return Un(n)},this.onChange=function(r){return n.onChangeCallbacks.has(r)||n.onChangeCallbacks.add(r),function(){n.onChangeCallbacks.delete(r)}},this.init=function(r,i){n.cleanupWindowEvents(),n.wrapperComponent=r,n.contentComponent=i,t0(n,n.transformState.scale),n.handleInitializeWrapperEvents(r),n.handleInitialize(i),n.initializeWindowEvents(),n.isInitialized=!0,mr(Un(n),void 0,n.props.onInit)},this.props=t,this.setup=dD(this.props),this.transformState=tq(this.props)}return e}(),QE=Ke.createContext(null),$Ee=function(e,t){return typeof e=="function"?e(t):e},FEe=Ke.forwardRef(function(e,t){var n=S.useState(0),r=n[1],i=e.children,o=S.useRef(new NEe(e)).current,a=$Ee(e.children,Un(o)),s=S.useCallback(function(){typeof i=="function"&&r(function(l){return l+1})},[i]);return S.useImperativeHandle(t,function(){return Un(o)},[o]),S.useEffect(function(){o.update(e)},[o,e]),S.useEffect(function(){return o.onChange(s)},[o,e,s]),Ke.createElement(QE.Provider,{value:o},a)});function BEe(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(!e||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var zEe=`.transform-component-module_wrapper__7HFJe { position: relative; width: -moz-fit-content; width: fit-content; @@ -517,13 +517,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `+fu+f}var il=!1;function pu(f,p){if(!f||il)return"";il=!0;var x=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(p)if(p=function(){throw Error()},Object.defineProperty(p.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(p,[])}catch(We){var P=We}Reflect.construct(f,[],p)}else{try{p.call()}catch(We){P=We}f.call(p.prototype)}else{try{throw Error()}catch(We){P=We}f()}}catch(We){if(We&&P&&typeof We.stack=="string"){for(var M=We.stack.split(` `),R=P.stack.split(` `),U=M.length-1,ae=R.length-1;1<=U&&0<=ae&&M[U]!==R[ae];)ae--;for(;1<=U&&0<=ae;U--,ae--)if(M[U]!==R[ae]){if(U!==1||ae!==1)do if(U--,ae--,0>ae||M[U]!==R[ae]){var he=` -`+M[U].replace(" at new "," at ");return f.displayName&&he.includes("")&&(he=he.replace("",f.displayName)),he}while(1<=U&&0<=ae);break}}}finally{il=!1,Error.prepareStackTrace=x}return(f=f?f.displayName||f.name:"")?hu(f):""}var kp=Object.prototype.hasOwnProperty,wc=[],ol=-1;function ra(f){return{current:f}}function Mn(f){0>ol||(f.current=wc[ol],wc[ol]=null,ol--)}function wn(f,p){ol++,wc[ol]=f.current,f.current=p}var ia={},Hr=ra(ia),ui=ra(!1),oa=ia;function al(f,p){var x=f.type.contextTypes;if(!x)return ia;var P=f.stateNode;if(P&&P.__reactInternalMemoizedUnmaskedChildContext===p)return P.__reactInternalMemoizedMaskedChildContext;var M={},R;for(R in x)M[R]=p[R];return P&&(f=f.stateNode,f.__reactInternalMemoizedUnmaskedChildContext=p,f.__reactInternalMemoizedMaskedChildContext=M),M}function ci(f){return f=f.childContextTypes,f!=null}function Ss(){Mn(ui),Mn(Hr)}function yf(f,p,x){if(Hr.current!==ia)throw Error(a(168));wn(Hr,p),wn(ui,x)}function gu(f,p,x){var P=f.stateNode;if(p=p.childContextTypes,typeof P.getChildContext!="function")return x;P=P.getChildContext();for(var M in P)if(!(M in p))throw Error(a(108,N(f)||"Unknown",M));return o({},x,P)}function ws(f){return f=(f=f.stateNode)&&f.__reactInternalMemoizedMergedChildContext||ia,oa=Hr.current,wn(Hr,f),wn(ui,ui.current),!0}function bf(f,p,x){var P=f.stateNode;if(!P)throw Error(a(169));x?(f=gu(f,p,oa),P.__reactInternalMemoizedMergedChildContext=f,Mn(ui),Mn(Hr),wn(Hr,f)):Mn(ui),wn(ui,x)}var Ri=Math.clz32?Math.clz32:xf,Ep=Math.log,Pp=Math.LN2;function xf(f){return f>>>=0,f===0?32:31-(Ep(f)/Pp|0)|0}var sl=64,Mo=4194304;function ll(f){switch(f&-f){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 f&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return f&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return f}}function mu(f,p){var x=f.pendingLanes;if(x===0)return 0;var P=0,M=f.suspendedLanes,R=f.pingedLanes,U=x&268435455;if(U!==0){var ae=U&~M;ae!==0?P=ll(ae):(R&=U,R!==0&&(P=ll(R)))}else U=x&~M,U!==0?P=ll(U):R!==0&&(P=ll(R));if(P===0)return 0;if(p!==0&&p!==P&&!(p&M)&&(M=P&-P,R=p&-p,M>=R||M===16&&(R&4194240)!==0))return p;if(P&4&&(P|=x&16),p=f.entangledLanes,p!==0)for(f=f.entanglements,p&=P;0x;x++)p.push(f);return p}function $a(f,p,x){f.pendingLanes|=p,p!==536870912&&(f.suspendedLanes=0,f.pingedLanes=0),f=f.eventTimes,p=31-Ri(p),f[p]=x}function wf(f,p){var x=f.pendingLanes&~p;f.pendingLanes=p,f.suspendedLanes=0,f.pingedLanes=0,f.expiredLanes&=p,f.mutableReadLanes&=p,f.entangledLanes&=p,p=f.entanglements;var P=f.eventTimes;for(f=f.expirationTimes;0>=U,M-=U,uo=1<<32-Ri(p)+M|x<Ut?(ti=At,At=null):ti=At.sibling;var Qt=it(ge,At,ve[Ut],et);if(Qt===null){At===null&&(At=ti);break}f&&At&&Qt.alternate===null&&p(ge,At),ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt,At=ti}if(Ut===ve.length)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;UtUt?(ti=At,At=null):ti=At.sibling;var As=it(ge,At,Qt.value,et);if(As===null){At===null&&(At=ti);break}f&&At&&As.alternate===null&&p(ge,At),ue=R(As,ue,Ut),It===null?Oe=As:It.sibling=As,It=As,At=ti}if(Qt.done)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;!Qt.done;Ut++,Qt=ve.next())Qt=Rt(ge,Qt.value,et),Qt!==null&&(ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt);return zn&&ul(ge,Ut),Oe}for(At=P(ge,At);!Qt.done;Ut++,Qt=ve.next())Qt=Wn(At,ge,Ut,Qt.value,et),Qt!==null&&(f&&Qt.alternate!==null&&At.delete(Qt.key===null?Ut:Qt.key),ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt);return f&&At.forEach(function(ki){return p(ge,ki)}),zn&&ul(ge,Ut),Oe}function ma(ge,ue,ve,et){if(typeof ve=="object"&&ve!==null&&ve.type===d&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case l:e:{for(var Oe=ve.key,It=ue;It!==null;){if(It.key===Oe){if(Oe=ve.type,Oe===d){if(It.tag===7){x(ge,It.sibling),ue=M(It,ve.props.children),ue.return=ge,ge=ue;break e}}else if(It.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===T&&G0(Oe)===It.type){x(ge,It.sibling),ue=M(It,ve.props),ue.ref=za(ge,It,ve),ue.return=ge,ge=ue;break e}x(ge,It);break}else p(ge,It);It=It.sibling}ve.type===d?(ue=Cl(ve.props.children,ge.mode,et,ve.key),ue.return=ge,ge=ue):(et=Xf(ve.type,ve.key,ve.props,null,ge.mode,et),et.ref=za(ge,ue,ve),et.return=ge,ge=et)}return U(ge);case u:e:{for(It=ve.key;ue!==null;){if(ue.key===It)if(ue.tag===4&&ue.stateNode.containerInfo===ve.containerInfo&&ue.stateNode.implementation===ve.implementation){x(ge,ue.sibling),ue=M(ue,ve.children||[]),ue.return=ge,ge=ue;break e}else{x(ge,ue);break}else p(ge,ue);ue=ue.sibling}ue=_l(ve,ge.mode,et),ue.return=ge,ge=ue}return U(ge);case T:return It=ve._init,ma(ge,ue,It(ve._payload),et)}if(V(ve))return Ln(ge,ue,ve,et);if(D(ve))return gr(ge,ue,ve,et);Qi(ge,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ue!==null&&ue.tag===6?(x(ge,ue.sibling),ue=M(ue,ve),ue.return=ge,ge=ue):(x(ge,ue),ue=pg(ve,ge.mode,et),ue.return=ge,ge=ue),U(ge)):x(ge,ue)}return ma}var Rc=D2(!0),j2=D2(!1),Rf={},Ro=ra(Rf),Ha=ra(Rf),ie=ra(Rf);function be(f){if(f===Rf)throw Error(a(174));return f}function me(f,p){wn(ie,p),wn(Ha,f),wn(Ro,Rf),f=Q(p),Mn(Ro),wn(Ro,f)}function rt(){Mn(Ro),Mn(Ha),Mn(ie)}function Lt(f){var p=be(ie.current),x=be(Ro.current);p=G(x,f.type,p),x!==p&&(wn(Ha,f),wn(Ro,p))}function en(f){Ha.current===f&&(Mn(Ro),Mn(Ha))}var Nt=ra(0);function dn(f){for(var p=f;p!==null;){if(p.tag===13){var x=p.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||xc(x)||vf(x)))return p}else if(p.tag===19&&p.memoizedProps.revealOrder!==void 0){if(p.flags&128)return p}else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===f)break;for(;p.sibling===null;){if(p.return===null||p.return===f)return null;p=p.return}p.sibling.return=p.return,p=p.sibling}return null}var If=[];function q0(){for(var f=0;fx?x:4,f(!0);var P=Ic.transition;Ic.transition={};try{f(!1),p()}finally{Gt=x,Ic.transition=P}}function zc(){return ji().memoizedState}function tv(f,p,x){var P=qr(f);if(x={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null},Wc(f))Uc(p,x);else if(x=Oc(f,p,x,P),x!==null){var M=_i();jo(x,f,P,M),Bf(x,p,P)}}function Hc(f,p,x){var P=qr(f),M={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null};if(Wc(f))Uc(p,M);else{var R=f.alternate;if(f.lanes===0&&(R===null||R.lanes===0)&&(R=p.lastRenderedReducer,R!==null))try{var U=p.lastRenderedState,ae=R(U,x);if(M.hasEagerState=!0,M.eagerState=ae,q(ae,U)){var he=p.interleaved;he===null?(M.next=M,Af(p)):(M.next=he.next,he.next=M),p.interleaved=M;return}}catch{}finally{}x=Oc(f,p,M,P),x!==null&&(M=_i(),jo(x,f,P,M),Bf(x,p,P))}}function Wc(f){var p=f.alternate;return f===Cn||p!==null&&p===Cn}function Uc(f,p){Df=an=!0;var x=f.pending;x===null?p.next=p:(p.next=x.next,x.next=p),f.pending=p}function Bf(f,p,x){if(x&4194240){var P=p.lanes;P&=f.pendingLanes,x|=P,p.lanes=x,vu(f,x)}}var ks={readContext:co,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},A4={readContext:co,useCallback:function(f,p){return fi().memoizedState=[f,p===void 0?null:p],f},useContext:co,useEffect:F2,useImperativeHandle:function(f,p,x){return x=x!=null?x.concat([f]):null,Su(4194308,4,Or.bind(null,p,f),x)},useLayoutEffect:function(f,p){return Su(4194308,4,f,p)},useInsertionEffect:function(f,p){return Su(4,2,f,p)},useMemo:function(f,p){var x=fi();return p=p===void 0?null:p,f=f(),x.memoizedState=[f,p],f},useReducer:function(f,p,x){var P=fi();return p=x!==void 0?x(p):p,P.memoizedState=P.baseState=p,f={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:f,lastRenderedState:p},P.queue=f,f=f.dispatch=tv.bind(null,Cn,f),[P.memoizedState,f]},useRef:function(f){var p=fi();return f={current:f},p.memoizedState=f},useState:$2,useDebugValue:Q0,useDeferredValue:function(f){return fi().memoizedState=f},useTransition:function(){var f=$2(!1),p=f[0];return f=ev.bind(null,f[1]),fi().memoizedState=f,[p,f]},useMutableSource:function(){},useSyncExternalStore:function(f,p,x){var P=Cn,M=fi();if(zn){if(x===void 0)throw Error(a(407));x=x()}else{if(x=p(),ei===null)throw Error(a(349));xu&30||Z0(P,p,x)}M.memoizedState=x;var R={value:x,getSnapshot:p};return M.queue=R,F2(fl.bind(null,P,R,f),[f]),P.flags|=2048,$f(9,Fc.bind(null,P,R,x,p),void 0,null),x},useId:function(){var f=fi(),p=ei.identifierPrefix;if(zn){var x=Fa,P=uo;x=(P&~(1<<32-Ri(P)-1)).toString(32)+x,p=":"+p+"R"+x,x=Dc++,0")&&(he=he.replace("",f.displayName)),he}while(1<=U&&0<=ae);break}}}finally{il=!1,Error.prepareStackTrace=x}return(f=f?f.displayName||f.name:"")?hu(f):""}var kp=Object.prototype.hasOwnProperty,wc=[],ol=-1;function ra(f){return{current:f}}function Mn(f){0>ol||(f.current=wc[ol],wc[ol]=null,ol--)}function wn(f,p){ol++,wc[ol]=f.current,f.current=p}var ia={},Hr=ra(ia),ui=ra(!1),oa=ia;function al(f,p){var x=f.type.contextTypes;if(!x)return ia;var P=f.stateNode;if(P&&P.__reactInternalMemoizedUnmaskedChildContext===p)return P.__reactInternalMemoizedMaskedChildContext;var M={},R;for(R in x)M[R]=p[R];return P&&(f=f.stateNode,f.__reactInternalMemoizedUnmaskedChildContext=p,f.__reactInternalMemoizedMaskedChildContext=M),M}function ci(f){return f=f.childContextTypes,f!=null}function Ss(){Mn(ui),Mn(Hr)}function yf(f,p,x){if(Hr.current!==ia)throw Error(a(168));wn(Hr,p),wn(ui,x)}function gu(f,p,x){var P=f.stateNode;if(p=p.childContextTypes,typeof P.getChildContext!="function")return x;P=P.getChildContext();for(var M in P)if(!(M in p))throw Error(a(108,N(f)||"Unknown",M));return o({},x,P)}function ws(f){return f=(f=f.stateNode)&&f.__reactInternalMemoizedMergedChildContext||ia,oa=Hr.current,wn(Hr,f),wn(ui,ui.current),!0}function bf(f,p,x){var P=f.stateNode;if(!P)throw Error(a(169));x?(f=gu(f,p,oa),P.__reactInternalMemoizedMergedChildContext=f,Mn(ui),Mn(Hr),wn(Hr,f)):Mn(ui),wn(ui,x)}var Ri=Math.clz32?Math.clz32:xf,Ep=Math.log,Pp=Math.LN2;function xf(f){return f>>>=0,f===0?32:31-(Ep(f)/Pp|0)|0}var sl=64,Lo=4194304;function ll(f){switch(f&-f){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 f&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return f&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return f}}function mu(f,p){var x=f.pendingLanes;if(x===0)return 0;var P=0,M=f.suspendedLanes,R=f.pingedLanes,U=x&268435455;if(U!==0){var ae=U&~M;ae!==0?P=ll(ae):(R&=U,R!==0&&(P=ll(R)))}else U=x&~M,U!==0?P=ll(U):R!==0&&(P=ll(R));if(P===0)return 0;if(p!==0&&p!==P&&!(p&M)&&(M=P&-P,R=p&-p,M>=R||M===16&&(R&4194240)!==0))return p;if(P&4&&(P|=x&16),p=f.entangledLanes,p!==0)for(f=f.entanglements,p&=P;0x;x++)p.push(f);return p}function $a(f,p,x){f.pendingLanes|=p,p!==536870912&&(f.suspendedLanes=0,f.pingedLanes=0),f=f.eventTimes,p=31-Ri(p),f[p]=x}function wf(f,p){var x=f.pendingLanes&~p;f.pendingLanes=p,f.suspendedLanes=0,f.pingedLanes=0,f.expiredLanes&=p,f.mutableReadLanes&=p,f.entangledLanes&=p,p=f.entanglements;var P=f.eventTimes;for(f=f.expirationTimes;0>=U,M-=U,uo=1<<32-Ri(p)+M|x<Ut?(ti=At,At=null):ti=At.sibling;var Qt=it(ge,At,ve[Ut],et);if(Qt===null){At===null&&(At=ti);break}f&&At&&Qt.alternate===null&&p(ge,At),ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt,At=ti}if(Ut===ve.length)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;UtUt?(ti=At,At=null):ti=At.sibling;var As=it(ge,At,Qt.value,et);if(As===null){At===null&&(At=ti);break}f&&At&&As.alternate===null&&p(ge,At),ue=R(As,ue,Ut),It===null?Oe=As:It.sibling=As,It=As,At=ti}if(Qt.done)return x(ge,At),zn&&ul(ge,Ut),Oe;if(At===null){for(;!Qt.done;Ut++,Qt=ve.next())Qt=Rt(ge,Qt.value,et),Qt!==null&&(ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt);return zn&&ul(ge,Ut),Oe}for(At=P(ge,At);!Qt.done;Ut++,Qt=ve.next())Qt=Wn(At,ge,Ut,Qt.value,et),Qt!==null&&(f&&Qt.alternate!==null&&At.delete(Qt.key===null?Ut:Qt.key),ue=R(Qt,ue,Ut),It===null?Oe=Qt:It.sibling=Qt,It=Qt);return f&&At.forEach(function(ki){return p(ge,ki)}),zn&&ul(ge,Ut),Oe}function ma(ge,ue,ve,et){if(typeof ve=="object"&&ve!==null&&ve.type===d&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case l:e:{for(var Oe=ve.key,It=ue;It!==null;){if(It.key===Oe){if(Oe=ve.type,Oe===d){if(It.tag===7){x(ge,It.sibling),ue=M(It,ve.props.children),ue.return=ge,ge=ue;break e}}else if(It.elementType===Oe||typeof Oe=="object"&&Oe!==null&&Oe.$$typeof===T&&G0(Oe)===It.type){x(ge,It.sibling),ue=M(It,ve.props),ue.ref=za(ge,It,ve),ue.return=ge,ge=ue;break e}x(ge,It);break}else p(ge,It);It=It.sibling}ve.type===d?(ue=Cl(ve.props.children,ge.mode,et,ve.key),ue.return=ge,ge=ue):(et=Xf(ve.type,ve.key,ve.props,null,ge.mode,et),et.ref=za(ge,ue,ve),et.return=ge,ge=et)}return U(ge);case u:e:{for(It=ve.key;ue!==null;){if(ue.key===It)if(ue.tag===4&&ue.stateNode.containerInfo===ve.containerInfo&&ue.stateNode.implementation===ve.implementation){x(ge,ue.sibling),ue=M(ue,ve.children||[]),ue.return=ge,ge=ue;break e}else{x(ge,ue);break}else p(ge,ue);ue=ue.sibling}ue=_l(ve,ge.mode,et),ue.return=ge,ge=ue}return U(ge);case T:return It=ve._init,ma(ge,ue,It(ve._payload),et)}if(V(ve))return Ln(ge,ue,ve,et);if(D(ve))return gr(ge,ue,ve,et);Qi(ge,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ue!==null&&ue.tag===6?(x(ge,ue.sibling),ue=M(ue,ve),ue.return=ge,ge=ue):(x(ge,ue),ue=pg(ve,ge.mode,et),ue.return=ge,ge=ue),U(ge)):x(ge,ue)}return ma}var Rc=D2(!0),j2=D2(!1),Rf={},Io=ra(Rf),Ha=ra(Rf),ie=ra(Rf);function be(f){if(f===Rf)throw Error(a(174));return f}function me(f,p){wn(ie,p),wn(Ha,f),wn(Io,Rf),f=Q(p),Mn(Io),wn(Io,f)}function rt(){Mn(Io),Mn(Ha),Mn(ie)}function Lt(f){var p=be(ie.current),x=be(Io.current);p=G(x,f.type,p),x!==p&&(wn(Ha,f),wn(Io,p))}function en(f){Ha.current===f&&(Mn(Io),Mn(Ha))}var Nt=ra(0);function dn(f){for(var p=f;p!==null;){if(p.tag===13){var x=p.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||xc(x)||vf(x)))return p}else if(p.tag===19&&p.memoizedProps.revealOrder!==void 0){if(p.flags&128)return p}else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===f)break;for(;p.sibling===null;){if(p.return===null||p.return===f)return null;p=p.return}p.sibling.return=p.return,p=p.sibling}return null}var If=[];function q0(){for(var f=0;fx?x:4,f(!0);var P=Ic.transition;Ic.transition={};try{f(!1),p()}finally{Gt=x,Ic.transition=P}}function zc(){return ji().memoizedState}function tv(f,p,x){var P=qr(f);if(x={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null},Wc(f))Uc(p,x);else if(x=Oc(f,p,x,P),x!==null){var M=_i();No(x,f,P,M),Bf(x,p,P)}}function Hc(f,p,x){var P=qr(f),M={lane:P,action:x,hasEagerState:!1,eagerState:null,next:null};if(Wc(f))Uc(p,M);else{var R=f.alternate;if(f.lanes===0&&(R===null||R.lanes===0)&&(R=p.lastRenderedReducer,R!==null))try{var U=p.lastRenderedState,ae=R(U,x);if(M.hasEagerState=!0,M.eagerState=ae,q(ae,U)){var he=p.interleaved;he===null?(M.next=M,Af(p)):(M.next=he.next,he.next=M),p.interleaved=M;return}}catch{}finally{}x=Oc(f,p,M,P),x!==null&&(M=_i(),No(x,f,P,M),Bf(x,p,P))}}function Wc(f){var p=f.alternate;return f===Cn||p!==null&&p===Cn}function Uc(f,p){Df=an=!0;var x=f.pending;x===null?p.next=p:(p.next=x.next,x.next=p),f.pending=p}function Bf(f,p,x){if(x&4194240){var P=p.lanes;P&=f.pendingLanes,x|=P,p.lanes=x,vu(f,x)}}var ks={readContext:co,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},A4={readContext:co,useCallback:function(f,p){return fi().memoizedState=[f,p===void 0?null:p],f},useContext:co,useEffect:F2,useImperativeHandle:function(f,p,x){return x=x!=null?x.concat([f]):null,Su(4194308,4,Or.bind(null,p,f),x)},useLayoutEffect:function(f,p){return Su(4194308,4,f,p)},useInsertionEffect:function(f,p){return Su(4,2,f,p)},useMemo:function(f,p){var x=fi();return p=p===void 0?null:p,f=f(),x.memoizedState=[f,p],f},useReducer:function(f,p,x){var P=fi();return p=x!==void 0?x(p):p,P.memoizedState=P.baseState=p,f={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:f,lastRenderedState:p},P.queue=f,f=f.dispatch=tv.bind(null,Cn,f),[P.memoizedState,f]},useRef:function(f){var p=fi();return f={current:f},p.memoizedState=f},useState:$2,useDebugValue:Q0,useDeferredValue:function(f){return fi().memoizedState=f},useTransition:function(){var f=$2(!1),p=f[0];return f=ev.bind(null,f[1]),fi().memoizedState=f,[p,f]},useMutableSource:function(){},useSyncExternalStore:function(f,p,x){var P=Cn,M=fi();if(zn){if(x===void 0)throw Error(a(407));x=x()}else{if(x=p(),ei===null)throw Error(a(349));xu&30||Z0(P,p,x)}M.memoizedState=x;var R={value:x,getSnapshot:p};return M.queue=R,F2(fl.bind(null,P,R,f),[f]),P.flags|=2048,$f(9,Fc.bind(null,P,R,x,p),void 0,null),x},useId:function(){var f=fi(),p=ei.identifierPrefix;if(zn){var x=Fa,P=uo;x=(P&~(1<<32-Ri(P)-1)).toString(32)+x,p=":"+p+"R"+x,x=Dc++,0ig&&(p.flags|=128,P=!0,qc(M,!1),p.lanes=4194304)}else{if(!P)if(f=dn(R),f!==null){if(p.flags|=128,P=!0,f=f.updateQueue,f!==null&&(p.updateQueue=f,p.flags|=4),qc(M,!0),M.tail===null&&M.tailMode==="hidden"&&!R.alternate&&!zn)return Si(p),null}else 2*Xn()-M.renderingStartTime>ig&&x!==1073741824&&(p.flags|=128,P=!0,qc(M,!1),p.lanes=4194304);M.isBackwards?(R.sibling=p.child,p.child=R):(f=M.last,f!==null?f.sibling=R:p.child=R,M.last=R)}return M.tail!==null?(p=M.tail,M.rendering=p,M.tail=p.sibling,M.renderingStartTime=Xn(),p.sibling=null,f=Nt.current,wn(Nt,P?f&1|2:f&1),p):(Si(p),null);case 22:case 23:return nd(),x=p.memoizedState!==null,f!==null&&f.memoizedState!==null!==x&&(p.flags|=8192),x&&p.mode&1?ho&1073741824&&(Si(p),Be&&p.subtreeFlags&6&&(p.flags|=8192)):Si(p),null;case 24:return null;case 25:return null}throw Error(a(156,p.tag))}function uv(f,p){switch(H0(p),p.tag){case 1:return ci(p.type)&&Ss(),f=p.flags,f&65536?(p.flags=f&-65537|128,p):null;case 3:return rt(),Mn(ui),Mn(Hr),q0(),f=p.flags,f&65536&&!(f&128)?(p.flags=f&-65537|128,p):null;case 5:return en(p),null;case 13:if(Mn(Nt),f=p.memoizedState,f!==null&&f.dehydrated!==null){if(p.alternate===null)throw Error(a(340));Mc()}return f=p.flags,f&65536?(p.flags=f&-65537|128,p):null;case 19:return Mn(Nt),null;case 4:return rt(),null;case 10:return Mf(p.type._context),null;case 22:case 23:return nd(),null;case 24:return null;default:return null}}var pl=!1,Ur=!1,N4=typeof WeakSet=="function"?WeakSet:Set,st=null;function Kc(f,p){var x=f.ref;if(x!==null)if(typeof x=="function")try{x(null)}catch(P){Qn(f,p,P)}else x.current=null}function fa(f,p,x){try{x()}catch(P){Qn(f,p,P)}}var Vp=!1;function Cu(f,p){for(Y(f.containerInfo),st=p;st!==null;)if(f=st,p=f.child,(f.subtreeFlags&1028)!==0&&p!==null)p.return=f,st=p;else for(;st!==null;){f=st;try{var x=f.alternate;if(f.flags&1024)switch(f.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var P=x.memoizedProps,M=x.memoizedState,R=f.stateNode,U=R.getSnapshotBeforeUpdate(f.elementType===f.type?P:sa(f.type,P),M);R.__reactInternalSnapshotBeforeUpdate=U}break;case 3:Be&&Xi(f.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(ae){Qn(f,f.return,ae)}if(p=f.sibling,p!==null){p.return=f.return,st=p;break}st=f.return}return x=Vp,Vp=!1,x}function wi(f,p,x){var P=p.updateQueue;if(P=P!==null?P.lastEffect:null,P!==null){var M=P=P.next;do{if((M.tag&f)===f){var R=M.destroy;M.destroy=void 0,R!==void 0&&fa(p,x,R)}M=M.next}while(M!==P)}}function Gp(f,p){if(p=p.updateQueue,p=p!==null?p.lastEffect:null,p!==null){var x=p=p.next;do{if((x.tag&f)===f){var P=x.create;x.destroy=P()}x=x.next}while(x!==p)}}function qp(f){var p=f.ref;if(p!==null){var x=f.stateNode;switch(f.tag){case 5:f=X(x);break;default:f=x}typeof p=="function"?p(f):p.current=f}}function cv(f){var p=f.alternate;p!==null&&(f.alternate=null,cv(p)),f.child=null,f.deletions=null,f.sibling=null,f.tag===5&&(p=f.stateNode,p!==null&&mt(p)),f.stateNode=null,f.return=null,f.dependencies=null,f.memoizedProps=null,f.memoizedState=null,f.pendingProps=null,f.stateNode=null,f.updateQueue=null}function Yc(f){return f.tag===5||f.tag===3||f.tag===4}function Ps(f){e:for(;;){for(;f.sibling===null;){if(f.return===null||Yc(f.return))return null;f=f.return}for(f.sibling.return=f.return,f=f.sibling;f.tag!==5&&f.tag!==6&&f.tag!==18;){if(f.flags&2||f.child===null||f.tag===4)continue e;f.child.return=f,f=f.child}if(!(f.flags&2))return f.stateNode}}function Kp(f,p,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,p?zr(x,f,p):Ct(x,f);else if(P!==4&&(f=f.child,f!==null))for(Kp(f,p,x),f=f.sibling;f!==null;)Kp(f,p,x),f=f.sibling}function dv(f,p,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,p?pt(x,f,p):Me(x,f);else if(P!==4&&(f=f.child,f!==null))for(dv(f,p,x),f=f.sibling;f!==null;)dv(f,p,x),f=f.sibling}var Ir=null,ha=!1;function pa(f,p,x){for(x=x.child;x!==null;)Vr(f,p,x),x=x.sibling}function Vr(f,p,x){if(qt&&typeof qt.onCommitFiberUnmount=="function")try{qt.onCommitFiberUnmount(cn,x)}catch{}switch(x.tag){case 5:Ur||Kc(x,p);case 6:if(Be){var P=Ir,M=ha;Ir=null,pa(f,p,x),Ir=P,ha=M,Ir!==null&&(ha?Bn(Ir,x.stateNode):rr(Ir,x.stateNode))}else pa(f,p,x);break;case 18:Be&&Ir!==null&&(ha?N0(Ir,x.stateNode):j0(Ir,x.stateNode));break;case 4:Be?(P=Ir,M=ha,Ir=x.stateNode.containerInfo,ha=!0,pa(f,p,x),Ir=P,ha=M):(Ae&&(P=x.stateNode.containerInfo,M=Na(P),bc(P,M)),pa(f,p,x));break;case 0:case 11:case 14:case 15:if(!Ur&&(P=x.updateQueue,P!==null&&(P=P.lastEffect,P!==null))){M=P=P.next;do{var R=M,U=R.destroy;R=R.tag,U!==void 0&&(R&2||R&4)&&fa(x,p,U),M=M.next}while(M!==P)}pa(f,p,x);break;case 1:if(!Ur&&(Kc(x,p),P=x.stateNode,typeof P.componentWillUnmount=="function"))try{P.props=x.memoizedProps,P.state=x.memoizedState,P.componentWillUnmount()}catch(ae){Qn(x,p,ae)}pa(f,p,x);break;case 21:pa(f,p,x);break;case 22:x.mode&1?(Ur=(P=Ur)||x.memoizedState!==null,pa(f,p,x),Ur=P):pa(f,p,x);break;default:pa(f,p,x)}}function Yp(f){var p=f.updateQueue;if(p!==null){f.updateQueue=null;var x=f.stateNode;x===null&&(x=f.stateNode=new N4),p.forEach(function(P){var M=rb.bind(null,f,P);x.has(P)||(x.add(P),P.then(M,M))})}}function Io(f,p){var x=p.deletions;if(x!==null)for(var P=0;P";case Jp:return":has("+(pv(f)||"")+")";case eg:return'[role="'+f.value+'"]';case tg:return'"'+f.value+'"';case Xc:return'[data-testname="'+f.value+'"]';default:throw Error(a(365))}}function Zc(f,p){var x=[];f=[f,0];for(var P=0;PM&&(M=U),P&=~R}if(P=M,P=Xn()-P,P=(120>P?120:480>P?480:1080>P?1080:1920>P?1920:3e3>P?3e3:4320>P?4320:1960*$4(P/1960))-P,10f?16:f,Tt===null)var P=!1;else{if(f=Tt,Tt=null,og=0,Wt&6)throw Error(a(331));var M=Wt;for(Wt|=4,st=f.current;st!==null;){var R=st,U=R.child;if(st.flags&16){var ae=R.deletions;if(ae!==null){for(var he=0;heXn()-vv?xl(f,0):mv|=x),pi(f,p)}function wv(f,p){p===0&&(f.mode&1?(p=Mo,Mo<<=1,!(Mo&130023424)&&(Mo=4194304)):p=1);var x=_i();f=la(f,p),f!==null&&($a(f,p,x),pi(f,x))}function B4(f){var p=f.memoizedState,x=0;p!==null&&(x=p.retryLane),wv(f,x)}function rb(f,p){var x=0;switch(f.tag){case 13:var P=f.stateNode,M=f.memoizedState;M!==null&&(x=M.retryLane);break;case 19:P=f.stateNode;break;default:throw Error(a(314))}P!==null&&P.delete(p),wv(f,x)}var Cv;Cv=function(f,p,x){if(f!==null)if(f.memoizedProps!==p.pendingProps||ui.current)Ji=!0;else{if(!(f.lanes&x)&&!(p.flags&128))return Ji=!1,D4(f,p,x);Ji=!!(f.flags&131072)}else Ji=!1,zn&&p.flags&1048576&&z0(p,Ar,p.index);switch(p.lanes=0,p.tag){case 2:var P=p.type;Wa(f,p),f=p.pendingProps;var M=al(p,Hr.current);Ac(p,x),M=Y0(null,p,P,f,M,x);var R=jc();return p.flags|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0?(p.tag=1,p.memoizedState=null,p.updateQueue=null,ci(P)?(R=!0,ws(p)):R=!1,p.memoizedState=M.state!==null&&M.state!==void 0?M.state:null,U0(p),M.updater=ua,p.stateNode=M,M._reactInternals=p,V0(p,P,f,x),p=ca(null,p,P,!0,R,x)):(p.tag=0,zn&&R&&Ii(p),Ni(null,p,M,x),p=p.child),p;case 16:P=p.elementType;e:{switch(Wa(f,p),f=p.pendingProps,M=P._init,P=M(P._payload),p.type=P,M=p.tag=fg(P),f=sa(P,f),M){case 0:p=iv(null,p,P,f,x);break e;case 1:p=K2(null,p,P,f,x);break e;case 11:p=U2(null,p,P,f,x);break e;case 14:p=hl(null,p,P,sa(P.type,f),x);break e}throw Error(a(306,P,""))}return p;case 0:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),iv(f,p,P,M,x);case 1:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),K2(f,p,P,M,x);case 3:e:{if(Y2(p),f===null)throw Error(a(387));P=p.pendingProps,R=p.memoizedState,M=R.element,A2(f,p),jp(p,P,null,x);var U=p.memoizedState;if(P=U.element,bt&&R.isDehydrated)if(R={element:P,isDehydrated:!1,cache:U.cache,pendingSuspenseBoundaries:U.pendingSuspenseBoundaries,transitions:U.transitions},p.updateQueue.baseState=R,p.memoizedState=R,p.flags&256){M=Vc(Error(a(423)),p),p=X2(f,p,P,x,M);break e}else if(P!==M){M=Vc(Error(a(424)),p),p=X2(f,p,P,x,M);break e}else for(bt&&(Ao=M0(p.stateNode.containerInfo),Zn=p,zn=!0,Zi=null,Oo=!1),x=j2(p,null,P,x),p.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(Mc(),P===M){p=Es(f,p,x);break e}Ni(f,p,P,x)}p=p.child}return p;case 5:return Lt(p),f===null&&kf(p),P=p.type,M=p.pendingProps,R=f!==null?f.memoizedProps:null,U=M.children,Le(P,M)?U=null:R!==null&&Le(P,R)&&(p.flags|=32),q2(f,p),Ni(f,p,U,x),p.child;case 6:return f===null&&kf(p),null;case 13:return Z2(f,p,x);case 4:return me(p,p.stateNode.containerInfo),P=p.pendingProps,f===null?p.child=Rc(p,null,P,x):Ni(f,p,P,x),p.child;case 11:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),U2(f,p,P,M,x);case 7:return Ni(f,p,p.pendingProps,x),p.child;case 8:return Ni(f,p,p.pendingProps.children,x),p.child;case 12:return Ni(f,p,p.pendingProps.children,x),p.child;case 10:e:{if(P=p.type._context,M=p.pendingProps,R=p.memoizedProps,U=M.value,L2(p,P,U),R!==null)if(q(R.value,U)){if(R.children===M.children&&!ui.current){p=Es(f,p,x);break e}}else for(R=p.child,R!==null&&(R.return=p);R!==null;){var ae=R.dependencies;if(ae!==null){U=R.child;for(var he=ae.firstContext;he!==null;){if(he.context===P){if(R.tag===1){he=_s(-1,x&-x),he.tag=2;var We=R.updateQueue;if(We!==null){We=We.shared;var ct=We.pending;ct===null?he.next=he:(he.next=ct.next,ct.next=he),We.pending=he}}R.lanes|=x,he=R.alternate,he!==null&&(he.lanes|=x),Lf(R.return,x,p),ae.lanes|=x;break}he=he.next}}else if(R.tag===10)U=R.type===p.type?null:R.child;else if(R.tag===18){if(U=R.return,U===null)throw Error(a(341));U.lanes|=x,ae=U.alternate,ae!==null&&(ae.lanes|=x),Lf(U,x,p),U=R.sibling}else U=R.child;if(U!==null)U.return=R;else for(U=R;U!==null;){if(U===p){U=null;break}if(R=U.sibling,R!==null){R.return=U.return,U=R;break}U=U.return}R=U}Ni(f,p,M.children,x),p=p.child}return p;case 9:return M=p.type,P=p.pendingProps.children,Ac(p,x),M=co(M),P=P(M),p.flags|=1,Ni(f,p,P,x),p.child;case 14:return P=p.type,M=sa(P,p.pendingProps),M=sa(P.type,M),hl(f,p,P,M,x);case 15:return V2(f,p,p.type,p.pendingProps,x);case 17:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),Wa(f,p),p.tag=1,ci(P)?(f=!0,ws(p)):f=!1,Ac(p,x),R2(p,P,M),V0(p,P,M,x),ca(null,p,P,!0,f,x);case 19:return J2(f,p,x);case 22:return G2(f,p,x)}throw Error(a(156,p.tag))};function Bi(f,p){return Ec(f,p)}function Ua(f,p,x,P){this.tag=f,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=p,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=P,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function No(f,p,x,P){return new Ua(f,p,x,P)}function _v(f){return f=f.prototype,!(!f||!f.isReactComponent)}function fg(f){if(typeof f=="function")return _v(f)?1:0;if(f!=null){if(f=f.$$typeof,f===w)return 11;if(f===k)return 14}return 2}function go(f,p){var x=f.alternate;return x===null?(x=No(f.tag,p,f.key,f.mode),x.elementType=f.elementType,x.type=f.type,x.stateNode=f.stateNode,x.alternate=f,f.alternate=x):(x.pendingProps=p,x.type=f.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=f.flags&14680064,x.childLanes=f.childLanes,x.lanes=f.lanes,x.child=f.child,x.memoizedProps=f.memoizedProps,x.memoizedState=f.memoizedState,x.updateQueue=f.updateQueue,p=f.dependencies,x.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext},x.sibling=f.sibling,x.index=f.index,x.ref=f.ref,x}function Xf(f,p,x,P,M,R){var U=2;if(P=f,typeof f=="function")_v(f)&&(U=1);else if(typeof f=="string")U=5;else e:switch(f){case d:return Cl(x.children,M,R,p);case h:U=8,M|=8;break;case m:return f=No(12,x,p,M|2),f.elementType=m,f.lanes=R,f;case E:return f=No(13,x,p,M),f.elementType=E,f.lanes=R,f;case _:return f=No(19,x,p,M),f.elementType=_,f.lanes=R,f;case L:return hg(x,M,R,p);default:if(typeof f=="object"&&f!==null)switch(f.$$typeof){case y:U=10;break e;case b:U=9;break e;case w:U=11;break e;case k:U=14;break e;case T:U=16,P=null;break e}throw Error(a(130,f==null?f:typeof f,""))}return p=No(U,x,p,M),p.elementType=f,p.type=P,p.lanes=R,p}function Cl(f,p,x,P){return f=No(7,f,P,p),f.lanes=x,f}function hg(f,p,x,P){return f=No(22,f,P,p),f.elementType=L,f.lanes=x,f.stateNode={isHidden:!1},f}function pg(f,p,x){return f=No(6,f,null,p),f.lanes=x,f}function _l(f,p,x){return p=No(4,f.children!==null?f.children:[],f.key,p),p.lanes=x,p.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},p}function Zf(f,p,x,P,M){this.tag=p,this.containerInfo=f,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=tt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=kc(0),this.expirationTimes=kc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kc(0),this.identifierPrefix=P,this.onRecoverableError=M,bt&&(this.mutableSourceEagerHydrationData=null)}function ib(f,p,x,P,M,R,U,ae,he){return f=new Zf(f,p,x,ae,he),p===1?(p=1,R===!0&&(p|=8)):p=0,R=No(3,null,null,p),f.current=R,R.stateNode=f,R.memoizedState={element:P,isDehydrated:x,cache:null,transitions:null,pendingSuspenseBoundaries:null},U0(R),f}function kv(f){if(!f)return ia;f=f._reactInternals;e:{if(W(f)!==f||f.tag!==1)throw Error(a(170));var p=f;do{switch(p.tag){case 3:p=p.stateNode.context;break e;case 1:if(ci(p.type)){p=p.stateNode.__reactInternalMemoizedMergedChildContext;break e}}p=p.return}while(p!==null);throw Error(a(171))}if(f.tag===1){var x=f.type;if(ci(x))return gu(f,x,p)}return p}function Ev(f){var p=f._reactInternals;if(p===void 0)throw typeof f.render=="function"?Error(a(188)):(f=Object.keys(f).join(","),Error(a(268,f)));return f=ne(p),f===null?null:f.stateNode}function Qf(f,p){if(f=f.memoizedState,f!==null&&f.dehydrated!==null){var x=f.retryLane;f.retryLane=x!==0&&x=We&&R>=Rt&&M<=ct&&U<=it){f.splice(p,1);break}else if(P!==We||x.width!==he.width||itU){if(!(R!==Rt||x.height!==he.height||ctM)){We>P&&(he.width+=We-P,he.x=P),ctR&&(he.height+=Rt-R,he.y=R),itx&&(x=U)),Uig&&(p.flags|=128,P=!0,qc(M,!1),p.lanes=4194304)}else{if(!P)if(f=dn(R),f!==null){if(p.flags|=128,P=!0,f=f.updateQueue,f!==null&&(p.updateQueue=f,p.flags|=4),qc(M,!0),M.tail===null&&M.tailMode==="hidden"&&!R.alternate&&!zn)return Si(p),null}else 2*Xn()-M.renderingStartTime>ig&&x!==1073741824&&(p.flags|=128,P=!0,qc(M,!1),p.lanes=4194304);M.isBackwards?(R.sibling=p.child,p.child=R):(f=M.last,f!==null?f.sibling=R:p.child=R,M.last=R)}return M.tail!==null?(p=M.tail,M.rendering=p,M.tail=p.sibling,M.renderingStartTime=Xn(),p.sibling=null,f=Nt.current,wn(Nt,P?f&1|2:f&1),p):(Si(p),null);case 22:case 23:return nd(),x=p.memoizedState!==null,f!==null&&f.memoizedState!==null!==x&&(p.flags|=8192),x&&p.mode&1?ho&1073741824&&(Si(p),Be&&p.subtreeFlags&6&&(p.flags|=8192)):Si(p),null;case 24:return null;case 25:return null}throw Error(a(156,p.tag))}function uv(f,p){switch(H0(p),p.tag){case 1:return ci(p.type)&&Ss(),f=p.flags,f&65536?(p.flags=f&-65537|128,p):null;case 3:return rt(),Mn(ui),Mn(Hr),q0(),f=p.flags,f&65536&&!(f&128)?(p.flags=f&-65537|128,p):null;case 5:return en(p),null;case 13:if(Mn(Nt),f=p.memoizedState,f!==null&&f.dehydrated!==null){if(p.alternate===null)throw Error(a(340));Mc()}return f=p.flags,f&65536?(p.flags=f&-65537|128,p):null;case 19:return Mn(Nt),null;case 4:return rt(),null;case 10:return Mf(p.type._context),null;case 22:case 23:return nd(),null;case 24:return null;default:return null}}var pl=!1,Ur=!1,N4=typeof WeakSet=="function"?WeakSet:Set,st=null;function Kc(f,p){var x=f.ref;if(x!==null)if(typeof x=="function")try{x(null)}catch(P){Qn(f,p,P)}else x.current=null}function fa(f,p,x){try{x()}catch(P){Qn(f,p,P)}}var Vp=!1;function Cu(f,p){for(Y(f.containerInfo),st=p;st!==null;)if(f=st,p=f.child,(f.subtreeFlags&1028)!==0&&p!==null)p.return=f,st=p;else for(;st!==null;){f=st;try{var x=f.alternate;if(f.flags&1024)switch(f.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var P=x.memoizedProps,M=x.memoizedState,R=f.stateNode,U=R.getSnapshotBeforeUpdate(f.elementType===f.type?P:sa(f.type,P),M);R.__reactInternalSnapshotBeforeUpdate=U}break;case 3:Be&&Xi(f.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(ae){Qn(f,f.return,ae)}if(p=f.sibling,p!==null){p.return=f.return,st=p;break}st=f.return}return x=Vp,Vp=!1,x}function wi(f,p,x){var P=p.updateQueue;if(P=P!==null?P.lastEffect:null,P!==null){var M=P=P.next;do{if((M.tag&f)===f){var R=M.destroy;M.destroy=void 0,R!==void 0&&fa(p,x,R)}M=M.next}while(M!==P)}}function Gp(f,p){if(p=p.updateQueue,p=p!==null?p.lastEffect:null,p!==null){var x=p=p.next;do{if((x.tag&f)===f){var P=x.create;x.destroy=P()}x=x.next}while(x!==p)}}function qp(f){var p=f.ref;if(p!==null){var x=f.stateNode;switch(f.tag){case 5:f=X(x);break;default:f=x}typeof p=="function"?p(f):p.current=f}}function cv(f){var p=f.alternate;p!==null&&(f.alternate=null,cv(p)),f.child=null,f.deletions=null,f.sibling=null,f.tag===5&&(p=f.stateNode,p!==null&&mt(p)),f.stateNode=null,f.return=null,f.dependencies=null,f.memoizedProps=null,f.memoizedState=null,f.pendingProps=null,f.stateNode=null,f.updateQueue=null}function Yc(f){return f.tag===5||f.tag===3||f.tag===4}function Ps(f){e:for(;;){for(;f.sibling===null;){if(f.return===null||Yc(f.return))return null;f=f.return}for(f.sibling.return=f.return,f=f.sibling;f.tag!==5&&f.tag!==6&&f.tag!==18;){if(f.flags&2||f.child===null||f.tag===4)continue e;f.child.return=f,f=f.child}if(!(f.flags&2))return f.stateNode}}function Kp(f,p,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,p?zr(x,f,p):Ct(x,f);else if(P!==4&&(f=f.child,f!==null))for(Kp(f,p,x),f=f.sibling;f!==null;)Kp(f,p,x),f=f.sibling}function dv(f,p,x){var P=f.tag;if(P===5||P===6)f=f.stateNode,p?pt(x,f,p):Me(x,f);else if(P!==4&&(f=f.child,f!==null))for(dv(f,p,x),f=f.sibling;f!==null;)dv(f,p,x),f=f.sibling}var Ir=null,ha=!1;function pa(f,p,x){for(x=x.child;x!==null;)Vr(f,p,x),x=x.sibling}function Vr(f,p,x){if(qt&&typeof qt.onCommitFiberUnmount=="function")try{qt.onCommitFiberUnmount(cn,x)}catch{}switch(x.tag){case 5:Ur||Kc(x,p);case 6:if(Be){var P=Ir,M=ha;Ir=null,pa(f,p,x),Ir=P,ha=M,Ir!==null&&(ha?Bn(Ir,x.stateNode):rr(Ir,x.stateNode))}else pa(f,p,x);break;case 18:Be&&Ir!==null&&(ha?N0(Ir,x.stateNode):j0(Ir,x.stateNode));break;case 4:Be?(P=Ir,M=ha,Ir=x.stateNode.containerInfo,ha=!0,pa(f,p,x),Ir=P,ha=M):(Ae&&(P=x.stateNode.containerInfo,M=Na(P),bc(P,M)),pa(f,p,x));break;case 0:case 11:case 14:case 15:if(!Ur&&(P=x.updateQueue,P!==null&&(P=P.lastEffect,P!==null))){M=P=P.next;do{var R=M,U=R.destroy;R=R.tag,U!==void 0&&(R&2||R&4)&&fa(x,p,U),M=M.next}while(M!==P)}pa(f,p,x);break;case 1:if(!Ur&&(Kc(x,p),P=x.stateNode,typeof P.componentWillUnmount=="function"))try{P.props=x.memoizedProps,P.state=x.memoizedState,P.componentWillUnmount()}catch(ae){Qn(x,p,ae)}pa(f,p,x);break;case 21:pa(f,p,x);break;case 22:x.mode&1?(Ur=(P=Ur)||x.memoizedState!==null,pa(f,p,x),Ur=P):pa(f,p,x);break;default:pa(f,p,x)}}function Yp(f){var p=f.updateQueue;if(p!==null){f.updateQueue=null;var x=f.stateNode;x===null&&(x=f.stateNode=new N4),p.forEach(function(P){var M=rb.bind(null,f,P);x.has(P)||(x.add(P),P.then(M,M))})}}function Do(f,p){var x=p.deletions;if(x!==null)for(var P=0;P";case Jp:return":has("+(pv(f)||"")+")";case eg:return'[role="'+f.value+'"]';case tg:return'"'+f.value+'"';case Xc:return'[data-testname="'+f.value+'"]';default:throw Error(a(365))}}function Zc(f,p){var x=[];f=[f,0];for(var P=0;PM&&(M=U),P&=~R}if(P=M,P=Xn()-P,P=(120>P?120:480>P?480:1080>P?1080:1920>P?1920:3e3>P?3e3:4320>P?4320:1960*$4(P/1960))-P,10f?16:f,Tt===null)var P=!1;else{if(f=Tt,Tt=null,og=0,Wt&6)throw Error(a(331));var M=Wt;for(Wt|=4,st=f.current;st!==null;){var R=st,U=R.child;if(st.flags&16){var ae=R.deletions;if(ae!==null){for(var he=0;heXn()-vv?xl(f,0):mv|=x),pi(f,p)}function wv(f,p){p===0&&(f.mode&1?(p=Lo,Lo<<=1,!(Lo&130023424)&&(Lo=4194304)):p=1);var x=_i();f=la(f,p),f!==null&&($a(f,p,x),pi(f,x))}function B4(f){var p=f.memoizedState,x=0;p!==null&&(x=p.retryLane),wv(f,x)}function rb(f,p){var x=0;switch(f.tag){case 13:var P=f.stateNode,M=f.memoizedState;M!==null&&(x=M.retryLane);break;case 19:P=f.stateNode;break;default:throw Error(a(314))}P!==null&&P.delete(p),wv(f,x)}var Cv;Cv=function(f,p,x){if(f!==null)if(f.memoizedProps!==p.pendingProps||ui.current)Ji=!0;else{if(!(f.lanes&x)&&!(p.flags&128))return Ji=!1,D4(f,p,x);Ji=!!(f.flags&131072)}else Ji=!1,zn&&p.flags&1048576&&z0(p,Ar,p.index);switch(p.lanes=0,p.tag){case 2:var P=p.type;Wa(f,p),f=p.pendingProps;var M=al(p,Hr.current);Ac(p,x),M=Y0(null,p,P,f,M,x);var R=jc();return p.flags|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0?(p.tag=1,p.memoizedState=null,p.updateQueue=null,ci(P)?(R=!0,ws(p)):R=!1,p.memoizedState=M.state!==null&&M.state!==void 0?M.state:null,U0(p),M.updater=ua,p.stateNode=M,M._reactInternals=p,V0(p,P,f,x),p=ca(null,p,P,!0,R,x)):(p.tag=0,zn&&R&&Ii(p),Ni(null,p,M,x),p=p.child),p;case 16:P=p.elementType;e:{switch(Wa(f,p),f=p.pendingProps,M=P._init,P=M(P._payload),p.type=P,M=p.tag=fg(P),f=sa(P,f),M){case 0:p=iv(null,p,P,f,x);break e;case 1:p=K2(null,p,P,f,x);break e;case 11:p=U2(null,p,P,f,x);break e;case 14:p=hl(null,p,P,sa(P.type,f),x);break e}throw Error(a(306,P,""))}return p;case 0:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),iv(f,p,P,M,x);case 1:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),K2(f,p,P,M,x);case 3:e:{if(Y2(p),f===null)throw Error(a(387));P=p.pendingProps,R=p.memoizedState,M=R.element,A2(f,p),jp(p,P,null,x);var U=p.memoizedState;if(P=U.element,bt&&R.isDehydrated)if(R={element:P,isDehydrated:!1,cache:U.cache,pendingSuspenseBoundaries:U.pendingSuspenseBoundaries,transitions:U.transitions},p.updateQueue.baseState=R,p.memoizedState=R,p.flags&256){M=Vc(Error(a(423)),p),p=X2(f,p,P,x,M);break e}else if(P!==M){M=Vc(Error(a(424)),p),p=X2(f,p,P,x,M);break e}else for(bt&&(Oo=M0(p.stateNode.containerInfo),Zn=p,zn=!0,Zi=null,Ro=!1),x=j2(p,null,P,x),p.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(Mc(),P===M){p=Es(f,p,x);break e}Ni(f,p,P,x)}p=p.child}return p;case 5:return Lt(p),f===null&&kf(p),P=p.type,M=p.pendingProps,R=f!==null?f.memoizedProps:null,U=M.children,Le(P,M)?U=null:R!==null&&Le(P,R)&&(p.flags|=32),q2(f,p),Ni(f,p,U,x),p.child;case 6:return f===null&&kf(p),null;case 13:return Z2(f,p,x);case 4:return me(p,p.stateNode.containerInfo),P=p.pendingProps,f===null?p.child=Rc(p,null,P,x):Ni(f,p,P,x),p.child;case 11:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),U2(f,p,P,M,x);case 7:return Ni(f,p,p.pendingProps,x),p.child;case 8:return Ni(f,p,p.pendingProps.children,x),p.child;case 12:return Ni(f,p,p.pendingProps.children,x),p.child;case 10:e:{if(P=p.type._context,M=p.pendingProps,R=p.memoizedProps,U=M.value,L2(p,P,U),R!==null)if(q(R.value,U)){if(R.children===M.children&&!ui.current){p=Es(f,p,x);break e}}else for(R=p.child,R!==null&&(R.return=p);R!==null;){var ae=R.dependencies;if(ae!==null){U=R.child;for(var he=ae.firstContext;he!==null;){if(he.context===P){if(R.tag===1){he=_s(-1,x&-x),he.tag=2;var We=R.updateQueue;if(We!==null){We=We.shared;var ct=We.pending;ct===null?he.next=he:(he.next=ct.next,ct.next=he),We.pending=he}}R.lanes|=x,he=R.alternate,he!==null&&(he.lanes|=x),Lf(R.return,x,p),ae.lanes|=x;break}he=he.next}}else if(R.tag===10)U=R.type===p.type?null:R.child;else if(R.tag===18){if(U=R.return,U===null)throw Error(a(341));U.lanes|=x,ae=U.alternate,ae!==null&&(ae.lanes|=x),Lf(U,x,p),U=R.sibling}else U=R.child;if(U!==null)U.return=R;else for(U=R;U!==null;){if(U===p){U=null;break}if(R=U.sibling,R!==null){R.return=U.return,U=R;break}U=U.return}R=U}Ni(f,p,M.children,x),p=p.child}return p;case 9:return M=p.type,P=p.pendingProps.children,Ac(p,x),M=co(M),P=P(M),p.flags|=1,Ni(f,p,P,x),p.child;case 14:return P=p.type,M=sa(P,p.pendingProps),M=sa(P.type,M),hl(f,p,P,M,x);case 15:return V2(f,p,p.type,p.pendingProps,x);case 17:return P=p.type,M=p.pendingProps,M=p.elementType===P?M:sa(P,M),Wa(f,p),p.tag=1,ci(P)?(f=!0,ws(p)):f=!1,Ac(p,x),R2(p,P,M),V0(p,P,M,x),ca(null,p,P,!0,f,x);case 19:return J2(f,p,x);case 22:return G2(f,p,x)}throw Error(a(156,p.tag))};function Bi(f,p){return Ec(f,p)}function Ua(f,p,x,P){this.tag=f,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=p,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=P,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $o(f,p,x,P){return new Ua(f,p,x,P)}function _v(f){return f=f.prototype,!(!f||!f.isReactComponent)}function fg(f){if(typeof f=="function")return _v(f)?1:0;if(f!=null){if(f=f.$$typeof,f===w)return 11;if(f===k)return 14}return 2}function go(f,p){var x=f.alternate;return x===null?(x=$o(f.tag,p,f.key,f.mode),x.elementType=f.elementType,x.type=f.type,x.stateNode=f.stateNode,x.alternate=f,f.alternate=x):(x.pendingProps=p,x.type=f.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=f.flags&14680064,x.childLanes=f.childLanes,x.lanes=f.lanes,x.child=f.child,x.memoizedProps=f.memoizedProps,x.memoizedState=f.memoizedState,x.updateQueue=f.updateQueue,p=f.dependencies,x.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext},x.sibling=f.sibling,x.index=f.index,x.ref=f.ref,x}function Xf(f,p,x,P,M,R){var U=2;if(P=f,typeof f=="function")_v(f)&&(U=1);else if(typeof f=="string")U=5;else e:switch(f){case d:return Cl(x.children,M,R,p);case h:U=8,M|=8;break;case m:return f=$o(12,x,p,M|2),f.elementType=m,f.lanes=R,f;case E:return f=$o(13,x,p,M),f.elementType=E,f.lanes=R,f;case _:return f=$o(19,x,p,M),f.elementType=_,f.lanes=R,f;case L:return hg(x,M,R,p);default:if(typeof f=="object"&&f!==null)switch(f.$$typeof){case y:U=10;break e;case b:U=9;break e;case w:U=11;break e;case k:U=14;break e;case T:U=16,P=null;break e}throw Error(a(130,f==null?f:typeof f,""))}return p=$o(U,x,p,M),p.elementType=f,p.type=P,p.lanes=R,p}function Cl(f,p,x,P){return f=$o(7,f,P,p),f.lanes=x,f}function hg(f,p,x,P){return f=$o(22,f,P,p),f.elementType=L,f.lanes=x,f.stateNode={isHidden:!1},f}function pg(f,p,x){return f=$o(6,f,null,p),f.lanes=x,f}function _l(f,p,x){return p=$o(4,f.children!==null?f.children:[],f.key,p),p.lanes=x,p.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},p}function Zf(f,p,x,P,M){this.tag=p,this.containerInfo=f,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=tt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=kc(0),this.expirationTimes=kc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kc(0),this.identifierPrefix=P,this.onRecoverableError=M,bt&&(this.mutableSourceEagerHydrationData=null)}function ib(f,p,x,P,M,R,U,ae,he){return f=new Zf(f,p,x,ae,he),p===1?(p=1,R===!0&&(p|=8)):p=0,R=$o(3,null,null,p),f.current=R,R.stateNode=f,R.memoizedState={element:P,isDehydrated:x,cache:null,transitions:null,pendingSuspenseBoundaries:null},U0(R),f}function kv(f){if(!f)return ia;f=f._reactInternals;e:{if(W(f)!==f||f.tag!==1)throw Error(a(170));var p=f;do{switch(p.tag){case 3:p=p.stateNode.context;break e;case 1:if(ci(p.type)){p=p.stateNode.__reactInternalMemoizedMergedChildContext;break e}}p=p.return}while(p!==null);throw Error(a(171))}if(f.tag===1){var x=f.type;if(ci(x))return gu(f,x,p)}return p}function Ev(f){var p=f._reactInternals;if(p===void 0)throw typeof f.render=="function"?Error(a(188)):(f=Object.keys(f).join(","),Error(a(268,f)));return f=ne(p),f===null?null:f.stateNode}function Qf(f,p){if(f=f.memoizedState,f!==null&&f.dehydrated!==null){var x=f.retryLane;f.retryLane=x!==0&&x=We&&R>=Rt&&M<=ct&&U<=it){f.splice(p,1);break}else if(P!==We||x.width!==he.width||itU){if(!(R!==Rt||x.height!==he.height||ctM)){We>P&&(he.width+=We-P,he.x=P),ctR&&(he.height+=Rt-R,he.y=R),itx&&(x=U)),U ")+` No matching component was found for: - `)+f.join(" > ")}return null},n.getPublicRootInstance=function(f){if(f=f.current,!f.child)return null;switch(f.child.tag){case 5:return X(f.child.stateNode);default:return f.child.stateNode}},n.injectIntoDevTools=function(f){if(f={bundleType:f.bundleType,version:f.version,rendererPackageName:f.rendererPackageName,rendererConfig:f.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:gg,findFiberByHostInstance:f.findFiberByHostInstance||Pv,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")f=!1;else{var p=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(p.isDisabled||!p.supportsFiber)f=!0;else{try{cn=p.inject(f),qt=p}catch{}f=!!p.checkDCE}}return f},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(f,p,x,P){if(!se)throw Error(a(363));f=gv(f,p);var M=Mt(f,x,P).disconnect;return{disconnect:function(){M()}}},n.registerMutableSourceForHydration=function(f,p){var x=p._getVersion;x=x(p._source),f.mutableSourceEagerHydrationData==null?f.mutableSourceEagerHydrationData=[p,x]:f.mutableSourceEagerHydrationData.push(p,x)},n.runWithPriority=function(f,p){var x=Gt;try{return Gt=f,p()}finally{Gt=x}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(f,p,x,P){var M=p.current,R=_i(),U=qr(M);return x=kv(x),p.context===null?p.context=x:p.pendingContext=x,p=_s(R,U),p.payload={element:f},P=P===void 0?null:P,P!==null&&(p.callback=P),f=dl(M,p,U),f!==null&&(jo(f,M,U,R),Dp(f,M,U)),U},n};(function(e){e.exports=IPe})(RPe);const DPe=S7(o7);var $3={},jPe={get exports(){return $3},set exports(e){$3=e}},vp={};/** + `)+f.join(" > ")}return null},n.getPublicRootInstance=function(f){if(f=f.current,!f.child)return null;switch(f.child.tag){case 5:return X(f.child.stateNode);default:return f.child.stateNode}},n.injectIntoDevTools=function(f){if(f={bundleType:f.bundleType,version:f.version,rendererPackageName:f.rendererPackageName,rendererConfig:f.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:gg,findFiberByHostInstance:f.findFiberByHostInstance||Pv,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")f=!1;else{var p=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(p.isDisabled||!p.supportsFiber)f=!0;else{try{cn=p.inject(f),qt=p}catch{}f=!!p.checkDCE}}return f},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(f,p,x,P){if(!se)throw Error(a(363));f=gv(f,p);var M=Mt(f,x,P).disconnect;return{disconnect:function(){M()}}},n.registerMutableSourceForHydration=function(f,p){var x=p._getVersion;x=x(p._source),f.mutableSourceEagerHydrationData==null?f.mutableSourceEagerHydrationData=[p,x]:f.mutableSourceEagerHydrationData.push(p,x)},n.runWithPriority=function(f,p){var x=Gt;try{return Gt=f,p()}finally{Gt=x}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(f,p,x,P){var M=p.current,R=_i(),U=qr(M);return x=kv(x),p.context===null?p.context=x:p.pendingContext=x,p=_s(R,U),p.payload={element:f},P=P===void 0?null:P,P!==null&&(p.callback=P),f=dl(M,p,U),f!==null&&(No(f,M,U,R),Dp(f,M,U)),U},n};(function(e){e.exports=IPe})(RPe);const DPe=S7(o7);var $3={},jPe={get exports(){return $3},set exports(e){$3=e}},vp={};/** * @license React * react-reconciler-constants.production.min.js * @@ -616,9 +616,9 @@ For more info see: https://github.com/konvajs/react-konva/issues/194 -`.replaceAll("black",e),iMe=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:i,stageScale:o}=le(rMe),[a,s]=S.useState(null),[l,u]=S.useState(0),d=S.useRef(null),h=S.useCallback(()=>{u(l+1),setTimeout(h,500)},[l]);return S.useEffect(()=>{if(a)return;const m=new Image;m.onload=()=>{s(m)},m.src=ED(n)},[a,n]),S.useEffect(()=>{a&&(a.src=ED(n))},[a,n]),S.useEffect(()=>{const m=setInterval(()=>u(y=>(y+1)%5),50);return()=>clearInterval(m)},[]),!a||!Pe.isNumber(r.x)||!Pe.isNumber(r.y)||!Pe.isNumber(o)||!Pe.isNumber(i.width)||!Pe.isNumber(i.height)?null:g.jsx(cc,{ref:d,offsetX:r.x/o,offsetY:r.y/o,height:i.height/o,width:i.width/o,fillPatternImage:a,fillPatternOffsetY:Pe.isNumber(l)?l:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/o,y:1/o},listening:!0,globalCompositeOperation:"source-in",...t})},oMe=lt([rn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),aMe=e=>{const{...t}=e,{objects:n}=le(oMe);return g.jsx(uc,{listening:!1,...t,children:n.filter(hE).map((r,i)=>g.jsx(F3,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},i))})};var sh=S,sMe=function(t,n,r){const i=sh.useRef("loading"),o=sh.useRef(),[a,s]=sh.useState(0),l=sh.useRef(),u=sh.useRef(),d=sh.useRef();return(l.current!==t||u.current!==n||d.current!==r)&&(i.current="loading",o.current=void 0,l.current=t,u.current=n,d.current=r),sh.useLayoutEffect(function(){if(!t)return;var h=document.createElement("img");function m(){i.current="loaded",o.current=h,s(Math.random())}function y(){i.current="failed",o.current=void 0,s(Math.random())}return h.addEventListener("load",m),h.addEventListener("error",y),n&&(h.crossOrigin=n),r&&(h.referrerpolicy=r),h.src=t,function(){h.removeEventListener("load",m),h.removeEventListener("error",y)}},[t,n,r]),[o.current,i.current]};const Cq=e=>{const{url:t,x:n,y:r}=e,[i]=sMe(t);return g.jsx(Sq,{x:n,y:r,image:i,listening:!1})},lMe=lt([rn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),uMe=()=>{const{objects:e}=le(lMe);return e?g.jsx(uc,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(x3(t))return g.jsx(Cq,{x:t.x,y:t.y,url:t.image.url},n);if(YSe(t)){const r=g.jsx(F3,{points:t.points,stroke:t.color?zh(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?g.jsx(uc,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(XSe(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:zh(t.color)},n);if(ZSe(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},cMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingImage:r,shouldShowStagingOutline:i,boundingBoxCoordinates:{x:o,y:a},boundingBoxDimensions:{width:s,height:l}}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),dMe=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}=le(cMe);return g.jsxs(uc,{...t,children:[r&&n&&g.jsx(Cq,{url:n.image.url,x:o,y:a}),i&&g.jsxs(uc,{children:[g.jsx(cc,{x:o,y:a,width:s,height:l,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),g.jsx(cc,{x:o,y:a,width:s,height:l,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},fMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingOutline:r,shouldShowStagingImage:i}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:i,shouldShowStagingOutline:r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),hMe=()=>{const e=Te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:i}=le(fMe),{t:o}=De(),a=S.useCallback(()=>{e(XO(!0))},[e]),s=S.useCallback(()=>{e(XO(!1))},[e]);Je(["left"],()=>{l()},{enabled:()=>!0,preventDefault:!0}),Je(["right"],()=>{u()},{enabled:()=>!0,preventDefault:!0}),Je(["enter"],()=>{d()},{enabled:()=>!0,preventDefault:!0});const l=()=>e(s3e()),u=()=>e(a3e()),d=()=>e(r3e());return r?g.jsx(ke,{pos:"absolute",bottom:"1rem",w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:a,onMouseOut:s,children:g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{tooltip:`${o("unifiedCanvas.previous")} (Left)`,"aria-label":`${o("unifiedCanvas.previous")} (Left)`,icon:g.jsx(pke,{}),onClick:l,"data-selected":!0,isDisabled:t}),g.jsx(Ye,{tooltip:`${o("unifiedCanvas.next")} (Right)`,"aria-label":`${o("unifiedCanvas.next")} (Right)`,icon:g.jsx(gke,{}),onClick:u,"data-selected":!0,isDisabled:n}),g.jsx(Ye,{tooltip:`${o("unifiedCanvas.accept")} (Enter)`,"aria-label":`${o("unifiedCanvas.accept")} (Enter)`,icon:g.jsx(jE,{}),onClick:d,"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.showHide"),"aria-label":o("unifiedCanvas.showHide"),"data-alert":!i,icon:i?g.jsx(wke,{}):g.jsx(Ske,{}),onClick:()=>e(v3e(!i)),"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.saveToGallery"),"aria-label":o("unifiedCanvas.saveToGallery"),icon:g.jsx($E,{}),onClick:()=>e(m_e(r.image.url)),"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.discardAll"),"aria-label":o("unifiedCanvas.discardAll"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(i3e()),"data-selected":!0,style:{backgroundColor:"var(--btn-delete-image)"},fontSize:20})]})}):null},cm=e=>Math.round(e*100)/100,pMe=lt([rn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${cm(n)}, ${cm(r)})`}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function gMe(){const{cursorCoordinatesString:e}=le(pMe),{t}=De();return g.jsx("div",{children:`${t("unifiedcanvas:cursorPosition")}: ${e}`})}const mMe=lt([rn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:i},boundingBoxDimensions:{width:o,height:a},scaledBoundingBoxDimensions:{width:s,height:l},boundingBoxCoordinates:{x:u,y:d},stageScale:h,shouldShowCanvasDebugInfo:m,layer:y,boundingBoxScaleMethod:b,shouldPreserveMaskedArea:w}=e;let E="inherit";return(b==="none"&&(o<512||a<512)||b==="manual"&&s*l<512*512)&&(E="var(--status-working-color)"),{activeLayerColor:y==="mask"?"var(--status-working-color)":"inherit",activeLayerString:y.charAt(0).toUpperCase()+y.slice(1),boundingBoxColor:E,boundingBoxCoordinatesString:`(${cm(u)}, ${cm(d)})`,boundingBoxDimensionsString:`${o}×${a}`,scaledBoundingBoxDimensionsString:`${s}×${l}`,canvasCoordinatesString:`${cm(r)}×${cm(i)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(h*100),shouldShowCanvasDebugInfo:m,shouldShowBoundingBox:b!=="auto",shouldShowScaledBoundingBox:b!=="none",shouldPreserveMaskedArea:w}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),vMe=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:i,scaledBoundingBoxDimensionsString:o,shouldShowScaledBoundingBox:a,canvasCoordinatesString:s,canvasDimensionsString:l,canvasScaleString:u,shouldShowCanvasDebugInfo:d,shouldShowBoundingBox:h,shouldPreserveMaskedArea:m}=le(mMe),{t:y}=De();return g.jsxs("div",{className:"canvas-status-text",children:[g.jsx("div",{style:{color:e},children:`${y("unifiedCanvas.activeLayer")}: ${t}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasScale")}: ${u}%`}),m&&g.jsx("div",{style:{color:"var(--status-working-color)"},children:"Preserve Masked Area: On"}),h&&g.jsx("div",{style:{color:n},children:`${y("unifiedcanvas:boundingBox")}: ${i}`}),a&&g.jsx("div",{style:{color:n},children:`${y("unifiedcanvas:scaledBoundingBox")}: ${o}`}),d&&g.jsxs(g.Fragment,{children:[g.jsx("div",{children:`${y("unifiedcanvas:boundingBoxPosition")}: ${r}`}),g.jsx("div",{children:`${y("unifiedcanvas:canvasDimensions")}: ${l}`}),g.jsx("div",{children:`${y("unifiedcanvas:canvasPosition")}: ${s}`}),g.jsx(gMe,{})]})]})},yMe=lt(rn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageScale:r,isDrawing:i,isTransformingBoundingBox:o,isMovingBoundingBox:a,tool:s,shouldSnapToGrid:l}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,isDrawing:i,isMovingBoundingBox:a,isTransformingBoundingBox:o,stageScale:r,shouldSnapToGrid:l,tool:s,hitStrokeWidth:20/r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),bMe=e=>{const{...t}=e,n=Te(),{boundingBoxCoordinates:r,boundingBoxDimensions:i,isDrawing:o,isMovingBoundingBox:a,isTransformingBoundingBox:s,stageScale:l,shouldSnapToGrid:u,tool:d,hitStrokeWidth:h}=le(yMe),m=S.useRef(null),y=S.useRef(null),[b,w]=S.useState(!1);S.useEffect(()=>{var ne;!m.current||!y.current||(m.current.nodes([y.current]),(ne=m.current.getLayer())==null||ne.batchDraw())},[]);const E=64*l,_=S.useCallback(ne=>{if(!u){n(RC({x:Math.floor(ne.target.x()),y:Math.floor(ne.target.y())}));return}const z=ne.target.x(),$=ne.target.y(),V=Hl(z,64),X=Hl($,64);ne.target.x(V),ne.target.y(X),n(RC({x:V,y:X}))},[n,u]),k=S.useCallback(()=>{if(!y.current)return;const ne=y.current,z=ne.scaleX(),$=ne.scaleY(),V=Math.round(ne.width()*z),X=Math.round(ne.height()*$),Q=Math.round(ne.x()),G=Math.round(ne.y());n(g1({width:V,height:X})),n(RC({x:u?Cd(Q,64):Q,y:u?Cd(G,64):G})),ne.scaleX(1),ne.scaleY(1)},[n,u]),T=S.useCallback((ne,z,$)=>{const V=ne.x%E,X=ne.y%E;return{x:Cd(z.x,E)+V,y:Cd(z.y,E)+X}},[E]),L=()=>{n(DC(!0))},O=()=>{n(DC(!1)),n(IC(!1)),n(Qb(!1)),w(!1)},D=()=>{n(IC(!0))},I=()=>{n(DC(!1)),n(IC(!1)),n(Qb(!1)),w(!1)},N=()=>{w(!0)},W=()=>{!s&&!a&&w(!1)},B=()=>{n(Qb(!0))},K=()=>{n(Qb(!1))};return g.jsxs(uc,{...t,children:[g.jsx(cc,{height:i.height,width:i.width,x:r.x,y:r.y,onMouseEnter:B,onMouseOver:B,onMouseLeave:K,onMouseOut:K}),g.jsx(cc,{draggable:!0,fillEnabled:!1,height:i.height,hitStrokeWidth:h,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onDragMove:_,onMouseDown:D,onMouseOut:W,onMouseOver:N,onMouseEnter:N,onMouseUp:I,onTransform:k,onTransformEnd:O,ref:y,stroke:b?"rgba(255,255,255,0.7)":"white",strokeWidth:(b?8:1)/l,width:i.width,x:r.x,y:r.y}),g.jsx(DTe,{anchorCornerRadius:3,anchorDragBoundFunc:T,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:d==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onMouseDown:L,onMouseUp:O,onTransformEnd:O,ref:m,rotateEnabled:!1})]})},xMe=lt(rn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:i,brushColor:o,tool:a,layer:s,shouldShowBrush:l,isMovingBoundingBox:u,isTransformingBoundingBox:d,stageScale:h,stageDimensions:m,boundingBoxCoordinates:y,boundingBoxDimensions:b,shouldRestrictStrokesToBox:w}=e,E=w?{clipX:y.x,clipY:y.y,clipWidth:b.width,clipHeight:b.height}:{};return{cursorPosition:t,brushX:t?t.x:m.width/2,brushY:t?t.y:m.height/2,radius:n/2,colorPickerOuterRadius:KO/h,colorPickerInnerRadius:(KO-pk+1)/h,maskColorString:zh({...i,a:.5}),brushColorString:zh(o),colorPickerColorString:zh(r),tool:a,layer:s,shouldShowBrush:l,shouldDrawBrushPreview:!(u||d||!t)&&l,strokeWidth:1.5/h,dotRadius:1.5/h,clip:E}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),SMe=e=>{const{...t}=e,{brushX:n,brushY:r,radius:i,maskColorString:o,tool:a,layer:s,shouldDrawBrushPreview:l,dotRadius:u,strokeWidth:d,brushColorString:h,colorPickerColorString:m,colorPickerInnerRadius:y,colorPickerOuterRadius:b,clip:w}=le(xMe);return l?g.jsxs(uc,{listening:!1,...w,...t,children:[a==="colorPicker"?g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:b,stroke:h,strokeWidth:pk,strokeScaleEnabled:!1}),g.jsx(ah,{x:n,y:r,radius:y,stroke:m,strokeWidth:pk,strokeScaleEnabled:!1})]}):g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:i,fill:s==="mask"?o:h,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(255,255,255,0.4)",strokeWidth:d*2,strokeEnabled:!0,listening:!1}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(0,0,0,1)",strokeWidth:d,strokeEnabled:!0,listening:!1})]}),g.jsx(ah,{x:n,y:r,radius:u*2,fill:"rgba(255,255,255,0.4)",listening:!1}),g.jsx(ah,{x:n,y:r,radius:u,fill:"rgba(0,0,0,1)",listening:!1})]}):null},wMe=lt([rn,Lr],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:i,isTransformingBoundingBox:o,isMouseOverBoundingBox:a,isMovingBoundingBox:s,stageDimensions:l,stageCoordinates:u,tool:d,isMovingStage:h,shouldShowIntermediates:m,shouldShowGrid:y,shouldRestrictStrokesToBox:b}=e;let w="none";return d==="move"||t?h?w="grabbing":w="grab":o?w=void 0:b&&!a&&(w="default"),{isMaskEnabled:n,isModifyingBoundingBox:o||s,shouldShowBoundingBox:i,shouldShowGrid:y,stageCoordinates:u,stageCursor:w,stageDimensions:l,stageScale:r,tool:d,isStaging:t,shouldShowIntermediates:m}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),_q=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:i,stageCursor:o,stageDimensions:a,stageScale:s,tool:l,isStaging:u,shouldShowIntermediates:d}=le(wMe);BTe();const h=S.useRef(null),m=S.useRef(null),y=S.useCallback(W=>{K6e(W),h.current=W},[]),b=S.useCallback(W=>{q6e(W),m.current=W},[]),w=S.useRef({x:0,y:0}),E=S.useRef(!1),_=YTe(h),k=HTe(h),T=qTe(h,E),L=UTe(h,E,w),O=VTe(),{handleDragStart:D,handleDragMove:I,handleDragEnd:N}=$Te();return g.jsx("div",{className:"inpainting-canvas-container",children:g.jsxs("div",{className:"inpainting-canvas-wrapper",children:[g.jsxs(jTe,{tabIndex:-1,ref:y,className:"inpainting-canvas-stage",style:{...o?{cursor:o}:{}},x:i.x,y:i.y,width:a.width,height:a.height,scale:{x:s,y:s},onTouchStart:k,onTouchMove:L,onTouchEnd:T,onMouseDown:k,onMouseLeave:O,onMouseMove:L,onMouseUp:T,onDragStart:D,onDragMove:I,onDragEnd:N,onContextMenu:W=>W.evt.preventDefault(),onWheel:_,draggable:(l==="move"||u)&&!t,children:[g.jsx(n1,{id:"grid",visible:r,children:g.jsx(eMe,{})}),g.jsx(n1,{id:"base",ref:b,listening:!1,imageSmoothingEnabled:!1,children:g.jsx(uMe,{})}),g.jsxs(n1,{id:"mask",visible:e,listening:!1,children:[g.jsx(aMe,{visible:!0,listening:!1}),g.jsx(iMe,{listening:!1})]}),g.jsx(n1,{children:g.jsx(ZTe,{})}),g.jsxs(n1,{id:"preview",imageSmoothingEnabled:!1,children:[!u&&g.jsx(SMe,{visible:l!=="move",listening:!1}),g.jsx(dMe,{visible:u}),d&&g.jsx(nMe,{}),g.jsx(bMe,{visible:n&&!u})]})]}),g.jsx(vMe,{}),g.jsx(hMe,{})]})})},CMe=lt(rn,sG,Br,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:i}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:i}}),kq=()=>{const e=Te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:i}=le(CMe),o=S.useRef(null);return S.useLayoutEffect(()=>{window.setTimeout(()=>{if(!o.current)return;const{clientWidth:a,clientHeight:s}=o.current;e(f3e({width:a,height:s})),e(i?c3e():r4()),e(Li(!1))},0)},[e,r,t,n,i]),g.jsx("div",{ref:o,className:"inpainting-canvas-area",children:g.jsx(p0,{thickness:"2px",speed:"1s",size:"xl"})})},_Me=lt([rn,Br,hr],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Eq(){const e=Te(),{canRedo:t,activeTabName:n}=le(_Me),{t:r}=De(),i=()=>{e(l3e())};return Je(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{i()},{enabled:()=>t,preventDefault:!0},[n,t]),g.jsx(Ye,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:g.jsx(Rke,{}),onClick:i,isDisabled:!t})}const kMe=lt([rn,Br,hr],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Pq(){const e=Te(),{t}=De(),{canUndo:n,activeTabName:r}=le(kMe),i=()=>{e(b3e())};return Je(["meta+z","ctrl+z"],()=>{i()},{enabled:()=>n,preventDefault:!0},[r,n]),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:g.jsx(Nke,{}),onClick:i,isDisabled:!n})}const EMe=(e,t,n)=>{const r=document.createElement("img");r.addEventListener("load",()=>{const i=document.createElement("canvas");i.width=t,i.height=n;const o=i.getContext("2d");o&&(o.drawImage(r,0,0),i.toBlob(a=>{a&&navigator.clipboard.write([new ClipboardItem({[a.type]:a})])}),i.remove(),r.remove())}),r.src=e},PMe=e=>{const t=document.createElement("a");t.href=e,t.download="",document.body.appendChild(t),t.click(),document.body.removeChild(t),t.remove()},TMe=(e,t,n,r)=>{const i=e.scale(),o=e.getClientRect({relativeTo:e.getParent()});e.scale({x:1/t,y:1/t});const{x:a,y:s,width:l,height:u}=e.getClientRect(),d=r?{x:r.x+n.x,y:r.y+n.y,width:r.width,height:r.height}:{x:a,y:s,width:l,height:u},h=e.toDataURL(d);return e.scale(i),{dataURL:h,boundingBox:{x:o.x,y:o.y,width:l,height:u}}},MMe={cropVisible:!1,cropToBoundingBox:!1,shouldSaveToGallery:!1,shouldDownload:!1,shouldCopy:!1,shouldSetAsInitialImage:!0},Td=(e=MMe)=>async(t,n)=>{const{cropVisible:r,cropToBoundingBox:i,shouldSaveToGallery:o,shouldDownload:a,shouldCopy:s,shouldSetAsInitialImage:l}=e;t(M4e("Exporting Image")),t(_d(!1));const u=n(),{stageScale:d,boundingBoxCoordinates:h,boundingBoxDimensions:m,stageCoordinates:y}=u.canvas,b=Qs();if(!b){t(wa(!1)),t(_d(!0));return}const{dataURL:w,boundingBox:E}=TMe(b,d,y,i?{...h,...m}:void 0);if(!w){t(wa(!1)),t(_d(!0));return}const _=new FormData;_.append("data",JSON.stringify({dataURL:w,filename:"merged_canvas.png",kind:o?"result":"temp",cropVisible:r}));const T=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:_})).json(),{url:L,width:O,height:D}=T,I={uuid:um(),category:o?"result":"user",...T};a&&(PMe(L),t($u({title:Et.t("toast.downloadImageStarted"),status:"success",duration:2500,isClosable:!0}))),s&&(EMe(L,O,D),t($u({title:Et.t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0}))),o&&(t(sm({image:I,category:"result"})),t($u({title:Et.t("toast.imageSavedToGallery"),status:"success",duration:2500,isClosable:!0}))),l&&(t(g3e({kind:"image",layer:"base",...E,image:I})),t($u({title:Et.t("toast.canvasMerged"),status:"success",duration:2500,isClosable:!0}))),t(wa(!1)),t(hh(Et.t("common.statusConnected"))),t(_d(!0))};function LMe(){const e=le(Lr),t=Qs(),n=le(s=>s.system.isProcessing),r=le(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=De();Je(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldCopy:!0}))};return g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:a,isDisabled:e})}function AMe(){const e=Te(),{t}=De(),n=Qs(),r=le(Lr),i=le(s=>s.system.isProcessing),o=le(s=>s.canvas.shouldCropToBoundingBoxOnSave);Je(["shift+d"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n,i]);const a=()=>{e(Td({cropVisible:!o,cropToBoundingBox:o,shouldDownload:!0}))};return g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx(NE,{}),onClick:a,isDisabled:r})}function OMe(){const e=le(Lr),{openUploader:t}=OE(),{t:n}=De();return g.jsx(Ye,{"aria-label":n("common.upload"),tooltip:n("common.upload"),icon:g.jsx(h4,{}),onClick:t,isDisabled:e})}const RMe=lt([rn,Lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function IMe(){const e=Te(),{t}=De(),{layer:n,isMaskEnabled:r,isStaging:i}=le(RMe),o=()=>{e(w3(n==="mask"?"base":"mask"))};Je(["q"],()=>{o()},{enabled:()=>!i,preventDefault:!0},[n]);const a=s=>{const l=s.target.value;e(w3(l)),l==="mask"&&!r&&e(h2(!0))};return g.jsx(Jo,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:n,validValues:IW,onChange:a,isDisabled:i})}function DMe(){const e=Te(),{t}=De(),n=Qs(),r=le(Lr),i=le(a=>a.system.isProcessing);Je(["shift+m"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n,i]);const o=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))};return g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(oG,{}),onClick:o,isDisabled:r})}function jMe(){const e=le(o=>o.canvas.tool),t=le(Lr),n=Te(),{t:r}=De();Je(["v"],()=>{i()},{enabled:()=>!t,preventDefault:!0},[]);const i=()=>n(Jl("move"));return g.jsx(Ye,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:g.jsx(JV,{}),"data-selected":e==="move"||t,onClick:i})}function NMe(){const e=le(i=>i.ui.shouldPinParametersPanel),t=Te(),{t:n}=De(),r=()=>{t(Fh(!0)),e&&setTimeout(()=>t(Li(!0)),400)};return g.jsxs(ke,{flexDirection:"column",gap:"0.5rem",children:[g.jsx(Ye,{tooltip:`${n("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":n("parameters.showOptionsPanel"),onClick:r,children:g.jsx(FE,{})}),g.jsx(ke,{children:g.jsx(tP,{iconButton:!0})}),g.jsx(ke,{children:g.jsx(JE,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]})}function $Me(){const e=Te(),{t}=De(),n=le(Lr),r=()=>{e(gE()),e(r4())};return g.jsx(Ye,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:g.jsx(hp,{}),onClick:r,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})}function Tq(e,t,n=250){const[r,i]=S.useState(0);return S.useEffect(()=>{const o=setTimeout(()=>{r===1&&e(),i(0)},n);return r===2&&t(),()=>clearTimeout(o)},[r,e,t,n]),()=>i(o=>o+1)}function FMe(){const e=Qs(),t=Te(),{t:n}=De();Je(["r"],()=>{i()},{enabled:()=>!0,preventDefault:!0},[e]);const r=Tq(()=>i(!1),()=>i(!0)),i=(o=!1)=>{const a=Qs();if(!a)return;const s=a.getClientRect({skipTransform:!0});t(BW({contentRect:s,shouldScaleTo1:o}))};return g.jsx(Ye,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:g.jsx(tG,{}),onClick:r})}function BMe(){const e=le(Lr),t=Qs(),n=le(s=>s.system.isProcessing),r=le(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=De();Je(["shift+s"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldSaveToGallery:!0}))};return g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx($E,{}),onClick:a,isDisabled:e})}const zMe=lt([rn,Lr,hr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i}=e;return{tool:i,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),HMe=()=>{const e=Te(),{t}=De(),{tool:n,isStaging:r}=le(zMe);Je(["b"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[]),Je(["e"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]),Je(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),Je(["shift+f"],()=>{s()},{enabled:()=>!r,preventDefault:!0}),Je(["delete","backspace"],()=>{l()},{enabled:()=>!r,preventDefault:!0});const i=()=>e(Jl("brush")),o=()=>e(Jl("eraser")),a=()=>e(Jl("colorPicker")),s=()=>e(NW()),l=()=>e(jW());return g.jsxs(ke,{flexDirection:"column",gap:"0.5rem",children:[g.jsxs(Gi,{children:[g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:g.jsx(aG,{}),"data-selected":n==="brush"&&!r,onClick:i,isDisabled:r}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:g.jsx(nG,{}),"data-selected":n==="eraser"&&!r,isDisabled:r,onClick:o})]}),g.jsxs(Gi,{children:[g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(iG,{}),isDisabled:r,onClick:s}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:l})]}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(rG,{}),"data-selected":n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},C4=Ze((e,t)=>{const{acceptButtonText:n="Accept",acceptCallback:r,cancelButtonText:i="Cancel",cancelCallback:o,children:a,title:s,triggerComponent:l}=e,{isOpen:u,onOpen:d,onClose:h}=Kd(),m=S.useRef(null),y=()=>{r(),h()},b=()=>{o&&o(),h()};return g.jsxs(g.Fragment,{children:[S.cloneElement(l,{onClick:d,ref:t}),g.jsx($H,{isOpen:u,leastDestructiveRef:m,onClose:h,children:g.jsx(oc,{children:g.jsxs(FH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:s}),g.jsx(Zm,{children:a}),g.jsxs(zw,{children:[g.jsx(ss,{ref:m,onClick:b,className:"modal-close-btn",children:i}),g.jsx(ss,{colorScheme:"red",onClick:y,ml:3,children:n})]})]})})})]})}),Mq=()=>{const e=le(Lr),t=Te(),{t:n}=De(),r=()=>{t(v_e()),t(gE()),t(FW())};return g.jsxs(C4,{title:n("unifiedCanvas.emptyTempImageFolder"),acceptCallback:r,acceptButtonText:n("unifiedCanvas.emptyFolder"),triggerComponent:g.jsx(On,{leftIcon:g.jsx(hp,{}),size:"sm",isDisabled:e,children:n("unifiedCanvas.emptyTempImageFolder")}),children:[g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderConfirm")})]})},Lq=()=>{const e=le(Lr),t=Te(),{t:n}=De();return g.jsxs(C4,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(FW()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},WMe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),UMe=()=>{const e=Te(),{t}=De(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:i,shouldShowIntermediates:o}=le(WMe);return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(BE,{})}),children:g.jsxs(ke,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:o,onChange:a=>e(YW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:a=>e(WW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:a=>e(UW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:i,onChange:a=>e(qW(a.target.checked))}),g.jsx(Lq,{}),g.jsx(Mq,{})]})})},VMe=()=>{const e=le(t=>t.ui.shouldShowParametersPanel);return g.jsxs(ke,{flexDirection:"column",rowGap:"0.5rem",width:"6rem",children:[g.jsx(IMe,{}),g.jsx(HMe,{}),g.jsxs(ke,{gap:"0.5rem",children:[g.jsx(jMe,{}),g.jsx(FMe,{})]}),g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(DMe,{}),g.jsx(BMe,{})]}),g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(LMe,{}),g.jsx(AMe,{})]}),g.jsxs(ke,{gap:"0.5rem",children:[g.jsx(Pq,{}),g.jsx(Eq,{})]}),g.jsxs(ke,{gap:"0.5rem",children:[g.jsx(OMe,{}),g.jsx($Me,{})]}),g.jsx(UMe,{}),!e&&g.jsx(NMe,{})]})};function GMe(){const e=Te(),t=le(i=>i.canvas.brushSize),{t:n}=De(),r=le(Lr);return Je(["BracketLeft"],()=>{e(Lm(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),Je(["BracketRight"],()=>{e(Lm(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),g.jsx(Dn,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:i=>e(Lm(i)),sliderNumberInputProps:{max:500},inputReadOnly:!1,width:"100px",isCompact:!0})}function _4(){return(_4=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function a7(e){var t=S.useRef(e),n=S.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var r0=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:E.buttons>0)&&i.current?o(PD(i.current,E,s.current)):w(!1)},b=function(){return w(!1)};function w(E){var _=l.current,k=s7(i.current),T=E?k.addEventListener:k.removeEventListener;T(_?"touchmove":"mousemove",y),T(_?"touchend":"mouseup",b)}return[function(E){var _=E.nativeEvent,k=i.current;if(k&&(TD(_),!function(L,O){return O&&!X1(L)}(_,l.current)&&k)){if(X1(_)){l.current=!0;var T=_.changedTouches||[];T.length&&(s.current=T[0].identifier)}k.focus(),o(PD(k,_,s.current)),w(!0)}},function(E){var _=E.which||E.keyCode;_<37||_>40||(E.preventDefault(),a({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},w]},[a,o]),d=u[0],h=u[1],m=u[2];return S.useEffect(function(){return m},[m]),Ke.createElement("div",_4({},r,{onTouchStart:d,onMouseDown:d,className:"react-colorful__interactive",ref:i,onKeyDown:h,tabIndex:0,role:"slider"}))}),k4=function(e){return e.filter(Boolean).join(" ")},yP=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,o=k4(["react-colorful__pointer",e.className]);return Ke.createElement("div",{className:o,style:{top:100*i+"%",left:100*n+"%"}},Ke.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},Co=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},Oq=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:Co(e.h),s:Co(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:Co(i/2),a:Co(r,2)}},l7=function(e){var t=Oq(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},a6=function(e){var t=Oq(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},qMe=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var o=Math.floor(t),a=r*(1-n),s=r*(1-(t-o)*n),l=r*(1-(1-t+o)*n),u=o%6;return{r:Co(255*[r,s,a,a,l,r][u]),g:Co(255*[l,r,r,s,a,a][u]),b:Co(255*[a,a,l,r,r,s][u]),a:Co(i,2)}},KMe=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,o=Math.max(t,n,r),a=o-Math.min(t,n,r),s=a?o===t?(n-r)/a:o===n?2+(r-t)/a:4+(t-n)/a:0;return{h:Co(60*(s<0?s+6:s)),s:Co(o?a/o*100:0),v:Co(o/255*100),a:i}},YMe=Ke.memo(function(e){var t=e.hue,n=e.onChange,r=k4(["react-colorful__hue",e.className]);return Ke.createElement("div",{className:r},Ke.createElement(vP,{onMove:function(i){n({h:360*i.left})},onKey:function(i){n({h:r0(t+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":Co(t),"aria-valuemax":"360","aria-valuemin":"0"},Ke.createElement(yP,{className:"react-colorful__hue-pointer",left:t/360,color:l7({h:t,s:100,v:100,a:1})})))}),XMe=Ke.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:l7({h:t.h,s:100,v:100,a:1})};return Ke.createElement("div",{className:"react-colorful__saturation",style:r},Ke.createElement(vP,{onMove:function(i){n({s:100*i.left,v:100-100*i.top})},onKey:function(i){n({s:r0(t.s+100*i.left,0,100),v:r0(t.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Co(t.s)+"%, Brightness "+Co(t.v)+"%"},Ke.createElement(yP,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:l7(t)})))}),Rq=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function ZMe(e,t,n){var r=a7(n),i=S.useState(function(){return e.toHsva(t)}),o=i[0],a=i[1],s=S.useRef({color:t,hsva:o});S.useEffect(function(){if(!e.equal(t,s.current.color)){var u=e.toHsva(t);s.current={hsva:u,color:t},a(u)}},[t,e]),S.useEffect(function(){var u;Rq(o,s.current.hsva)||e.equal(u=e.fromHsva(o),s.current.color)||(s.current={hsva:o,color:u},r(u))},[o,e,r]);var l=S.useCallback(function(u){a(function(d){return Object.assign({},d,u)})},[]);return[o,l]}var QMe=typeof window<"u"?S.useLayoutEffect:S.useEffect,JMe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},MD=new Map,eLe=function(e){QMe(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!MD.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,MD.set(t,n);var r=JMe();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},tLe=function(e){var t=e.className,n=e.hsva,r=e.onChange,i={backgroundImage:"linear-gradient(90deg, "+a6(Object.assign({},n,{a:0}))+", "+a6(Object.assign({},n,{a:1}))+")"},o=k4(["react-colorful__alpha",t]),a=Co(100*n.a);return Ke.createElement("div",{className:o},Ke.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),Ke.createElement(vP,{onMove:function(s){r({a:s.left})},onKey:function(s){r({a:r0(n.a+s.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},Ke.createElement(yP,{className:"react-colorful__alpha-pointer",left:n.a,color:a6(n)})))},nLe=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,o=e.onChange,a=Aq(e,["className","colorModel","color","onChange"]),s=S.useRef(null);eLe(s);var l=ZMe(n,i,o),u=l[0],d=l[1],h=k4(["react-colorful",t]);return Ke.createElement("div",_4({},a,{ref:s,className:h}),Ke.createElement(XMe,{hsva:u,onChange:d}),Ke.createElement(YMe,{hue:u.h,onChange:d}),Ke.createElement(tLe,{hsva:u,onChange:d,className:"react-colorful__last-control"}))},rLe={defaultColor:{r:0,g:0,b:0,a:1},toHsva:KMe,fromHsva:qMe,equal:Rq},iLe=function(e){return Ke.createElement(nLe,_4({},e,{colorModel:rLe}))};const B3=e=>{const{styleClass:t,...n}=e;return g.jsx(iLe,{className:`invokeai__color-picker ${t}`,...n})},oLe=lt([rn,Lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:i}=e;return{brushColor:n,maskColor:r,layer:i,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function aLe(){const e=Te(),{brushColor:t,maskColor:n,layer:r,isStaging:i}=le(oLe),o=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return Je(["shift+BracketLeft"],()=>{e(Mm({...t,a:Pe.clamp(t.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),Je(["shift+BracketRight"],()=>{e(Mm({...t,a:Pe.clamp(t.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(ao,{style:{width:"30px",height:"30px",minWidth:"30px",minHeight:"30px",borderRadius:"99999999px",backgroundColor:o(),cursor:"pointer"}}),children:g.jsxs(ke,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[r==="base"&&g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:t,onChange:a=>e(Mm(a))}),r==="mask"&&g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:a=>e(HW(a))})]})})}function Iq(){return g.jsxs(ke,{columnGap:"1rem",alignItems:"center",children:[g.jsx(GMe,{}),g.jsx(aLe,{})]})}function sLe(){const e=Te(),t=le(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(ZW(r.target.checked))})}function lLe(){return g.jsxs(ke,{gap:"1rem",alignItems:"center",children:[g.jsx(Iq,{}),g.jsx(sLe,{})]})}function uLe(){const e=Te(),{t}=De(),n=()=>e(pE());return g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function cLe(){const e=le(i=>i.canvas.isMaskEnabled),t=Te(),{t:n}=De(),r=()=>t(h2(!e));return g.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function dLe(){const e=Te(),{t}=De(),n=le(r=>r.canvas.shouldPreserveMaskedArea);return g.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(GW(r.target.checked))})}function fLe(){return g.jsxs(ke,{gap:"1rem",alignItems:"center",children:[g.jsx(Iq,{}),g.jsx(cLe,{}),g.jsx(dLe,{}),g.jsx(uLe,{})]})}function hLe(){const e=le(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=Te(),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(VW(r.target.checked))})}function pLe(){const e=le(r=>r.canvas.shouldShowGrid),t=Te(),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(KW(r.target.checked))})}function gLe(){const e=le(i=>i.canvas.shouldSnapToGrid),t=Te(),{t:n}=De(),r=i=>t(C3(i.target.checked));return g.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function mLe(){return g.jsxs(ke,{alignItems:"center",gap:"1rem",children:[g.jsx(pLe,{}),g.jsx(gLe,{}),g.jsx(hLe,{})]})}const vLe=lt([rn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function yLe(){const{tool:e,layer:t}=le(vLe);return g.jsxs(ke,{height:"2rem",minHeight:"2rem",maxHeight:"2rem",alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(lLe,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(fLe,{}),e=="move"&&g.jsx(mLe,{})]})}const bLe=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),xLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=le(bLe);return S.useLayoutEffect(()=>{e(Li(!0));const n=Pe.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsxs(ke,{flexDirection:"row",width:"100%",height:"100%",columnGap:"1rem",padding:"1rem",children:[g.jsx(VMe,{}),g.jsxs(ke,{width:"100%",height:"100%",flexDirection:"column",rowGap:"1rem",children:[g.jsx(yLe,{}),t?g.jsx(kq,{}):g.jsx(_q,{})]})]})})},SLe=lt([rn,Lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:i,shouldPreserveMaskedArea:o}=e;return{layer:r,maskColor:n,maskColorString:zh(n),isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),wLe=()=>{const e=Te(),{t}=De(),{layer:n,maskColor:r,isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:a}=le(SLe);Je(["q"],()=>{s()},{enabled:()=>!a,preventDefault:!0},[n]),Je(["shift+c"],()=>{l()},{enabled:()=>!a,preventDefault:!0},[]),Je(["h"],()=>{u()},{enabled:()=>!a,preventDefault:!0},[i]);const s=()=>{e(w3(n==="mask"?"base":"mask"))},l=()=>e(pE()),u=()=>e(h2(!i));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Gi,{children:g.jsx(Ye,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:g.jsx(Pke,{}),style:n==="mask"?{backgroundColor:"var(--accent-color)"}:{backgroundColor:"var(--btn-base-color)"},isDisabled:a})}),children:g.jsxs(ke,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:i,onChange:u}),g.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:o,onChange:d=>e(GW(d.target.checked))}),g.jsx(B3,{style:{paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:r,onChange:d=>e(HW(d))}),g.jsxs(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:l,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},CLe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),_Le=()=>{const e=Te(),{t}=De(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:i,shouldShowCanvasDebugInfo:o,shouldShowGrid:a,shouldShowIntermediates:s,shouldSnapToGrid:l,shouldRestrictStrokesToBox:u}=le(CLe);Je(["n"],()=>{e(C3(!l))},{enabled:!0,preventDefault:!0},[l]);const d=h=>e(C3(h.target.checked));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(BE,{})}),children:g.jsxs(ke,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:h=>e(YW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:h=>e(KW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:l,onChange:d}),g.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:i,onChange:h=>e(VW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:h=>e(WW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:h=>e(UW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:u,onChange:h=>e(ZW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:h=>e(qW(h.target.checked))}),g.jsx(Lq,{}),g.jsx(Mq,{})]})})},kLe=lt([rn,Lr,hr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i,brushColor:o,brushSize:a}=e;return{tool:i,isStaging:t,isProcessing:r,brushColor:o,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),ELe=()=>{const e=Te(),{tool:t,brushColor:n,brushSize:r,isStaging:i}=le(kLe),{t:o}=De();Je(["b"],()=>{a()},{enabled:()=>!i,preventDefault:!0},[]),Je(["e"],()=>{s()},{enabled:()=>!i,preventDefault:!0},[t]),Je(["c"],()=>{l()},{enabled:()=>!i,preventDefault:!0},[t]),Je(["shift+f"],()=>{u()},{enabled:()=>!i,preventDefault:!0}),Je(["delete","backspace"],()=>{d()},{enabled:()=>!i,preventDefault:!0}),Je(["BracketLeft"],()=>{e(Lm(Math.max(r-5,5)))},{enabled:()=>!i,preventDefault:!0},[r]),Je(["BracketRight"],()=>{e(Lm(Math.min(r+5,500)))},{enabled:()=>!i,preventDefault:!0},[r]),Je(["shift+BracketLeft"],()=>{e(Mm({...n,a:Pe.clamp(n.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]),Je(["shift+BracketRight"],()=>{e(Mm({...n,a:Pe.clamp(n.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]);const a=()=>e(Jl("brush")),s=()=>e(Jl("eraser")),l=()=>e(Jl("colorPicker")),u=()=>e(NW()),d=()=>e(jW());return g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.brush")} (B)`,tooltip:`${o("unifiedCanvas.brush")} (B)`,icon:g.jsx(aG,{}),"data-selected":t==="brush"&&!i,onClick:a,isDisabled:i}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.eraser")} (E)`,tooltip:`${o("unifiedCanvas.eraser")} (E)`,icon:g.jsx(nG,{}),"data-selected":t==="eraser"&&!i,isDisabled:i,onClick:s}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(iG,{}),isDisabled:i,onClick:u}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:i,onClick:d}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.colorPicker")} (C)`,tooltip:`${o("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(rG,{}),"data-selected":t==="colorPicker"&&!i,isDisabled:i,onClick:l}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":o("unifiedCanvas.brushOptions"),tooltip:o("unifiedCanvas.brushOptions"),icon:g.jsx(FE,{})}),children:g.jsxs(ke,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[g.jsx(ke,{gap:"1rem",justifyContent:"space-between",children:g.jsx(Dn,{label:o("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:h=>e(Lm(h)),sliderNumberInputProps:{max:500},inputReadOnly:!1})}),g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:h=>e(Mm(h))})]})})]})},PLe=lt([hr,rn,Lr],(e,t,n)=>{const{isProcessing:r}=e,{tool:i,shouldCropToBoundingBoxOnSave:o,layer:a,isMaskEnabled:s}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:s,tool:i,layer:a,shouldCropToBoundingBoxOnSave:o}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),TLe=()=>{const e=Te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:i,tool:o,shouldCropToBoundingBoxOnSave:a}=le(PLe),s=Qs(),{t:l}=De(),{openUploader:u}=OE();Je(["v"],()=>{d()},{enabled:()=>!n,preventDefault:!0},[]),Je(["r"],()=>{m()},{enabled:()=>!0,preventDefault:!0},[s]),Je(["shift+m"],()=>{b()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["shift+s"],()=>{w()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["meta+c","ctrl+c"],()=>{E()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[s,t]);const d=()=>e(Jl("move")),h=Tq(()=>m(!1),()=>m(!0)),m=(T=!1)=>{const L=Qs();if(!L)return;const O=L.getClientRect({skipTransform:!0});e(BW({contentRect:O,shouldScaleTo1:T}))},y=()=>{e(gE()),e(r4())},b=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))},w=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldSaveToGallery:!0}))},E=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldCopy:!0}))},_=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldDownload:!0}))},k=T=>{const L=T.target.value;e(w3(L)),L==="mask"&&!r&&e(h2(!0))};return g.jsxs("div",{className:"inpainting-settings",children:[g.jsx(Jo,{tooltip:`${l("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:i,validValues:IW,onChange:k,isDisabled:n}),g.jsx(wLe,{}),g.jsx(ELe,{}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.move")} (V)`,tooltip:`${l("unifiedCanvas.move")} (V)`,icon:g.jsx(JV,{}),"data-selected":o==="move"||n,onClick:d}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.resetView")} (R)`,tooltip:`${l("unifiedCanvas.resetView")} (R)`,icon:g.jsx(tG,{}),onClick:h})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(oG,{}),onClick:b,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx($E,{}),onClick:w,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:E,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx(NE,{}),onClick:_,isDisabled:n})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Pq,{}),g.jsx(Eq,{})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("common.upload")}`,tooltip:`${l("common.upload")}`,icon:g.jsx(h4,{}),onClick:u,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.clearCanvas")}`,tooltip:`${l("unifiedCanvas.clearCanvas")}`,icon:g.jsx(hp,{}),onClick:y,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(_Le,{})})]})},MLe=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),LLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=le(MLe);return S.useLayoutEffect(()=>{e(Li(!0));const n=Pe.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsx("div",{className:"workarea-split-view-left",children:g.jsxs("div",{className:"inpainting-main-area",children:[g.jsx(TLe,{}),g.jsx("div",{className:"inpainting-canvas-area",children:t?g.jsx(kq,{}):g.jsx(_q,{})})]})})})},ALe=lt(rn,e=>{const{boundingBoxDimensions:t,boundingBoxScaleMethod:n}=e;return{boundingBoxDimensions:t,boundingBoxScale:n}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),OLe=()=>{const e=Te(),{boundingBoxDimensions:t}=le(ALe),{t:n}=De(),r=s=>{e(g1({...t,width:Math.floor(s)}))},i=s=>{e(g1({...t,height:Math.floor(s)}))},o=()=>{e(g1({...t,width:Math.floor(512)}))},a=()=>{e(g1({...t,height:Math.floor(512)}))};return g.jsxs(ke,{direction:"column",gap:2,children:[g.jsx(Dn,{label:n("parameters.width"),min:64,max:1024,step:64,value:t.width,onChange:r,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:o,sliderMarkRightOffset:-7}),g.jsx(Dn,{label:n("parameters.height"),min:64,max:1024,step:64,value:t.height,onChange:i,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:a,sliderMarkRightOffset:-7})]})},RLe=lt([eP,hr,rn],(e,t,n)=>{const{tileSize:r,infillMethod:i}=e,{infill_methods:o}=t,{boundingBoxScaleMethod:a,scaledBoundingBoxDimensions:s}=n;return{boundingBoxScale:a,scaledBoundingBoxDimensions:s,tileSize:r,infillMethod:i,availableInfillMethods:o,isManual:a==="manual"}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),ILe=()=>{const e=Te(),{tileSize:t,infillMethod:n,availableInfillMethods:r,boundingBoxScale:i,isManual:o,scaledBoundingBoxDimensions:a}=le(RLe),{t:s}=De(),l=y=>{e(Jb({...a,width:Math.floor(y)}))},u=y=>{e(Jb({...a,height:Math.floor(y)}))},d=()=>{e(Jb({...a,width:Math.floor(512)}))},h=()=>{e(Jb({...a,height:Math.floor(512)}))},m=y=>{e(d3e(y.target.value))};return g.jsxs(ke,{direction:"column",gap:4,children:[g.jsx(Jo,{label:s("parameters.scaleBeforeProcessing"),validValues:KSe,value:i,onChange:m}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledWidth"),min:64,max:1024,step:64,value:a.width,onChange:l,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:d,sliderMarkRightOffset:-7}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledHeight"),min:64,max:1024,step:64,value:a.height,onChange:u,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:h,sliderMarkRightOffset:-7}),g.jsx(Jo,{label:s("parameters.infillMethod"),value:n,validValues:r,onChange:y=>e(sU(y.target.value))}),g.jsx(Dn,{isInputDisabled:n!=="tile",isResetDisabled:n!=="tile",isSliderDisabled:n!=="tile",sliderMarkRightOffset:-4,label:s("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:y=>{e(rR(y))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(rR(32))}})]})};function DLe(){const e=Te(),t=le(r=>r.generation.seamBlur),{t:n}=De();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(JO(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(JO(16))}})}function jLe(){const e=Te(),{t}=De(),n=le(r=>r.generation.seamSize);return g.jsx(Dn,{sliderMarkRightOffset:-6,label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(eR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(eR(96))})}function NLe(){const{t:e}=De(),t=le(r=>r.generation.seamSteps),n=Te();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(tR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(tR(30))}})}function $Le(){const e=Te(),{t}=De(),n=le(r=>r.generation.seamStrength);return g.jsx(Dn,{sliderMarkRightOffset:-7,label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(nR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(nR(.7))}})}const FLe=()=>g.jsxs(ke,{direction:"column",gap:2,children:[g.jsx(jLe,{}),g.jsx(DLe,{}),g.jsx($Le,{}),g.jsx(NLe,{})]});function BLe(){const{t:e}=De(),t={seed:{header:`${e("parameters.seed")}`,feature:oo.SEED,content:g.jsx(aP,{})},boundingBox:{header:`${e("parameters.boundingBoxHeader")}`,feature:oo.BOUNDING_BOX,content:g.jsx(OLe,{})},seamCorrection:{header:`${e("parameters.seamCorrectionHeader")}`,feature:oo.SEAM_CORRECTION,content:g.jsx(FLe,{})},infillAndScaling:{header:`${e("parameters.infillScalingHeader")}`,feature:oo.INFILL_AND_SCALING,content:g.jsx(ILe,{})},variations:{header:`${e("parameters.variations")}`,feature:oo.VARIATIONS,content:g.jsx(lP,{}),additionalHeaderComponents:g.jsx(sP,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(iP,{}),additionalHeaderComponents:g.jsx(oP,{})}},n={unifiedCanvasImg2Img:{header:`${e("parameters.imageToImage")}`,feature:void 0,content:g.jsx(gq,{label:e("parameters.img2imgStrength"),styleClass:"main-settings-block image-to-image-strength-main-option"})}};return g.jsxs(hP,{children:[g.jsxs(ke,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(fP,{}),g.jsx(dP,{})]}),g.jsx(cP,{}),g.jsx(uP,{}),g.jsx(n0,{accordionInfo:n}),g.jsx(n0,{accordionInfo:t})]})}function zLe(){const e=le(t=>t.ui.shouldUseCanvasBetaLayout);return g.jsx(rP,{optionsPanel:g.jsx(BLe,{}),styleClass:"inpainting-workarea-overrides",children:e?g.jsx(xLe,{}):g.jsx(LLe,{})})}const Qa={txt2img:{title:g.jsx(R_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(OPe,{}),tooltip:"Text To Image"},img2img:{title:g.jsx(L_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(_Pe,{}),tooltip:"Image To Image"},unifiedCanvas:{title:g.jsx(D_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(zLe,{}),tooltip:"Unified Canvas"},nodes:{title:g.jsx(A_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(E_e,{}),tooltip:"Nodes"},postprocess:{title:g.jsx(O_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(P_e,{}),tooltip:"Post Processing"},training:{title:g.jsx(I_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(T_e,{}),tooltip:"Training"}};function HLe(){Qa.txt2img.tooltip=Et.t("common.text2img"),Qa.img2img.tooltip=Et.t("common.img2img"),Qa.unifiedCanvas.tooltip=Et.t("common.unifiedCanvas"),Qa.nodes.tooltip=Et.t("common.nodes"),Qa.postprocess.tooltip=Et.t("common.postProcessing"),Qa.training.tooltip=Et.t("common.training")}function WLe(){const e=le(k_e),t=le(u=>u.lightbox.isLightboxOpen),{shouldShowGallery:n,shouldShowParametersPanel:r,shouldPinGallery:i,shouldPinParametersPanel:o}=le(nP);M_e(HLe);const a=Te();Je("1",()=>{a(Wo(0))}),Je("2",()=>{a(Wo(1))}),Je("3",()=>{a(Wo(2))}),Je("4",()=>{a(Wo(3))}),Je("5",()=>{a(Wo(4))}),Je("6",()=>{a(Wo(5))}),Je("z",()=>{a(Om(!t))},[t]),Je("f",()=>{n||r?(a(Fh(!1)),a(Am(!1))):(a(Fh(!0)),a(Am(!0))),(i||o)&&setTimeout(()=>a(Li(!0)),400)},[n,r]);const s=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(si,{hasArrow:!0,label:Qa[d].tooltip,placement:"right",children:g.jsx(sW,{children:Qa[d].title})},d))}),u},l=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(oW,{className:"app-tabs-panel",children:Qa[d].workarea},d))}),u};return g.jsxs(iW,{isLazy:!0,className:"app-tabs",variant:"unstyled",defaultIndex:e,index:e,onChange:u=>{a(Wo(u))},children:[g.jsx("div",{className:"app-tabs-list",children:s()}),g.jsx(aW,{className:"app-tabs-panels",children:t?g.jsx(UEe,{}):l()})]})}var ULe=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function C2(e,t){var n=VLe(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function VLe(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),i=ULe.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}var GLe=[".DS_Store","Thumbs.db"];function qLe(e){return f0(this,void 0,void 0,function(){return h0(this,function(t){return z3(e)&&KLe(e.dataTransfer)?[2,QLe(e.dataTransfer,e.type)]:YLe(e)?[2,XLe(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,ZLe(e)]:[2,[]]})})}function KLe(e){return z3(e)}function YLe(e){return z3(e)&&z3(e.target)}function z3(e){return typeof e=="object"&&e!==null}function XLe(e){return u7(e.target.files).map(function(t){return C2(t)})}function ZLe(e){return f0(this,void 0,void 0,function(){var t;return h0(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return C2(r)})]}})})}function QLe(e,t){return f0(this,void 0,void 0,function(){var n,r;return h0(this,function(i){switch(i.label){case 0:return e.items?(n=u7(e.items).filter(function(o){return o.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(JLe))]):[3,2];case 1:return r=i.sent(),[2,LD(Dq(r))];case 2:return[2,LD(u7(e.files).map(function(o){return C2(o)}))]}})})}function LD(e){return e.filter(function(t){return GLe.indexOf(t.name)===-1})}function u7(e){if(e===null)return[];for(var t=[],n=0;n`.replaceAll("black",e),iMe=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:i,stageScale:o}=le(rMe),[a,s]=S.useState(null),[l,u]=S.useState(0),d=S.useRef(null),h=S.useCallback(()=>{u(l+1),setTimeout(h,500)},[l]);return S.useEffect(()=>{if(a)return;const m=new Image;m.onload=()=>{s(m)},m.src=ED(n)},[a,n]),S.useEffect(()=>{a&&(a.src=ED(n))},[a,n]),S.useEffect(()=>{const m=setInterval(()=>u(y=>(y+1)%5),50);return()=>clearInterval(m)},[]),!a||!Pe.isNumber(r.x)||!Pe.isNumber(r.y)||!Pe.isNumber(o)||!Pe.isNumber(i.width)||!Pe.isNumber(i.height)?null:g.jsx(cc,{ref:d,offsetX:r.x/o,offsetY:r.y/o,height:i.height/o,width:i.width/o,fillPatternImage:a,fillPatternOffsetY:Pe.isNumber(l)?l:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/o,y:1/o},listening:!0,globalCompositeOperation:"source-in",...t})},oMe=lt([rn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),aMe=e=>{const{...t}=e,{objects:n}=le(oMe);return g.jsx(uc,{listening:!1,...t,children:n.filter(hE).map((r,i)=>g.jsx(F3,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},i))})};var sh=S,sMe=function(t,n,r){const i=sh.useRef("loading"),o=sh.useRef(),[a,s]=sh.useState(0),l=sh.useRef(),u=sh.useRef(),d=sh.useRef();return(l.current!==t||u.current!==n||d.current!==r)&&(i.current="loading",o.current=void 0,l.current=t,u.current=n,d.current=r),sh.useLayoutEffect(function(){if(!t)return;var h=document.createElement("img");function m(){i.current="loaded",o.current=h,s(Math.random())}function y(){i.current="failed",o.current=void 0,s(Math.random())}return h.addEventListener("load",m),h.addEventListener("error",y),n&&(h.crossOrigin=n),r&&(h.referrerpolicy=r),h.src=t,function(){h.removeEventListener("load",m),h.removeEventListener("error",y)}},[t,n,r]),[o.current,i.current]};const Cq=e=>{const{url:t,x:n,y:r}=e,[i]=sMe(t);return g.jsx(Sq,{x:n,y:r,image:i,listening:!1})},lMe=lt([rn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),uMe=()=>{const{objects:e}=le(lMe);return e?g.jsx(uc,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(x3(t))return g.jsx(Cq,{x:t.x,y:t.y,url:t.image.url},n);if(YSe(t)){const r=g.jsx(F3,{points:t.points,stroke:t.color?zh(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?g.jsx(uc,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(XSe(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:zh(t.color)},n);if(ZSe(t))return g.jsx(cc,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},cMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingImage:r,shouldShowStagingOutline:i,boundingBoxCoordinates:{x:o,y:a},boundingBoxDimensions:{width:s,height:l}}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),dMe=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:i,x:o,y:a,width:s,height:l}=le(cMe);return g.jsxs(uc,{...t,children:[r&&n&&g.jsx(Cq,{url:n.image.url,x:o,y:a}),i&&g.jsxs(uc,{children:[g.jsx(cc,{x:o,y:a,width:s,height:l,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),g.jsx(cc,{x:o,y:a,width:s,height:l,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},fMe=lt([rn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n}},shouldShowStagingOutline:r,shouldShowStagingImage:i}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:i,shouldShowStagingOutline:r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),hMe=()=>{const e=Te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:i}=le(fMe),{t:o}=De(),a=S.useCallback(()=>{e(XO(!0))},[e]),s=S.useCallback(()=>{e(XO(!1))},[e]);Je(["left"],()=>{l()},{enabled:()=>!0,preventDefault:!0}),Je(["right"],()=>{u()},{enabled:()=>!0,preventDefault:!0}),Je(["enter"],()=>{d()},{enabled:()=>!0,preventDefault:!0});const l=()=>e(s3e()),u=()=>e(a3e()),d=()=>e(r3e());return r?g.jsx(ke,{pos:"absolute",bottom:"1rem",w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:a,onMouseOut:s,children:g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{tooltip:`${o("unifiedCanvas.previous")} (Left)`,"aria-label":`${o("unifiedCanvas.previous")} (Left)`,icon:g.jsx(pke,{}),onClick:l,"data-selected":!0,isDisabled:t}),g.jsx(Ye,{tooltip:`${o("unifiedCanvas.next")} (Right)`,"aria-label":`${o("unifiedCanvas.next")} (Right)`,icon:g.jsx(gke,{}),onClick:u,"data-selected":!0,isDisabled:n}),g.jsx(Ye,{tooltip:`${o("unifiedCanvas.accept")} (Enter)`,"aria-label":`${o("unifiedCanvas.accept")} (Enter)`,icon:g.jsx(jE,{}),onClick:d,"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.showHide"),"aria-label":o("unifiedCanvas.showHide"),"data-alert":!i,icon:i?g.jsx(wke,{}):g.jsx(Ske,{}),onClick:()=>e(v3e(!i)),"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.saveToGallery"),"aria-label":o("unifiedCanvas.saveToGallery"),icon:g.jsx($E,{}),onClick:()=>e(m_e(r.image.url)),"data-selected":!0}),g.jsx(Ye,{tooltip:o("unifiedCanvas.discardAll"),"aria-label":o("unifiedCanvas.discardAll"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(i3e()),"data-selected":!0,style:{backgroundColor:"var(--btn-delete-image)"},fontSize:20})]})}):null},cm=e=>Math.round(e*100)/100,pMe=lt([rn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${cm(n)}, ${cm(r)})`}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function gMe(){const{cursorCoordinatesString:e}=le(pMe),{t}=De();return g.jsx("div",{children:`${t("unifiedcanvas:cursorPosition")}: ${e}`})}const mMe=lt([rn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:i},boundingBoxDimensions:{width:o,height:a},scaledBoundingBoxDimensions:{width:s,height:l},boundingBoxCoordinates:{x:u,y:d},stageScale:h,shouldShowCanvasDebugInfo:m,layer:y,boundingBoxScaleMethod:b,shouldPreserveMaskedArea:w}=e;let E="inherit";return(b==="none"&&(o<512||a<512)||b==="manual"&&s*l<512*512)&&(E="var(--status-working-color)"),{activeLayerColor:y==="mask"?"var(--status-working-color)":"inherit",activeLayerString:y.charAt(0).toUpperCase()+y.slice(1),boundingBoxColor:E,boundingBoxCoordinatesString:`(${cm(u)}, ${cm(d)})`,boundingBoxDimensionsString:`${o}×${a}`,scaledBoundingBoxDimensionsString:`${s}×${l}`,canvasCoordinatesString:`${cm(r)}×${cm(i)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(h*100),shouldShowCanvasDebugInfo:m,shouldShowBoundingBox:b!=="auto",shouldShowScaledBoundingBox:b!=="none",shouldPreserveMaskedArea:w}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),vMe=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:i,scaledBoundingBoxDimensionsString:o,shouldShowScaledBoundingBox:a,canvasCoordinatesString:s,canvasDimensionsString:l,canvasScaleString:u,shouldShowCanvasDebugInfo:d,shouldShowBoundingBox:h,shouldPreserveMaskedArea:m}=le(mMe),{t:y}=De();return g.jsxs("div",{className:"canvas-status-text",children:[g.jsx("div",{style:{color:e},children:`${y("unifiedCanvas.activeLayer")}: ${t}`}),g.jsx("div",{children:`${y("unifiedCanvas.canvasScale")}: ${u}%`}),m&&g.jsx("div",{style:{color:"var(--status-working-color)"},children:"Preserve Masked Area: On"}),h&&g.jsx("div",{style:{color:n},children:`${y("unifiedcanvas:boundingBox")}: ${i}`}),a&&g.jsx("div",{style:{color:n},children:`${y("unifiedcanvas:scaledBoundingBox")}: ${o}`}),d&&g.jsxs(g.Fragment,{children:[g.jsx("div",{children:`${y("unifiedcanvas:boundingBoxPosition")}: ${r}`}),g.jsx("div",{children:`${y("unifiedcanvas:canvasDimensions")}: ${l}`}),g.jsx("div",{children:`${y("unifiedcanvas:canvasPosition")}: ${s}`}),g.jsx(gMe,{})]})]})},yMe=lt(rn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageScale:r,isDrawing:i,isTransformingBoundingBox:o,isMovingBoundingBox:a,tool:s,shouldSnapToGrid:l}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,isDrawing:i,isMovingBoundingBox:a,isTransformingBoundingBox:o,stageScale:r,shouldSnapToGrid:l,tool:s,hitStrokeWidth:20/r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),bMe=e=>{const{...t}=e,n=Te(),{boundingBoxCoordinates:r,boundingBoxDimensions:i,isDrawing:o,isMovingBoundingBox:a,isTransformingBoundingBox:s,stageScale:l,shouldSnapToGrid:u,tool:d,hitStrokeWidth:h}=le(yMe),m=S.useRef(null),y=S.useRef(null),[b,w]=S.useState(!1);S.useEffect(()=>{var ne;!m.current||!y.current||(m.current.nodes([y.current]),(ne=m.current.getLayer())==null||ne.batchDraw())},[]);const E=64*l,_=S.useCallback(ne=>{if(!u){n(RC({x:Math.floor(ne.target.x()),y:Math.floor(ne.target.y())}));return}const z=ne.target.x(),$=ne.target.y(),V=Hl(z,64),X=Hl($,64);ne.target.x(V),ne.target.y(X),n(RC({x:V,y:X}))},[n,u]),k=S.useCallback(()=>{if(!y.current)return;const ne=y.current,z=ne.scaleX(),$=ne.scaleY(),V=Math.round(ne.width()*z),X=Math.round(ne.height()*$),Q=Math.round(ne.x()),G=Math.round(ne.y());n(g1({width:V,height:X})),n(RC({x:u?Cd(Q,64):Q,y:u?Cd(G,64):G})),ne.scaleX(1),ne.scaleY(1)},[n,u]),T=S.useCallback((ne,z,$)=>{const V=ne.x%E,X=ne.y%E;return{x:Cd(z.x,E)+V,y:Cd(z.y,E)+X}},[E]),L=()=>{n(DC(!0))},O=()=>{n(DC(!1)),n(IC(!1)),n(Qb(!1)),w(!1)},D=()=>{n(IC(!0))},I=()=>{n(DC(!1)),n(IC(!1)),n(Qb(!1)),w(!1)},N=()=>{w(!0)},W=()=>{!s&&!a&&w(!1)},B=()=>{n(Qb(!0))},K=()=>{n(Qb(!1))};return g.jsxs(uc,{...t,children:[g.jsx(cc,{height:i.height,width:i.width,x:r.x,y:r.y,onMouseEnter:B,onMouseOver:B,onMouseLeave:K,onMouseOut:K}),g.jsx(cc,{draggable:!0,fillEnabled:!1,height:i.height,hitStrokeWidth:h,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onDragMove:_,onMouseDown:D,onMouseOut:W,onMouseOver:N,onMouseEnter:N,onMouseUp:I,onTransform:k,onTransformEnd:O,ref:y,stroke:b?"rgba(255,255,255,0.7)":"white",strokeWidth:(b?8:1)/l,width:i.width,x:r.x,y:r.y}),g.jsx(DTe,{anchorCornerRadius:3,anchorDragBoundFunc:T,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:d==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!o&&d==="move",onDragStart:D,onDragEnd:I,onMouseDown:L,onMouseUp:O,onTransformEnd:O,ref:m,rotateEnabled:!1})]})},xMe=lt(rn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:i,brushColor:o,tool:a,layer:s,shouldShowBrush:l,isMovingBoundingBox:u,isTransformingBoundingBox:d,stageScale:h,stageDimensions:m,boundingBoxCoordinates:y,boundingBoxDimensions:b,shouldRestrictStrokesToBox:w}=e,E=w?{clipX:y.x,clipY:y.y,clipWidth:b.width,clipHeight:b.height}:{};return{cursorPosition:t,brushX:t?t.x:m.width/2,brushY:t?t.y:m.height/2,radius:n/2,colorPickerOuterRadius:KO/h,colorPickerInnerRadius:(KO-pk+1)/h,maskColorString:zh({...i,a:.5}),brushColorString:zh(o),colorPickerColorString:zh(r),tool:a,layer:s,shouldShowBrush:l,shouldDrawBrushPreview:!(u||d||!t)&&l,strokeWidth:1.5/h,dotRadius:1.5/h,clip:E}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),SMe=e=>{const{...t}=e,{brushX:n,brushY:r,radius:i,maskColorString:o,tool:a,layer:s,shouldDrawBrushPreview:l,dotRadius:u,strokeWidth:d,brushColorString:h,colorPickerColorString:m,colorPickerInnerRadius:y,colorPickerOuterRadius:b,clip:w}=le(xMe);return l?g.jsxs(uc,{listening:!1,...w,...t,children:[a==="colorPicker"?g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:b,stroke:h,strokeWidth:pk,strokeScaleEnabled:!1}),g.jsx(ah,{x:n,y:r,radius:y,stroke:m,strokeWidth:pk,strokeScaleEnabled:!1})]}):g.jsxs(g.Fragment,{children:[g.jsx(ah,{x:n,y:r,radius:i,fill:s==="mask"?o:h,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(255,255,255,0.4)",strokeWidth:d*2,strokeEnabled:!0,listening:!1}),g.jsx(ah,{x:n,y:r,radius:i,stroke:"rgba(0,0,0,1)",strokeWidth:d,strokeEnabled:!0,listening:!1})]}),g.jsx(ah,{x:n,y:r,radius:u*2,fill:"rgba(255,255,255,0.4)",listening:!1}),g.jsx(ah,{x:n,y:r,radius:u,fill:"rgba(0,0,0,1)",listening:!1})]}):null},wMe=lt([rn,Lr],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:i,isTransformingBoundingBox:o,isMouseOverBoundingBox:a,isMovingBoundingBox:s,stageDimensions:l,stageCoordinates:u,tool:d,isMovingStage:h,shouldShowIntermediates:m,shouldShowGrid:y,shouldRestrictStrokesToBox:b}=e;let w="none";return d==="move"||t?h?w="grabbing":w="grab":o?w=void 0:b&&!a&&(w="default"),{isMaskEnabled:n,isModifyingBoundingBox:o||s,shouldShowBoundingBox:i,shouldShowGrid:y,stageCoordinates:u,stageCursor:w,stageDimensions:l,stageScale:r,tool:d,isStaging:t,shouldShowIntermediates:m}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),_q=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:i,stageCursor:o,stageDimensions:a,stageScale:s,tool:l,isStaging:u,shouldShowIntermediates:d}=le(wMe);BTe();const h=S.useRef(null),m=S.useRef(null),y=S.useCallback(W=>{K6e(W),h.current=W},[]),b=S.useCallback(W=>{q6e(W),m.current=W},[]),w=S.useRef({x:0,y:0}),E=S.useRef(!1),_=YTe(h),k=HTe(h),T=qTe(h,E),L=UTe(h,E,w),O=VTe(),{handleDragStart:D,handleDragMove:I,handleDragEnd:N}=$Te();return g.jsx("div",{className:"inpainting-canvas-container",children:g.jsxs("div",{className:"inpainting-canvas-wrapper",children:[g.jsxs(jTe,{tabIndex:-1,ref:y,className:"inpainting-canvas-stage",style:{...o?{cursor:o}:{}},x:i.x,y:i.y,width:a.width,height:a.height,scale:{x:s,y:s},onTouchStart:k,onTouchMove:L,onTouchEnd:T,onMouseDown:k,onMouseLeave:O,onMouseMove:L,onMouseUp:T,onDragStart:D,onDragMove:I,onDragEnd:N,onContextMenu:W=>W.evt.preventDefault(),onWheel:_,draggable:(l==="move"||u)&&!t,children:[g.jsx(n1,{id:"grid",visible:r,children:g.jsx(eMe,{})}),g.jsx(n1,{id:"base",ref:b,listening:!1,imageSmoothingEnabled:!1,children:g.jsx(uMe,{})}),g.jsxs(n1,{id:"mask",visible:e,listening:!1,children:[g.jsx(aMe,{visible:!0,listening:!1}),g.jsx(iMe,{listening:!1})]}),g.jsx(n1,{children:g.jsx(ZTe,{})}),g.jsxs(n1,{id:"preview",imageSmoothingEnabled:!1,children:[!u&&g.jsx(SMe,{visible:l!=="move",listening:!1}),g.jsx(dMe,{visible:u}),d&&g.jsx(nMe,{}),g.jsx(bMe,{visible:n&&!u})]})]}),g.jsx(vMe,{}),g.jsx(hMe,{})]})})},CMe=lt(rn,sG,Br,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:i}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:i}}),kq=()=>{const e=Te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:i}=le(CMe),o=S.useRef(null);return S.useLayoutEffect(()=>{window.setTimeout(()=>{if(!o.current)return;const{clientWidth:a,clientHeight:s}=o.current;e(f3e({width:a,height:s})),e(i?c3e():r4()),e(Li(!1))},0)},[e,r,t,n,i]),g.jsx("div",{ref:o,className:"inpainting-canvas-area",children:g.jsx(p0,{thickness:"2px",speed:"1s",size:"xl"})})},_Me=lt([rn,Br,hr],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Eq(){const e=Te(),{canRedo:t,activeTabName:n}=le(_Me),{t:r}=De(),i=()=>{e(l3e())};return Je(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{i()},{enabled:()=>t,preventDefault:!0},[n,t]),g.jsx(Ye,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:g.jsx(Rke,{}),onClick:i,isDisabled:!t})}const kMe=lt([rn,Br,hr],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Pq(){const e=Te(),{t}=De(),{canUndo:n,activeTabName:r}=le(kMe),i=()=>{e(b3e())};return Je(["meta+z","ctrl+z"],()=>{i()},{enabled:()=>n,preventDefault:!0},[r,n]),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:g.jsx(Nke,{}),onClick:i,isDisabled:!n})}const EMe=(e,t,n)=>{const r=document.createElement("img");r.addEventListener("load",()=>{const i=document.createElement("canvas");i.width=t,i.height=n;const o=i.getContext("2d");o&&(o.drawImage(r,0,0),i.toBlob(a=>{a&&navigator.clipboard.write([new ClipboardItem({[a.type]:a})])}),i.remove(),r.remove())}),r.src=e},PMe=e=>{const t=document.createElement("a");t.href=e,t.download="",document.body.appendChild(t),t.click(),document.body.removeChild(t),t.remove()},TMe=(e,t,n,r)=>{const i=e.scale(),o=e.getClientRect({relativeTo:e.getParent()});e.scale({x:1/t,y:1/t});const{x:a,y:s,width:l,height:u}=e.getClientRect(),d=r?{x:r.x+n.x,y:r.y+n.y,width:r.width,height:r.height}:{x:a,y:s,width:l,height:u},h=e.toDataURL(d);return e.scale(i),{dataURL:h,boundingBox:{x:o.x,y:o.y,width:l,height:u}}},MMe={cropVisible:!1,cropToBoundingBox:!1,shouldSaveToGallery:!1,shouldDownload:!1,shouldCopy:!1,shouldSetAsInitialImage:!0},Td=(e=MMe)=>async(t,n)=>{const{cropVisible:r,cropToBoundingBox:i,shouldSaveToGallery:o,shouldDownload:a,shouldCopy:s,shouldSetAsInitialImage:l}=e;t(M4e("Exporting Image")),t(_d(!1));const u=n(),{stageScale:d,boundingBoxCoordinates:h,boundingBoxDimensions:m,stageCoordinates:y}=u.canvas,b=Qs();if(!b){t(wa(!1)),t(_d(!0));return}const{dataURL:w,boundingBox:E}=TMe(b,d,y,i?{...h,...m}:void 0);if(!w){t(wa(!1)),t(_d(!0));return}const _=new FormData;_.append("data",JSON.stringify({dataURL:w,filename:"merged_canvas.png",kind:o?"result":"temp",cropVisible:r}));const T=await(await fetch(`${window.location.origin}/upload`,{method:"POST",body:_})).json(),{url:L,width:O,height:D}=T,I={uuid:um(),category:o?"result":"user",...T};a&&(PMe(L),t($u({title:Et.t("toast.downloadImageStarted"),status:"success",duration:2500,isClosable:!0}))),s&&(EMe(L,O,D),t($u({title:Et.t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0}))),o&&(t(sm({image:I,category:"result"})),t($u({title:Et.t("toast.imageSavedToGallery"),status:"success",duration:2500,isClosable:!0}))),l&&(t(g3e({kind:"image",layer:"base",...E,image:I})),t($u({title:Et.t("toast.canvasMerged"),status:"success",duration:2500,isClosable:!0}))),t(wa(!1)),t(hh(Et.t("common.statusConnected"))),t(_d(!0))};function LMe(){const e=le(Lr),t=Qs(),n=le(s=>s.system.isProcessing),r=le(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=De();Je(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldCopy:!0}))};return g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${o("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:a,isDisabled:e})}function AMe(){const e=Te(),{t}=De(),n=Qs(),r=le(Lr),i=le(s=>s.system.isProcessing),o=le(s=>s.canvas.shouldCropToBoundingBoxOnSave);Je(["shift+d"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n,i]);const a=()=>{e(Td({cropVisible:!o,cropToBoundingBox:o,shouldDownload:!0}))};return g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx(NE,{}),onClick:a,isDisabled:r})}function OMe(){const e=le(Lr),{openUploader:t}=OE(),{t:n}=De();return g.jsx(Ye,{"aria-label":n("common.upload"),tooltip:n("common.upload"),icon:g.jsx(h4,{}),onClick:t,isDisabled:e})}const RMe=lt([rn,Lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function IMe(){const e=Te(),{t}=De(),{layer:n,isMaskEnabled:r,isStaging:i}=le(RMe),o=()=>{e(w3(n==="mask"?"base":"mask"))};Je(["q"],()=>{o()},{enabled:()=>!i,preventDefault:!0},[n]);const a=s=>{const l=s.target.value;e(w3(l)),l==="mask"&&!r&&e(h2(!0))};return g.jsx(Jo,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:n,validValues:IW,onChange:a,isDisabled:i})}function DMe(){const e=Te(),{t}=De(),n=Qs(),r=le(Lr),i=le(a=>a.system.isProcessing);Je(["shift+m"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n,i]);const o=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))};return g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(oG,{}),onClick:o,isDisabled:r})}function jMe(){const e=le(o=>o.canvas.tool),t=le(Lr),n=Te(),{t:r}=De();Je(["v"],()=>{i()},{enabled:()=>!t,preventDefault:!0},[]);const i=()=>n(Jl("move"));return g.jsx(Ye,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:g.jsx(JV,{}),"data-selected":e==="move"||t,onClick:i})}function NMe(){const e=le(i=>i.ui.shouldPinParametersPanel),t=Te(),{t:n}=De(),r=()=>{t(Fh(!0)),e&&setTimeout(()=>t(Li(!0)),400)};return g.jsxs(ke,{flexDirection:"column",gap:"0.5rem",children:[g.jsx(Ye,{tooltip:`${n("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":n("parameters.showOptionsPanel"),onClick:r,children:g.jsx(FE,{})}),g.jsx(ke,{children:g.jsx(tP,{iconButton:!0})}),g.jsx(ke,{children:g.jsx(JE,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]})}function $Me(){const e=Te(),{t}=De(),n=le(Lr),r=()=>{e(gE()),e(r4())};return g.jsx(Ye,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:g.jsx(hp,{}),onClick:r,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})}function Tq(e,t,n=250){const[r,i]=S.useState(0);return S.useEffect(()=>{const o=setTimeout(()=>{r===1&&e(),i(0)},n);return r===2&&t(),()=>clearTimeout(o)},[r,e,t,n]),()=>i(o=>o+1)}function FMe(){const e=Qs(),t=Te(),{t:n}=De();Je(["r"],()=>{i()},{enabled:()=>!0,preventDefault:!0},[e]);const r=Tq(()=>i(!1),()=>i(!0)),i=(o=!1)=>{const a=Qs();if(!a)return;const s=a.getClientRect({skipTransform:!0});t(BW({contentRect:s,shouldScaleTo1:o}))};return g.jsx(Ye,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:g.jsx(tG,{}),onClick:r})}function BMe(){const e=le(Lr),t=Qs(),n=le(s=>s.system.isProcessing),r=le(s=>s.canvas.shouldCropToBoundingBoxOnSave),i=Te(),{t:o}=De();Je(["shift+s"],()=>{a()},{enabled:()=>!e,preventDefault:!0},[t,n]);const a=()=>{i(Td({cropVisible:!r,cropToBoundingBox:r,shouldSaveToGallery:!0}))};return g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx($E,{}),onClick:a,isDisabled:e})}const zMe=lt([rn,Lr,hr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i}=e;return{tool:i,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),HMe=()=>{const e=Te(),{t}=De(),{tool:n,isStaging:r}=le(zMe);Je(["b"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[]),Je(["e"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]),Je(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),Je(["shift+f"],()=>{s()},{enabled:()=>!r,preventDefault:!0}),Je(["delete","backspace"],()=>{l()},{enabled:()=>!r,preventDefault:!0});const i=()=>e(Jl("brush")),o=()=>e(Jl("eraser")),a=()=>e(Jl("colorPicker")),s=()=>e(NW()),l=()=>e(jW());return g.jsxs(ke,{flexDirection:"column",gap:"0.5rem",children:[g.jsxs(Gi,{children:[g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:g.jsx(aG,{}),"data-selected":n==="brush"&&!r,onClick:i,isDisabled:r}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:g.jsx(nG,{}),"data-selected":n==="eraser"&&!r,isDisabled:r,onClick:o})]}),g.jsxs(Gi,{children:[g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(iG,{}),isDisabled:r,onClick:s}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:l})]}),g.jsx(Ye,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(rG,{}),"data-selected":n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},C4=Ze((e,t)=>{const{acceptButtonText:n="Accept",acceptCallback:r,cancelButtonText:i="Cancel",cancelCallback:o,children:a,title:s,triggerComponent:l}=e,{isOpen:u,onOpen:d,onClose:h}=Kd(),m=S.useRef(null),y=()=>{r(),h()},b=()=>{o&&o(),h()};return g.jsxs(g.Fragment,{children:[S.cloneElement(l,{onClick:d,ref:t}),g.jsx($H,{isOpen:u,leastDestructiveRef:m,onClose:h,children:g.jsx(oc,{children:g.jsxs(FH,{className:"modal",children:[g.jsx(op,{fontSize:"lg",fontWeight:"bold",children:s}),g.jsx(Zm,{children:a}),g.jsxs(zw,{children:[g.jsx(ss,{ref:m,onClick:b,className:"modal-close-btn",children:i}),g.jsx(ss,{colorScheme:"red",onClick:y,ml:3,children:n})]})]})})})]})}),Mq=()=>{const e=le(Lr),t=Te(),{t:n}=De(),r=()=>{t(v_e()),t(gE()),t(FW())};return g.jsxs(C4,{title:n("unifiedCanvas.emptyTempImageFolder"),acceptCallback:r,acceptButtonText:n("unifiedCanvas.emptyFolder"),triggerComponent:g.jsx(On,{leftIcon:g.jsx(hp,{}),size:"sm",isDisabled:e,children:n("unifiedCanvas.emptyTempImageFolder")}),children:[g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.emptyTempImagesFolderConfirm")})]})},Lq=()=>{const e=le(Lr),t=Te(),{t:n}=De();return g.jsxs(C4,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(FW()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),g.jsx("br",{}),g.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},WMe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:i}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),UMe=()=>{const e=Te(),{t}=De(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:i,shouldShowIntermediates:o}=le(WMe);return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(BE,{})}),children:g.jsxs(ke,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:o,onChange:a=>e(YW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:a=>e(WW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:a=>e(UW(a.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:i,onChange:a=>e(qW(a.target.checked))}),g.jsx(Lq,{}),g.jsx(Mq,{})]})})},VMe=()=>{const e=le(t=>t.ui.shouldShowParametersPanel);return g.jsxs(ke,{flexDirection:"column",rowGap:"0.5rem",width:"6rem",children:[g.jsx(IMe,{}),g.jsx(HMe,{}),g.jsxs(ke,{gap:"0.5rem",children:[g.jsx(jMe,{}),g.jsx(FMe,{})]}),g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(DMe,{}),g.jsx(BMe,{})]}),g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(LMe,{}),g.jsx(AMe,{})]}),g.jsxs(ke,{gap:"0.5rem",children:[g.jsx(Pq,{}),g.jsx(Eq,{})]}),g.jsxs(ke,{gap:"0.5rem",children:[g.jsx(OMe,{}),g.jsx($Me,{})]}),g.jsx(UMe,{}),!e&&g.jsx(NMe,{})]})};function GMe(){const e=Te(),t=le(i=>i.canvas.brushSize),{t:n}=De(),r=le(Lr);return Je(["BracketLeft"],()=>{e(Lm(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),Je(["BracketRight"],()=>{e(Lm(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),g.jsx(Dn,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:i=>e(Lm(i)),sliderNumberInputProps:{max:500},inputReadOnly:!1,width:"100px",isCompact:!0})}function _4(){return(_4=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function a7(e){var t=S.useRef(e),n=S.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var r0=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:E.buttons>0)&&i.current?o(PD(i.current,E,s.current)):w(!1)},b=function(){return w(!1)};function w(E){var _=l.current,k=s7(i.current),T=E?k.addEventListener:k.removeEventListener;T(_?"touchmove":"mousemove",y),T(_?"touchend":"mouseup",b)}return[function(E){var _=E.nativeEvent,k=i.current;if(k&&(TD(_),!function(L,O){return O&&!X1(L)}(_,l.current)&&k)){if(X1(_)){l.current=!0;var T=_.changedTouches||[];T.length&&(s.current=T[0].identifier)}k.focus(),o(PD(k,_,s.current)),w(!0)}},function(E){var _=E.which||E.keyCode;_<37||_>40||(E.preventDefault(),a({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},w]},[a,o]),d=u[0],h=u[1],m=u[2];return S.useEffect(function(){return m},[m]),Ke.createElement("div",_4({},r,{onTouchStart:d,onMouseDown:d,className:"react-colorful__interactive",ref:i,onKeyDown:h,tabIndex:0,role:"slider"}))}),k4=function(e){return e.filter(Boolean).join(" ")},yP=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,o=k4(["react-colorful__pointer",e.className]);return Ke.createElement("div",{className:o,style:{top:100*i+"%",left:100*n+"%"}},Ke.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},_o=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},Oq=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:_o(e.h),s:_o(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:_o(i/2),a:_o(r,2)}},l7=function(e){var t=Oq(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},a6=function(e){var t=Oq(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},qMe=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var o=Math.floor(t),a=r*(1-n),s=r*(1-(t-o)*n),l=r*(1-(1-t+o)*n),u=o%6;return{r:_o(255*[r,s,a,a,l,r][u]),g:_o(255*[l,r,r,s,a,a][u]),b:_o(255*[a,a,l,r,r,s][u]),a:_o(i,2)}},KMe=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,o=Math.max(t,n,r),a=o-Math.min(t,n,r),s=a?o===t?(n-r)/a:o===n?2+(r-t)/a:4+(t-n)/a:0;return{h:_o(60*(s<0?s+6:s)),s:_o(o?a/o*100:0),v:_o(o/255*100),a:i}},YMe=Ke.memo(function(e){var t=e.hue,n=e.onChange,r=k4(["react-colorful__hue",e.className]);return Ke.createElement("div",{className:r},Ke.createElement(vP,{onMove:function(i){n({h:360*i.left})},onKey:function(i){n({h:r0(t+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":_o(t),"aria-valuemax":"360","aria-valuemin":"0"},Ke.createElement(yP,{className:"react-colorful__hue-pointer",left:t/360,color:l7({h:t,s:100,v:100,a:1})})))}),XMe=Ke.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:l7({h:t.h,s:100,v:100,a:1})};return Ke.createElement("div",{className:"react-colorful__saturation",style:r},Ke.createElement(vP,{onMove:function(i){n({s:100*i.left,v:100-100*i.top})},onKey:function(i){n({s:r0(t.s+100*i.left,0,100),v:r0(t.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+_o(t.s)+"%, Brightness "+_o(t.v)+"%"},Ke.createElement(yP,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:l7(t)})))}),Rq=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function ZMe(e,t,n){var r=a7(n),i=S.useState(function(){return e.toHsva(t)}),o=i[0],a=i[1],s=S.useRef({color:t,hsva:o});S.useEffect(function(){if(!e.equal(t,s.current.color)){var u=e.toHsva(t);s.current={hsva:u,color:t},a(u)}},[t,e]),S.useEffect(function(){var u;Rq(o,s.current.hsva)||e.equal(u=e.fromHsva(o),s.current.color)||(s.current={hsva:o,color:u},r(u))},[o,e,r]);var l=S.useCallback(function(u){a(function(d){return Object.assign({},d,u)})},[]);return[o,l]}var QMe=typeof window<"u"?S.useLayoutEffect:S.useEffect,JMe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},MD=new Map,eLe=function(e){QMe(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!MD.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,MD.set(t,n);var r=JMe();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},tLe=function(e){var t=e.className,n=e.hsva,r=e.onChange,i={backgroundImage:"linear-gradient(90deg, "+a6(Object.assign({},n,{a:0}))+", "+a6(Object.assign({},n,{a:1}))+")"},o=k4(["react-colorful__alpha",t]),a=_o(100*n.a);return Ke.createElement("div",{className:o},Ke.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),Ke.createElement(vP,{onMove:function(s){r({a:s.left})},onKey:function(s){r({a:r0(n.a+s.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},Ke.createElement(yP,{className:"react-colorful__alpha-pointer",left:n.a,color:a6(n)})))},nLe=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,o=e.onChange,a=Aq(e,["className","colorModel","color","onChange"]),s=S.useRef(null);eLe(s);var l=ZMe(n,i,o),u=l[0],d=l[1],h=k4(["react-colorful",t]);return Ke.createElement("div",_4({},a,{ref:s,className:h}),Ke.createElement(XMe,{hsva:u,onChange:d}),Ke.createElement(YMe,{hue:u.h,onChange:d}),Ke.createElement(tLe,{hsva:u,onChange:d,className:"react-colorful__last-control"}))},rLe={defaultColor:{r:0,g:0,b:0,a:1},toHsva:KMe,fromHsva:qMe,equal:Rq},iLe=function(e){return Ke.createElement(nLe,_4({},e,{colorModel:rLe}))};const B3=e=>{const{styleClass:t,...n}=e;return g.jsx(iLe,{className:`invokeai__color-picker ${t}`,...n})},oLe=lt([rn,Lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:i}=e;return{brushColor:n,maskColor:r,layer:i,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function aLe(){const e=Te(),{brushColor:t,maskColor:n,layer:r,isStaging:i}=le(oLe),o=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return Je(["shift+BracketLeft"],()=>{e(Mm({...t,a:Pe.clamp(t.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),Je(["shift+BracketRight"],()=>{e(Mm({...t,a:Pe.clamp(t.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[t]),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(ao,{style:{width:"30px",height:"30px",minWidth:"30px",minHeight:"30px",borderRadius:"99999999px",backgroundColor:o(),cursor:"pointer"}}),children:g.jsxs(ke,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[r==="base"&&g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:t,onChange:a=>e(Mm(a))}),r==="mask"&&g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:a=>e(HW(a))})]})})}function Iq(){return g.jsxs(ke,{columnGap:"1rem",alignItems:"center",children:[g.jsx(GMe,{}),g.jsx(aLe,{})]})}function sLe(){const e=Te(),t=le(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(ZW(r.target.checked))})}function lLe(){return g.jsxs(ke,{gap:"1rem",alignItems:"center",children:[g.jsx(Iq,{}),g.jsx(sLe,{})]})}function uLe(){const e=Te(),{t}=De(),n=()=>e(pE());return g.jsx(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function cLe(){const e=le(i=>i.canvas.isMaskEnabled),t=Te(),{t:n}=De(),r=()=>t(h2(!e));return g.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function dLe(){const e=Te(),{t}=De(),n=le(r=>r.canvas.shouldPreserveMaskedArea);return g.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(GW(r.target.checked))})}function fLe(){return g.jsxs(ke,{gap:"1rem",alignItems:"center",children:[g.jsx(Iq,{}),g.jsx(cLe,{}),g.jsx(dLe,{}),g.jsx(uLe,{})]})}function hLe(){const e=le(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=Te(),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(VW(r.target.checked))})}function pLe(){const e=le(r=>r.canvas.shouldShowGrid),t=Te(),{t:n}=De();return g.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(KW(r.target.checked))})}function gLe(){const e=le(i=>i.canvas.shouldSnapToGrid),t=Te(),{t:n}=De(),r=i=>t(C3(i.target.checked));return g.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function mLe(){return g.jsxs(ke,{alignItems:"center",gap:"1rem",children:[g.jsx(pLe,{}),g.jsx(gLe,{}),g.jsx(hLe,{})]})}const vLe=lt([rn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function yLe(){const{tool:e,layer:t}=le(vLe);return g.jsxs(ke,{height:"2rem",minHeight:"2rem",maxHeight:"2rem",alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(lLe,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&g.jsx(fLe,{}),e=="move"&&g.jsx(mLe,{})]})}const bLe=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),xLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=le(bLe);return S.useLayoutEffect(()=>{e(Li(!0));const n=Pe.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsxs(ke,{flexDirection:"row",width:"100%",height:"100%",columnGap:"1rem",padding:"1rem",children:[g.jsx(VMe,{}),g.jsxs(ke,{width:"100%",height:"100%",flexDirection:"column",rowGap:"1rem",children:[g.jsx(yLe,{}),t?g.jsx(kq,{}):g.jsx(_q,{})]})]})})},SLe=lt([rn,Lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:i,shouldPreserveMaskedArea:o}=e;return{layer:r,maskColor:n,maskColorString:zh(n),isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),wLe=()=>{const e=Te(),{t}=De(),{layer:n,maskColor:r,isMaskEnabled:i,shouldPreserveMaskedArea:o,isStaging:a}=le(SLe);Je(["q"],()=>{s()},{enabled:()=>!a,preventDefault:!0},[n]),Je(["shift+c"],()=>{l()},{enabled:()=>!a,preventDefault:!0},[]),Je(["h"],()=>{u()},{enabled:()=>!a,preventDefault:!0},[i]);const s=()=>{e(w3(n==="mask"?"base":"mask"))},l=()=>e(pE()),u=()=>e(h2(!i));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Gi,{children:g.jsx(Ye,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:g.jsx(Pke,{}),style:n==="mask"?{backgroundColor:"var(--accent-color)"}:{backgroundColor:"var(--btn-base-color)"},isDisabled:a})}),children:g.jsxs(ke,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:i,onChange:u}),g.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:o,onChange:d=>e(GW(d.target.checked))}),g.jsx(B3,{style:{paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:r,onChange:d=>e(HW(d))}),g.jsxs(On,{size:"sm",leftIcon:g.jsx(hp,{}),onClick:l,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},CLe=lt([rn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:i,shouldShowGrid:o,shouldShowIntermediates:a,shouldSnapToGrid:s,shouldRestrictStrokesToBox:l}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),_Le=()=>{const e=Te(),{t}=De(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:i,shouldShowCanvasDebugInfo:o,shouldShowGrid:a,shouldShowIntermediates:s,shouldSnapToGrid:l,shouldRestrictStrokesToBox:u}=le(CLe);Je(["n"],()=>{e(C3(!l))},{enabled:!0,preventDefault:!0},[l]);const d=h=>e(C3(h.target.checked));return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:g.jsx(BE,{})}),children:g.jsxs(ke,{direction:"column",gap:"0.5rem",children:[g.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:h=>e(YW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:h=>e(KW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:l,onChange:d}),g.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:i,onChange:h=>e(VW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:h=>e(WW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:h=>e(UW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:u,onChange:h=>e(ZW(h.target.checked))}),g.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:h=>e(qW(h.target.checked))}),g.jsx(Lq,{}),g.jsx(Mq,{})]})})},kLe=lt([rn,Lr,hr],(e,t,n)=>{const{isProcessing:r}=n,{tool:i,brushColor:o,brushSize:a}=e;return{tool:i,isStaging:t,isProcessing:r,brushColor:o,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),ELe=()=>{const e=Te(),{tool:t,brushColor:n,brushSize:r,isStaging:i}=le(kLe),{t:o}=De();Je(["b"],()=>{a()},{enabled:()=>!i,preventDefault:!0},[]),Je(["e"],()=>{s()},{enabled:()=>!i,preventDefault:!0},[t]),Je(["c"],()=>{l()},{enabled:()=>!i,preventDefault:!0},[t]),Je(["shift+f"],()=>{u()},{enabled:()=>!i,preventDefault:!0}),Je(["delete","backspace"],()=>{d()},{enabled:()=>!i,preventDefault:!0}),Je(["BracketLeft"],()=>{e(Lm(Math.max(r-5,5)))},{enabled:()=>!i,preventDefault:!0},[r]),Je(["BracketRight"],()=>{e(Lm(Math.min(r+5,500)))},{enabled:()=>!i,preventDefault:!0},[r]),Je(["shift+BracketLeft"],()=>{e(Mm({...n,a:Pe.clamp(n.a-.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]),Je(["shift+BracketRight"],()=>{e(Mm({...n,a:Pe.clamp(n.a+.05,.05,1)}))},{enabled:()=>!i,preventDefault:!0},[n]);const a=()=>e(Jl("brush")),s=()=>e(Jl("eraser")),l=()=>e(Jl("colorPicker")),u=()=>e(NW()),d=()=>e(jW());return g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.brush")} (B)`,tooltip:`${o("unifiedCanvas.brush")} (B)`,icon:g.jsx(aG,{}),"data-selected":t==="brush"&&!i,onClick:a,isDisabled:i}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.eraser")} (E)`,tooltip:`${o("unifiedCanvas.eraser")} (E)`,icon:g.jsx(nG,{}),"data-selected":t==="eraser"&&!i,isDisabled:i,onClick:s}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${o("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:g.jsx(iG,{}),isDisabled:i,onClick:u}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${o("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),isDisabled:i,onClick:d}),g.jsx(Ye,{"aria-label":`${o("unifiedCanvas.colorPicker")} (C)`,tooltip:`${o("unifiedCanvas.colorPicker")} (C)`,icon:g.jsx(rG,{}),"data-selected":t==="colorPicker"&&!i,isDisabled:i,onClick:l}),g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":o("unifiedCanvas.brushOptions"),tooltip:o("unifiedCanvas.brushOptions"),icon:g.jsx(FE,{})}),children:g.jsxs(ke,{minWidth:"15rem",direction:"column",gap:"1rem",width:"100%",children:[g.jsx(ke,{gap:"1rem",justifyContent:"space-between",children:g.jsx(Dn,{label:o("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:h=>e(Lm(h)),sliderNumberInputProps:{max:500},inputReadOnly:!1})}),g.jsx(B3,{style:{width:"100%",paddingTop:"0.5rem",paddingBottom:"0.5rem"},color:n,onChange:h=>e(Mm(h))})]})})]})},PLe=lt([hr,rn,Lr],(e,t,n)=>{const{isProcessing:r}=e,{tool:i,shouldCropToBoundingBoxOnSave:o,layer:a,isMaskEnabled:s}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:s,tool:i,layer:a,shouldCropToBoundingBoxOnSave:o}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),TLe=()=>{const e=Te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:i,tool:o,shouldCropToBoundingBoxOnSave:a}=le(PLe),s=Qs(),{t:l}=De(),{openUploader:u}=OE();Je(["v"],()=>{d()},{enabled:()=>!n,preventDefault:!0},[]),Je(["r"],()=>{m()},{enabled:()=>!0,preventDefault:!0},[s]),Je(["shift+m"],()=>{b()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["shift+s"],()=>{w()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["meta+c","ctrl+c"],()=>{E()},{enabled:()=>!n,preventDefault:!0},[s,t]),Je(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[s,t]);const d=()=>e(Jl("move")),h=Tq(()=>m(!1),()=>m(!0)),m=(T=!1)=>{const L=Qs();if(!L)return;const O=L.getClientRect({skipTransform:!0});e(BW({contentRect:O,shouldScaleTo1:T}))},y=()=>{e(gE()),e(r4())},b=()=>{e(Td({cropVisible:!1,shouldSetAsInitialImage:!0}))},w=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldSaveToGallery:!0}))},E=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldCopy:!0}))},_=()=>{e(Td({cropVisible:!a,cropToBoundingBox:a,shouldDownload:!0}))},k=T=>{const L=T.target.value;e(w3(L)),L==="mask"&&!r&&e(h2(!0))};return g.jsxs("div",{className:"inpainting-settings",children:[g.jsx(Jo,{tooltip:`${l("unifiedCanvas.layer")} (Q)`,tooltipProps:{hasArrow:!0,placement:"top"},value:i,validValues:IW,onChange:k,isDisabled:n}),g.jsx(wLe,{}),g.jsx(ELe,{}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.move")} (V)`,tooltip:`${l("unifiedCanvas.move")} (V)`,icon:g.jsx(JV,{}),"data-selected":o==="move"||n,onClick:d}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.resetView")} (R)`,tooltip:`${l("unifiedCanvas.resetView")} (R)`,icon:g.jsx(tG,{}),onClick:h})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${l("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:g.jsx(oG,{}),onClick:b,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${l("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:g.jsx($E,{}),onClick:w,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${l("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:g.jsx(e0,{}),onClick:E,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${l("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:g.jsx(NE,{}),onClick:_,isDisabled:n})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Pq,{}),g.jsx(Eq,{})]}),g.jsxs(Gi,{isAttached:!0,children:[g.jsx(Ye,{"aria-label":`${l("common.upload")}`,tooltip:`${l("common.upload")}`,icon:g.jsx(h4,{}),onClick:u,isDisabled:n}),g.jsx(Ye,{"aria-label":`${l("unifiedCanvas.clearCanvas")}`,tooltip:`${l("unifiedCanvas.clearCanvas")}`,icon:g.jsx(hp,{}),onClick:y,style:{backgroundColor:"var(--btn-delete-image)"},isDisabled:n})]}),g.jsx(Gi,{isAttached:!0,children:g.jsx(_Le,{})})]})},MLe=lt([rn],e=>{const{doesCanvasNeedScaling:t}=e;return{doesCanvasNeedScaling:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),LLe=()=>{const e=Te(),{doesCanvasNeedScaling:t}=le(MLe);return S.useLayoutEffect(()=>{e(Li(!0));const n=Pe.debounce(()=>{e(Li(!0))},250);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),g.jsx("div",{className:"workarea-single-view",children:g.jsx("div",{className:"workarea-split-view-left",children:g.jsxs("div",{className:"inpainting-main-area",children:[g.jsx(TLe,{}),g.jsx("div",{className:"inpainting-canvas-area",children:t?g.jsx(kq,{}):g.jsx(_q,{})})]})})})},ALe=lt(rn,e=>{const{boundingBoxDimensions:t,boundingBoxScaleMethod:n}=e;return{boundingBoxDimensions:t,boundingBoxScale:n}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),OLe=()=>{const e=Te(),{boundingBoxDimensions:t}=le(ALe),{t:n}=De(),r=s=>{e(g1({...t,width:Math.floor(s)}))},i=s=>{e(g1({...t,height:Math.floor(s)}))},o=()=>{e(g1({...t,width:Math.floor(512)}))},a=()=>{e(g1({...t,height:Math.floor(512)}))};return g.jsxs(ke,{direction:"column",gap:2,children:[g.jsx(Dn,{label:n("parameters.width"),min:64,max:1024,step:64,value:t.width,onChange:r,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:o,sliderMarkRightOffset:-7}),g.jsx(Dn,{label:n("parameters.height"),min:64,max:1024,step:64,value:t.height,onChange:i,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:a,sliderMarkRightOffset:-7})]})},RLe=lt([eP,hr,rn],(e,t,n)=>{const{tileSize:r,infillMethod:i}=e,{infill_methods:o}=t,{boundingBoxScaleMethod:a,scaledBoundingBoxDimensions:s}=n;return{boundingBoxScale:a,scaledBoundingBoxDimensions:s,tileSize:r,infillMethod:i,availableInfillMethods:o,isManual:a==="manual"}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),ILe=()=>{const e=Te(),{tileSize:t,infillMethod:n,availableInfillMethods:r,boundingBoxScale:i,isManual:o,scaledBoundingBoxDimensions:a}=le(RLe),{t:s}=De(),l=y=>{e(Jb({...a,width:Math.floor(y)}))},u=y=>{e(Jb({...a,height:Math.floor(y)}))},d=()=>{e(Jb({...a,width:Math.floor(512)}))},h=()=>{e(Jb({...a,height:Math.floor(512)}))},m=y=>{e(d3e(y.target.value))};return g.jsxs(ke,{direction:"column",gap:4,children:[g.jsx(Jo,{label:s("parameters.scaleBeforeProcessing"),validValues:KSe,value:i,onChange:m}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledWidth"),min:64,max:1024,step:64,value:a.width,onChange:l,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:d,sliderMarkRightOffset:-7}),g.jsx(Dn,{isInputDisabled:!o,isResetDisabled:!o,isSliderDisabled:!o,label:s("parameters.scaledHeight"),min:64,max:1024,step:64,value:a.height,onChange:u,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,inputReadOnly:!0,withReset:!0,handleReset:h,sliderMarkRightOffset:-7}),g.jsx(Jo,{label:s("parameters.infillMethod"),value:n,validValues:r,onChange:y=>e(sU(y.target.value))}),g.jsx(Dn,{isInputDisabled:n!=="tile",isResetDisabled:n!=="tile",isSliderDisabled:n!=="tile",sliderMarkRightOffset:-4,label:s("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:y=>{e(rR(y))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(rR(32))}})]})};function DLe(){const e=Te(),t=le(r=>r.generation.seamBlur),{t:n}=De();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(JO(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(JO(16))}})}function jLe(){const e=Te(),{t}=De(),n=le(r=>r.generation.seamSize);return g.jsx(Dn,{sliderMarkRightOffset:-6,label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(eR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(eR(96))})}function NLe(){const{t:e}=De(),t=le(r=>r.generation.seamSteps),n=Te();return g.jsx(Dn,{sliderMarkRightOffset:-4,label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(tR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(tR(30))}})}function $Le(){const e=Te(),{t}=De(),n=le(r=>r.generation.seamStrength);return g.jsx(Dn,{sliderMarkRightOffset:-7,label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(nR(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(nR(.7))}})}const FLe=()=>g.jsxs(ke,{direction:"column",gap:2,children:[g.jsx(jLe,{}),g.jsx(DLe,{}),g.jsx($Le,{}),g.jsx(NLe,{})]});function BLe(){const{t:e}=De(),t={seed:{header:`${e("parameters.seed")}`,feature:oo.SEED,content:g.jsx(aP,{})},boundingBox:{header:`${e("parameters.boundingBoxHeader")}`,feature:oo.BOUNDING_BOX,content:g.jsx(OLe,{})},seamCorrection:{header:`${e("parameters.seamCorrectionHeader")}`,feature:oo.SEAM_CORRECTION,content:g.jsx(FLe,{})},infillAndScaling:{header:`${e("parameters.infillScalingHeader")}`,feature:oo.INFILL_AND_SCALING,content:g.jsx(ILe,{})},variations:{header:`${e("parameters.variations")}`,feature:oo.VARIATIONS,content:g.jsx(lP,{}),additionalHeaderComponents:g.jsx(sP,{})},symmetry:{header:`${e("parameters.symmetry")}`,content:g.jsx(iP,{}),additionalHeaderComponents:g.jsx(oP,{})}},n={unifiedCanvasImg2Img:{header:`${e("parameters.imageToImage")}`,feature:void 0,content:g.jsx(gq,{label:e("parameters.img2imgStrength"),styleClass:"main-settings-block image-to-image-strength-main-option"})}};return g.jsxs(hP,{children:[g.jsxs(ke,{flexDir:"column",rowGap:"0.5rem",children:[g.jsx(fP,{}),g.jsx(dP,{})]}),g.jsx(cP,{}),g.jsx(uP,{}),g.jsx(n0,{accordionInfo:n}),g.jsx(n0,{accordionInfo:t})]})}function zLe(){const e=le(t=>t.ui.shouldUseCanvasBetaLayout);return g.jsx(rP,{optionsPanel:g.jsx(BLe,{}),styleClass:"inpainting-workarea-overrides",children:e?g.jsx(xLe,{}):g.jsx(LLe,{})})}const Qa={txt2img:{title:g.jsx(R_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(OPe,{}),tooltip:"Text To Image"},img2img:{title:g.jsx(L_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(_Pe,{}),tooltip:"Image To Image"},unifiedCanvas:{title:g.jsx(D_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(zLe,{}),tooltip:"Unified Canvas"},nodes:{title:g.jsx(A_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(E_e,{}),tooltip:"Nodes"},postprocess:{title:g.jsx(O_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(P_e,{}),tooltip:"Post Processing"},training:{title:g.jsx(I_e,{fill:"black",boxSize:"2.5rem"}),workarea:g.jsx(T_e,{}),tooltip:"Training"}};function HLe(){Qa.txt2img.tooltip=Et.t("common.text2img"),Qa.img2img.tooltip=Et.t("common.img2img"),Qa.unifiedCanvas.tooltip=Et.t("common.unifiedCanvas"),Qa.nodes.tooltip=Et.t("common.nodes"),Qa.postprocess.tooltip=Et.t("common.postProcessing"),Qa.training.tooltip=Et.t("common.training")}function WLe(){const e=le(k_e),t=le(u=>u.lightbox.isLightboxOpen),{shouldShowGallery:n,shouldShowParametersPanel:r,shouldPinGallery:i,shouldPinParametersPanel:o}=le(nP);M_e(HLe);const a=Te();Je("1",()=>{a(Uo(0))}),Je("2",()=>{a(Uo(1))}),Je("3",()=>{a(Uo(2))}),Je("4",()=>{a(Uo(3))}),Je("5",()=>{a(Uo(4))}),Je("6",()=>{a(Uo(5))}),Je("z",()=>{a(Om(!t))},[t]),Je("f",()=>{n||r?(a(Fh(!1)),a(Am(!1))):(a(Fh(!0)),a(Am(!0))),(i||o)&&setTimeout(()=>a(Li(!0)),400)},[n,r]);const s=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(si,{hasArrow:!0,label:Qa[d].tooltip,placement:"right",children:g.jsx(sW,{children:Qa[d].title})},d))}),u},l=()=>{const u=[];return Object.keys(Qa).forEach(d=>{u.push(g.jsx(oW,{className:"app-tabs-panel",children:Qa[d].workarea},d))}),u};return g.jsxs(iW,{isLazy:!0,className:"app-tabs",variant:"unstyled",defaultIndex:e,index:e,onChange:u=>{a(Uo(u))},children:[g.jsx("div",{className:"app-tabs-list",children:s()}),g.jsx(aW,{className:"app-tabs-panels",children:t?g.jsx(UEe,{}):l()})]})}var ULe=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function C2(e,t){var n=VLe(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function VLe(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),i=ULe.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}var GLe=[".DS_Store","Thumbs.db"];function qLe(e){return f0(this,void 0,void 0,function(){return h0(this,function(t){return z3(e)&&KLe(e.dataTransfer)?[2,QLe(e.dataTransfer,e.type)]:YLe(e)?[2,XLe(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,ZLe(e)]:[2,[]]})})}function KLe(e){return z3(e)}function YLe(e){return z3(e)&&z3(e.target)}function z3(e){return typeof e=="object"&&e!==null}function XLe(e){return u7(e.target.files).map(function(t){return C2(t)})}function ZLe(e){return f0(this,void 0,void 0,function(){var t;return h0(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return C2(r)})]}})})}function QLe(e,t){return f0(this,void 0,void 0,function(){var n,r;return h0(this,function(i){switch(i.label){case 0:return e.items?(n=u7(e.items).filter(function(o){return o.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(JLe))]):[3,2];case 1:return r=i.sent(),[2,LD(Dq(r))];case 2:return[2,LD(u7(e.files).map(function(o){return C2(o)}))]}})})}function LD(e){return e.filter(function(t){return GLe.indexOf(t.name)===-1})}function u7(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,DD(n)];if(e.sizen)return[!1,DD(n)]}return[!0,null]}function Sh(e){return e!=null}function gAe(e){var t=e.files,n=e.accept,r=e.minSize,i=e.maxSize,o=e.multiple,a=e.maxFiles,s=e.validator;return!o&&t.length>1||o&&a>=1&&t.length>a?!1:t.every(function(l){var u=Fq(l,n),d=zy(u,1),h=d[0],m=Bq(l,r,i),y=zy(m,1),b=y[0],w=s?s(l):null;return h&&b&&!w})}function H3(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function kx(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function ND(e){e.preventDefault()}function mAe(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function vAe(e){return e.indexOf("Edge/")!==-1}function yAe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return mAe(e)||vAe(e)}function Ml(){for(var e=arguments.length,t=new Array(e),n=0;n1?i-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function DAe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var bP=S.forwardRef(function(e,t){var n=e.children,r=W3(e,_Ae),i=Vq(r),o=i.open,a=W3(i,kAe);return S.useImperativeHandle(t,function(){return{open:o}},[o]),Ke.createElement(S.Fragment,null,n(_r(_r({},a),{},{open:o})))});bP.displayName="Dropzone";var Uq={disabled:!1,getFilesFromEvent:qLe,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};bP.defaultProps=Uq;bP.propTypes={children:An.func,accept:An.objectOf(An.arrayOf(An.string)),multiple:An.bool,preventDropOnDocument:An.bool,noClick:An.bool,noKeyboard:An.bool,noDrag:An.bool,noDragEventsBubbling:An.bool,minSize:An.number,maxSize:An.number,maxFiles:An.number,disabled:An.bool,getFilesFromEvent:An.func,onFileDialogCancel:An.func,onFileDialogOpen:An.func,useFsAccessApi:An.bool,autoFocus:An.bool,onDragEnter:An.func,onDragLeave:An.func,onDragOver:An.func,onDrop:An.func,onDropAccepted:An.func,onDropRejected:An.func,onError:An.func,validator:An.func};var h7={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Vq(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=_r(_r({},Uq),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,o=t.maxSize,a=t.minSize,s=t.multiple,l=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,h=t.onDragOver,m=t.onDrop,y=t.onDropAccepted,b=t.onDropRejected,w=t.onFileDialogCancel,E=t.onFileDialogOpen,_=t.useFsAccessApi,k=t.autoFocus,T=t.preventDropOnDocument,L=t.noClick,O=t.noKeyboard,D=t.noDrag,I=t.noDragEventsBubbling,N=t.onError,W=t.validator,B=S.useMemo(function(){return SAe(n)},[n]),K=S.useMemo(function(){return xAe(n)},[n]),ne=S.useMemo(function(){return typeof E=="function"?E:FD},[E]),z=S.useMemo(function(){return typeof w=="function"?w:FD},[w]),$=S.useRef(null),V=S.useRef(null),X=S.useReducer(jAe,h7),Q=s6(X,2),G=Q[0],Y=Q[1],ee=G.isFocused,fe=G.isFileDialogActive,Ce=S.useRef(typeof window<"u"&&window.isSecureContext&&_&&bAe()),we=function(){!Ce.current&&fe&&setTimeout(function(){if(V.current){var je=V.current.files;je.length||(Y({type:"closeDialog"}),z())}},300)};S.useEffect(function(){return window.addEventListener("focus",we,!1),function(){window.removeEventListener("focus",we,!1)}},[V,fe,z,Ce]);var xe=S.useRef([]),Le=function(je){$.current&&$.current.contains(je.target)||(je.preventDefault(),xe.current=[])};S.useEffect(function(){return T&&(document.addEventListener("dragover",ND,!1),document.addEventListener("drop",Le,!1)),function(){T&&(document.removeEventListener("dragover",ND),document.removeEventListener("drop",Le))}},[$,T]),S.useEffect(function(){return!r&&k&&$.current&&$.current.focus(),function(){}},[$,k,r]);var Se=S.useCallback(function(ye){N?N(ye):console.error(ye)},[N]),Qe=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye),xe.current=[].concat(TAe(xe.current),[ye.target]),kx(ye)&&Promise.resolve(i(ye)).then(function(je){if(!(H3(ye)&&!I)){var vt=je.length,Mt=vt>0&&gAe({files:je,accept:B,minSize:a,maxSize:o,multiple:s,maxFiles:l,validator:W}),Me=vt>0&&!Mt;Y({isDragAccept:Mt,isDragReject:Me,isDragActive:!0,type:"setDraggedFiles"}),u&&u(ye)}}).catch(function(je){return Se(je)})},[i,u,Se,I,B,a,o,s,l,W]),Xe=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye);var je=kx(ye);if(je&&ye.dataTransfer)try{ye.dataTransfer.dropEffect="copy"}catch{}return je&&h&&h(ye),!1},[h,I]),tt=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye);var je=xe.current.filter(function(Mt){return $.current&&$.current.contains(Mt)}),vt=je.indexOf(ye.target);vt!==-1&&je.splice(vt,1),xe.current=je,!(je.length>0)&&(Y({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),kx(ye)&&d&&d(ye))},[$,d,I]),yt=S.useCallback(function(ye,je){var vt=[],Mt=[];ye.forEach(function(Me){var Ct=Fq(Me,B),zt=s6(Ct,2),$n=zt[0],qe=zt[1],pt=Bq(Me,a,o),zr=s6(pt,2),rr=zr[0],Bn=zr[1],li=W?W(Me):null;if($n&&rr&&!li)vt.push(Me);else{var vs=[qe,Bn];li&&(vs=vs.concat(li)),Mt.push({file:Me,errors:vs.filter(function(tl){return tl})})}}),(!s&&vt.length>1||s&&l>=1&&vt.length>l)&&(vt.forEach(function(Me){Mt.push({file:Me,errors:[pAe]})}),vt.splice(0)),Y({acceptedFiles:vt,fileRejections:Mt,type:"setFiles"}),m&&m(vt,Mt,je),Mt.length>0&&b&&b(Mt,je),vt.length>0&&y&&y(vt,je)},[Y,s,B,a,o,l,m,y,b,W]),Be=S.useCallback(function(ye){ye.preventDefault(),ye.persist(),se(ye),xe.current=[],kx(ye)&&Promise.resolve(i(ye)).then(function(je){H3(ye)&&!I||yt(je,ye)}).catch(function(je){return Se(je)}),Y({type:"reset"})},[i,yt,Se,I]),Ae=S.useCallback(function(){if(Ce.current){Y({type:"openDialog"}),ne();var ye={multiple:s,types:K};window.showOpenFilePicker(ye).then(function(je){return i(je)}).then(function(je){yt(je,null),Y({type:"closeDialog"})}).catch(function(je){wAe(je)?(z(je),Y({type:"closeDialog"})):CAe(je)?(Ce.current=!1,V.current?(V.current.value=null,V.current.click()):Se(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):Se(je)});return}V.current&&(Y({type:"openDialog"}),ne(),V.current.value=null,V.current.click())},[Y,ne,z,_,yt,Se,K,s]),bt=S.useCallback(function(ye){!$.current||!$.current.isEqualNode(ye.target)||(ye.key===" "||ye.key==="Enter"||ye.keyCode===32||ye.keyCode===13)&&(ye.preventDefault(),Ae())},[$,Ae]),Fe=S.useCallback(function(){Y({type:"focus"})},[]),at=S.useCallback(function(){Y({type:"blur"})},[]),jt=S.useCallback(function(){L||(yAe()?setTimeout(Ae,0):Ae())},[L,Ae]),mt=function(je){return r?null:je},Zt=function(je){return O?null:mt(je)},on=function(je){return D?null:mt(je)},se=function(je){I&&je.stopPropagation()},Ie=S.useMemo(function(){return function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},je=ye.refKey,vt=je===void 0?"ref":je,Mt=ye.role,Me=ye.onKeyDown,Ct=ye.onFocus,zt=ye.onBlur,$n=ye.onClick,qe=ye.onDragEnter,pt=ye.onDragOver,zr=ye.onDragLeave,rr=ye.onDrop,Bn=W3(ye,EAe);return _r(_r(f7({onKeyDown:Zt(Ml(Me,bt)),onFocus:Zt(Ml(Ct,Fe)),onBlur:Zt(Ml(zt,at)),onClick:mt(Ml($n,jt)),onDragEnter:on(Ml(qe,Qe)),onDragOver:on(Ml(pt,Xe)),onDragLeave:on(Ml(zr,tt)),onDrop:on(Ml(rr,Be)),role:typeof Mt=="string"&&Mt!==""?Mt:"presentation"},vt,$),!r&&!O?{tabIndex:0}:{}),Bn)}},[$,bt,Fe,at,jt,Qe,Xe,tt,Be,O,D,r]),He=S.useCallback(function(ye){ye.stopPropagation()},[]),Ue=S.useMemo(function(){return function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},je=ye.refKey,vt=je===void 0?"ref":je,Mt=ye.onChange,Me=ye.onClick,Ct=W3(ye,PAe),zt=f7({accept:B,multiple:s,type:"file",style:{display:"none"},onChange:mt(Ml(Mt,Be)),onClick:mt(Ml(Me,He)),tabIndex:-1},vt,V);return _r(_r({},zt),Ct)}},[V,n,s,Be,r]);return _r(_r({},G),{},{isFocused:ee&&!r,getRootProps:Ie,getInputProps:Ue,rootRef:$,inputRef:V,open:mt(Ae)})}function jAe(e,t){switch(t.type){case"focus":return _r(_r({},e),{},{isFocused:!0});case"blur":return _r(_r({},e),{},{isFocused:!1});case"openDialog":return _r(_r({},h7),{},{isFileDialogActive:!0});case"closeDialog":return _r(_r({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return _r(_r({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return _r(_r({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return _r({},h7);default:return e}}function FD(){}const NAe=e=>{const{isDragAccept:t,isDragReject:n,overlaySecondaryText:r,setIsHandlingUpload:i}=e;return Je("esc",()=>{i(!1)}),g.jsxs("div",{className:"dropzone-container",children:[t&&g.jsx("div",{className:"dropzone-overlay is-drag-accept",children:g.jsxs(jh,{size:"lg",children:["Upload Image",r]})}),n&&g.jsxs("div",{className:"dropzone-overlay is-drag-reject",children:[g.jsx(jh,{size:"lg",children:"Invalid Upload"}),g.jsx(jh,{size:"md",children:"Must be single JPEG or PNG image"})]})]})},$Ae=e=>{const{children:t}=e,n=Te(),r=le(Br),i=a2({}),{t:o}=De(),[a,s]=S.useState(!1),{setOpenUploader:l}=OE(),u=S.useCallback(T=>{s(!0);const L=T.errors.reduce((O,D)=>`${O} -${D.message}`,"");i({title:o("toast.uploadFailed"),description:L,status:"error",isClosable:!0})},[o,i]),d=S.useCallback(async T=>{n(TI({imageFile:T}))},[n]),h=S.useCallback((T,L)=>{L.forEach(O=>{u(O)}),T.forEach(O=>{d(O)})},[d,u]),{getRootProps:m,getInputProps:y,isDragAccept:b,isDragReject:w,isDragActive:E,open:_}=Vq({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:h,onDragOver:()=>s(!0),maxFiles:1});l(_),S.useEffect(()=>{const T=L=>{var N;const O=(N=L.clipboardData)==null?void 0:N.items;if(!O)return;const D=[];for(const W of O)W.kind==="file"&&["image/png","image/jpg"].includes(W.type)&&D.push(W);if(!D.length)return;if(L.stopImmediatePropagation(),D.length>1){i({description:o("toast.uploadFailedMultipleImagesDesc"),status:"error",isClosable:!0});return}const I=D[0].getAsFile();if(!I){i({description:o("toast.uploadFailedUnableToLoadDesc"),status:"error",isClosable:!0});return}n(TI({imageFile:I}))};return document.addEventListener("paste",T),()=>{document.removeEventListener("paste",T)}},[o,n,i,r]);const k=["img2img","unifiedCanvas"].includes(r)?` to ${Qa[r].tooltip}`:"";return g.jsx(AE.Provider,{value:_,children:g.jsxs("div",{...m({style:{}}),onKeyDown:T=>{T.key},children:[g.jsx("input",{...y()}),t,E&&a&&g.jsx(NAe,{isDragAccept:b,isDragReject:w,overlaySecondaryText:k,setIsHandlingUpload:s})]})})},FAe=lt(hr,e=>e.log,{memoizeOptions:{resultEqualityCheck:(e,t)=>e.length===t.length}}),BAe=lt(hr,e=>({shouldShowLogViewer:e.shouldShowLogViewer,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),zAe=()=>{const e=Te(),t=le(FAe),{shouldShowLogViewer:n,hasError:r,wasErrorSeen:i}=le(BAe),[o,a]=S.useState(!0),s=S.useRef(null);S.useLayoutEffect(()=>{s.current!==null&&o&&(s.current.scrollTop=s.current.scrollHeight)},[o,t,n]);const l=()=>{e(DU()),e(FC(!n))};Je("`",()=>{e(FC(!n))},[n]),Je("esc",()=>{e(FC(!1))});const u=()=>{s.current&&o&&s.current.scrollTop{const{timestamp:m,message:y,level:b}=d;return g.jsxs("div",{className:`console-entry console-${b}-color`,children:[g.jsxs("p",{className:"console-timestamp",children:[m,":"]}),g.jsx("p",{className:"console-message",children:y})]},h)})})}),n&&g.jsx(si,{hasArrow:!0,label:o?"Autoscroll On":"Autoscroll Off",children:g.jsx(ls,{className:"console-autoscroll-icon-button","data-autoscroll-enabled":o,size:"sm","aria-label":"Toggle autoscroll",variant:"solid",icon:g.jsx(hke,{}),onClick:()=>a(!o)})}),g.jsx(si,{hasArrow:!0,label:n?"Hide Console":"Show Console",children:g.jsx(ls,{className:"console-toggle-icon-button","data-error-seen":r||!i,size:"sm",position:"fixed",variant:"solid","aria-label":"Toggle Log Viewer",icon:n?g.jsx(Tke,{}):g.jsx(eG,{}),onClick:l})})]})},HAe=lt(hr,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),WAe=()=>{const{isProcessing:e,currentStep:t,totalSteps:n,currentStatusHasSteps:r}=le(HAe),i=t?Math.round(t*100/n):0;return g.jsx(UH,{value:i,isIndeterminate:e&&!r,className:"progress-bar"})};function UAe(e){const{title:t,hotkey:n,description:r}=e;return g.jsxs("div",{className:"hotkey-modal-item",children:[g.jsxs("div",{className:"hotkey-info",children:[g.jsx("p",{className:"hotkey-title",children:t}),r&&g.jsx("p",{className:"hotkey-description",children:r})]}),g.jsx("div",{className:"hotkey-key",children:n})]})}function VAe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),{t:i}=De(),o=[{title:i("hotkeys.invoke.title"),desc:i("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:i("hotkeys.cancel.title"),desc:i("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:i("hotkeys.focusPrompt.title"),desc:i("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:i("hotkeys.toggleOptions.title"),desc:i("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:i("hotkeys.pinOptions.title"),desc:i("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:i("hotkeys.toggleViewer.title"),desc:i("hotkeys.toggleViewer.desc"),hotkey:"Z"},{title:i("hotkeys.toggleGallery.title"),desc:i("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:i("hotkeys.maximizeWorkSpace.title"),desc:i("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:i("hotkeys.changeTabs.title"),desc:i("hotkeys.changeTabs.desc"),hotkey:"1-5"},{title:i("hotkeys.consoleToggle.title"),desc:i("hotkeys.consoleToggle.desc"),hotkey:"`"}],a=[{title:i("hotkeys.setPrompt.title"),desc:i("hotkeys.setPrompt.desc"),hotkey:"P"},{title:i("hotkeys.setSeed.title"),desc:i("hotkeys.setSeed.desc"),hotkey:"S"},{title:i("hotkeys.setParameters.title"),desc:i("hotkeys.setParameters.desc"),hotkey:"A"},{title:i("hotkeys.restoreFaces.title"),desc:i("hotkeys.restoreFaces.desc"),hotkey:"Shift+R"},{title:i("hotkeys.upscale.title"),desc:i("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:i("hotkeys.showInfo.title"),desc:i("hotkeys.showInfo.desc"),hotkey:"I"},{title:i("hotkeys.sendToImageToImage.title"),desc:i("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:i("hotkeys.deleteImage.title"),desc:i("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:i("hotkeys.closePanels.title"),desc:i("hotkeys.closePanels.desc"),hotkey:"Esc"}],s=[{title:i("hotkeys.previousImage.title"),desc:i("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextImage.title"),desc:i("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.toggleGalleryPin.title"),desc:i("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:i("hotkeys.increaseGalleryThumbSize.title"),desc:i("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:i("hotkeys.decreaseGalleryThumbSize.title"),desc:i("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],l=[{title:i("hotkeys.selectBrush.title"),desc:i("hotkeys.selectBrush.desc"),hotkey:"B"},{title:i("hotkeys.selectEraser.title"),desc:i("hotkeys.selectEraser.desc"),hotkey:"E"},{title:i("hotkeys.decreaseBrushSize.title"),desc:i("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:i("hotkeys.increaseBrushSize.title"),desc:i("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:i("hotkeys.decreaseBrushOpacity.title"),desc:i("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:i("hotkeys.increaseBrushOpacity.title"),desc:i("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:i("hotkeys.moveTool.title"),desc:i("hotkeys.moveTool.desc"),hotkey:"V"},{title:i("hotkeys.fillBoundingBox.title"),desc:i("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:i("hotkeys.eraseBoundingBox.title"),desc:i("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:i("hotkeys.colorPicker.title"),desc:i("hotkeys.colorPicker.desc"),hotkey:"C"},{title:i("hotkeys.toggleSnap.title"),desc:i("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:i("hotkeys.quickToggleMove.title"),desc:i("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:i("hotkeys.toggleLayer.title"),desc:i("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:i("hotkeys.clearMask.title"),desc:i("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:i("hotkeys.hideMask.title"),desc:i("hotkeys.hideMask.desc"),hotkey:"H"},{title:i("hotkeys.showHideBoundingBox.title"),desc:i("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:i("hotkeys.mergeVisible.title"),desc:i("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:i("hotkeys.saveToGallery.title"),desc:i("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:i("hotkeys.copyToClipboard.title"),desc:i("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:i("hotkeys.downloadImage.title"),desc:i("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:i("hotkeys.undoStroke.title"),desc:i("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:i("hotkeys.redoStroke.title"),desc:i("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:i("hotkeys.resetView.title"),desc:i("hotkeys.resetView.desc"),hotkey:"R"},{title:i("hotkeys.previousStagingImage.title"),desc:i("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextStagingImage.title"),desc:i("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.acceptStagingImage.title"),desc:i("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],u=d=>{const h=[];return d.forEach((m,y)=>{h.push(g.jsx(UAe,{title:m.title,description:m.desc,hotkey:m.hotkey},y))}),g.jsx("div",{className:"hotkey-modal-category",children:h})};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:" modal hotkeys-modal",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx("h1",{children:"Keyboard Shorcuts"}),g.jsx("div",{className:"hotkeys-modal-items",children:g.jsxs(c8,{allowMultiple:!0,children:[g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.appHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(o)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.generalHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(a)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.galleryHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(s)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.unifiedCanvasHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(l)})]})]})})]})]})]})}var BD=Array.isArray,zD=Object.keys,GAe=Object.prototype.hasOwnProperty,qAe=typeof Element<"u";function p7(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=BD(e),r=BD(t),i,o,a;if(n&&r){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!p7(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=e instanceof Date,l=t instanceof Date;if(s!=l)return!1;if(s&&l)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var h=zD(e);if(o=h.length,o!==zD(t).length)return!1;for(i=o;i--!==0;)if(!GAe.call(t,h[i]))return!1;if(qAe&&e instanceof Element&&t instanceof Element)return e===t;for(i=o;i--!==0;)if(a=h[i],!(a==="_owner"&&e.$$typeof)&&!p7(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}var md=function(t,n){try{return p7(t,n)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||r.number===-2146828260)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},KAe=function(t){return YAe(t)&&!XAe(t)};function YAe(e){return!!e&&typeof e=="object"}function XAe(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||JAe(e)}var ZAe=typeof Symbol=="function"&&Symbol.for,QAe=ZAe?Symbol.for("react.element"):60103;function JAe(e){return e.$$typeof===QAe}function eOe(e){return Array.isArray(e)?[]:{}}function U3(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Hy(eOe(e),e,t):e}function tOe(e,t,n){return e.concat(t).map(function(r){return U3(r,n)})}function nOe(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(i){r[i]=U3(e[i],n)}),Object.keys(t).forEach(function(i){!n.isMergeableObject(t[i])||!e[i]?r[i]=U3(t[i],n):r[i]=Hy(e[i],t[i],n)}),r}function Hy(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||tOe,n.isMergeableObject=n.isMergeableObject||KAe;var r=Array.isArray(t),i=Array.isArray(e),o=r===i;return o?r?n.arrayMerge(e,t,n):nOe(e,t,n):U3(t,n)}Hy.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,i){return Hy(r,i,n)},{})};var g7=Hy,rOe=typeof global=="object"&&global&&global.Object===Object&&global;const Gq=rOe;var iOe=typeof self=="object"&&self&&self.Object===Object&&self,oOe=Gq||iOe||Function("return this")();const du=oOe;var aOe=du.Symbol;const tf=aOe;var qq=Object.prototype,sOe=qq.hasOwnProperty,lOe=qq.toString,r1=tf?tf.toStringTag:void 0;function uOe(e){var t=sOe.call(e,r1),n=e[r1];try{e[r1]=void 0;var r=!0}catch{}var i=lOe.call(e);return r&&(t?e[r1]=n:delete e[r1]),i}var cOe=Object.prototype,dOe=cOe.toString;function fOe(e){return dOe.call(e)}var hOe="[object Null]",pOe="[object Undefined]",HD=tf?tf.toStringTag:void 0;function yp(e){return e==null?e===void 0?pOe:hOe:HD&&HD in Object(e)?uOe(e):fOe(e)}function Kq(e,t){return function(n){return e(t(n))}}var gOe=Kq(Object.getPrototypeOf,Object);const xP=gOe;function bp(e){return e!=null&&typeof e=="object"}var mOe="[object Object]",vOe=Function.prototype,yOe=Object.prototype,Yq=vOe.toString,bOe=yOe.hasOwnProperty,xOe=Yq.call(Object);function WD(e){if(!bp(e)||yp(e)!=mOe)return!1;var t=xP(e);if(t===null)return!0;var n=bOe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Yq.call(n)==xOe}function SOe(){this.__data__=[],this.size=0}function Xq(e,t){return e===t||e!==e&&t!==t}function E4(e,t){for(var n=e.length;n--;)if(Xq(e[n][0],t))return n;return-1}var wOe=Array.prototype,COe=wOe.splice;function _Oe(e){var t=this.__data__,n=E4(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():COe.call(t,n,1),--this.size,!0}function kOe(e){var t=this.__data__,n=E4(t,e);return n<0?void 0:t[n][1]}function EOe(e){return E4(this.__data__,e)>-1}function POe(e,t){var n=this.__data__,r=E4(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function yc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=IRe}var DRe="[object Arguments]",jRe="[object Array]",NRe="[object Boolean]",$Re="[object Date]",FRe="[object Error]",BRe="[object Function]",zRe="[object Map]",HRe="[object Number]",WRe="[object Object]",URe="[object RegExp]",VRe="[object Set]",GRe="[object String]",qRe="[object WeakMap]",KRe="[object ArrayBuffer]",YRe="[object DataView]",XRe="[object Float32Array]",ZRe="[object Float64Array]",QRe="[object Int8Array]",JRe="[object Int16Array]",eIe="[object Int32Array]",tIe="[object Uint8Array]",nIe="[object Uint8ClampedArray]",rIe="[object Uint16Array]",iIe="[object Uint32Array]",ar={};ar[XRe]=ar[ZRe]=ar[QRe]=ar[JRe]=ar[eIe]=ar[tIe]=ar[nIe]=ar[rIe]=ar[iIe]=!0;ar[DRe]=ar[jRe]=ar[KRe]=ar[NRe]=ar[YRe]=ar[$Re]=ar[FRe]=ar[BRe]=ar[zRe]=ar[HRe]=ar[WRe]=ar[URe]=ar[VRe]=ar[GRe]=ar[qRe]=!1;function oIe(e){return bp(e)&&rK(e.length)&&!!ar[yp(e)]}function SP(e){return function(t){return e(t)}}var iK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Z1=iK&&typeof module=="object"&&module&&!module.nodeType&&module,aIe=Z1&&Z1.exports===iK,u6=aIe&&Gq.process,sIe=function(){try{var e=Z1&&Z1.require&&Z1.require("util").types;return e||u6&&u6.binding&&u6.binding("util")}catch{}}();const i0=sIe;var YD=i0&&i0.isTypedArray,lIe=YD?SP(YD):oIe;const uIe=lIe;var cIe=Object.prototype,dIe=cIe.hasOwnProperty;function oK(e,t){var n=k2(e),r=!n&&kRe(e),i=!n&&!r&&nK(e),o=!n&&!r&&!i&&uIe(e),a=n||r||i||o,s=a?xRe(e.length,String):[],l=s.length;for(var u in e)(t||dIe.call(e,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||RRe(u,l)))&&s.push(u);return s}var fIe=Object.prototype;function wP(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||fIe;return e===n}var hIe=Kq(Object.keys,Object);const pIe=hIe;var gIe=Object.prototype,mIe=gIe.hasOwnProperty;function vIe(e){if(!wP(e))return pIe(e);var t=[];for(var n in Object(e))mIe.call(e,n)&&n!="constructor"&&t.push(n);return t}function aK(e){return e!=null&&rK(e.length)&&!Zq(e)}function CP(e){return aK(e)?oK(e):vIe(e)}function yIe(e,t){return e&&T4(t,CP(t),e)}function bIe(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var xIe=Object.prototype,SIe=xIe.hasOwnProperty;function wIe(e){if(!_2(e))return bIe(e);var t=wP(e),n=[];for(var r in e)r=="constructor"&&(t||!SIe.call(e,r))||n.push(r);return n}function _P(e){return aK(e)?oK(e,!0):wIe(e)}function CIe(e,t){return e&&T4(t,_P(t),e)}var sK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,XD=sK&&typeof module=="object"&&module&&!module.nodeType&&module,_Ie=XD&&XD.exports===sK,ZD=_Ie?du.Buffer:void 0,QD=ZD?ZD.allocUnsafe:void 0;function kIe(e,t){if(t)return e.slice();var n=e.length,r=QD?QD(n):new e.constructor(n);return e.copy(r),r}function lK(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[i]=e[i]);return n}function pj(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var gj=function(t){return Array.isArray(t)&&t.length===0},Ho=function(t){return typeof t=="function"},M4=function(t){return t!==null&&typeof t=="object"},Cje=function(t){return String(Math.floor(Number(t)))===t},c6=function(t){return Object.prototype.toString.call(t)==="[object String]"},bK=function(t){return S.Children.count(t)===0},d6=function(t){return M4(t)&&Ho(t.then)};function Ui(e,t,n,r){r===void 0&&(r=0);for(var i=yK(t);e&&r=0?[]:{}}}return(o===0?e:i)[a[o]]===n?e:(n===void 0?delete i[a[o]]:i[a[o]]=n,o===0&&n===void 0&&delete r[a[o]],r)}function xK(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var i=0,o=Object.keys(e);i0?Ie.map(function(Ue){return N(Ue,Ui(se,Ue))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(He).then(function(Ue){return Ue.reduce(function(ye,je,vt){return je==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||je&&(ye=tu(ye,Ie[vt],je)),ye},{})})},[N]),B=S.useCallback(function(se){return Promise.all([W(se),m.validationSchema?I(se):{},m.validate?D(se):{}]).then(function(Ie){var He=Ie[0],Ue=Ie[1],ye=Ie[2],je=g7.all([He,Ue,ye],{arrayMerge:Mje});return je})},[m.validate,m.validationSchema,W,D,I]),K=qa(function(se){return se===void 0&&(se=L.values),O({type:"SET_ISVALIDATING",payload:!0}),B(se).then(function(Ie){return _.current&&(O({type:"SET_ISVALIDATING",payload:!1}),O({type:"SET_ERRORS",payload:Ie})),Ie})});S.useEffect(function(){a&&_.current===!0&&md(y.current,m.initialValues)&&K(y.current)},[a,K]);var ne=S.useCallback(function(se){var Ie=se&&se.values?se.values:y.current,He=se&&se.errors?se.errors:b.current?b.current:m.initialErrors||{},Ue=se&&se.touched?se.touched:w.current?w.current:m.initialTouched||{},ye=se&&se.status?se.status:E.current?E.current:m.initialStatus;y.current=Ie,b.current=He,w.current=Ue,E.current=ye;var je=function(){O({type:"RESET_FORM",payload:{isSubmitting:!!se&&!!se.isSubmitting,errors:He,touched:Ue,status:ye,values:Ie,isValidating:!!se&&!!se.isValidating,submitCount:se&&se.submitCount&&typeof se.submitCount=="number"?se.submitCount:0}})};if(m.onReset){var vt=m.onReset(L.values,Be);d6(vt)?vt.then(je):je()}else je()},[m.initialErrors,m.initialStatus,m.initialTouched]);S.useEffect(function(){_.current===!0&&!md(y.current,m.initialValues)&&(u&&(y.current=m.initialValues,ne()),a&&K(y.current))},[u,m.initialValues,ne,a,K]),S.useEffect(function(){u&&_.current===!0&&!md(b.current,m.initialErrors)&&(b.current=m.initialErrors||lh,O({type:"SET_ERRORS",payload:m.initialErrors||lh}))},[u,m.initialErrors]),S.useEffect(function(){u&&_.current===!0&&!md(w.current,m.initialTouched)&&(w.current=m.initialTouched||Ex,O({type:"SET_TOUCHED",payload:m.initialTouched||Ex}))},[u,m.initialTouched]),S.useEffect(function(){u&&_.current===!0&&!md(E.current,m.initialStatus)&&(E.current=m.initialStatus,O({type:"SET_STATUS",payload:m.initialStatus}))},[u,m.initialStatus,m.initialTouched]);var z=qa(function(se){if(k.current[se]&&Ho(k.current[se].validate)){var Ie=Ui(L.values,se),He=k.current[se].validate(Ie);return d6(He)?(O({type:"SET_ISVALIDATING",payload:!0}),He.then(function(Ue){return Ue}).then(function(Ue){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ue}}),O({type:"SET_ISVALIDATING",payload:!1})})):(O({type:"SET_FIELD_ERROR",payload:{field:se,value:He}}),Promise.resolve(He))}else if(m.validationSchema)return O({type:"SET_ISVALIDATING",payload:!0}),I(L.values,se).then(function(Ue){return Ue}).then(function(Ue){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ue[se]}}),O({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),$=S.useCallback(function(se,Ie){var He=Ie.validate;k.current[se]={validate:He}},[]),V=S.useCallback(function(se){delete k.current[se]},[]),X=qa(function(se,Ie){O({type:"SET_TOUCHED",payload:se});var He=Ie===void 0?i:Ie;return He?K(L.values):Promise.resolve()}),Q=S.useCallback(function(se){O({type:"SET_ERRORS",payload:se})},[]),G=qa(function(se,Ie){var He=Ho(se)?se(L.values):se;O({type:"SET_VALUES",payload:He});var Ue=Ie===void 0?n:Ie;return Ue?K(He):Promise.resolve()}),Y=S.useCallback(function(se,Ie){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ie}})},[]),ee=qa(function(se,Ie,He){O({type:"SET_FIELD_VALUE",payload:{field:se,value:Ie}});var Ue=He===void 0?n:He;return Ue?K(tu(L.values,se,Ie)):Promise.resolve()}),fe=S.useCallback(function(se,Ie){var He=Ie,Ue=se,ye;if(!c6(se)){se.persist&&se.persist();var je=se.target?se.target:se.currentTarget,vt=je.type,Mt=je.name,Me=je.id,Ct=je.value,zt=je.checked,$n=je.outerHTML,qe=je.options,pt=je.multiple;He=Ie||Mt||Me,Ue=/number|range/.test(vt)?(ye=parseFloat(Ct),isNaN(ye)?"":ye):/checkbox/.test(vt)?Aje(Ui(L.values,He),zt,Ct):qe&&pt?Lje(qe):Ct}He&&ee(He,Ue)},[ee,L.values]),Ce=qa(function(se){if(c6(se))return function(Ie){return fe(Ie,se)};fe(se)}),we=qa(function(se,Ie,He){Ie===void 0&&(Ie=!0),O({type:"SET_FIELD_TOUCHED",payload:{field:se,value:Ie}});var Ue=He===void 0?i:He;return Ue?K(L.values):Promise.resolve()}),xe=S.useCallback(function(se,Ie){se.persist&&se.persist();var He=se.target,Ue=He.name,ye=He.id,je=He.outerHTML,vt=Ie||Ue||ye;we(vt,!0)},[we]),Le=qa(function(se){if(c6(se))return function(Ie){return xe(Ie,se)};xe(se)}),Se=S.useCallback(function(se){Ho(se)?O({type:"SET_FORMIK_STATE",payload:se}):O({type:"SET_FORMIK_STATE",payload:function(){return se}})},[]),Qe=S.useCallback(function(se){O({type:"SET_STATUS",payload:se})},[]),Xe=S.useCallback(function(se){O({type:"SET_ISSUBMITTING",payload:se})},[]),tt=qa(function(){return O({type:"SUBMIT_ATTEMPT"}),K().then(function(se){var Ie=se instanceof Error,He=!Ie&&Object.keys(se).length===0;if(He){var Ue;try{if(Ue=Ae(),Ue===void 0)return}catch(ye){throw ye}return Promise.resolve(Ue).then(function(ye){return _.current&&O({type:"SUBMIT_SUCCESS"}),ye}).catch(function(ye){if(_.current)throw O({type:"SUBMIT_FAILURE"}),ye})}else if(_.current&&(O({type:"SUBMIT_FAILURE"}),Ie))throw se})}),yt=qa(function(se){se&&se.preventDefault&&Ho(se.preventDefault)&&se.preventDefault(),se&&se.stopPropagation&&Ho(se.stopPropagation)&&se.stopPropagation(),tt().catch(function(Ie){console.warn("Warning: An unhandled error was caught from submitForm()",Ie)})}),Be={resetForm:ne,validateForm:K,validateField:z,setErrors:Q,setFieldError:Y,setFieldTouched:we,setFieldValue:ee,setStatus:Qe,setSubmitting:Xe,setTouched:X,setValues:G,setFormikState:Se,submitForm:tt},Ae=qa(function(){return d(L.values,Be)}),bt=qa(function(se){se&&se.preventDefault&&Ho(se.preventDefault)&&se.preventDefault(),se&&se.stopPropagation&&Ho(se.stopPropagation)&&se.stopPropagation(),ne()}),Fe=S.useCallback(function(se){return{value:Ui(L.values,se),error:Ui(L.errors,se),touched:!!Ui(L.touched,se),initialValue:Ui(y.current,se),initialTouched:!!Ui(w.current,se),initialError:Ui(b.current,se)}},[L.errors,L.touched,L.values]),at=S.useCallback(function(se){return{setValue:function(He,Ue){return ee(se,He,Ue)},setTouched:function(He,Ue){return we(se,He,Ue)},setError:function(He){return Y(se,He)}}},[ee,we,Y]),jt=S.useCallback(function(se){var Ie=M4(se),He=Ie?se.name:se,Ue=Ui(L.values,He),ye={name:He,value:Ue,onChange:Ce,onBlur:Le};if(Ie){var je=se.type,vt=se.value,Mt=se.as,Me=se.multiple;je==="checkbox"?vt===void 0?ye.checked=!!Ue:(ye.checked=!!(Array.isArray(Ue)&&~Ue.indexOf(vt)),ye.value=vt):je==="radio"?(ye.checked=Ue===vt,ye.value=vt):Mt==="select"&&Me&&(ye.value=ye.value||[],ye.multiple=!0)}return ye},[Le,Ce,L.values]),mt=S.useMemo(function(){return!md(y.current,L.values)},[y.current,L.values]),Zt=S.useMemo(function(){return typeof s<"u"?mt?L.errors&&Object.keys(L.errors).length===0:s!==!1&&Ho(s)?s(m):s:L.errors&&Object.keys(L.errors).length===0},[s,mt,L.errors,m]),on=Vn({},L,{initialValues:y.current,initialErrors:b.current,initialTouched:w.current,initialStatus:E.current,handleBlur:Le,handleChange:Ce,handleReset:bt,handleSubmit:yt,resetForm:ne,setErrors:Q,setFormikState:Se,setFieldTouched:we,setFieldValue:ee,setFieldError:Y,setStatus:Qe,setSubmitting:Xe,setTouched:X,setValues:G,submitForm:tt,validateForm:K,validateField:z,isValid:Zt,dirty:mt,unregisterField:V,registerField:$,getFieldProps:jt,getFieldMeta:Fe,getFieldHelpers:at,validateOnBlur:i,validateOnChange:n,validateOnMount:a});return on}function E2(e){var t=Eje(e),n=e.component,r=e.children,i=e.render,o=e.innerRef;return S.useImperativeHandle(o,function(){return t}),S.createElement(_je,{value:t},n?S.createElement(n,t):i?i(t):r?Ho(r)?r(t):bK(r)?null:S.Children.only(r):null)}function Pje(e){var t={};if(e.inner){if(e.inner.length===0)return tu(t,e.path,e.message);for(var i=e.inner,n=Array.isArray(i),r=0,i=n?i:i[Symbol.iterator]();;){var o;if(n){if(r>=i.length)break;o=i[r++]}else{if(r=i.next(),r.done)break;o=r.value}var a=o;Ui(t,a.path)||(t=tu(t,a.path,a.message))}}return t}function Tje(e,t,n,r){n===void 0&&(n=!1),r===void 0&&(r={});var i=x7(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function x7(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(i){return Array.isArray(i)===!0||WD(i)?x7(i):i!==""?i:void 0}):WD(e[r])?t[r]=x7(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function Mje(e,t,n){var r=e.slice();return t.forEach(function(o,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(o);r[a]=l?g7(Array.isArray(o)?[]:{},o,n):o}else n.isMergeableObject(o)?r[a]=g7(e[a],o,n):e.indexOf(o)===-1&&r.push(o)}),r}function Lje(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function Aje(e,t,n){if(typeof e=="boolean")return Boolean(t);var r=[],i=!1,o=-1;if(Array.isArray(e))r=e,o=e.indexOf(n),i=o>=0;else if(!n||n=="true"||n=="false")return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,o).concat(r.slice(o+1)):r}var Oje=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?S.useLayoutEffect:S.useEffect;function qa(e){var t=S.useRef(e);return Oje(function(){t.current=e}),S.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;ir?i:r},0);return Array.from(Vn({},t,{length:n+1}))}else return[]},Nje=function(e){wje(t,e);function t(r){var i;return i=e.call(this,r)||this,i.updateArrayField=function(o,a,s){var l=i.props,u=l.name,d=l.formik.setFormikState;d(function(h){var m=typeof s=="function"?s:o,y=typeof a=="function"?a:o,b=tu(h.values,u,o(Ui(h.values,u))),w=s?m(Ui(h.errors,u)):void 0,E=a?y(Ui(h.touched,u)):void 0;return gj(w)&&(w=void 0),gj(E)&&(E=void 0),Vn({},h,{values:b,errors:s?tu(h.errors,u,w):h.errors,touched:a?tu(h.touched,u,E):h.touched})})},i.push=function(o){return i.updateArrayField(function(a){return[].concat(o0(a),[Sje(o)])},!1,!1)},i.handlePush=function(o){return function(){return i.push(o)}},i.swap=function(o,a){return i.updateArrayField(function(s){return Dje(s,o,a)},!0,!0)},i.handleSwap=function(o,a){return function(){return i.swap(o,a)}},i.move=function(o,a){return i.updateArrayField(function(s){return Ije(s,o,a)},!0,!0)},i.handleMove=function(o,a){return function(){return i.move(o,a)}},i.insert=function(o,a){return i.updateArrayField(function(s){return f6(s,o,a)},function(s){return f6(s,o,null)},function(s){return f6(s,o,null)})},i.handleInsert=function(o,a){return function(){return i.insert(o,a)}},i.replace=function(o,a){return i.updateArrayField(function(s){return jje(s,o,a)},!1,!1)},i.handleReplace=function(o,a){return function(){return i.replace(o,a)}},i.unshift=function(o){var a=-1;return i.updateArrayField(function(s){var l=s?[o].concat(s):[o];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l}),a},i.handleUnshift=function(o){return function(){return i.unshift(o)}},i.handleRemove=function(o){return function(){return i.remove(o)}},i.handlePop=function(){return function(){return i.pop()}},i.remove=i.remove.bind(pj(i)),i.pop=i.pop.bind(pj(i)),i}var n=t.prototype;return n.componentDidUpdate=function(i){this.props.validateOnChange&&this.props.formik.validateOnChange&&!md(Ui(i.formik.values,i.name),Ui(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(i){var o;return this.updateArrayField(function(a){var s=a?o0(a):[];return o||(o=s[i]),Ho(s.splice)&&s.splice(i,1),s},!0,!0),o},n.pop=function(){var i;return this.updateArrayField(function(o){var a=o;return i||(i=a&&a.pop&&a.pop()),a},!0,!0),i},n.render=function(){var i={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},o=this.props,a=o.component,s=o.render,l=o.children,u=o.name,d=o.formik,h=Ph(d,["validate","validationSchema"]),m=Vn({},i,{form:h,name:u});return a?S.createElement(a,m):s?s(m):l?typeof l=="function"?l(m):bK(l)?null:S.Children.only(l):null},t}(S.Component);Nje.defaultProps={validateOnChange:!0};function $je(e){const{model:t}=e,r=le(b=>b.system.model_list)[t],i=Te(),{t:o}=De(),a=le(b=>b.system.isProcessing),s=le(b=>b.system.isConnected),[l,u]=S.useState("same"),[d,h]=S.useState("");S.useEffect(()=>{u("same")},[t]);const m=()=>{u("same")},y=()=>{i(p_e({model_name:t,save_location:l,custom_location:l==="custom"&&d!==""?d:null}))};return g.jsxs(C4,{title:`${o("modelManager.convert")} ${t}`,acceptCallback:y,cancelCallback:m,acceptButtonText:`${o("modelManager.convert")}`,triggerComponent:g.jsxs(On,{size:"sm","aria-label":o("modelManager.convertToDiffusers"),isDisabled:r.status==="active"||a||!s,className:" modal-close-btn",marginRight:"2rem",children:["🧨 ",o("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[g.jsxs(ke,{flexDirection:"column",rowGap:4,children:[g.jsx(Dt,{children:o("modelManager.convertToDiffusersHelpText1")}),g.jsxs(tH,{children:[g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText2")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText3")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText4")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText5")})]}),g.jsx(Dt,{children:o("modelManager.convertToDiffusersHelpText6")})]}),g.jsxs(ke,{flexDir:"column",gap:4,children:[g.jsxs(ke,{marginTop:"1rem",flexDir:"column",gap:2,children:[g.jsx(Dt,{fontWeight:"bold",children:o("modelManager.convertToDiffusersSaveLocation")}),g.jsx(Oy,{value:l,onChange:b=>u(b),children:g.jsxs(ke,{gap:4,children:[g.jsx(Vo,{value:"same",children:g.jsx(si,{label:"Save converted model in the same folder",children:o("modelManager.sameFolder")})}),g.jsx(Vo,{value:"root",children:g.jsx(si,{label:"Save converted model in the InvokeAI root folder",children:o("modelManager.invokeRoot")})}),g.jsx(Vo,{value:"custom",children:g.jsx(si,{label:"Save converted model in a custom folder",children:o("modelManager.custom")})})]})})]}),l==="custom"&&g.jsxs(ke,{flexDirection:"column",rowGap:2,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:o("modelManager.customSaveLocation")}),g.jsx(qn,{value:d,onChange:b=>{b.target.value!==""&&h(b.target.value)},width:"25rem"})]})]})]})}const Fje=lt([hr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),mj=64,vj=2048;function Bje(){const{openModel:e,model_list:t}=le(Fje),n=le(l=>l.system.isProcessing),r=Te(),{t:i}=De(),[o,a]=S.useState({name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,default:!1,format:"ckpt"});S.useEffect(()=>{var l,u,d,h,m,y,b;if(e){const w=Pe.pickBy(t,(E,_)=>Pe.isEqual(_,e));a({name:e,description:(l=w[e])==null?void 0:l.description,config:(u=w[e])==null?void 0:u.config,weights:(d=w[e])==null?void 0:d.weights,vae:(h=w[e])==null?void 0:h.vae,width:(m=w[e])==null?void 0:m.width,height:(y=w[e])==null?void 0:y.height,default:(b=w[e])==null?void 0:b.default,format:"ckpt"})}},[t,e]);const s=l=>{r(v2({...l,width:Number(l.width),height:Number(l.height)}))};return e?g.jsxs(ke,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsxs(ke,{alignItems:"center",gap:4,justifyContent:"space-between",children:[g.jsx(Dt,{fontSize:"lg",fontWeight:"bold",children:e}),g.jsx($je,{model:e})]}),g.jsx(ke,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.config&&d.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"lg"}),u.config&&d.config?g.jsx(lr,{children:u.config}):g.jsx(sr,{margin:0,children:i("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.weights&&d.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"lg"}),u.weights&&d.weights?g.jsx(lr,{children:u.weights}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.vae&&d.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"lg"}),u.vae&&d.vae?g.jsx(lr,{children:u.vae}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!u.width&&d.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:i("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:h,form:m})=>g.jsx(lc,{id:"width",name:"width",min:mj,max:vj,step:64,value:m.values.width,onChange:y=>m.setFieldValue(h.name,Number(y))})}),u.width&&d.width?g.jsx(lr,{children:u.width}):g.jsx(sr,{margin:0,children:i("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.height&&d.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:i("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:h,form:m})=>g.jsx(lc,{id:"height",name:"height",min:mj,max:vj,step:64,value:m.values.height,onChange:y=>m.setFieldValue(h.name,Number(y))})}),u.height&&d.height?g.jsx(lr,{children:u.height}):g.jsx(sr,{margin:0,children:i("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})})})]}):g.jsx(ke,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Dt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const zje=lt([hr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Hje(){const{openModel:e,model_list:t}=le(zje),n=le(l=>l.system.isProcessing),r=Te(),{t:i}=De(),[o,a]=S.useState({name:"",description:"",repo_id:"",path:"",vae:{repo_id:"",path:""},default:!1,format:"diffusers"});S.useEffect(()=>{var l,u,d,h,m,y,b,w,E,_,k,T,L,O,D,I;if(e){const N=Pe.pickBy(t,(W,B)=>Pe.isEqual(B,e));a({name:e,description:(l=N[e])==null?void 0:l.description,path:(u=N[e])!=null&&u.path&&((d=N[e])==null?void 0:d.path)!=="None"?(h=N[e])==null?void 0:h.path:"",repo_id:(m=N[e])!=null&&m.repo_id&&((y=N[e])==null?void 0:y.repo_id)!=="None"?(b=N[e])==null?void 0:b.repo_id:"",vae:{repo_id:(E=(w=N[e])==null?void 0:w.vae)!=null&&E.repo_id?(k=(_=N[e])==null?void 0:_.vae)==null?void 0:k.repo_id:"",path:(L=(T=N[e])==null?void 0:T.vae)!=null&&L.path?(D=(O=N[e])==null?void 0:O.vae)==null?void 0:D.path:""},default:(I=N[e])==null?void 0:I.default,format:"diffusers"})}},[t,e]);const s=l=>{const u=l;l.path===""&&delete u.path,l.repo_id===""&&delete u.repo_id,l.vae.path===""&&delete u.vae.path,l.vae.repo_id===""&&delete u.vae.repo_id,r(v2(l))};return e?g.jsxs(ke,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsx(ke,{alignItems:"center",children:g.jsx(Dt,{fontSize:"lg",fontWeight:"bold",children:e})}),g.jsx(ke,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>{var h,m,y,b,w,E,_,k,T,L;return g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.path&&d.path,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"lg"}),u.path&&d.path?g.jsx(lr,{children:u.path}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.repo_id&&d.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:i("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"lg"}),u.repo_id&&d.repo_id?g.jsx(lr,{children:u.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.repoIDValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((h=u.vae)!=null&&h.path)&&((m=d.vae)==null?void 0:m.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"lg"}),(y=u.vae)!=null&&y.path&&((b=d.vae)!=null&&b.path)?g.jsx(lr,{children:(w=u.vae)==null?void 0:w.path}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((E=u.vae)!=null&&E.repo_id)&&((_=d.vae)==null?void 0:_.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:i("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"lg"}),(k=u.vae)!=null&&k.repo_id&&((T=d.vae)!=null&&T.repo_id)?g.jsx(lr,{children:(L=u.vae)==null?void 0:L.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.vaeRepoIDValidationMsg")})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})}})})]}):g.jsx(ke,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Dt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const wK=lt([hr],e=>{const{model_list:t}=e,n=[];return Pe.forEach(t,r=>{n.push(r.weights)}),n});function Wje(){const{t:e}=De();return g.jsx(ao,{position:"absolute",zIndex:2,right:4,top:4,fontSize:"0.7rem",fontWeight:"bold",backgroundColor:"var(--accent-color)",padding:"0.2rem 0.5rem",borderRadius:"0.2rem",alignItems:"center",children:e("modelManager.modelExists")})}function yj({model:e,modelsToAdd:t,setModelsToAdd:n}){const r=le(wK),i=o=>{t.includes(o.target.value)?n(Pe.remove(t,a=>a!==o.target.value)):n([...t,o.target.value])};return g.jsxs(ao,{position:"relative",children:[r.includes(e.location)?g.jsx(Wje,{}):null,g.jsx(Gn,{value:e.name,label:g.jsx(g.Fragment,{children:g.jsxs(hn,{alignItems:"start",children:[g.jsx("p",{style:{fontWeight:"bold"},children:e.name}),g.jsx("p",{style:{fontStyle:"italic"},children:e.location})]})}),isChecked:t.includes(e.name),isDisabled:r.includes(e.location),onChange:i,padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",_checked:{backgroundColor:"var(--accent-color)",color:"var(--text-color)"},_disabled:{backgroundColor:"var(--background-color-secondary)"}})]})}function Uje(){const e=Te(),{t}=De(),n=le(T=>T.system.searchFolder),r=le(T=>T.system.foundModels),i=le(wK),o=le(T=>T.ui.shouldShowExistingModelsInSearch),a=le(T=>T.system.isProcessing),[s,l]=Ke.useState([]),[u,d]=Ke.useState("v1"),[h,m]=Ke.useState(""),y=()=>{e(jU(null)),e(NU(null)),l([])},b=T=>{e(EI(T.checkpointFolder))},w=()=>{l([]),r&&r.forEach(T=>{i.includes(T.location)||l(L=>[...L,T.name])})},E=()=>{l([])},_=()=>{const T=r==null?void 0:r.filter(O=>s.includes(O.name)),L={v1:"configs/stable-diffusion/v1-inference.yaml",v2:"configs/stable-diffusion/v2-inference-v.yaml",inpainting:"configs/stable-diffusion/v1-inpainting-inference.yaml",custom:h};T==null||T.forEach(O=>{const D={name:O.name,description:"",config:L[u],weights:O.location,vae:"",width:512,height:512,default:!1,format:"ckpt"};e(v2(D))}),l([])},k=()=>{const T=[],L=[];return r&&r.forEach((O,D)=>{i.includes(O.location)?L.push(g.jsx(yj,{model:O,modelsToAdd:s,setModelsToAdd:l},D)):T.push(g.jsx(yj,{model:O,modelsToAdd:s,setModelsToAdd:l},D))}),g.jsxs(g.Fragment,{children:[T,o&&L]})};return g.jsxs(g.Fragment,{children:[n?g.jsxs(ke,{flexDirection:"column",padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",rowGap:"0.5rem",position:"relative",children:[g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",backgroundColor:"var(--background-color-secondary)",padding:"0.2rem 1rem",width:"max-content",borderRadius:"0.2rem"},children:t("modelManager.checkpointFolder")}),g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",maxWidth:"80%"},children:n}),g.jsx(Ye,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:g.jsx(f4,{}),position:"absolute",right:16,fontSize:18,disabled:a,onClick:()=>e(EI(n))}),g.jsx(Ye,{"aria-label":t("modelManager.clearCheckpointFolder"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),position:"absolute",right:5,onClick:y})]}):g.jsx(E2,{initialValues:{checkpointFolder:""},onSubmit:T=>{b(T)},children:({handleSubmit:T})=>g.jsx("form",{onSubmit:T,children:g.jsxs(l2,{columnGap:"0.5rem",children:[g.jsx(sn,{isRequired:!0,width:"max-content",children:g.jsx(ur,{as:qn,id:"checkpointFolder",name:"checkpointFolder",type:"text",width:"lg",size:"md",label:t("modelManager.checkpointFolder")})}),g.jsx(Ye,{icon:g.jsx(r7e,{}),"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),type:"submit",disabled:a})]})})}),r&&g.jsxs(ke,{flexDirection:"column",rowGap:"1rem",children:[g.jsxs(ke,{justifyContent:"space-between",alignItems:"center",children:[g.jsxs("p",{children:[t("modelManager.modelsFound"),": ",r.length]}),g.jsxs("p",{children:[t("modelManager.selected"),": ",s.length]})]}),g.jsxs(ke,{columnGap:"0.5rem",justifyContent:"space-between",children:[g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(On,{isDisabled:s.length===r.length,onClick:w,children:t("modelManager.selectAll")}),g.jsx(On,{isDisabled:s.length===0,onClick:E,children:t("modelManager.deselectAll")}),g.jsx(Gn,{label:t("modelManager.showExisting"),isChecked:o,onChange:()=>e(F4e(!o))})]}),g.jsx(On,{isDisabled:s.length===0,onClick:_,backgroundColor:s.length>0?"var(--accent-color) !important":"",children:t("modelManager.addSelected")})]}),g.jsxs(ke,{gap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",flexDirection:"column",children:[g.jsxs(ke,{gap:4,children:[g.jsx(Dt,{fontWeight:"bold",color:"var(--text-color-secondary)",children:"Pick Model Type:"}),g.jsx(Oy,{value:u,onChange:T=>d(T),defaultValue:"v1",name:"model_type",children:g.jsxs(ke,{gap:4,children:[g.jsx(Vo,{value:"v1",children:t("modelManager.v1")}),g.jsx(Vo,{value:"v2",children:t("modelManager.v2")}),g.jsx(Vo,{value:"inpainting",children:t("modelManager.inpainting")}),g.jsx(Vo,{value:"custom",children:t("modelManager.customConfig")})]})})]}),u==="custom"&&g.jsxs(ke,{flexDirection:"column",rowGap:2,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:t("modelManager.pathToCustomConfig")}),g.jsx(qn,{value:h,onChange:T=>{T.target.value!==""&&m(T.target.value)},width:"42.5rem"})]})]}),g.jsxs(ke,{rowGap:"1rem",flexDirection:"column",maxHeight:"18rem",overflowY:"scroll",paddingRight:"1rem",paddingLeft:"0.2rem",borderRadius:"0.2rem",children:[r.length>0?s.length===0&&g.jsx(Dt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",margin:"0 0.5rem 0 1rem",textAlign:"center",backgroundColor:"var(--notice-color)",boxShadow:"0 0 200px 6px var(--notice-color)",marginTop:"1rem",width:"max-content",children:t("modelManager.selectAndAdd")}):g.jsx(Dt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",textAlign:"center",backgroundColor:"var(--status-bad-color)",children:t("modelManager.noModelsFound")}),k()]})]})]})}const bj=64,xj=2048;function Vje(){const e=Te(),{t}=De(),n=le(u=>u.system.isProcessing);function r(u){return/\s/.test(u)}function i(u){let d;return r(u)&&(d=t("modelManager.cannotUseSpaces")),d}const o={name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,format:"ckpt",default:!1},a=u=>{e(v2(u)),e(Bh(null))},[s,l]=Ke.useState(!1);return g.jsxs(g.Fragment,{children:[g.jsx(Ye,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(UV,{})}),g.jsx(Uje,{}),g.jsx(Gn,{label:t("modelManager.addManually"),isChecked:s,onChange:()=>l(!s)}),s&&g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:u,errors:d,touched:h})=>g.jsx("form",{onSubmit:u,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Dt,{fontSize:20,fontWeight:"bold",alignSelf:"start",children:t("modelManager.manual")}),g.jsxs(sn,{isInvalid:!!d.name&&h.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl"}),d.name&&h.name?g.jsx(lr,{children:d.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.description&&h.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl"}),d.description&&h.description?g.jsx(lr,{children:d.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.config&&h.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"2xl"}),d.config&&h.config?g.jsx(lr,{children:d.config}):g.jsx(sr,{margin:0,children:t("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.weights&&h.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"2xl"}),d.weights&&h.weights?g.jsx(lr,{children:d.weights}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.vae&&h.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"2xl"}),d.vae&&h.vae?g.jsx(lr,{children:d.vae}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!d.width&&h.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:t("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:m,form:y})=>g.jsx(lc,{id:"width",name:"width",min:bj,max:xj,step:64,width:"90%",value:y.values.width,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.width&&h.width?g.jsx(lr,{children:d.width}):g.jsx(sr,{margin:0,children:t("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.height&&h.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:t("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:m,form:y})=>g.jsx(lc,{id:"height",name:"height",min:bj,max:xj,width:"90%",step:64,value:y.values.height,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.height&&h.height?g.jsx(lr,{children:d.height}):g.jsx(sr,{margin:0,children:t("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})})]})}function Px({children:e}){return g.jsx(ke,{flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.5rem",rowGap:"1rem",width:"100%",children:e})}function Gje(){const e=Te(),{t}=De(),n=le(s=>s.system.isProcessing);function r(s){return/\s/.test(s)}function i(s){let l;return r(s)&&(l=t("modelManager.cannotUseSpaces")),l}const o={name:"",description:"",repo_id:"",path:"",format:"diffusers",default:!1,vae:{repo_id:"",path:""}},a=s=>{const l=s;s.path===""&&delete l.path,s.repo_id===""&&delete l.repo_id,s.vae.path===""&&delete l.vae.path,s.vae.repo_id===""&&delete l.vae.repo_id,e(v2(l)),e(Bh(null))};return g.jsxs(ke,{children:[g.jsx(Ye,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(UV,{})}),g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:s,errors:l,touched:u})=>{var d,h,m,y,b,w,E,_,k,T;return g.jsx("form",{onSubmit:s,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.name&&u.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl",isRequired:!0}),l.name&&u.name?g.jsx(lr,{children:l.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]})}),g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.description&&u.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl",isRequired:!0}),l.description&&u.description?g.jsx(lr,{children:l.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]})}),g.jsxs(Px,{children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",children:t("modelManager.formMessageDiffusersModelLocation")}),g.jsx(Dt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersModelLocationDesc")}),g.jsxs(sn,{isInvalid:!!l.path&&u.path,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"2xl"}),l.path&&u.path?g.jsx(lr,{children:l.path}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!l.repo_id&&u.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:t("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"2xl"}),l.repo_id&&u.repo_id?g.jsx(lr,{children:l.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.repoIDValidationMsg")})]})]})]}),g.jsxs(Px,{children:[g.jsx(Dt,{fontWeight:"bold",children:t("modelManager.formMessageDiffusersVAELocation")}),g.jsx(Dt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersVAELocationDesc")}),g.jsxs(sn,{isInvalid:!!((d=l.vae)!=null&&d.path)&&((h=u.vae)==null?void 0:h.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"2xl"}),(m=l.vae)!=null&&m.path&&((y=u.vae)!=null&&y.path)?g.jsx(lr,{children:(b=l.vae)==null?void 0:b.path}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((w=l.vae)!=null&&w.repo_id)&&((E=u.vae)==null?void 0:E.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:t("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"2xl"}),(_=l.vae)!=null&&_.repo_id&&((k=u.vae)!=null&&k.repo_id)?g.jsx(lr,{children:(T=l.vae)==null?void 0:T.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.vaeRepoIDValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})}})]})}function Sj({text:e,onClick:t}){return g.jsx(ke,{position:"relative",width:"50%",height:"200px",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",justifyContent:"center",alignItems:"center",_hover:{cursor:"pointer",backgroundColor:"var(--accent-color)"},onClick:t,children:g.jsx(Dt,{fontWeight:"bold",children:e})})}function qje(){const{isOpen:e,onOpen:t,onClose:n}=Kd(),r=le(s=>s.ui.addNewModelUIOption),i=Te(),{t:o}=De(),a=()=>{n(),i(Bh(null))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{"aria-label":o("modelManager.addNewModel"),tooltip:o("modelManager.addNewModel"),onClick:t,className:"modal-close-btn",size:"sm",children:g.jsxs(ke,{columnGap:"0.5rem",alignItems:"center",children:[g.jsx(y2,{}),o("modelManager.addNew")]})}),g.jsxs(Yd,{isOpen:e,onClose:a,size:"3xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal add-model-modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.addNewModel")}),g.jsx(m0,{marginTop:"0.3rem"}),g.jsxs(Zm,{className:"add-model-modal-body",children:[r==null&&g.jsxs(ke,{columnGap:"1rem",children:[g.jsx(Sj,{text:o("modelManager.addCheckpointModel"),onClick:()=>i(Bh("ckpt"))}),g.jsx(Sj,{text:o("modelManager.addDiffuserModel"),onClick:()=>i(Bh("diffusers"))})]}),r=="ckpt"&&g.jsx(Vje,{}),r=="diffusers"&&g.jsx(Gje,{})]})]})]})]})}function Tx(e){const{isProcessing:t,isConnected:n}=le(y=>y.system),r=le(y=>y.system.openModel),{t:i}=De(),o=Te(),{name:a,status:s,description:l}=e,u=()=>{o($V(a))},d=()=>{o(UR(a))},h=()=>{o(h_e(a)),o(UR(null))},m=()=>{switch(s){case"active":return"var(--status-good-color)";case"cached":return"var(--status-working-color)";case"not loaded":return"var(--text-color-secondary)"}};return g.jsxs(ke,{alignItems:"center",padding:"0.5rem 0.5rem",borderRadius:"0.2rem",backgroundColor:a===r?"var(--accent-color)":"",_hover:{backgroundColor:a===r?"var(--accent-color)":"var(--background-color)"},children:[g.jsx(ao,{onClick:d,cursor:"pointer",children:g.jsx(si,{label:l,hasArrow:!0,placement:"bottom",children:g.jsx(Dt,{fontWeight:"bold",children:a})})}),g.jsx(rH,{onClick:d,cursor:"pointer"}),g.jsxs(ke,{gap:2,alignItems:"center",children:[g.jsx(Dt,{color:m(),children:s}),g.jsx(ss,{size:"sm",onClick:u,isDisabled:s==="active"||t||!n,className:"modal-close-btn",children:i("modelManager.load")}),g.jsx(Ye,{icon:g.jsx(Wke,{}),size:"sm",onClick:d,"aria-label":"Modify Config",isDisabled:s==="active"||t||!n,className:" modal-close-btn"}),g.jsx(C4,{title:i("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:i("modelManager.delete"),triggerComponent:g.jsx(Ye,{icon:g.jsx(Uke,{}),size:"sm","aria-label":i("modelManager.deleteConfig"),isDisabled:s==="active"||t||!n,className:" modal-close-btn",style:{backgroundColor:"var(--btn-delete-image)"}}),children:g.jsxs(ke,{rowGap:"1rem",flexDirection:"column",children:[g.jsx("p",{style:{fontWeight:"bold"},children:i("modelManager.deleteMsg1")}),g.jsx("p",{style:{color:"var(--text-color-secondary"},children:i("modelManager.deleteMsg2")})]})})]})]})}function Kje(){const e=Te(),{isOpen:t,onOpen:n,onClose:r}=Kd(),i=le(X_e),{t:o}=De(),[a,s]=S.useState(Object.keys(i)[0]),[l,u]=S.useState(Object.keys(i)[1]),[d,h]=S.useState("none"),[m,y]=S.useState(""),[b,w]=S.useState(.5),[E,_]=S.useState("weighted_sum"),[k,T]=S.useState("root"),[L,O]=S.useState(""),[D,I]=S.useState(!1),N=Object.keys(i).filter(z=>{if(z!==l&&z!==d)return z}),W=Object.keys(i).filter(z=>{if(z!==a&&z!==d)return z}),B=["none",...Object.keys(i).filter(z=>{if(z!==a&&z!==l)return z})],K=le(z=>z.system.isProcessing),ne=()=>{let z=[a,l,d];z=z.filter(V=>V!=="none");const $={models_to_merge:z,merged_model_name:m!==""?m:z.join("-"),alpha:b,interp:E,model_merge_save_path:k==="root"?null:L,force:D};e(g_e($))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{onClick:n,className:"modal-close-btn",size:"sm",children:g.jsx(ke,{columnGap:"0.5rem",alignItems:"center",children:o("modelManager.mergeModels")})}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"4xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.mergeModels")}),g.jsx(m0,{}),g.jsxs(ke,{flexDirection:"column",padding:"1rem",rowGap:4,children:[g.jsxs(ke,{flexDirection:"column",marginBottom:"1rem",padding:"1rem",borderRadius:"0.3rem",backgroundColor:"var(--background-color)",rowGap:1,children:[g.jsx(Dt,{children:o("modelManager.modelMergeHeaderHelp1")}),g.jsx(Dt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeHeaderHelp2")})]}),g.jsxs(ke,{columnGap:4,children:[g.jsx(Jo,{label:o("modelManager.modelOne"),validValues:N,onChange:z=>s(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelTwo"),validValues:W,onChange:z=>u(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelThree"),validValues:B,onChange:z=>{z.target.value!=="none"?(h(z.target.value),_("add_difference")):(h("none"),_("weighted_sum"))}})]}),g.jsx(qn,{label:o("modelManager.mergedModelName"),value:m,onChange:z=>y(z.target.value)}),g.jsxs(ke,{flexDir:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",rowGap:2,children:[g.jsx(Dn,{label:o("modelManager.alpha"),min:.01,max:.99,step:.01,value:b,onChange:z=>w(z),withInput:!0,withReset:!0,handleReset:()=>w(.5),withSliderMarks:!0,sliderMarkRightOffset:-7}),g.jsx(Dt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeAlphaHelp")})]}),g.jsxs(ke,{columnGap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.interpolationType")}),g.jsx(Oy,{value:E,onChange:z=>_(z),children:g.jsx(ke,{columnGap:4,children:d==="none"?g.jsxs(g.Fragment,{children:[g.jsx(Vo,{value:"weighted_sum",children:"weighted_sum"}),g.jsx(Vo,{value:"sigmoid",children:"sigmoid"}),g.jsx(Vo,{value:"inv_sigmoid",children:"inv_sigmoid"})]}):g.jsx(Vo,{value:"add_difference",children:g.jsx(si,{label:o("modelmanager:modelMergeInterpAddDifferenceHelp"),children:"add_difference"})})})})]}),g.jsxs(ke,{gap:4,flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsxs(ke,{columnGap:4,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.mergedModelSaveLocation")}),g.jsx(Oy,{value:k,onChange:z=>T(z),children:g.jsxs(ke,{columnGap:4,children:[g.jsx(Vo,{value:"root",children:o("modelManager.invokeAIFolder")}),g.jsx(Vo,{value:"custom",children:o("modelManager.custom")})]})})]}),k==="custom"&&g.jsx(qn,{label:o("modelManager.mergedModelCustomSaveLocation"),value:L,onChange:z=>O(z.target.value)})]}),g.jsx(Gn,{label:o("modelManager.ignoreMismatch"),isChecked:D,onChange:z=>I(z.target.checked),fontWeight:"bold"}),g.jsx(On,{onClick:ne,isLoading:K,isDisabled:k==="custom"&&L==="",className:"modal modal-close-btn",children:o("modelManager.merge")})]})]})]})]})}const Yje=lt(hr,e=>Pe.map(e.model_list,(n,r)=>({name:r,...n})),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function h6({label:e,isActive:t,onClick:n}){return g.jsx(On,{onClick:n,isActive:t,_active:{backgroundColor:"var(--accent-color)",_hover:{backgroundColor:"var(--accent-color)"}},size:"sm",children:e})}const Xje=()=>{const e=le(Yje),[t,n]=Ke.useState(!1);Ke.useEffect(()=>{const m=setTimeout(()=>{n(!0)},200);return()=>clearTimeout(m)},[]);const[r,i]=S.useState(""),[o,a]=S.useState("all"),[s,l]=S.useTransition(),{t:u}=De(),d=m=>{l(()=>{i(m.target.value)})},h=S.useMemo(()=>{const m=[],y=[],b=[],w=[];return e.forEach((E,_)=>{E.name.toLowerCase().includes(r.toLowerCase())&&(b.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)),E.format===o&&w.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))),E.format!=="diffusers"?m.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)):y.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))}),r!==""?o==="all"?g.jsx(ao,{marginTop:"1rem",children:b}):g.jsx(ao,{marginTop:"1rem",children:w}):g.jsxs(ke,{flexDirection:"column",rowGap:"1.5rem",children:[o==="all"&&g.jsxs(g.Fragment,{children:[g.jsxs(ao,{children:[g.jsx(Dt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",margin:"1rem 0",width:"max-content",fontSize:"14",children:u("modelManager.checkpointModels")}),m]}),g.jsxs(ao,{children:[g.jsx(Dt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",marginBottom:"0.5rem",width:"max-content",fontSize:"14",children:u("modelManager.diffusersModels")}),y]})]}),o==="ckpt"&&g.jsx(ke,{flexDirection:"column",marginTop:"1rem",children:m}),o==="diffusers"&&g.jsx(ke,{flexDirection:"column",marginTop:"1rem",children:y})]})},[e,r,u,o]);return g.jsxs(ke,{flexDirection:"column",rowGap:"2rem",width:"50%",minWidth:"50%",children:[g.jsxs(ke,{justifyContent:"space-between",children:[g.jsx(Dt,{fontSize:"1.4rem",fontWeight:"bold",children:u("modelManager.availableModels")}),g.jsxs(ke,{gap:2,children:[g.jsx(qje,{}),g.jsx(Kje,{})]})]}),g.jsx(qn,{onChange:d,label:u("modelManager.search")}),g.jsxs(ke,{flexDirection:"column",gap:1,maxHeight:window.innerHeight-360,overflow:"scroll",paddingRight:"1rem",children:[g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(h6,{label:u("modelManager.allModels"),onClick:()=>a("all"),isActive:o==="all"}),g.jsx(h6,{label:u("modelManager.checkpointModels"),onClick:()=>a("ckpt"),isActive:o==="ckpt"}),g.jsx(h6,{label:u("modelManager.diffusersModels"),onClick:()=>a("diffusers"),isActive:o==="diffusers"})]}),t?h:g.jsx(ke,{width:"100%",minHeight:"30rem",justifyContent:"center",alignItems:"center",children:g.jsx(p0,{})})]})]})};function Zje({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),i=le(s=>s.system.model_list),o=le(s=>s.system.openModel),{t:a}=De();return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"6xl",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx(op,{fontWeight:"bold",children:a("modelManager.modelManager")}),g.jsxs(ke,{padding:"0 1.5rem 1.5rem 1.5rem",width:"100%",columnGap:"2rem",children:[g.jsx(Xje,{}),o&&i[o].format==="diffusers"?g.jsx(Hje,{}):g.jsx(Bje,{})]})]})]})]})}const Qje=lt([hr],e=>{const{isProcessing:t,model_list:n}=e;return{models:Pe.map(n,(i,o)=>o),isProcessing:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),Jje=()=>{const e=Te(),{models:t,isProcessing:n}=le(Qje),r=le(VV),i=o=>{e($V(o.target.value))};return g.jsx(ke,{style:{paddingLeft:"0.3rem"},children:g.jsx(Jo,{style:{fontSize:"0.8rem"},tooltip:r.description,isDisabled:n,value:r.name,validValues:t,onChange:i})})},eNe=lt([hr,fp],(e,t)=>{const{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,model_list:o,saveIntermediatesInterval:a,enableImageDebugging:s}=e,{shouldUseCanvasBetaLayout:l,shouldUseSliders:u}=t;return{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,models:Pe.map(o,(d,h)=>h),saveIntermediatesInterval:a,enableImageDebugging:s,shouldUseCanvasBetaLayout:l,shouldUseSliders:u}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),tNe=({children:e})=>{const t=Te(),{t:n}=De(),r=le(T=>T.generation.steps),{isOpen:i,onOpen:o,onClose:a}=Kd(),{isOpen:s,onOpen:l,onClose:u}=Kd(),{shouldDisplayInProgressType:d,shouldConfirmOnDelete:h,shouldDisplayGuides:m,saveIntermediatesInterval:y,enableImageDebugging:b,shouldUseCanvasBetaLayout:w,shouldUseSliders:E}=le(eNe),_=()=>{zV.purge().then(()=>{a(),l()})},k=T=>{T>r&&(T=r),T<1&&(T=1),t(k4e(T))};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:o}),g.jsxs(Yd,{isOpen:i,onClose:a,size:"lg",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal settings-modal",children:[g.jsx(op,{className:"settings-modal-header",children:n("common.settingsLabel")}),g.jsx(m0,{className:"modal-close-btn"}),g.jsxs(Zm,{className:"settings-modal-content",children:[g.jsxs("div",{className:"settings-modal-items",children:[g.jsxs("div",{className:"settings-modal-item",style:{gridAutoFlow:"row",rowGap:"0.5rem"},children:[g.jsx(Jo,{label:n("settings.displayInProgress"),validValues:D5e,value:d,onChange:T=>t(m4e(T.target.value))}),d==="full-res"&&g.jsx(lc,{label:n("settings.saveSteps"),min:1,max:r,step:1,onChange:k,value:y,width:"auto",textAlign:"center"})]}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.confirmOnDelete"),isChecked:h,onChange:T=>t(IU(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.displayHelpIcons"),isChecked:m,onChange:T=>t(x4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useCanvasBeta"),isChecked:w,onChange:T=>t($4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useSlidersForAll"),isChecked:E,onChange:T=>t(B4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-items",children:[g.jsx("h2",{style:{fontWeight:"bold"},children:"Developer"}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.enableImageDebugging"),isChecked:b,onChange:T=>t(E4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-reset",children:[g.jsx(jh,{size:"md",children:n("settings.resetWebUI")}),g.jsx(ss,{colorScheme:"red",onClick:_,children:n("settings.resetWebUI")}),g.jsx(Dt,{children:n("settings.resetWebUIDesc1")}),g.jsx(Dt,{children:n("settings.resetWebUIDesc2")})]})]}),g.jsx(zw,{children:g.jsx(ss,{onClick:a,className:"modal-close-btn",children:n("common.close")})})]})]}),g.jsxs(Yd,{closeOnOverlayClick:!1,isOpen:s,onClose:u,isCentered:!0,children:[g.jsx(oc,{bg:"blackAlpha.300",backdropFilter:"blur(40px)"}),g.jsx(Xd,{children:g.jsx(Zm,{pb:6,pt:6,children:g.jsx(ke,{justifyContent:"center",children:g.jsx(Dt,{fontSize:"lg",children:g.jsx(Dt,{children:n("settings.resetComplete")})})})})})]})]})},nNe=lt(hr,e=>({isConnected:e.isConnected,isProcessing:e.isProcessing,currentIteration:e.currentIteration,totalIterations:e.totalIterations,currentStatus:e.currentStatus,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),rNe=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,currentStatus:i,hasError:o,wasErrorSeen:a}=le(nNe),s=Te(),{t:l}=De();let u;e&&!o?u="status-good":u="status-bad";let d=i;[l("common.statusGenerating"),l("common.statusPreparing"),l("common.statusSavingImage"),l("common.statusRestoringFaces"),l("common.statusUpscaling")].includes(d)&&(u="status-working"),d&&t&&r>1&&(d=`${l(d)} (${n}/${r})`);const m=o&&!a?"Click to clear, check logs for details":void 0,y=o&&!a?"pointer":"initial",b=()=>{(o||!a)&&s(DU())};return g.jsx(si,{label:m,children:g.jsx(Dt,{cursor:y,onClick:b,className:`status ${u}`,children:l(d)})})};function iNe(){const{t:e}=De(),{setColorMode:t,colorMode:n}=Qy(),r=Te(),i=le(l=>l.ui.currentTheme),o={dark:e("common.darkTheme"),light:e("common.lightTheme"),green:e("common.greenTheme")};S.useEffect(()=>{n!==i&&t(i)},[t,n,i]);const a=l=>{r(R4e(l))},s=()=>{const l=[];return Object.keys(o).forEach(u=>{l.push(g.jsx(On,{style:{width:"6rem"},leftIcon:i===u?g.jsx(jE,{}):void 0,size:"sm",onClick:()=>a(u),children:o[u]},u))}),l};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":e("common.themeLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(Mke,{})}),children:g.jsx(hn,{align:"stretch",children:s()})})}function oNe(){const{t:e,i18n:t}=De(),n={ar:e("common.langArabic",{lng:"ar"}),nl:e("common.langDutch",{lng:"nl"}),en:e("common.langEnglish",{lng:"en"}),fr:e("common.langFrench",{lng:"fr"}),de:e("common.langGerman",{lng:"de"}),it:e("common.langItalian",{lng:"it"}),ja:e("common.langJapanese",{lng:"ja"}),pl:e("common.langPolish",{lng:"pl"}),pt_Br:e("common.langBrPortuguese",{lng:"pt_Br"}),ru:e("common.langRussian",{lng:"ru"}),zh_Cn:e("common.langSimplifiedChinese",{lng:"zh_Cn"}),es:e("common.langSpanish",{lng:"es"}),uk:e("common.langUkranian",{lng:"ua"})},r=()=>{const i=[];return Object.keys(n).forEach(o=>{i.push(g.jsx(On,{"data-selected":localStorage.getItem("i18nextLng")===o,onClick:()=>t.changeLanguage(o),className:"modal-close-btn lang-select-btn","aria-label":n[o],size:"sm",minWidth:"200px",children:n[o]},o))}),i};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":e("common.languagePickerLabel"),tooltip:e("common.languagePickerLabel"),icon:g.jsx(Eke,{}),size:"sm",variant:"link","data-variant":"link",fontSize:26}),children:g.jsx(hn,{children:r()})})}const aNe=()=>{const{t:e}=De(),t=le(n=>n.system.app_version);return g.jsxs("div",{className:"site-header",children:[g.jsxs("div",{className:"site-header-left-side",children:[g.jsx("img",{src:pq,alt:"invoke-ai-logo"}),g.jsxs(ke,{alignItems:"center",columnGap:"0.6rem",children:[g.jsxs(Dt,{fontSize:"1.4rem",children:["invoke ",g.jsx("strong",{children:"ai"})]}),g.jsx(Dt,{fontWeight:"bold",color:"var(--text-color-secondary)",marginTop:"0.2rem",children:t})]})]}),g.jsxs("div",{className:"site-header-right-side",children:[g.jsx(rNe,{}),g.jsx(Jje,{}),g.jsx(Zje,{children:g.jsx(Ye,{"aria-label":e("modelManager.modelManager"),tooltip:e("modelManager.modelManager"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(yke,{})})}),g.jsx(VAe,{children:g.jsx(Ye,{"aria-label":e("common.hotkeysLabel"),tooltip:e("common.hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(kke,{})})}),g.jsx(iNe,{}),g.jsx(oNe,{}),g.jsx(Ye,{"aria-label":e("common.reportBugLabel"),tooltip:e("common.reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",children:g.jsx(vke,{})})}),g.jsx(Ye,{"aria-label":e("common.githubLabel"),tooltip:e("common.githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",children:g.jsx(fke,{})})}),g.jsx(Ye,{"aria-label":e("common.discordLabel"),tooltip:e("common.discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",children:g.jsx(dke,{})})}),g.jsx(tNe,{children:g.jsx(Ye,{"aria-label":e("common.settingsLabel"),tooltip:e("common.settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:g.jsx(o7e,{})})})]})]})};function sNe(){async function e(n=""){return await fetch(n,{method:"GET",cache:"no-cache"})}const t=()=>{const n=document.location;e(n+"/flaskwebgui-keep-server-alive").then(i=>i)};(!{}.NODE_ENV||{}.NODE_ENV==="production")&&document.addEventListener("DOMContentLoaded",()=>{t(),setInterval(t,3e3)})}const lNe=()=>{const e=Te(),t=le(Y_e),n=a2();S.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(T4e())},[e,n,t])},uNe=()=>{const e=Te(),{shouldShowGalleryButton:t,shouldPinGallery:n}=le(nP),r=()=>{e(Am(!0)),n&&e(Li(!0))};return t?g.jsx(Ye,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":"Show Gallery",styleClass:"floating-show-hide-button right show-hide-button-gallery",onClick:r,children:g.jsx(pG,{})}):null};sNe();const cNe=()=>(lNe(),g.jsxs("div",{className:"App",children:[g.jsxs($Ae,{children:[g.jsx(WAe,{}),g.jsxs("div",{className:"app-content",children:[g.jsx(aNe,{}),g.jsx(WLe,{})]}),g.jsx("div",{className:"app-console",children:g.jsx(zAe,{})})]}),g.jsx(qEe,{}),g.jsx(uNe,{})]})),wj=()=>g.jsx(ke,{width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",children:g.jsx(p0,{thickness:"2px",speed:"1s",emptyColor:"gray.200",color:"gray.400",size:"xl"})});const dNe=Bj({key:"invokeai-style-cache",prepend:!0});rk.createRoot(document.getElementById("root")).render(g.jsx(Ke.StrictMode,{children:g.jsx(pxe,{store:BV,children:g.jsx(gW,{loading:g.jsx(wj,{}),persistor:zV,children:g.jsx(uee,{value:dNe,children:g.jsx(Rge,{children:g.jsx(Ke.Suspense,{fallback:g.jsx(wj,{}),children:g.jsx(cNe,{})})})})})})})); +${D.message}`,"");i({title:o("toast.uploadFailed"),description:L,status:"error",isClosable:!0})},[o,i]),d=S.useCallback(async T=>{n(TI({imageFile:T}))},[n]),h=S.useCallback((T,L)=>{L.forEach(O=>{u(O)}),T.forEach(O=>{d(O)})},[d,u]),{getRootProps:m,getInputProps:y,isDragAccept:b,isDragReject:w,isDragActive:E,open:_}=Vq({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:h,onDragOver:()=>s(!0),maxFiles:1});l(_),S.useEffect(()=>{const T=L=>{var N;const O=(N=L.clipboardData)==null?void 0:N.items;if(!O)return;const D=[];for(const W of O)W.kind==="file"&&["image/png","image/jpg"].includes(W.type)&&D.push(W);if(!D.length)return;if(L.stopImmediatePropagation(),D.length>1){i({description:o("toast.uploadFailedMultipleImagesDesc"),status:"error",isClosable:!0});return}const I=D[0].getAsFile();if(!I){i({description:o("toast.uploadFailedUnableToLoadDesc"),status:"error",isClosable:!0});return}n(TI({imageFile:I}))};return document.addEventListener("paste",T),()=>{document.removeEventListener("paste",T)}},[o,n,i,r]);const k=["img2img","unifiedCanvas"].includes(r)?` to ${Qa[r].tooltip}`:"";return g.jsx(AE.Provider,{value:_,children:g.jsxs("div",{...m({style:{}}),onKeyDown:T=>{T.key},children:[g.jsx("input",{...y()}),t,E&&a&&g.jsx(NAe,{isDragAccept:b,isDragReject:w,overlaySecondaryText:k,setIsHandlingUpload:s})]})})},FAe=lt(hr,e=>e.log,{memoizeOptions:{resultEqualityCheck:(e,t)=>e.length===t.length}}),BAe=lt(hr,e=>({shouldShowLogViewer:e.shouldShowLogViewer,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),zAe=()=>{const e=Te(),t=le(FAe),{shouldShowLogViewer:n,hasError:r,wasErrorSeen:i}=le(BAe),[o,a]=S.useState(!0),s=S.useRef(null);S.useLayoutEffect(()=>{s.current!==null&&o&&(s.current.scrollTop=s.current.scrollHeight)},[o,t,n]);const l=()=>{e(DU()),e(FC(!n))};Je("`",()=>{e(FC(!n))},[n]),Je("esc",()=>{e(FC(!1))});const u=()=>{s.current&&o&&s.current.scrollTop{const{timestamp:m,message:y,level:b}=d;return g.jsxs("div",{className:`console-entry console-${b}-color`,children:[g.jsxs("p",{className:"console-timestamp",children:[m,":"]}),g.jsx("p",{className:"console-message",children:y})]},h)})})}),n&&g.jsx(si,{hasArrow:!0,label:o?"Autoscroll On":"Autoscroll Off",children:g.jsx(ls,{className:"console-autoscroll-icon-button","data-autoscroll-enabled":o,size:"sm","aria-label":"Toggle autoscroll",variant:"solid",icon:g.jsx(hke,{}),onClick:()=>a(!o)})}),g.jsx(si,{hasArrow:!0,label:n?"Hide Console":"Show Console",children:g.jsx(ls,{className:"console-toggle-icon-button","data-error-seen":r||!i,size:"sm",position:"fixed",variant:"solid","aria-label":"Toggle Log Viewer",icon:n?g.jsx(Tke,{}):g.jsx(eG,{}),onClick:l})})]})},HAe=lt(hr,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),WAe=()=>{const{isProcessing:e,currentStep:t,totalSteps:n,currentStatusHasSteps:r}=le(HAe),i=t?Math.round(t*100/n):0;return g.jsx(UH,{value:i,isIndeterminate:e&&!r,className:"progress-bar"})};function UAe(e){const{title:t,hotkey:n,description:r}=e;return g.jsxs("div",{className:"hotkey-modal-item",children:[g.jsxs("div",{className:"hotkey-info",children:[g.jsx("p",{className:"hotkey-title",children:t}),r&&g.jsx("p",{className:"hotkey-description",children:r})]}),g.jsx("div",{className:"hotkey-key",children:n})]})}function VAe({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),{t:i}=De(),o=[{title:i("hotkeys.invoke.title"),desc:i("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:i("hotkeys.cancel.title"),desc:i("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:i("hotkeys.focusPrompt.title"),desc:i("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:i("hotkeys.toggleOptions.title"),desc:i("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:i("hotkeys.pinOptions.title"),desc:i("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:i("hotkeys.toggleViewer.title"),desc:i("hotkeys.toggleViewer.desc"),hotkey:"Z"},{title:i("hotkeys.toggleGallery.title"),desc:i("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:i("hotkeys.maximizeWorkSpace.title"),desc:i("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:i("hotkeys.changeTabs.title"),desc:i("hotkeys.changeTabs.desc"),hotkey:"1-5"},{title:i("hotkeys.consoleToggle.title"),desc:i("hotkeys.consoleToggle.desc"),hotkey:"`"}],a=[{title:i("hotkeys.setPrompt.title"),desc:i("hotkeys.setPrompt.desc"),hotkey:"P"},{title:i("hotkeys.setSeed.title"),desc:i("hotkeys.setSeed.desc"),hotkey:"S"},{title:i("hotkeys.setParameters.title"),desc:i("hotkeys.setParameters.desc"),hotkey:"A"},{title:i("hotkeys.restoreFaces.title"),desc:i("hotkeys.restoreFaces.desc"),hotkey:"Shift+R"},{title:i("hotkeys.upscale.title"),desc:i("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:i("hotkeys.showInfo.title"),desc:i("hotkeys.showInfo.desc"),hotkey:"I"},{title:i("hotkeys.sendToImageToImage.title"),desc:i("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:i("hotkeys.deleteImage.title"),desc:i("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:i("hotkeys.closePanels.title"),desc:i("hotkeys.closePanels.desc"),hotkey:"Esc"}],s=[{title:i("hotkeys.previousImage.title"),desc:i("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextImage.title"),desc:i("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.toggleGalleryPin.title"),desc:i("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:i("hotkeys.increaseGalleryThumbSize.title"),desc:i("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:i("hotkeys.decreaseGalleryThumbSize.title"),desc:i("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],l=[{title:i("hotkeys.selectBrush.title"),desc:i("hotkeys.selectBrush.desc"),hotkey:"B"},{title:i("hotkeys.selectEraser.title"),desc:i("hotkeys.selectEraser.desc"),hotkey:"E"},{title:i("hotkeys.decreaseBrushSize.title"),desc:i("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:i("hotkeys.increaseBrushSize.title"),desc:i("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:i("hotkeys.decreaseBrushOpacity.title"),desc:i("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:i("hotkeys.increaseBrushOpacity.title"),desc:i("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:i("hotkeys.moveTool.title"),desc:i("hotkeys.moveTool.desc"),hotkey:"V"},{title:i("hotkeys.fillBoundingBox.title"),desc:i("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:i("hotkeys.eraseBoundingBox.title"),desc:i("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:i("hotkeys.colorPicker.title"),desc:i("hotkeys.colorPicker.desc"),hotkey:"C"},{title:i("hotkeys.toggleSnap.title"),desc:i("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:i("hotkeys.quickToggleMove.title"),desc:i("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:i("hotkeys.toggleLayer.title"),desc:i("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:i("hotkeys.clearMask.title"),desc:i("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:i("hotkeys.hideMask.title"),desc:i("hotkeys.hideMask.desc"),hotkey:"H"},{title:i("hotkeys.showHideBoundingBox.title"),desc:i("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:i("hotkeys.mergeVisible.title"),desc:i("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:i("hotkeys.saveToGallery.title"),desc:i("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:i("hotkeys.copyToClipboard.title"),desc:i("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:i("hotkeys.downloadImage.title"),desc:i("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:i("hotkeys.undoStroke.title"),desc:i("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:i("hotkeys.redoStroke.title"),desc:i("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:i("hotkeys.resetView.title"),desc:i("hotkeys.resetView.desc"),hotkey:"R"},{title:i("hotkeys.previousStagingImage.title"),desc:i("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:i("hotkeys.nextStagingImage.title"),desc:i("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:i("hotkeys.acceptStagingImage.title"),desc:i("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],u=d=>{const h=[];return d.forEach((m,y)=>{h.push(g.jsx(UAe,{title:m.title,description:m.desc,hotkey:m.hotkey},y))}),g.jsx("div",{className:"hotkey-modal-category",children:h})};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:" modal hotkeys-modal",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx("h1",{children:"Keyboard Shorcuts"}),g.jsx("div",{className:"hotkeys-modal-items",children:g.jsxs(c8,{allowMultiple:!0,children:[g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.appHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(o)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.generalHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(a)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.galleryHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(s)})]}),g.jsxs(rm,{children:[g.jsxs(tm,{className:"hotkeys-modal-button",children:[g.jsx("h2",{children:i("hotkeys.unifiedCanvasHotkeys")}),g.jsx(nm,{})]}),g.jsx(om,{children:u(l)})]})]})})]})]})]})}var BD=Array.isArray,zD=Object.keys,GAe=Object.prototype.hasOwnProperty,qAe=typeof Element<"u";function p7(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=BD(e),r=BD(t),i,o,a;if(n&&r){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!p7(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=e instanceof Date,l=t instanceof Date;if(s!=l)return!1;if(s&&l)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var h=zD(e);if(o=h.length,o!==zD(t).length)return!1;for(i=o;i--!==0;)if(!GAe.call(t,h[i]))return!1;if(qAe&&e instanceof Element&&t instanceof Element)return e===t;for(i=o;i--!==0;)if(a=h[i],!(a==="_owner"&&e.$$typeof)&&!p7(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}var md=function(t,n){try{return p7(t,n)}catch(r){if(r.message&&r.message.match(/stack|recursion/i)||r.number===-2146828260)return console.warn("Warning: react-fast-compare does not handle circular references.",r.name,r.message),!1;throw r}},KAe=function(t){return YAe(t)&&!XAe(t)};function YAe(e){return!!e&&typeof e=="object"}function XAe(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||JAe(e)}var ZAe=typeof Symbol=="function"&&Symbol.for,QAe=ZAe?Symbol.for("react.element"):60103;function JAe(e){return e.$$typeof===QAe}function eOe(e){return Array.isArray(e)?[]:{}}function U3(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Hy(eOe(e),e,t):e}function tOe(e,t,n){return e.concat(t).map(function(r){return U3(r,n)})}function nOe(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(i){r[i]=U3(e[i],n)}),Object.keys(t).forEach(function(i){!n.isMergeableObject(t[i])||!e[i]?r[i]=U3(t[i],n):r[i]=Hy(e[i],t[i],n)}),r}function Hy(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||tOe,n.isMergeableObject=n.isMergeableObject||KAe;var r=Array.isArray(t),i=Array.isArray(e),o=r===i;return o?r?n.arrayMerge(e,t,n):nOe(e,t,n):U3(t,n)}Hy.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,i){return Hy(r,i,n)},{})};var g7=Hy,rOe=typeof global=="object"&&global&&global.Object===Object&&global;const Gq=rOe;var iOe=typeof self=="object"&&self&&self.Object===Object&&self,oOe=Gq||iOe||Function("return this")();const du=oOe;var aOe=du.Symbol;const tf=aOe;var qq=Object.prototype,sOe=qq.hasOwnProperty,lOe=qq.toString,r1=tf?tf.toStringTag:void 0;function uOe(e){var t=sOe.call(e,r1),n=e[r1];try{e[r1]=void 0;var r=!0}catch{}var i=lOe.call(e);return r&&(t?e[r1]=n:delete e[r1]),i}var cOe=Object.prototype,dOe=cOe.toString;function fOe(e){return dOe.call(e)}var hOe="[object Null]",pOe="[object Undefined]",HD=tf?tf.toStringTag:void 0;function yp(e){return e==null?e===void 0?pOe:hOe:HD&&HD in Object(e)?uOe(e):fOe(e)}function Kq(e,t){return function(n){return e(t(n))}}var gOe=Kq(Object.getPrototypeOf,Object);const xP=gOe;function bp(e){return e!=null&&typeof e=="object"}var mOe="[object Object]",vOe=Function.prototype,yOe=Object.prototype,Yq=vOe.toString,bOe=yOe.hasOwnProperty,xOe=Yq.call(Object);function WD(e){if(!bp(e)||yp(e)!=mOe)return!1;var t=xP(e);if(t===null)return!0;var n=bOe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Yq.call(n)==xOe}function SOe(){this.__data__=[],this.size=0}function Xq(e,t){return e===t||e!==e&&t!==t}function E4(e,t){for(var n=e.length;n--;)if(Xq(e[n][0],t))return n;return-1}var wOe=Array.prototype,COe=wOe.splice;function _Oe(e){var t=this.__data__,n=E4(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():COe.call(t,n,1),--this.size,!0}function kOe(e){var t=this.__data__,n=E4(t,e);return n<0?void 0:t[n][1]}function EOe(e){return E4(this.__data__,e)>-1}function POe(e,t){var n=this.__data__,r=E4(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function yc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=IRe}var DRe="[object Arguments]",jRe="[object Array]",NRe="[object Boolean]",$Re="[object Date]",FRe="[object Error]",BRe="[object Function]",zRe="[object Map]",HRe="[object Number]",WRe="[object Object]",URe="[object RegExp]",VRe="[object Set]",GRe="[object String]",qRe="[object WeakMap]",KRe="[object ArrayBuffer]",YRe="[object DataView]",XRe="[object Float32Array]",ZRe="[object Float64Array]",QRe="[object Int8Array]",JRe="[object Int16Array]",eIe="[object Int32Array]",tIe="[object Uint8Array]",nIe="[object Uint8ClampedArray]",rIe="[object Uint16Array]",iIe="[object Uint32Array]",ar={};ar[XRe]=ar[ZRe]=ar[QRe]=ar[JRe]=ar[eIe]=ar[tIe]=ar[nIe]=ar[rIe]=ar[iIe]=!0;ar[DRe]=ar[jRe]=ar[KRe]=ar[NRe]=ar[YRe]=ar[$Re]=ar[FRe]=ar[BRe]=ar[zRe]=ar[HRe]=ar[WRe]=ar[URe]=ar[VRe]=ar[GRe]=ar[qRe]=!1;function oIe(e){return bp(e)&&rK(e.length)&&!!ar[yp(e)]}function SP(e){return function(t){return e(t)}}var iK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Z1=iK&&typeof module=="object"&&module&&!module.nodeType&&module,aIe=Z1&&Z1.exports===iK,u6=aIe&&Gq.process,sIe=function(){try{var e=Z1&&Z1.require&&Z1.require("util").types;return e||u6&&u6.binding&&u6.binding("util")}catch{}}();const i0=sIe;var YD=i0&&i0.isTypedArray,lIe=YD?SP(YD):oIe;const uIe=lIe;var cIe=Object.prototype,dIe=cIe.hasOwnProperty;function oK(e,t){var n=k2(e),r=!n&&kRe(e),i=!n&&!r&&nK(e),o=!n&&!r&&!i&&uIe(e),a=n||r||i||o,s=a?xRe(e.length,String):[],l=s.length;for(var u in e)(t||dIe.call(e,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||RRe(u,l)))&&s.push(u);return s}var fIe=Object.prototype;function wP(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||fIe;return e===n}var hIe=Kq(Object.keys,Object);const pIe=hIe;var gIe=Object.prototype,mIe=gIe.hasOwnProperty;function vIe(e){if(!wP(e))return pIe(e);var t=[];for(var n in Object(e))mIe.call(e,n)&&n!="constructor"&&t.push(n);return t}function aK(e){return e!=null&&rK(e.length)&&!Zq(e)}function CP(e){return aK(e)?oK(e):vIe(e)}function yIe(e,t){return e&&T4(t,CP(t),e)}function bIe(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var xIe=Object.prototype,SIe=xIe.hasOwnProperty;function wIe(e){if(!_2(e))return bIe(e);var t=wP(e),n=[];for(var r in e)r=="constructor"&&(t||!SIe.call(e,r))||n.push(r);return n}function _P(e){return aK(e)?oK(e,!0):wIe(e)}function CIe(e,t){return e&&T4(t,_P(t),e)}var sK=typeof exports=="object"&&exports&&!exports.nodeType&&exports,XD=sK&&typeof module=="object"&&module&&!module.nodeType&&module,_Ie=XD&&XD.exports===sK,ZD=_Ie?du.Buffer:void 0,QD=ZD?ZD.allocUnsafe:void 0;function kIe(e,t){if(t)return e.slice();var n=e.length,r=QD?QD(n):new e.constructor(n);return e.copy(r),r}function lK(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[i]=e[i]);return n}function pj(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var gj=function(t){return Array.isArray(t)&&t.length===0},Wo=function(t){return typeof t=="function"},M4=function(t){return t!==null&&typeof t=="object"},Cje=function(t){return String(Math.floor(Number(t)))===t},c6=function(t){return Object.prototype.toString.call(t)==="[object String]"},bK=function(t){return S.Children.count(t)===0},d6=function(t){return M4(t)&&Wo(t.then)};function Ui(e,t,n,r){r===void 0&&(r=0);for(var i=yK(t);e&&r=0?[]:{}}}return(o===0?e:i)[a[o]]===n?e:(n===void 0?delete i[a[o]]:i[a[o]]=n,o===0&&n===void 0&&delete r[a[o]],r)}function xK(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var i=0,o=Object.keys(e);i0?Ie.map(function(Ue){return N(Ue,Ui(se,Ue))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(He).then(function(Ue){return Ue.reduce(function(ye,je,vt){return je==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||je&&(ye=tu(ye,Ie[vt],je)),ye},{})})},[N]),B=S.useCallback(function(se){return Promise.all([W(se),m.validationSchema?I(se):{},m.validate?D(se):{}]).then(function(Ie){var He=Ie[0],Ue=Ie[1],ye=Ie[2],je=g7.all([He,Ue,ye],{arrayMerge:Mje});return je})},[m.validate,m.validationSchema,W,D,I]),K=qa(function(se){return se===void 0&&(se=L.values),O({type:"SET_ISVALIDATING",payload:!0}),B(se).then(function(Ie){return _.current&&(O({type:"SET_ISVALIDATING",payload:!1}),O({type:"SET_ERRORS",payload:Ie})),Ie})});S.useEffect(function(){a&&_.current===!0&&md(y.current,m.initialValues)&&K(y.current)},[a,K]);var ne=S.useCallback(function(se){var Ie=se&&se.values?se.values:y.current,He=se&&se.errors?se.errors:b.current?b.current:m.initialErrors||{},Ue=se&&se.touched?se.touched:w.current?w.current:m.initialTouched||{},ye=se&&se.status?se.status:E.current?E.current:m.initialStatus;y.current=Ie,b.current=He,w.current=Ue,E.current=ye;var je=function(){O({type:"RESET_FORM",payload:{isSubmitting:!!se&&!!se.isSubmitting,errors:He,touched:Ue,status:ye,values:Ie,isValidating:!!se&&!!se.isValidating,submitCount:se&&se.submitCount&&typeof se.submitCount=="number"?se.submitCount:0}})};if(m.onReset){var vt=m.onReset(L.values,Be);d6(vt)?vt.then(je):je()}else je()},[m.initialErrors,m.initialStatus,m.initialTouched]);S.useEffect(function(){_.current===!0&&!md(y.current,m.initialValues)&&(u&&(y.current=m.initialValues,ne()),a&&K(y.current))},[u,m.initialValues,ne,a,K]),S.useEffect(function(){u&&_.current===!0&&!md(b.current,m.initialErrors)&&(b.current=m.initialErrors||lh,O({type:"SET_ERRORS",payload:m.initialErrors||lh}))},[u,m.initialErrors]),S.useEffect(function(){u&&_.current===!0&&!md(w.current,m.initialTouched)&&(w.current=m.initialTouched||Ex,O({type:"SET_TOUCHED",payload:m.initialTouched||Ex}))},[u,m.initialTouched]),S.useEffect(function(){u&&_.current===!0&&!md(E.current,m.initialStatus)&&(E.current=m.initialStatus,O({type:"SET_STATUS",payload:m.initialStatus}))},[u,m.initialStatus,m.initialTouched]);var z=qa(function(se){if(k.current[se]&&Wo(k.current[se].validate)){var Ie=Ui(L.values,se),He=k.current[se].validate(Ie);return d6(He)?(O({type:"SET_ISVALIDATING",payload:!0}),He.then(function(Ue){return Ue}).then(function(Ue){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ue}}),O({type:"SET_ISVALIDATING",payload:!1})})):(O({type:"SET_FIELD_ERROR",payload:{field:se,value:He}}),Promise.resolve(He))}else if(m.validationSchema)return O({type:"SET_ISVALIDATING",payload:!0}),I(L.values,se).then(function(Ue){return Ue}).then(function(Ue){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ue[se]}}),O({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),$=S.useCallback(function(se,Ie){var He=Ie.validate;k.current[se]={validate:He}},[]),V=S.useCallback(function(se){delete k.current[se]},[]),X=qa(function(se,Ie){O({type:"SET_TOUCHED",payload:se});var He=Ie===void 0?i:Ie;return He?K(L.values):Promise.resolve()}),Q=S.useCallback(function(se){O({type:"SET_ERRORS",payload:se})},[]),G=qa(function(se,Ie){var He=Wo(se)?se(L.values):se;O({type:"SET_VALUES",payload:He});var Ue=Ie===void 0?n:Ie;return Ue?K(He):Promise.resolve()}),Y=S.useCallback(function(se,Ie){O({type:"SET_FIELD_ERROR",payload:{field:se,value:Ie}})},[]),ee=qa(function(se,Ie,He){O({type:"SET_FIELD_VALUE",payload:{field:se,value:Ie}});var Ue=He===void 0?n:He;return Ue?K(tu(L.values,se,Ie)):Promise.resolve()}),fe=S.useCallback(function(se,Ie){var He=Ie,Ue=se,ye;if(!c6(se)){se.persist&&se.persist();var je=se.target?se.target:se.currentTarget,vt=je.type,Mt=je.name,Me=je.id,Ct=je.value,zt=je.checked,$n=je.outerHTML,qe=je.options,pt=je.multiple;He=Ie||Mt||Me,Ue=/number|range/.test(vt)?(ye=parseFloat(Ct),isNaN(ye)?"":ye):/checkbox/.test(vt)?Aje(Ui(L.values,He),zt,Ct):qe&&pt?Lje(qe):Ct}He&&ee(He,Ue)},[ee,L.values]),Ce=qa(function(se){if(c6(se))return function(Ie){return fe(Ie,se)};fe(se)}),we=qa(function(se,Ie,He){Ie===void 0&&(Ie=!0),O({type:"SET_FIELD_TOUCHED",payload:{field:se,value:Ie}});var Ue=He===void 0?i:He;return Ue?K(L.values):Promise.resolve()}),xe=S.useCallback(function(se,Ie){se.persist&&se.persist();var He=se.target,Ue=He.name,ye=He.id,je=He.outerHTML,vt=Ie||Ue||ye;we(vt,!0)},[we]),Le=qa(function(se){if(c6(se))return function(Ie){return xe(Ie,se)};xe(se)}),Se=S.useCallback(function(se){Wo(se)?O({type:"SET_FORMIK_STATE",payload:se}):O({type:"SET_FORMIK_STATE",payload:function(){return se}})},[]),Qe=S.useCallback(function(se){O({type:"SET_STATUS",payload:se})},[]),Xe=S.useCallback(function(se){O({type:"SET_ISSUBMITTING",payload:se})},[]),tt=qa(function(){return O({type:"SUBMIT_ATTEMPT"}),K().then(function(se){var Ie=se instanceof Error,He=!Ie&&Object.keys(se).length===0;if(He){var Ue;try{if(Ue=Ae(),Ue===void 0)return}catch(ye){throw ye}return Promise.resolve(Ue).then(function(ye){return _.current&&O({type:"SUBMIT_SUCCESS"}),ye}).catch(function(ye){if(_.current)throw O({type:"SUBMIT_FAILURE"}),ye})}else if(_.current&&(O({type:"SUBMIT_FAILURE"}),Ie))throw se})}),yt=qa(function(se){se&&se.preventDefault&&Wo(se.preventDefault)&&se.preventDefault(),se&&se.stopPropagation&&Wo(se.stopPropagation)&&se.stopPropagation(),tt().catch(function(Ie){console.warn("Warning: An unhandled error was caught from submitForm()",Ie)})}),Be={resetForm:ne,validateForm:K,validateField:z,setErrors:Q,setFieldError:Y,setFieldTouched:we,setFieldValue:ee,setStatus:Qe,setSubmitting:Xe,setTouched:X,setValues:G,setFormikState:Se,submitForm:tt},Ae=qa(function(){return d(L.values,Be)}),bt=qa(function(se){se&&se.preventDefault&&Wo(se.preventDefault)&&se.preventDefault(),se&&se.stopPropagation&&Wo(se.stopPropagation)&&se.stopPropagation(),ne()}),Fe=S.useCallback(function(se){return{value:Ui(L.values,se),error:Ui(L.errors,se),touched:!!Ui(L.touched,se),initialValue:Ui(y.current,se),initialTouched:!!Ui(w.current,se),initialError:Ui(b.current,se)}},[L.errors,L.touched,L.values]),at=S.useCallback(function(se){return{setValue:function(He,Ue){return ee(se,He,Ue)},setTouched:function(He,Ue){return we(se,He,Ue)},setError:function(He){return Y(se,He)}}},[ee,we,Y]),jt=S.useCallback(function(se){var Ie=M4(se),He=Ie?se.name:se,Ue=Ui(L.values,He),ye={name:He,value:Ue,onChange:Ce,onBlur:Le};if(Ie){var je=se.type,vt=se.value,Mt=se.as,Me=se.multiple;je==="checkbox"?vt===void 0?ye.checked=!!Ue:(ye.checked=!!(Array.isArray(Ue)&&~Ue.indexOf(vt)),ye.value=vt):je==="radio"?(ye.checked=Ue===vt,ye.value=vt):Mt==="select"&&Me&&(ye.value=ye.value||[],ye.multiple=!0)}return ye},[Le,Ce,L.values]),mt=S.useMemo(function(){return!md(y.current,L.values)},[y.current,L.values]),Zt=S.useMemo(function(){return typeof s<"u"?mt?L.errors&&Object.keys(L.errors).length===0:s!==!1&&Wo(s)?s(m):s:L.errors&&Object.keys(L.errors).length===0},[s,mt,L.errors,m]),on=Vn({},L,{initialValues:y.current,initialErrors:b.current,initialTouched:w.current,initialStatus:E.current,handleBlur:Le,handleChange:Ce,handleReset:bt,handleSubmit:yt,resetForm:ne,setErrors:Q,setFormikState:Se,setFieldTouched:we,setFieldValue:ee,setFieldError:Y,setStatus:Qe,setSubmitting:Xe,setTouched:X,setValues:G,submitForm:tt,validateForm:K,validateField:z,isValid:Zt,dirty:mt,unregisterField:V,registerField:$,getFieldProps:jt,getFieldMeta:Fe,getFieldHelpers:at,validateOnBlur:i,validateOnChange:n,validateOnMount:a});return on}function E2(e){var t=Eje(e),n=e.component,r=e.children,i=e.render,o=e.innerRef;return S.useImperativeHandle(o,function(){return t}),S.createElement(_je,{value:t},n?S.createElement(n,t):i?i(t):r?Wo(r)?r(t):bK(r)?null:S.Children.only(r):null)}function Pje(e){var t={};if(e.inner){if(e.inner.length===0)return tu(t,e.path,e.message);for(var i=e.inner,n=Array.isArray(i),r=0,i=n?i:i[Symbol.iterator]();;){var o;if(n){if(r>=i.length)break;o=i[r++]}else{if(r=i.next(),r.done)break;o=r.value}var a=o;Ui(t,a.path)||(t=tu(t,a.path,a.message))}}return t}function Tje(e,t,n,r){n===void 0&&(n=!1),r===void 0&&(r={});var i=x7(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function x7(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(i){return Array.isArray(i)===!0||WD(i)?x7(i):i!==""?i:void 0}):WD(e[r])?t[r]=x7(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function Mje(e,t,n){var r=e.slice();return t.forEach(function(o,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(o);r[a]=l?g7(Array.isArray(o)?[]:{},o,n):o}else n.isMergeableObject(o)?r[a]=g7(e[a],o,n):e.indexOf(o)===-1&&r.push(o)}),r}function Lje(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function Aje(e,t,n){if(typeof e=="boolean")return Boolean(t);var r=[],i=!1,o=-1;if(Array.isArray(e))r=e,o=e.indexOf(n),i=o>=0;else if(!n||n=="true"||n=="false")return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,o).concat(r.slice(o+1)):r}var Oje=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?S.useLayoutEffect:S.useEffect;function qa(e){var t=S.useRef(e);return Oje(function(){t.current=e}),S.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;ir?i:r},0);return Array.from(Vn({},t,{length:n+1}))}else return[]},Nje=function(e){wje(t,e);function t(r){var i;return i=e.call(this,r)||this,i.updateArrayField=function(o,a,s){var l=i.props,u=l.name,d=l.formik.setFormikState;d(function(h){var m=typeof s=="function"?s:o,y=typeof a=="function"?a:o,b=tu(h.values,u,o(Ui(h.values,u))),w=s?m(Ui(h.errors,u)):void 0,E=a?y(Ui(h.touched,u)):void 0;return gj(w)&&(w=void 0),gj(E)&&(E=void 0),Vn({},h,{values:b,errors:s?tu(h.errors,u,w):h.errors,touched:a?tu(h.touched,u,E):h.touched})})},i.push=function(o){return i.updateArrayField(function(a){return[].concat(o0(a),[Sje(o)])},!1,!1)},i.handlePush=function(o){return function(){return i.push(o)}},i.swap=function(o,a){return i.updateArrayField(function(s){return Dje(s,o,a)},!0,!0)},i.handleSwap=function(o,a){return function(){return i.swap(o,a)}},i.move=function(o,a){return i.updateArrayField(function(s){return Ije(s,o,a)},!0,!0)},i.handleMove=function(o,a){return function(){return i.move(o,a)}},i.insert=function(o,a){return i.updateArrayField(function(s){return f6(s,o,a)},function(s){return f6(s,o,null)},function(s){return f6(s,o,null)})},i.handleInsert=function(o,a){return function(){return i.insert(o,a)}},i.replace=function(o,a){return i.updateArrayField(function(s){return jje(s,o,a)},!1,!1)},i.handleReplace=function(o,a){return function(){return i.replace(o,a)}},i.unshift=function(o){var a=-1;return i.updateArrayField(function(s){var l=s?[o].concat(s):[o];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l},function(s){var l=s?[null].concat(s):[null];return a<0&&(a=l.length),l}),a},i.handleUnshift=function(o){return function(){return i.unshift(o)}},i.handleRemove=function(o){return function(){return i.remove(o)}},i.handlePop=function(){return function(){return i.pop()}},i.remove=i.remove.bind(pj(i)),i.pop=i.pop.bind(pj(i)),i}var n=t.prototype;return n.componentDidUpdate=function(i){this.props.validateOnChange&&this.props.formik.validateOnChange&&!md(Ui(i.formik.values,i.name),Ui(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(i){var o;return this.updateArrayField(function(a){var s=a?o0(a):[];return o||(o=s[i]),Wo(s.splice)&&s.splice(i,1),s},!0,!0),o},n.pop=function(){var i;return this.updateArrayField(function(o){var a=o;return i||(i=a&&a.pop&&a.pop()),a},!0,!0),i},n.render=function(){var i={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},o=this.props,a=o.component,s=o.render,l=o.children,u=o.name,d=o.formik,h=Ph(d,["validate","validationSchema"]),m=Vn({},i,{form:h,name:u});return a?S.createElement(a,m):s?s(m):l?typeof l=="function"?l(m):bK(l)?null:S.Children.only(l):null},t}(S.Component);Nje.defaultProps={validateOnChange:!0};function $je(e){const{model:t}=e,r=le(b=>b.system.model_list)[t],i=Te(),{t:o}=De(),a=le(b=>b.system.isProcessing),s=le(b=>b.system.isConnected),[l,u]=S.useState("same"),[d,h]=S.useState("");S.useEffect(()=>{u("same")},[t]);const m=()=>{u("same")},y=()=>{i(p_e({model_name:t,save_location:l,custom_location:l==="custom"&&d!==""?d:null}))};return g.jsxs(C4,{title:`${o("modelManager.convert")} ${t}`,acceptCallback:y,cancelCallback:m,acceptButtonText:`${o("modelManager.convert")}`,triggerComponent:g.jsxs(On,{size:"sm","aria-label":o("modelManager.convertToDiffusers"),isDisabled:r.status==="active"||a||!s,className:" modal-close-btn",marginRight:"2rem",children:["🧨 ",o("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[g.jsxs(ke,{flexDirection:"column",rowGap:4,children:[g.jsx(Dt,{children:o("modelManager.convertToDiffusersHelpText1")}),g.jsxs(tH,{children:[g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText2")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText3")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText4")}),g.jsx(f1,{children:o("modelManager.convertToDiffusersHelpText5")})]}),g.jsx(Dt,{children:o("modelManager.convertToDiffusersHelpText6")})]}),g.jsxs(ke,{flexDir:"column",gap:4,children:[g.jsxs(ke,{marginTop:"1rem",flexDir:"column",gap:2,children:[g.jsx(Dt,{fontWeight:"bold",children:o("modelManager.convertToDiffusersSaveLocation")}),g.jsx(Oy,{value:l,onChange:b=>u(b),children:g.jsxs(ke,{gap:4,children:[g.jsx(So,{value:"same",children:g.jsx(si,{label:"Save converted model in the same folder",children:o("modelManager.sameFolder")})}),g.jsx(So,{value:"root",children:g.jsx(si,{label:"Save converted model in the InvokeAI root folder",children:o("modelManager.invokeRoot")})}),g.jsx(So,{value:"custom",children:g.jsx(si,{label:"Save converted model in a custom folder",children:o("modelManager.custom")})})]})})]}),l==="custom"&&g.jsxs(ke,{flexDirection:"column",rowGap:2,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:o("modelManager.customSaveLocation")}),g.jsx(qn,{value:d,onChange:b=>{b.target.value!==""&&h(b.target.value)},width:"25rem"})]})]})]})}const Fje=lt([hr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),mj=64,vj=2048;function Bje(){const{openModel:e,model_list:t}=le(Fje),n=le(l=>l.system.isProcessing),r=Te(),{t:i}=De(),[o,a]=S.useState({name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,default:!1,format:"ckpt"});S.useEffect(()=>{var l,u,d,h,m,y,b;if(e){const w=Pe.pickBy(t,(E,_)=>Pe.isEqual(_,e));a({name:e,description:(l=w[e])==null?void 0:l.description,config:(u=w[e])==null?void 0:u.config,weights:(d=w[e])==null?void 0:d.weights,vae:(h=w[e])==null?void 0:h.vae,width:(m=w[e])==null?void 0:m.width,height:(y=w[e])==null?void 0:y.height,default:(b=w[e])==null?void 0:b.default,format:"ckpt"})}},[t,e]);const s=l=>{r(v2({...l,width:Number(l.width),height:Number(l.height)}))};return e?g.jsxs(ke,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsxs(ke,{alignItems:"center",gap:4,justifyContent:"space-between",children:[g.jsx(Dt,{fontSize:"lg",fontWeight:"bold",children:e}),g.jsx($je,{model:e})]}),g.jsx(ke,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.config&&d.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"lg"}),u.config&&d.config?g.jsx(lr,{children:u.config}):g.jsx(sr,{margin:0,children:i("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.weights&&d.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"lg"}),u.weights&&d.weights?g.jsx(lr,{children:u.weights}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.vae&&d.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"lg"}),u.vae&&d.vae?g.jsx(lr,{children:u.vae}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!u.width&&d.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:i("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:h,form:m})=>g.jsx(lc,{id:"width",name:"width",min:mj,max:vj,step:64,value:m.values.width,onChange:y=>m.setFieldValue(h.name,Number(y))})}),u.width&&d.width?g.jsx(lr,{children:u.width}):g.jsx(sr,{margin:0,children:i("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.height&&d.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:i("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:h,form:m})=>g.jsx(lc,{id:"height",name:"height",min:mj,max:vj,step:64,value:m.values.height,onChange:y=>m.setFieldValue(h.name,Number(y))})}),u.height&&d.height?g.jsx(lr,{children:u.height}):g.jsx(sr,{margin:0,children:i("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})})})]}):g.jsx(ke,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Dt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const zje=lt([hr],e=>{const{openModel:t,model_list:n}=e;return{model_list:n,openModel:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function Hje(){const{openModel:e,model_list:t}=le(zje),n=le(l=>l.system.isProcessing),r=Te(),{t:i}=De(),[o,a]=S.useState({name:"",description:"",repo_id:"",path:"",vae:{repo_id:"",path:""},default:!1,format:"diffusers"});S.useEffect(()=>{var l,u,d,h,m,y,b,w,E,_,k,T,L,O,D,I;if(e){const N=Pe.pickBy(t,(W,B)=>Pe.isEqual(B,e));a({name:e,description:(l=N[e])==null?void 0:l.description,path:(u=N[e])!=null&&u.path&&((d=N[e])==null?void 0:d.path)!=="None"?(h=N[e])==null?void 0:h.path:"",repo_id:(m=N[e])!=null&&m.repo_id&&((y=N[e])==null?void 0:y.repo_id)!=="None"?(b=N[e])==null?void 0:b.repo_id:"",vae:{repo_id:(E=(w=N[e])==null?void 0:w.vae)!=null&&E.repo_id?(k=(_=N[e])==null?void 0:_.vae)==null?void 0:k.repo_id:"",path:(L=(T=N[e])==null?void 0:T.vae)!=null&&L.path?(D=(O=N[e])==null?void 0:O.vae)==null?void 0:D.path:""},default:(I=N[e])==null?void 0:I.default,format:"diffusers"})}},[t,e]);const s=l=>{const u=l;l.path===""&&delete u.path,l.repo_id===""&&delete u.repo_id,l.vae.path===""&&delete u.vae.path,l.vae.repo_id===""&&delete u.vae.repo_id,r(v2(l))};return e?g.jsxs(ke,{flexDirection:"column",rowGap:"1rem",width:"100%",children:[g.jsx(ke,{alignItems:"center",children:g.jsx(Dt,{fontSize:"lg",fontWeight:"bold",children:e})}),g.jsx(ke,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",paddingRight:"2rem",children:g.jsx(E2,{enableReinitialize:!0,initialValues:o,onSubmit:s,children:({handleSubmit:l,errors:u,touched:d})=>{var h,m,y,b,w,E,_,k,T,L;return g.jsx("form",{onSubmit:l,children:g.jsxs(hn,{rowGap:"0.5rem",alignItems:"start",children:[g.jsxs(sn,{isInvalid:!!u.description&&d.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:i("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"lg"}),u.description&&d.description?g.jsx(lr,{children:u.description}):g.jsx(sr,{margin:0,children:i("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.path&&d.path,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:i("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"lg"}),u.path&&d.path?g.jsx(lr,{children:u.path}):g.jsx(sr,{margin:0,children:i("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!u.repo_id&&d.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:i("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"lg"}),u.repo_id&&d.repo_id?g.jsx(lr,{children:u.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.repoIDValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((h=u.vae)!=null&&h.path)&&((m=d.vae)==null?void 0:m.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:i("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"lg"}),(y=u.vae)!=null&&y.path&&((b=d.vae)!=null&&b.path)?g.jsx(lr,{children:(w=u.vae)==null?void 0:w.path}):g.jsx(sr,{margin:0,children:i("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((E=u.vae)!=null&&E.repo_id)&&((_=d.vae)==null?void 0:_.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:i("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"lg"}),(k=u.vae)!=null&&k.repo_id&&((T=d.vae)!=null&&T.repo_id)?g.jsx(lr,{children:(L=u.vae)==null?void 0:L.repo_id}):g.jsx(sr,{margin:0,children:i("modelManager.vaeRepoIDValidationMsg")})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:i("modelManager.updateModel")})]})})}})})]}):g.jsx(ke,{width:"100%",justifyContent:"center",alignItems:"center",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",children:g.jsx(Dt,{fontWeight:"bold",color:"var(--subtext-color-bright)",children:"Pick A Model To Edit"})})}const wK=lt([hr],e=>{const{model_list:t}=e,n=[];return Pe.forEach(t,r=>{n.push(r.weights)}),n});function Wje(){const{t:e}=De();return g.jsx(ao,{position:"absolute",zIndex:2,right:4,top:4,fontSize:"0.7rem",fontWeight:"bold",backgroundColor:"var(--accent-color)",padding:"0.2rem 0.5rem",borderRadius:"0.2rem",alignItems:"center",children:e("modelManager.modelExists")})}function yj({model:e,modelsToAdd:t,setModelsToAdd:n}){const r=le(wK),i=o=>{t.includes(o.target.value)?n(Pe.remove(t,a=>a!==o.target.value)):n([...t,o.target.value])};return g.jsxs(ao,{position:"relative",children:[r.includes(e.location)?g.jsx(Wje,{}):null,g.jsx(Gn,{value:e.name,label:g.jsx(g.Fragment,{children:g.jsxs(hn,{alignItems:"start",children:[g.jsx("p",{style:{fontWeight:"bold"},children:e.name}),g.jsx("p",{style:{fontStyle:"italic"},children:e.location})]})}),isChecked:t.includes(e.name),isDisabled:r.includes(e.location),onChange:i,padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",_checked:{backgroundColor:"var(--accent-color)",color:"var(--text-color)"},_disabled:{backgroundColor:"var(--background-color-secondary)"}})]})}function Uje(){const e=Te(),{t}=De(),n=le(T=>T.system.searchFolder),r=le(T=>T.system.foundModels),i=le(wK),o=le(T=>T.ui.shouldShowExistingModelsInSearch),a=le(T=>T.system.isProcessing),[s,l]=Ke.useState([]),[u,d]=Ke.useState("v1"),[h,m]=Ke.useState(""),y=()=>{e(jU(null)),e(NU(null)),l([])},b=T=>{e(EI(T.checkpointFolder))},w=()=>{l([]),r&&r.forEach(T=>{i.includes(T.location)||l(L=>[...L,T.name])})},E=()=>{l([])},_=()=>{const T=r==null?void 0:r.filter(O=>s.includes(O.name)),L={v1:"configs/stable-diffusion/v1-inference.yaml",v2_base:"configs/stable-diffusion/v2-inference-v.yaml",v2_768:"configs/stable-diffusion/v2-inference-v.yaml",inpainting:"configs/stable-diffusion/v1-inpainting-inference.yaml",custom:h};T==null||T.forEach(O=>{const D={name:O.name,description:"",config:L[u],weights:O.location,vae:"",width:512,height:512,default:!1,format:"ckpt"};e(v2(D))}),l([])},k=()=>{const T=[],L=[];return r&&r.forEach((O,D)=>{i.includes(O.location)?L.push(g.jsx(yj,{model:O,modelsToAdd:s,setModelsToAdd:l},D)):T.push(g.jsx(yj,{model:O,modelsToAdd:s,setModelsToAdd:l},D))}),g.jsxs(g.Fragment,{children:[T,o&&L]})};return g.jsxs(g.Fragment,{children:[n?g.jsxs(ke,{flexDirection:"column",padding:"1rem",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",rowGap:"0.5rem",position:"relative",children:[g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",backgroundColor:"var(--background-color-secondary)",padding:"0.2rem 1rem",width:"max-content",borderRadius:"0.2rem"},children:t("modelManager.checkpointFolder")}),g.jsx("p",{style:{fontWeight:"bold",fontSize:"0.8rem",maxWidth:"80%"},children:n}),g.jsx(Ye,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:g.jsx(f4,{}),position:"absolute",right:16,fontSize:18,disabled:a,onClick:()=>e(EI(n))}),g.jsx(Ye,{"aria-label":t("modelManager.clearCheckpointFolder"),icon:g.jsx(y2,{style:{transform:"rotate(45deg)"}}),position:"absolute",right:5,onClick:y})]}):g.jsx(E2,{initialValues:{checkpointFolder:""},onSubmit:T=>{b(T)},children:({handleSubmit:T})=>g.jsx("form",{onSubmit:T,children:g.jsxs(l2,{columnGap:"0.5rem",children:[g.jsx(sn,{isRequired:!0,width:"max-content",children:g.jsx(ur,{as:qn,id:"checkpointFolder",name:"checkpointFolder",type:"text",width:"lg",size:"md",label:t("modelManager.checkpointFolder")})}),g.jsx(Ye,{icon:g.jsx(r7e,{}),"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),type:"submit",disabled:a})]})})}),r&&g.jsxs(ke,{flexDirection:"column",rowGap:"1rem",children:[g.jsxs(ke,{justifyContent:"space-between",alignItems:"center",children:[g.jsxs("p",{children:[t("modelManager.modelsFound"),": ",r.length]}),g.jsxs("p",{children:[t("modelManager.selected"),": ",s.length]})]}),g.jsxs(ke,{columnGap:"0.5rem",justifyContent:"space-between",children:[g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(On,{isDisabled:s.length===r.length,onClick:w,children:t("modelManager.selectAll")}),g.jsx(On,{isDisabled:s.length===0,onClick:E,children:t("modelManager.deselectAll")}),g.jsx(Gn,{label:t("modelManager.showExisting"),isChecked:o,onChange:()=>e(F4e(!o))})]}),g.jsx(On,{isDisabled:s.length===0,onClick:_,backgroundColor:s.length>0?"var(--accent-color) !important":"",children:t("modelManager.addSelected")})]}),g.jsxs(ke,{gap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",flexDirection:"column",children:[g.jsxs(ke,{gap:4,children:[g.jsx(Dt,{fontWeight:"bold",color:"var(--text-color-secondary)",children:"Pick Model Type:"}),g.jsx(Oy,{value:u,onChange:T=>d(T),defaultValue:"v1",name:"model_type",children:g.jsxs(ke,{gap:4,children:[g.jsx(So,{value:"v1",children:t("modelManager.v1")}),g.jsx(So,{value:"v2_base",children:t("modelManager.v2_base")}),g.jsx(So,{value:"v2_768",children:t("modelManager.v2_768")}),g.jsx(So,{value:"inpainting",children:t("modelManager.inpainting")}),g.jsx(So,{value:"custom",children:t("modelManager.customConfig")})]})})]}),u==="custom"&&g.jsxs(ke,{flexDirection:"column",rowGap:2,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",color:"var(--text-color-secondary)",children:t("modelManager.pathToCustomConfig")}),g.jsx(qn,{value:h,onChange:T=>{T.target.value!==""&&m(T.target.value)},width:"42.5rem"})]})]}),g.jsxs(ke,{rowGap:"1rem",flexDirection:"column",maxHeight:"18rem",overflowY:"scroll",paddingRight:"1rem",paddingLeft:"0.2rem",borderRadius:"0.2rem",children:[r.length>0?s.length===0&&g.jsx(Dt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",margin:"0 0.5rem 0 1rem",textAlign:"center",backgroundColor:"var(--notice-color)",boxShadow:"0 0 200px 6px var(--notice-color)",marginTop:"1rem",width:"max-content",children:t("modelManager.selectAndAdd")}):g.jsx(Dt,{fontWeight:"bold",fontSize:14,padding:"0.5rem",borderRadius:"0.2rem",textAlign:"center",backgroundColor:"var(--status-bad-color)",children:t("modelManager.noModelsFound")}),k()]})]})]})}const bj=64,xj=2048;function Vje(){const e=Te(),{t}=De(),n=le(u=>u.system.isProcessing);function r(u){return/\s/.test(u)}function i(u){let d;return r(u)&&(d=t("modelManager.cannotUseSpaces")),d}const o={name:"",description:"",config:"configs/stable-diffusion/v1-inference.yaml",weights:"",vae:"",width:512,height:512,format:"ckpt",default:!1},a=u=>{e(v2(u)),e(Bh(null))},[s,l]=Ke.useState(!1);return g.jsxs(g.Fragment,{children:[g.jsx(Ye,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(UV,{})}),g.jsx(Uje,{}),g.jsx(Gn,{label:t("modelManager.addManually"),isChecked:s,onChange:()=>l(!s)}),s&&g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:u,errors:d,touched:h})=>g.jsx("form",{onSubmit:u,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Dt,{fontSize:20,fontWeight:"bold",alignSelf:"start",children:t("modelManager.manual")}),g.jsxs(sn,{isInvalid:!!d.name&&h.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl"}),d.name&&h.name?g.jsx(lr,{children:d.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.description&&h.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl"}),d.description&&h.description?g.jsx(lr,{children:d.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.config&&h.config,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.config")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"config",name:"config",type:"text",width:"2xl"}),d.config&&h.config?g.jsx(lr,{children:d.config}):g.jsx(sr,{margin:0,children:t("modelManager.configValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.weights&&h.weights,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"config",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"weights",name:"weights",type:"text",width:"2xl"}),d.weights&&h.weights?g.jsx(lr,{children:d.weights}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.vae&&h.vae,children:[g.jsx(Sn,{htmlFor:"vae",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae",name:"vae",type:"text",width:"2xl"}),d.vae&&h.vae?g.jsx(lr,{children:d.vae}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(l2,{width:"100%",children:[g.jsxs(sn,{isInvalid:!!d.width&&h.width,children:[g.jsx(Sn,{htmlFor:"width",fontSize:"sm",children:t("modelManager.width")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"width",name:"width",children:({field:m,form:y})=>g.jsx(lc,{id:"width",name:"width",min:bj,max:xj,step:64,width:"90%",value:y.values.width,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.width&&h.width?g.jsx(lr,{children:d.width}):g.jsx(sr,{margin:0,children:t("modelManager.widthValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!d.height&&h.height,children:[g.jsx(Sn,{htmlFor:"height",fontSize:"sm",children:t("modelManager.height")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{id:"height",name:"height",children:({field:m,form:y})=>g.jsx(lc,{id:"height",name:"height",min:bj,max:xj,width:"90%",step:64,value:y.values.height,onChange:b=>y.setFieldValue(m.name,Number(b))})}),d.height&&h.height?g.jsx(lr,{children:d.height}):g.jsx(sr,{margin:0,children:t("modelManager.heightValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})})]})}function Px({children:e}){return g.jsx(ke,{flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.5rem",rowGap:"1rem",width:"100%",children:e})}function Gje(){const e=Te(),{t}=De(),n=le(s=>s.system.isProcessing);function r(s){return/\s/.test(s)}function i(s){let l;return r(s)&&(l=t("modelManager.cannotUseSpaces")),l}const o={name:"",description:"",repo_id:"",path:"",format:"diffusers",default:!1,vae:{repo_id:"",path:""}},a=s=>{const l=s;s.path===""&&delete l.path,s.repo_id===""&&delete l.repo_id,s.vae.path===""&&delete l.vae.path,s.vae.repo_id===""&&delete l.vae.repo_id,e(v2(l)),e(Bh(null))};return g.jsxs(ke,{children:[g.jsx(Ye,{"aria-label":t("common.back"),tooltip:t("common.back"),onClick:()=>e(Bh(null)),width:"max-content",position:"absolute",zIndex:1,size:"sm",right:12,top:3,icon:g.jsx(UV,{})}),g.jsx(E2,{initialValues:o,onSubmit:a,children:({handleSubmit:s,errors:l,touched:u})=>{var d,h,m,y,b,w,E,_,k,T;return g.jsx("form",{onSubmit:s,children:g.jsxs(hn,{rowGap:"0.5rem",children:[g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.name&&u.name,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"name",fontSize:"sm",children:t("modelManager.name")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"name",name:"name",type:"text",validate:i,width:"2xl",isRequired:!0}),l.name&&u.name?g.jsx(lr,{children:l.name}):g.jsx(sr,{margin:0,children:t("modelManager.nameValidationMsg")})]})]})}),g.jsx(Px,{children:g.jsxs(sn,{isInvalid:!!l.description&&u.description,isRequired:!0,children:[g.jsx(Sn,{htmlFor:"description",fontSize:"sm",children:t("modelManager.description")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"description",name:"description",type:"text",width:"2xl",isRequired:!0}),l.description&&u.description?g.jsx(lr,{children:l.description}):g.jsx(sr,{margin:0,children:t("modelManager.descriptionValidationMsg")})]})]})}),g.jsxs(Px,{children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"sm",children:t("modelManager.formMessageDiffusersModelLocation")}),g.jsx(Dt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersModelLocationDesc")}),g.jsxs(sn,{isInvalid:!!l.path&&u.path,children:[g.jsx(Sn,{htmlFor:"path",fontSize:"sm",children:t("modelManager.modelLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"path",name:"path",type:"text",width:"2xl"}),l.path&&u.path?g.jsx(lr,{children:l.path}):g.jsx(sr,{margin:0,children:t("modelManager.modelLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!l.repo_id&&u.repo_id,children:[g.jsx(Sn,{htmlFor:"repo_id",fontSize:"sm",children:t("modelManager.repo_id")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"repo_id",name:"repo_id",type:"text",width:"2xl"}),l.repo_id&&u.repo_id?g.jsx(lr,{children:l.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.repoIDValidationMsg")})]})]})]}),g.jsxs(Px,{children:[g.jsx(Dt,{fontWeight:"bold",children:t("modelManager.formMessageDiffusersVAELocation")}),g.jsx(Dt,{fontSize:"sm",fontStyle:"italic",color:"var(--text-color-secondary)",children:t("modelManager.formMessageDiffusersVAELocationDesc")}),g.jsxs(sn,{isInvalid:!!((d=l.vae)!=null&&d.path)&&((h=u.vae)==null?void 0:h.path),children:[g.jsx(Sn,{htmlFor:"vae.path",fontSize:"sm",children:t("modelManager.vaeLocation")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.path",name:"vae.path",type:"text",width:"2xl"}),(m=l.vae)!=null&&m.path&&((y=u.vae)!=null&&y.path)?g.jsx(lr,{children:(b=l.vae)==null?void 0:b.path}):g.jsx(sr,{margin:0,children:t("modelManager.vaeLocationValidationMsg")})]})]}),g.jsxs(sn,{isInvalid:!!((w=l.vae)!=null&&w.repo_id)&&((E=u.vae)==null?void 0:E.repo_id),children:[g.jsx(Sn,{htmlFor:"vae.repo_id",fontSize:"sm",children:t("modelManager.vaeRepoID")}),g.jsxs(hn,{alignItems:"start",children:[g.jsx(ur,{as:qn,id:"vae.repo_id",name:"vae.repo_id",type:"text",width:"2xl"}),(_=l.vae)!=null&&_.repo_id&&((k=u.vae)!=null&&k.repo_id)?g.jsx(lr,{children:(T=l.vae)==null?void 0:T.repo_id}):g.jsx(sr,{margin:0,children:t("modelManager.vaeRepoIDValidationMsg")})]})]})]}),g.jsx(On,{type:"submit",className:"modal-close-btn",isLoading:n,children:t("modelManager.addModel")})]})})}})]})}function Sj({text:e,onClick:t}){return g.jsx(ke,{position:"relative",width:"50%",height:"200px",backgroundColor:"var(--background-color)",borderRadius:"0.5rem",justifyContent:"center",alignItems:"center",_hover:{cursor:"pointer",backgroundColor:"var(--accent-color)"},onClick:t,children:g.jsx(Dt,{fontWeight:"bold",children:e})})}function qje(){const{isOpen:e,onOpen:t,onClose:n}=Kd(),r=le(s=>s.ui.addNewModelUIOption),i=Te(),{t:o}=De(),a=()=>{n(),i(Bh(null))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{"aria-label":o("modelManager.addNewModel"),tooltip:o("modelManager.addNewModel"),onClick:t,className:"modal-close-btn",size:"sm",children:g.jsxs(ke,{columnGap:"0.5rem",alignItems:"center",children:[g.jsx(y2,{}),o("modelManager.addNew")]})}),g.jsxs(Yd,{isOpen:e,onClose:a,size:"3xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal add-model-modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.addNewModel")}),g.jsx(m0,{marginTop:"0.3rem"}),g.jsxs(Zm,{className:"add-model-modal-body",children:[r==null&&g.jsxs(ke,{columnGap:"1rem",children:[g.jsx(Sj,{text:o("modelManager.addCheckpointModel"),onClick:()=>i(Bh("ckpt"))}),g.jsx(Sj,{text:o("modelManager.addDiffuserModel"),onClick:()=>i(Bh("diffusers"))})]}),r=="ckpt"&&g.jsx(Vje,{}),r=="diffusers"&&g.jsx(Gje,{})]})]})]})]})}function Tx(e){const{isProcessing:t,isConnected:n}=le(y=>y.system),r=le(y=>y.system.openModel),{t:i}=De(),o=Te(),{name:a,status:s,description:l}=e,u=()=>{o($V(a))},d=()=>{o(UR(a))},h=()=>{o(h_e(a)),o(UR(null))},m=()=>{switch(s){case"active":return"var(--status-good-color)";case"cached":return"var(--status-working-color)";case"not loaded":return"var(--text-color-secondary)"}};return g.jsxs(ke,{alignItems:"center",padding:"0.5rem 0.5rem",borderRadius:"0.2rem",backgroundColor:a===r?"var(--accent-color)":"",_hover:{backgroundColor:a===r?"var(--accent-color)":"var(--background-color)"},children:[g.jsx(ao,{onClick:d,cursor:"pointer",children:g.jsx(si,{label:l,hasArrow:!0,placement:"bottom",children:g.jsx(Dt,{fontWeight:"bold",children:a})})}),g.jsx(rH,{onClick:d,cursor:"pointer"}),g.jsxs(ke,{gap:2,alignItems:"center",children:[g.jsx(Dt,{color:m(),children:s}),g.jsx(ss,{size:"sm",onClick:u,isDisabled:s==="active"||t||!n,className:"modal-close-btn",children:i("modelManager.load")}),g.jsx(Ye,{icon:g.jsx(Wke,{}),size:"sm",onClick:d,"aria-label":"Modify Config",isDisabled:s==="active"||t||!n,className:" modal-close-btn"}),g.jsx(C4,{title:i("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:i("modelManager.delete"),triggerComponent:g.jsx(Ye,{icon:g.jsx(Uke,{}),size:"sm","aria-label":i("modelManager.deleteConfig"),isDisabled:s==="active"||t||!n,className:" modal-close-btn",style:{backgroundColor:"var(--btn-delete-image)"}}),children:g.jsxs(ke,{rowGap:"1rem",flexDirection:"column",children:[g.jsx("p",{style:{fontWeight:"bold"},children:i("modelManager.deleteMsg1")}),g.jsx("p",{style:{color:"var(--text-color-secondary"},children:i("modelManager.deleteMsg2")})]})})]})]})}function Kje(){const e=Te(),{isOpen:t,onOpen:n,onClose:r}=Kd(),i=le(X_e),{t:o}=De(),[a,s]=S.useState(Object.keys(i)[0]),[l,u]=S.useState(Object.keys(i)[1]),[d,h]=S.useState("none"),[m,y]=S.useState(""),[b,w]=S.useState(.5),[E,_]=S.useState("weighted_sum"),[k,T]=S.useState("root"),[L,O]=S.useState(""),[D,I]=S.useState(!1),N=Object.keys(i).filter(z=>{if(z!==l&&z!==d)return z}),W=Object.keys(i).filter(z=>{if(z!==a&&z!==d)return z}),B=["none",...Object.keys(i).filter(z=>{if(z!==a&&z!==l)return z})],K=le(z=>z.system.isProcessing),ne=()=>{let z=[a,l,d];z=z.filter(V=>V!=="none");const $={models_to_merge:z,merged_model_name:m!==""?m:z.join("-"),alpha:b,interp:E,model_merge_save_path:k==="root"?null:L,force:D};e(g_e($))};return g.jsxs(g.Fragment,{children:[g.jsx(On,{onClick:n,className:"modal-close-btn",size:"sm",children:g.jsx(ke,{columnGap:"0.5rem",alignItems:"center",children:o("modelManager.mergeModels")})}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"4xl",closeOnOverlayClick:!1,children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",margin:"auto",children:[g.jsx(op,{children:o("modelManager.mergeModels")}),g.jsx(m0,{}),g.jsxs(ke,{flexDirection:"column",padding:"1rem",rowGap:4,children:[g.jsxs(ke,{flexDirection:"column",marginBottom:"1rem",padding:"1rem",borderRadius:"0.3rem",backgroundColor:"var(--background-color)",rowGap:1,children:[g.jsx(Dt,{children:o("modelManager.modelMergeHeaderHelp1")}),g.jsx(Dt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeHeaderHelp2")})]}),g.jsxs(ke,{columnGap:4,children:[g.jsx(Jo,{label:o("modelManager.modelOne"),validValues:N,onChange:z=>s(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelTwo"),validValues:W,onChange:z=>u(z.target.value)}),g.jsx(Jo,{label:o("modelManager.modelThree"),validValues:B,onChange:z=>{z.target.value!=="none"?(h(z.target.value),_("add_difference")):(h("none"),_("weighted_sum"))}})]}),g.jsx(qn,{label:o("modelManager.mergedModelName"),value:m,onChange:z=>y(z.target.value)}),g.jsxs(ke,{flexDir:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",rowGap:2,children:[g.jsx(Dn,{label:o("modelManager.alpha"),min:.01,max:.99,step:.01,value:b,onChange:z=>w(z),withInput:!0,withReset:!0,handleReset:()=>w(.5),withSliderMarks:!0,sliderMarkRightOffset:-7}),g.jsx(Dt,{fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.modelMergeAlphaHelp")})]}),g.jsxs(ke,{columnGap:4,backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.interpolationType")}),g.jsx(Oy,{value:E,onChange:z=>_(z),children:g.jsx(ke,{columnGap:4,children:d==="none"?g.jsxs(g.Fragment,{children:[g.jsx(So,{value:"weighted_sum",children:"weighted_sum"}),g.jsx(So,{value:"sigmoid",children:"sigmoid"}),g.jsx(So,{value:"inv_sigmoid",children:"inv_sigmoid"})]}):g.jsx(So,{value:"add_difference",children:g.jsx(si,{label:o("modelmanager:modelMergeInterpAddDifferenceHelp"),children:"add_difference"})})})})]}),g.jsxs(ke,{gap:4,flexDirection:"column",backgroundColor:"var(--background-color)",padding:"1rem 1rem",borderRadius:"0.2rem",children:[g.jsxs(ke,{columnGap:4,children:[g.jsx(Dt,{fontWeight:"bold",fontSize:"0.9rem",color:"var(--text-color-secondary)",children:o("modelManager.mergedModelSaveLocation")}),g.jsx(Oy,{value:k,onChange:z=>T(z),children:g.jsxs(ke,{columnGap:4,children:[g.jsx(So,{value:"root",children:o("modelManager.invokeAIFolder")}),g.jsx(So,{value:"custom",children:o("modelManager.custom")})]})})]}),k==="custom"&&g.jsx(qn,{label:o("modelManager.mergedModelCustomSaveLocation"),value:L,onChange:z=>O(z.target.value)})]}),g.jsx(Gn,{label:o("modelManager.ignoreMismatch"),isChecked:D,onChange:z=>I(z.target.checked),fontWeight:"bold"}),g.jsx(On,{onClick:ne,isLoading:K,isDisabled:k==="custom"&&L==="",className:"modal modal-close-btn",children:o("modelManager.merge")})]})]})]})]})}const Yje=lt(hr,e=>Pe.map(e.model_list,(n,r)=>({name:r,...n})),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}});function h6({label:e,isActive:t,onClick:n}){return g.jsx(On,{onClick:n,isActive:t,_active:{backgroundColor:"var(--accent-color)",_hover:{backgroundColor:"var(--accent-color)"}},size:"sm",children:e})}const Xje=()=>{const e=le(Yje),[t,n]=Ke.useState(!1);Ke.useEffect(()=>{const m=setTimeout(()=>{n(!0)},200);return()=>clearTimeout(m)},[]);const[r,i]=S.useState(""),[o,a]=S.useState("all"),[s,l]=S.useTransition(),{t:u}=De(),d=m=>{l(()=>{i(m.target.value)})},h=S.useMemo(()=>{const m=[],y=[],b=[],w=[];return e.forEach((E,_)=>{E.name.toLowerCase().includes(r.toLowerCase())&&(b.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)),E.format===o&&w.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))),E.format!=="diffusers"?m.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_)):y.push(g.jsx(Tx,{name:E.name,status:E.status,description:E.description},_))}),r!==""?o==="all"?g.jsx(ao,{marginTop:"1rem",children:b}):g.jsx(ao,{marginTop:"1rem",children:w}):g.jsxs(ke,{flexDirection:"column",rowGap:"1.5rem",children:[o==="all"&&g.jsxs(g.Fragment,{children:[g.jsxs(ao,{children:[g.jsx(Dt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",margin:"1rem 0",width:"max-content",fontSize:"14",children:u("modelManager.checkpointModels")}),m]}),g.jsxs(ao,{children:[g.jsx(Dt,{fontWeight:"bold",backgroundColor:"var(--background-color)",padding:"0.5rem 1rem",borderRadius:"0.5rem",marginBottom:"0.5rem",width:"max-content",fontSize:"14",children:u("modelManager.diffusersModels")}),y]})]}),o==="ckpt"&&g.jsx(ke,{flexDirection:"column",marginTop:"1rem",children:m}),o==="diffusers"&&g.jsx(ke,{flexDirection:"column",marginTop:"1rem",children:y})]})},[e,r,u,o]);return g.jsxs(ke,{flexDirection:"column",rowGap:"2rem",width:"50%",minWidth:"50%",children:[g.jsxs(ke,{justifyContent:"space-between",children:[g.jsx(Dt,{fontSize:"1.4rem",fontWeight:"bold",children:u("modelManager.availableModels")}),g.jsxs(ke,{gap:2,children:[g.jsx(qje,{}),g.jsx(Kje,{})]})]}),g.jsx(qn,{onChange:d,label:u("modelManager.search")}),g.jsxs(ke,{flexDirection:"column",gap:1,maxHeight:window.innerHeight-360,overflow:"scroll",paddingRight:"1rem",children:[g.jsxs(ke,{columnGap:"0.5rem",children:[g.jsx(h6,{label:u("modelManager.allModels"),onClick:()=>a("all"),isActive:o==="all"}),g.jsx(h6,{label:u("modelManager.checkpointModels"),onClick:()=>a("ckpt"),isActive:o==="ckpt"}),g.jsx(h6,{label:u("modelManager.diffusersModels"),onClick:()=>a("diffusers"),isActive:o==="diffusers"})]}),t?h:g.jsx(ke,{width:"100%",minHeight:"30rem",justifyContent:"center",alignItems:"center",children:g.jsx(p0,{})})]})]})};function Zje({children:e}){const{isOpen:t,onOpen:n,onClose:r}=Kd(),i=le(s=>s.system.model_list),o=le(s=>s.system.openModel),{t:a}=De();return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:n}),g.jsxs(Yd,{isOpen:t,onClose:r,size:"6xl",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal",fontFamily:"Inter",children:[g.jsx(m0,{className:"modal-close-btn"}),g.jsx(op,{fontWeight:"bold",children:a("modelManager.modelManager")}),g.jsxs(ke,{padding:"0 1.5rem 1.5rem 1.5rem",width:"100%",columnGap:"2rem",children:[g.jsx(Xje,{}),o&&i[o].format==="diffusers"?g.jsx(Hje,{}):g.jsx(Bje,{})]})]})]})]})}const Qje=lt([hr],e=>{const{isProcessing:t,model_list:n}=e;return{models:Pe.map(n,(i,o)=>o),isProcessing:t}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),Jje=()=>{const e=Te(),{models:t,isProcessing:n}=le(Qje),r=le(VV),i=o=>{e($V(o.target.value))};return g.jsx(ke,{style:{paddingLeft:"0.3rem"},children:g.jsx(Jo,{style:{fontSize:"0.8rem"},tooltip:r.description,isDisabled:n,value:r.name,validValues:t,onChange:i})})},eNe=lt([hr,fp],(e,t)=>{const{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,model_list:o,saveIntermediatesInterval:a,enableImageDebugging:s}=e,{shouldUseCanvasBetaLayout:l,shouldUseSliders:u}=t;return{shouldDisplayInProgressType:n,shouldConfirmOnDelete:r,shouldDisplayGuides:i,models:Pe.map(o,(d,h)=>h),saveIntermediatesInterval:a,enableImageDebugging:s,shouldUseCanvasBetaLayout:l,shouldUseSliders:u}},{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),tNe=({children:e})=>{const t=Te(),{t:n}=De(),r=le(T=>T.generation.steps),{isOpen:i,onOpen:o,onClose:a}=Kd(),{isOpen:s,onOpen:l,onClose:u}=Kd(),{shouldDisplayInProgressType:d,shouldConfirmOnDelete:h,shouldDisplayGuides:m,saveIntermediatesInterval:y,enableImageDebugging:b,shouldUseCanvasBetaLayout:w,shouldUseSliders:E}=le(eNe),_=()=>{zV.purge().then(()=>{a(),l()})},k=T=>{T>r&&(T=r),T<1&&(T=1),t(k4e(T))};return g.jsxs(g.Fragment,{children:[S.cloneElement(e,{onClick:o}),g.jsxs(Yd,{isOpen:i,onClose:a,size:"lg",children:[g.jsx(oc,{}),g.jsxs(Xd,{className:"modal settings-modal",children:[g.jsx(op,{className:"settings-modal-header",children:n("common.settingsLabel")}),g.jsx(m0,{className:"modal-close-btn"}),g.jsxs(Zm,{className:"settings-modal-content",children:[g.jsxs("div",{className:"settings-modal-items",children:[g.jsxs("div",{className:"settings-modal-item",style:{gridAutoFlow:"row",rowGap:"0.5rem"},children:[g.jsx(Jo,{label:n("settings.displayInProgress"),validValues:D5e,value:d,onChange:T=>t(m4e(T.target.value))}),d==="full-res"&&g.jsx(lc,{label:n("settings.saveSteps"),min:1,max:r,step:1,onChange:k,value:y,width:"auto",textAlign:"center"})]}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.confirmOnDelete"),isChecked:h,onChange:T=>t(IU(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.displayHelpIcons"),isChecked:m,onChange:T=>t(x4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useCanvasBeta"),isChecked:w,onChange:T=>t($4e(T.target.checked))}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.useSlidersForAll"),isChecked:E,onChange:T=>t(B4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-items",children:[g.jsx("h2",{style:{fontWeight:"bold"},children:"Developer"}),g.jsx(_a,{styleClass:"settings-modal-item",label:n("settings.enableImageDebugging"),isChecked:b,onChange:T=>t(E4e(T.target.checked))})]}),g.jsxs("div",{className:"settings-modal-reset",children:[g.jsx(jh,{size:"md",children:n("settings.resetWebUI")}),g.jsx(ss,{colorScheme:"red",onClick:_,children:n("settings.resetWebUI")}),g.jsx(Dt,{children:n("settings.resetWebUIDesc1")}),g.jsx(Dt,{children:n("settings.resetWebUIDesc2")})]})]}),g.jsx(zw,{children:g.jsx(ss,{onClick:a,className:"modal-close-btn",children:n("common.close")})})]})]}),g.jsxs(Yd,{closeOnOverlayClick:!1,isOpen:s,onClose:u,isCentered:!0,children:[g.jsx(oc,{bg:"blackAlpha.300",backdropFilter:"blur(40px)"}),g.jsx(Xd,{children:g.jsx(Zm,{pb:6,pt:6,children:g.jsx(ke,{justifyContent:"center",children:g.jsx(Dt,{fontSize:"lg",children:g.jsx(Dt,{children:n("settings.resetComplete")})})})})})]})]})},nNe=lt(hr,e=>({isConnected:e.isConnected,isProcessing:e.isProcessing,currentIteration:e.currentIteration,totalIterations:e.totalIterations,currentStatus:e.currentStatus,hasError:e.hasError,wasErrorSeen:e.wasErrorSeen}),{memoizeOptions:{resultEqualityCheck:Pe.isEqual}}),rNe=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,currentStatus:i,hasError:o,wasErrorSeen:a}=le(nNe),s=Te(),{t:l}=De();let u;e&&!o?u="status-good":u="status-bad";let d=i;[l("common.statusGenerating"),l("common.statusPreparing"),l("common.statusSavingImage"),l("common.statusRestoringFaces"),l("common.statusUpscaling")].includes(d)&&(u="status-working"),d&&t&&r>1&&(d=`${l(d)} (${n}/${r})`);const m=o&&!a?"Click to clear, check logs for details":void 0,y=o&&!a?"pointer":"initial",b=()=>{(o||!a)&&s(DU())};return g.jsx(si,{label:m,children:g.jsx(Dt,{cursor:y,onClick:b,className:`status ${u}`,children:l(d)})})};function iNe(){const{t:e}=De(),{setColorMode:t,colorMode:n}=Qy(),r=Te(),i=le(l=>l.ui.currentTheme),o={dark:e("common.darkTheme"),light:e("common.lightTheme"),green:e("common.greenTheme")};S.useEffect(()=>{n!==i&&t(i)},[t,n,i]);const a=l=>{r(R4e(l))},s=()=>{const l=[];return Object.keys(o).forEach(u=>{l.push(g.jsx(On,{style:{width:"6rem"},leftIcon:i===u?g.jsx(jE,{}):void 0,size:"sm",onClick:()=>a(u),children:o[u]},u))}),l};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":e("common.themeLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(Mke,{})}),children:g.jsx(hn,{align:"stretch",children:s()})})}function oNe(){const{t:e,i18n:t}=De(),n={ar:e("common.langArabic",{lng:"ar"}),nl:e("common.langDutch",{lng:"nl"}),en:e("common.langEnglish",{lng:"en"}),fr:e("common.langFrench",{lng:"fr"}),de:e("common.langGerman",{lng:"de"}),it:e("common.langItalian",{lng:"it"}),ja:e("common.langJapanese",{lng:"ja"}),pl:e("common.langPolish",{lng:"pl"}),pt_Br:e("common.langBrPortuguese",{lng:"pt_Br"}),ru:e("common.langRussian",{lng:"ru"}),zh_Cn:e("common.langSimplifiedChinese",{lng:"zh_Cn"}),es:e("common.langSpanish",{lng:"es"}),uk:e("common.langUkranian",{lng:"ua"})},r=()=>{const i=[];return Object.keys(n).forEach(o=>{i.push(g.jsx(On,{"data-selected":localStorage.getItem("i18nextLng")===o,onClick:()=>t.changeLanguage(o),className:"modal-close-btn lang-select-btn","aria-label":n[o],size:"sm",minWidth:"200px",children:n[o]},o))}),i};return g.jsx(Ys,{trigger:"hover",triggerComponent:g.jsx(Ye,{"aria-label":e("common.languagePickerLabel"),tooltip:e("common.languagePickerLabel"),icon:g.jsx(Eke,{}),size:"sm",variant:"link","data-variant":"link",fontSize:26}),children:g.jsx(hn,{children:r()})})}const aNe=()=>{const{t:e}=De(),t=le(n=>n.system.app_version);return g.jsxs("div",{className:"site-header",children:[g.jsxs("div",{className:"site-header-left-side",children:[g.jsx("img",{src:pq,alt:"invoke-ai-logo"}),g.jsxs(ke,{alignItems:"center",columnGap:"0.6rem",children:[g.jsxs(Dt,{fontSize:"1.4rem",children:["invoke ",g.jsx("strong",{children:"ai"})]}),g.jsx(Dt,{fontWeight:"bold",color:"var(--text-color-secondary)",marginTop:"0.2rem",children:t})]})]}),g.jsxs("div",{className:"site-header-right-side",children:[g.jsx(rNe,{}),g.jsx(Jje,{}),g.jsx(Zje,{children:g.jsx(Ye,{"aria-label":e("modelManager.modelManager"),tooltip:e("modelManager.modelManager"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(yke,{})})}),g.jsx(VAe,{children:g.jsx(Ye,{"aria-label":e("common.hotkeysLabel"),tooltip:e("common.hotkeysLabel"),size:"sm",variant:"link","data-variant":"link",fontSize:20,icon:g.jsx(kke,{})})}),g.jsx(iNe,{}),g.jsx(oNe,{}),g.jsx(Ye,{"aria-label":e("common.reportBugLabel"),tooltip:e("common.reportBugLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI/issues",children:g.jsx(vke,{})})}),g.jsx(Ye,{"aria-label":e("common.githubLabel"),tooltip:e("common.githubLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"http://github.com/invoke-ai/InvokeAI",children:g.jsx(fke,{})})}),g.jsx(Ye,{"aria-label":e("common.discordLabel"),tooltip:e("common.discordLabel"),variant:"link","data-variant":"link",fontSize:20,size:"sm",icon:g.jsx(Nh,{isExternal:!0,href:"https://discord.gg/ZmtBAhwWhy",children:g.jsx(dke,{})})}),g.jsx(tNe,{children:g.jsx(Ye,{"aria-label":e("common.settingsLabel"),tooltip:e("common.settingsLabel"),variant:"link","data-variant":"link",fontSize:22,size:"sm",icon:g.jsx(o7e,{})})})]})]})};function sNe(){async function e(n=""){return await fetch(n,{method:"GET",cache:"no-cache"})}const t=()=>{const n=document.location;e(n+"/flaskwebgui-keep-server-alive").then(i=>i)};(!{}.NODE_ENV||{}.NODE_ENV==="production")&&document.addEventListener("DOMContentLoaded",()=>{t(),setInterval(t,3e3)})}const lNe=()=>{const e=Te(),t=le(Y_e),n=a2();S.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(T4e())},[e,n,t])},uNe=()=>{const e=Te(),{shouldShowGalleryButton:t,shouldPinGallery:n}=le(nP),r=()=>{e(Am(!0)),n&&e(Li(!0))};return t?g.jsx(Ye,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":"Show Gallery",styleClass:"floating-show-hide-button right show-hide-button-gallery",onClick:r,children:g.jsx(pG,{})}):null};sNe();const cNe=()=>(lNe(),g.jsxs("div",{className:"App",children:[g.jsxs($Ae,{children:[g.jsx(WAe,{}),g.jsxs("div",{className:"app-content",children:[g.jsx(aNe,{}),g.jsx(WLe,{})]}),g.jsx("div",{className:"app-console",children:g.jsx(zAe,{})})]}),g.jsx(qEe,{}),g.jsx(uNe,{})]})),wj=()=>g.jsx(ke,{width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",children:g.jsx(p0,{thickness:"2px",speed:"1s",emptyColor:"gray.200",color:"gray.400",size:"xl"})});const dNe=Bj({key:"invokeai-style-cache",prepend:!0});rk.createRoot(document.getElementById("root")).render(g.jsx(Ke.StrictMode,{children:g.jsx(pxe,{store:BV,children:g.jsx(gW,{loading:g.jsx(wj,{}),persistor:zV,children:g.jsx(uee,{value:dNe,children:g.jsx(Rge,{children:g.jsx(Ke.Suspense,{fallback:g.jsx(wj,{}),children:g.jsx(cNe,{})})})})})})})); diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index d37f30450b..9b597aa8c8 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -5,7 +5,7 @@ InvokeAI - A Stable Diffusion Toolkit - + diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index c9a3f48c47..e85c425038 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -364,7 +364,8 @@ "convertToDiffusersHelpText6": "Do you wish to convert this model?", "convertToDiffusersSaveLocation": "Save Location", "v1": "v1", - "v2": "v2", + "v2_base": "v2 (512px)", + "v2_768": "v2 (768px)", "inpainting": "v1 Inpainting", "customConfig": "Custom Config", "pathToCustomConfig": "Path To Custom Config", diff --git a/invokeai/frontend/web/dist/locales/es.json b/invokeai/frontend/web/dist/locales/es.json index 2eff2e1e01..5081ab0799 100644 --- a/invokeai/frontend/web/dist/locales/es.json +++ b/invokeai/frontend/web/dist/locales/es.json @@ -15,7 +15,7 @@ "langSpanish": "Español", "nodesDesc": "Un sistema de generación de imágenes basado en nodos, actualmente se encuentra en desarrollo. Mantente pendiente a nuestras actualizaciones acerca de esta fabulosa funcionalidad.", "postProcessing": "Post-procesamiento", - "postProcessDesc1": "Invoke AI ofrece una gran variedad de funciones de post-procesamiento, El aumento de tamaño y Restauración de Rostros ya se encuentran disponibles en la interfaz web, puedes acceder desde el menú de Opciones Avanzadas en las pestañas de Texto a Imagen y de Imagen a Imagen. También puedes acceder a estas funciones directamente mediante el botón de acciones en el menú superior de la imagen actual o en el visualizador", + "postProcessDesc1": "Invoke AI ofrece una gran variedad de funciones de post-procesamiento, El aumento de tamaño y Restauración de Rostros ya se encuentran disponibles en la interfaz web, puedes acceder desde el menú de Opciones Avanzadas en las pestañas de Texto a Imagen y de Imagen a Imagen. También puedes acceder a estas funciones directamente mediante el botón de acciones en el menú superior de la imagen actual o en el visualizador.", "postProcessDesc2": "Una interfaz de usuario dedicada se lanzará pronto para facilitar flujos de trabajo de postprocesamiento más avanzado.", "postProcessDesc3": "La Interfaz de Línea de Comandos de Invoke AI ofrece muchas otras características, incluyendo -Embiggen-.", "training": "Entrenamiento", @@ -44,7 +44,26 @@ "statusUpscaling": "Aumentando Tamaño", "statusUpscalingESRGAN": "Restaurando Rostros(ESRGAN)", "statusLoadingModel": "Cargando Modelo", - "statusModelChanged": "Modelo cambiado" + "statusModelChanged": "Modelo cambiado", + "statusMergedModels": "Modelos combinados", + "githubLabel": "Github", + "discordLabel": "Discord", + "langEnglish": "Inglés", + "langDutch": "Holandés", + "langFrench": "Francés", + "langGerman": "Alemán", + "langItalian": "Italiano", + "langArabic": "Árabe", + "langJapanese": "Japones", + "langPolish": "Polaco", + "langBrPortuguese": "Portugués brasileño", + "langRussian": "Ruso", + "langSimplifiedChinese": "Chino simplificado", + "langUkranian": "Ucraniano", + "back": "Atrás", + "statusConvertingModel": "Convertir el modelo", + "statusModelConverted": "Modelo adaptado", + "statusMergingModels": "Fusionar modelos" }, "gallery": { "generations": "Generaciones", @@ -284,16 +303,16 @@ "nameValidationMsg": "Introduce un nombre para tu modelo", "description": "Descripción", "descriptionValidationMsg": "Introduce una descripción para tu modelo", - "config": "Config", - "configValidationMsg": "Ruta del archivo de configuración del modelo", + "config": "Configurar", + "configValidationMsg": "Ruta del archivo de configuración del modelo.", "modelLocation": "Ubicación del Modelo", - "modelLocationValidationMsg": "Ruta del archivo de modelo", + "modelLocationValidationMsg": "Ruta del archivo de modelo.", "vaeLocation": "Ubicación VAE", - "vaeLocationValidationMsg": "Ruta del archivo VAE", + "vaeLocationValidationMsg": "Ruta del archivo VAE.", "width": "Ancho", - "widthValidationMsg": "Ancho predeterminado de tu modelo", + "widthValidationMsg": "Ancho predeterminado de tu modelo.", "height": "Alto", - "heightValidationMsg": "Alto predeterminado de tu modelo", + "heightValidationMsg": "Alto predeterminado de tu modelo.", "addModel": "Añadir Modelo", "updateModel": "Actualizar Modelo", "availableModels": "Modelos disponibles", @@ -320,7 +339,61 @@ "deleteModel": "Eliminar Modelo", "deleteConfig": "Eliminar Configuración", "deleteMsg1": "¿Estás seguro de querer eliminar esta entrada de modelo de InvokeAI?", - "deleteMsg2": "El checkpoint del modelo no se eliminará de tu disco. Puedes volver a añadirlo si lo deseas." + "deleteMsg2": "El checkpoint del modelo no se eliminará de tu disco. Puedes volver a añadirlo si lo deseas.", + "safetensorModels": "SafeTensors", + "addDiffuserModel": "Añadir difusores", + "inpainting": "v1 Repintado", + "repoIDValidationMsg": "Repositorio en línea de tu modelo", + "checkpointModels": "Puntos de control", + "convertToDiffusersHelpText4": "Este proceso se realiza una sola vez. Puede tardar entre 30 y 60 segundos dependiendo de las especificaciones de tu ordenador.", + "diffusersModels": "Difusores", + "addCheckpointModel": "Agregar modelo de punto de control/Modelo Safetensor", + "vaeRepoID": "Identificador del repositorio de VAE", + "vaeRepoIDValidationMsg": "Repositorio en línea de tú VAE", + "formMessageDiffusersModelLocation": "Difusores Modelo Ubicación", + "formMessageDiffusersModelLocationDesc": "Por favor, introduzca al menos uno.", + "formMessageDiffusersVAELocation": "Ubicación VAE", + "formMessageDiffusersVAELocationDesc": "Si no se proporciona, InvokeAI buscará el archivo VAE dentro de la ubicación del modelo indicada anteriormente.", + "convert": "Convertir", + "convertToDiffusers": "Convertir en difusores", + "convertToDiffusersHelpText1": "Este modelo se convertirá al formato 🧨 Difusores.", + "convertToDiffusersHelpText2": "Este proceso sustituirá su entrada del Gestor de Modelos por la versión de Difusores del mismo modelo.", + "convertToDiffusersHelpText3": "Su archivo de puntos de control en el disco NO será borrado ni modificado de ninguna manera. Puede volver a añadir su punto de control al Gestor de Modelos si lo desea.", + "convertToDiffusersHelpText5": "Asegúrese de que dispone de suficiente espacio en disco. Los modelos suelen variar entre 4 GB y 7 GB de tamaño.", + "convertToDiffusersHelpText6": "¿Desea transformar este modelo?", + "convertToDiffusersSaveLocation": "Guardar ubicación", + "v1": "v1", + "v2": "v2", + "statusConverting": "Adaptar", + "modelConverted": "Modelo adaptado", + "sameFolder": "La misma carpeta", + "invokeRoot": "Carpeta InvokeAI", + "custom": "Personalizado", + "customSaveLocation": "Ubicación personalizada para guardar", + "merge": "Fusión", + "modelsMerged": "Modelos fusionados", + "mergeModels": "Combinar modelos", + "modelOne": "Modelo 1", + "modelTwo": "Modelo 2", + "modelThree": "Modelo 3", + "mergedModelName": "Nombre del modelo combinado", + "alpha": "Alfa", + "interpolationType": "Tipo de interpolación", + "mergedModelSaveLocation": "Guardar ubicación", + "mergedModelCustomSaveLocation": "Ruta personalizada", + "invokeAIFolder": "Invocar carpeta de la inteligencia artificial", + "modelMergeHeaderHelp2": "Sólo se pueden fusionar difusores. Si desea fusionar un modelo de punto de control, conviértalo primero en difusores.", + "modelMergeAlphaHelp": "Alfa controla la fuerza de mezcla de los modelos. Los valores alfa más bajos reducen la influencia del segundo modelo.", + "modelMergeInterpAddDifferenceHelp": "En este modo, el Modelo 3 se sustrae primero del Modelo 2. La versión resultante se mezcla con el Modelo 1 con la tasa alfa establecida anteriormente. La versión resultante se mezcla con el Modelo 1 con la tasa alfa establecida anteriormente.", + "ignoreMismatch": "Ignorar discrepancias entre modelos seleccionados", + "modelMergeHeaderHelp1": "Puede combinar hasta tres modelos diferentes para crear una mezcla que se adapte a sus necesidades.", + "inverseSigmoid": "Sigmoideo inverso", + "weightedSum": "Modelo de suma ponderada", + "sigmoid": "Función sigmoide", + "allModels": "Todos los modelos", + "repo_id": "Identificador del repositorio", + "pathToCustomConfig": "Ruta a la configuración personalizada", + "customConfig": "Configuración personalizada" }, "parameters": { "images": "Imágenes", @@ -380,7 +453,22 @@ "info": "Información", "deleteImage": "Eliminar Imagen", "initialImage": "Imagen Inicial", - "showOptionsPanel": "Mostrar panel de opciones" + "showOptionsPanel": "Mostrar panel de opciones", + "symmetry": "Simetría", + "vSymmetryStep": "Paso de simetría V", + "hSymmetryStep": "Paso de simetría H", + "cancel": { + "immediate": "Cancelar inmediatamente", + "schedule": "Cancelar tras la iteración actual", + "isScheduled": "Cancelando", + "setType": "Tipo de cancelación" + }, + "copyImage": "Copiar la imagen", + "general": "General", + "negativePrompts": "Preguntas negativas", + "imageToImage": "Imagen a imagen", + "denoisingStrength": "Intensidad de la eliminación del ruido", + "hiresStrength": "Alta resistencia" }, "settings": { "models": "Modelos", @@ -393,7 +481,8 @@ "resetWebUI": "Restablecer interfaz web", "resetWebUIDesc1": "Al restablecer la interfaz web, solo se restablece la caché local del navegador de sus imágenes y la configuración guardada. No se elimina ninguna imagen de su disco duro.", "resetWebUIDesc2": "Si las imágenes no se muestran en la galería o algo más no funciona, intente restablecer antes de reportar un incidente en GitHub.", - "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla." + "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla.", + "useSlidersForAll": "Utilice controles deslizantes para todas las opciones" }, "toast": { "tempFoldersEmptied": "Directorio temporal vaciado", @@ -431,12 +520,12 @@ "feature": { "prompt": "Este campo tomará todo el texto de entrada, incluidos tanto los términos de contenido como los estilísticos. Si bien se pueden incluir pesos en la solicitud, los comandos/parámetros estándar de línea de comandos no funcionarán.", "gallery": "Conforme se generan nuevas invocaciones, los archivos del directorio de salida se mostrarán aquí. Las generaciones tienen opciones adicionales para configurar nuevas generaciones.", - "other": "Estas opciones habilitarán modos de procesamiento alternativos para Invoke. El modo sin costuras funciona para generar patrones repetitivos en la salida. La optimización de alta resolución realiza un ciclo de generación de dos pasos y debe usarse en resoluciones más altas cuando desee una imagen/composición más coherente.", + "other": "Estas opciones habilitarán modos de procesamiento alternativos para Invoke. 'Seamless mosaico' creará patrones repetitivos en la salida. 'Alta resolución' es la generación en dos pasos con img2img: use esta configuración cuando desee una imagen más grande y más coherente sin artefactos. tomar más tiempo de lo habitual txt2img.", "seed": "Los valores de semilla proporcionan un conjunto inicial de ruido que guían el proceso de eliminación de ruido y se pueden aleatorizar o rellenar con una semilla de una invocación anterior. La función Umbral se puede usar para mitigar resultados indeseables a valores CFG más altos (intente entre 0-10), y Perlin se puede usar para agregar ruido Perlin al proceso de eliminación de ruido. Ambos sirven para agregar variación a sus salidas.", "variations": "Pruebe una variación con una cantidad entre 0 y 1 para cambiar la imagen de salida para la semilla establecida. Se encuentran variaciones interesantes en la semilla entre 0.1 y 0.3.", "upscale": "Usando ESRGAN, puede aumentar la resolución de salida sin requerir un ancho/alto más alto en la generación inicial.", "faceCorrection": "Usando GFPGAN o Codeformer, la corrección de rostros intentará identificar rostros en las salidas y corregir cualquier defecto/anormalidad. Los valores de fuerza más altos aplicarán una presión correctiva más fuerte en las salidas, lo que resultará en rostros más atractivos. Con Codeformer, una mayor fidelidad intentará preservar la imagen original, a expensas de la fuerza de corrección de rostros.", - "imageToImage": "Imagen a Imagen permite cargar una imagen inicial, que InvokeAI usará para guiar el proceso de generación, junto con una solicitud. Un valor más bajo para esta configuración se parecerá más a la imagen original. Se aceptan valores entre 0-1, y se recomienda un rango de .25-.75.", + "imageToImage": "Imagen a Imagen permite cargar una imagen inicial, que InvokeAI usará para guiar el proceso de generación, junto con una solicitud. Un valor más bajo para esta configuración se parecerá más a la imagen original. Se aceptan valores entre 0-1, y se recomienda un rango de .25-.75", "boundingBox": "La caja delimitadora es análoga a las configuraciones de Ancho y Alto para Texto a Imagen o Imagen a Imagen. Solo se procesará el área en la caja.", "seamCorrection": "Controla el manejo de parches visibles que pueden ocurrir cuando se pega una imagen generada de nuevo en el lienzo.", "infillAndScaling": "Administra los métodos de relleno (utilizados en áreas enmascaradas o borradas del lienzo) y la escala (útil para tamaños de caja delimitadora pequeños)." diff --git a/invokeai/frontend/web/dist/locales/he.json b/invokeai/frontend/web/dist/locales/he.json deleted file mode 100644 index 0950fb51de..0000000000 --- a/invokeai/frontend/web/dist/locales/he.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "modelManager": { - "cannotUseSpaces": "לא ניתן להשתמש ברווחים", - "addNew": "הוסף חדש", - "vaeLocationValidationMsg": "נתיב למקום שבו ממוקם ה- VAE שלך.", - "height": "גובה", - "load": "טען", - "search": "חיפוש", - "heightValidationMsg": "גובה ברירת המחדל של המודל שלך.", - "addNewModel": "הוסף מודל חדש", - "allModels": "כל המודלים", - "checkpointModels": "נקודות ביקורת", - "diffusersModels": "מפזרים", - "safetensorModels": "טנסורים בטוחים", - "modelAdded": "מודל התווסף", - "modelUpdated": "מודל עודכן", - "modelEntryDeleted": "רשומת המודל נמחקה", - "addCheckpointModel": "הוסף נקודת ביקורת / מודל טנסור בטוח", - "addDiffuserModel": "הוסף מפזרים", - "addManually": "הוספה ידנית", - "manual": "ידני", - "name": "שם", - "description": "תיאור", - "descriptionValidationMsg": "הוסף תיאור למודל שלך", - "config": "תצורה", - "configValidationMsg": "נתיב לקובץ התצורה של המודל שלך.", - "modelLocation": "מיקום המודל", - "modelLocationValidationMsg": "נתיב למקום שבו המודל שלך ממוקם באופן מקומי.", - "repo_id": "מזהה מאגר", - "repoIDValidationMsg": "מאגר מקוון של המודל שלך", - "vaeLocation": "מיקום VAE", - "vaeRepoIDValidationMsg": "המאגר המקוון של VAE שלך", - "width": "רוחב", - "widthValidationMsg": "רוחב ברירת המחדל של המודל שלך.", - "addModel": "הוסף מודל", - "updateModel": "עדכן מודל", - "active": "פעיל", - "modelsFound": "מודלים נמצאו", - "cached": "נשמר במטמון", - "checkpointFolder": "תיקיית נקודות ביקורת", - "findModels": "מצא מודלים", - "scanAgain": "סרוק מחדש", - "selectFolder": "בחירת תיקייה", - "selected": "נבחר", - "selectAll": "בחר הכל", - "deselectAll": "ביטול בחירת הכל", - "showExisting": "הצג קיים", - "addSelected": "הוסף פריטים שנבחרו", - "modelExists": "המודל קיים", - "selectAndAdd": "בחר והוסך מודלים המפורטים להלן", - "deleteModel": "מחיקת מודל", - "deleteConfig": "מחיקת תצורה", - "formMessageDiffusersModelLocation": "מיקום מפזרי המודל", - "formMessageDiffusersModelLocationDesc": "נא להזין לפחות אחד.", - "convertToDiffusersHelpText5": "אנא ודא/י שיש לך מספיק מקום בדיסק. גדלי מודלים בדרך כלל הינם בין 4GB-7GB.", - "convertToDiffusersHelpText1": "מודל זה יומר לפורמט 🧨 המפזרים.", - "convertToDiffusersHelpText2": "תהליך זה יחליף את הרשומה של מנהל המודלים שלך בגרסת המפזרים של אותו המודל.", - "convertToDiffusersHelpText6": "האם ברצונך להמיר מודל זה?", - "convertToDiffusersSaveLocation": "שמירת מיקום", - "inpainting": "v1 צביעת תוך", - "statusConverting": "ממיר", - "modelConverted": "מודל הומר", - "sameFolder": "אותה תיקיה", - "custom": "התאמה אישית", - "merge": "מזג", - "modelsMerged": "מודלים מוזגו", - "mergeModels": "מזג מודלים", - "modelOne": "מודל 1", - "customSaveLocation": "מיקום שמירה מותאם אישית", - "alpha": "אלפא", - "mergedModelSaveLocation": "שמירת מיקום", - "mergedModelCustomSaveLocation": "נתיב מותאם אישית", - "ignoreMismatch": "התעלמות מאי-התאמות בין מודלים שנבחרו", - "modelMergeHeaderHelp1": "ניתן למזג עד שלושה מודלים שונים כדי ליצור שילוב שמתאים לצרכים שלכם.", - "modelMergeAlphaHelp": "אלפא שולט בחוזק מיזוג עבור המודלים. ערכי אלפא נמוכים יותר מובילים להשפעה נמוכה יותר של המודל השני.", - "nameValidationMsg": "הכנס שם למודל שלך", - "vaeRepoID": "מזהה מאגר ה VAE", - "modelManager": "מנהל המודלים", - "model": "מודל", - "availableModels": "מודלים זמינים", - "notLoaded": "לא נטען", - "clearCheckpointFolder": "נקה את תיקיית נקודות הביקורת", - "noModelsFound": "לא נמצאו מודלים", - "delete": "מחיקה", - "deleteMsg1": "האם אתה בטוח שברצונך למחוק רשומת מודל זו מ- InvokeAI?", - "deleteMsg2": "פעולה זו לא תמחק את קובץ נקודת הביקורת מהדיסק שלך. ניתן לקרוא אותם מחדש במידת הצורך.", - "formMessageDiffusersVAELocation": "מיקום VAE", - "formMessageDiffusersVAELocationDesc": "במידה ולא מסופק, InvokeAI תחפש את קובץ ה-VAE במיקום המודל המופיע לעיל.", - "convertToDiffusers": "המרה למפזרים", - "convert": "המרה", - "modelTwo": "מודל 2", - "modelThree": "מודל 3", - "mergedModelName": "שם מודל ממוזג", - "v1": "v1", - "v2": "v2", - "invokeRoot": "תיקיית InvokeAI", - "customConfig": "תצורה מותאמת אישית", - "pathToCustomConfig": "נתיב לתצורה מותאמת אישית", - "interpolationType": "סוג אינטרפולציה", - "invokeAIFolder": "תיקיית InvokeAI", - "sigmoid": "סיגמואיד", - "weightedSum": "סכום משוקלל", - "modelMergeHeaderHelp2": "רק מפזרים זמינים למיזוג. אם ברצונך למזג מודל של נקודת ביקורת, המר אותו תחילה למפזרים.", - "inverseSigmoid": "הפוך סיגמואיד", - "convertToDiffusersHelpText3": "קובץ נקודת הביקורת שלך בדיסק לא יימחק או ישונה בכל מקרה. אתה יכול להוסיף את נקודת הביקורת שלך למנהל המודלים שוב אם תרצה בכך.", - "convertToDiffusersHelpText4": "זהו תהליך חד פעמי בלבד. התהליך עשוי לקחת בסביבות 30-60 שניות, תלוי במפרט המחשב שלך.", - "modelMergeInterpAddDifferenceHelp": "במצב זה, מודל 3 מופחת תחילה ממודל 2. הגרסה המתקבלת משולבת עם מודל 1 עם קצב האלפא שנקבע לעיל." - }, - "common": { - "nodesDesc": "מערכת מבוססת צמתים עבור יצירת תמונות עדיין תחת פיתוח. השארו קשובים לעדכונים עבור הפיצ׳ר המדהים הזה.", - "themeLabel": "ערכת נושא", - "languagePickerLabel": "בחירת שפה", - "githubLabel": "גיטהאב", - "discordLabel": "דיסקורד", - "settingsLabel": "הגדרות", - "darkTheme": "חשוך", - "lightTheme": "מואר", - "langEnglish": "אנגלית", - "langDutch": "הולנדית", - "langArabic": "ערבית", - "langFrench": "צרפתית", - "langGerman": "גרמנית", - "langJapanese": "יפנית", - "langBrPortuguese": "פורטוגזית", - "langRussian": "רוסית", - "langSimplifiedChinese": "סינית", - "langUkranian": "אוקראינית", - "langSpanish": "ספרדית", - "text2img": "טקסט לתמונה", - "img2img": "תמונה לתמונה", - "unifiedCanvas": "קנבס מאוחד", - "nodes": "צמתים", - "postProcessing": "לאחר עיבוד", - "postProcessDesc2": "תצוגה ייעודית תשוחרר בקרוב על מנת לתמוך בתהליכים ועיבודים מורכבים.", - "postProcessDesc3": "ממשק שורת הפקודה של Invoke AI מציע תכונות שונות אחרות כולל Embiggen.", - "close": "סגירה", - "statusConnected": "מחובר", - "statusDisconnected": "מנותק", - "statusError": "שגיאה", - "statusPreparing": "בהכנה", - "statusProcessingCanceled": "עיבוד בוטל", - "statusProcessingComplete": "עיבוד הסתיים", - "statusGenerating": "מייצר", - "statusGeneratingTextToImage": "מייצר טקסט לתמונה", - "statusGeneratingImageToImage": "מייצר תמונה לתמונה", - "statusGeneratingInpainting": "מייצר ציור לתוך", - "statusGeneratingOutpainting": "מייצר ציור החוצה", - "statusIterationComplete": "איטרציה הסתיימה", - "statusRestoringFaces": "משחזר פרצופים", - "statusRestoringFacesCodeFormer": "משחזר פרצופים (CodeFormer)", - "statusUpscaling": "העלאת קנה מידה", - "statusUpscalingESRGAN": "העלאת קנה מידה (ESRGAN)", - "statusModelChanged": "מודל השתנה", - "statusConvertingModel": "ממיר מודל", - "statusModelConverted": "מודל הומר", - "statusMergingModels": "מיזוג מודלים", - "statusMergedModels": "מודלים מוזגו", - "hotkeysLabel": "מקשים חמים", - "reportBugLabel": "דווח באג", - "greenTheme": "ירוק", - "langItalian": "איטלקית", - "upload": "העלאה", - "langPolish": "פולנית", - "training": "אימון", - "load": "טעינה", - "back": "אחורה", - "statusSavingImage": "שומר תמונה", - "statusGenerationComplete": "ייצור הסתיים", - "statusRestoringFacesGFPGAN": "משחזר פרצופים (GFPGAN)", - "statusLoadingModel": "טוען מודל", - "trainingDesc2": "InvokeAI כבר תומך באימון הטמעות מותאמות אישית באמצעות היפוך טקסט באמצעות הסקריפט הראשי.", - "postProcessDesc1": "InvokeAI מציעה מגוון רחב של תכונות עיבוד שלאחר. העלאת קנה מידה של תמונה ושחזור פנים כבר זמינים בממשק המשתמש. ניתן לגשת אליהם מתפריט 'אפשרויות מתקדמות' בכרטיסיות 'טקסט לתמונה' ו'תמונה לתמונה'. ניתן גם לעבד תמונות ישירות, באמצעות לחצני הפעולה של התמונה מעל תצוגת התמונה הנוכחית או בתוך המציג.", - "trainingDesc1": "תהליך עבודה ייעודי לאימון ההטמעות ונקודות הביקורת שלך באמצעות היפוך טקסט ו-Dreambooth מממשק המשתמש." - }, - "hotkeys": { - "toggleGallery": { - "desc": "פתח וסגור את מגירת הגלריה", - "title": "הצג את הגלריה" - }, - "keyboardShortcuts": "קיצורי מקלדת", - "appHotkeys": "קיצורי אפליקציה", - "generalHotkeys": "קיצורי דרך כלליים", - "galleryHotkeys": "קיצורי דרך של הגלריה", - "unifiedCanvasHotkeys": "קיצורי דרך לקנבס המאוחד", - "invoke": { - "title": "הפעל", - "desc": "צור תמונה" - }, - "focusPrompt": { - "title": "התמקדות על הבקשה", - "desc": "התמקדות על איזור הקלדת הבקשה" - }, - "toggleOptions": { - "desc": "פתח וסגור את פאנל ההגדרות", - "title": "הצג הגדרות" - }, - "pinOptions": { - "title": "הצמד הגדרות", - "desc": "הצמד את פאנל ההגדרות" - }, - "toggleViewer": { - "title": "הצג את חלון ההצגה", - "desc": "פתח וסגור את מציג התמונות" - }, - "changeTabs": { - "title": "החלף לשוניות", - "desc": "החלף לאיזור עבודה אחר" - }, - "consoleToggle": { - "desc": "פתח וסגור את הקונסול", - "title": "הצג קונסול" - }, - "setPrompt": { - "title": "הגדרת בקשה", - "desc": "שימוש בבקשה של התמונה הנוכחית" - }, - "restoreFaces": { - "desc": "שחזור התמונה הנוכחית", - "title": "שחזור פרצופים" - }, - "upscale": { - "title": "הגדלת קנה מידה", - "desc": "הגדל את התמונה הנוכחית" - }, - "showInfo": { - "title": "הצג מידע", - "desc": "הצגת פרטי מטא-נתונים של התמונה הנוכחית" - }, - "sendToImageToImage": { - "title": "שלח לתמונה לתמונה", - "desc": "שלח תמונה נוכחית לתמונה לתמונה" - }, - "deleteImage": { - "title": "מחק תמונה", - "desc": "מחק את התמונה הנוכחית" - }, - "closePanels": { - "title": "סגור לוחות", - "desc": "סוגר לוחות פתוחים" - }, - "previousImage": { - "title": "תמונה קודמת", - "desc": "הצג את התמונה הקודמת בגלריה" - }, - "toggleGalleryPin": { - "title": "הצג את מצמיד הגלריה", - "desc": "הצמדה וביטול הצמדה של הגלריה לממשק המשתמש" - }, - "decreaseGalleryThumbSize": { - "title": "הקטנת גודל תמונת גלריה", - "desc": "מקטין את גודל התמונות הממוזערות של הגלריה" - }, - "selectBrush": { - "desc": "בוחר את מברשת הקנבס", - "title": "בחר מברשת" - }, - "selectEraser": { - "title": "בחר מחק", - "desc": "בוחר את מחק הקנבס" - }, - "decreaseBrushSize": { - "title": "הקטנת גודל המברשת", - "desc": "מקטין את גודל מברשת הקנבס/מחק" - }, - "increaseBrushSize": { - "desc": "מגדיל את גודל מברשת הקנבס/מחק", - "title": "הגדלת גודל המברשת" - }, - "decreaseBrushOpacity": { - "title": "הפחת את אטימות המברשת", - "desc": "מקטין את האטימות של מברשת הקנבס" - }, - "increaseBrushOpacity": { - "title": "הגדל את אטימות המברשת", - "desc": "מגביר את האטימות של מברשת הקנבס" - }, - "moveTool": { - "title": "כלי הזזה", - "desc": "מאפשר ניווט על קנבס" - }, - "fillBoundingBox": { - "desc": "ממלא את התיבה התוחמת בצבע מברשת", - "title": "מילוי תיבה תוחמת" - }, - "eraseBoundingBox": { - "desc": "מוחק את אזור התיבה התוחמת", - "title": "מחק תיבה תוחמת" - }, - "colorPicker": { - "title": "בחר בבורר צבעים", - "desc": "בוחר את בורר צבעי הקנבס" - }, - "toggleSnap": { - "title": "הפעל הצמדה", - "desc": "מפעיל הצמדה לרשת" - }, - "quickToggleMove": { - "title": "הפעלה מהירה להזזה", - "desc": "מפעיל זמנית את מצב ההזזה" - }, - "toggleLayer": { - "title": "הפעל שכבה", - "desc": "הפעל בחירת שכבת בסיס/מסיכה" - }, - "clearMask": { - "title": "נקה מסיכה", - "desc": "נקה את כל המסכה" - }, - "hideMask": { - "desc": "הסתרה והצגה של מסיכה", - "title": "הסתר מסיכה" - }, - "showHideBoundingBox": { - "title": "הצגה/הסתרה של תיבה תוחמת", - "desc": "הפעל תצוגה של התיבה התוחמת" - }, - "mergeVisible": { - "title": "מיזוג תוכן גלוי", - "desc": "מיזוג כל השכבות הגלויות של הקנבס" - }, - "saveToGallery": { - "title": "שמור לגלריה", - "desc": "שמור את הקנבס הנוכחי בגלריה" - }, - "copyToClipboard": { - "title": "העתק ללוח ההדבקה", - "desc": "העתק את הקנבס הנוכחי ללוח ההדבקה" - }, - "downloadImage": { - "title": "הורד תמונה", - "desc": "הורד את הקנבס הנוכחי" - }, - "undoStroke": { - "title": "בטל משיכה", - "desc": "בטל משיכת מברשת" - }, - "redoStroke": { - "title": "בצע שוב משיכה", - "desc": "ביצוע מחדש של משיכת מברשת" - }, - "resetView": { - "title": "איפוס תצוגה", - "desc": "אפס תצוגת קנבס" - }, - "previousStagingImage": { - "desc": "תמונת אזור ההערכות הקודמת", - "title": "תמונת הערכות קודמת" - }, - "nextStagingImage": { - "title": "תמנות הערכות הבאה", - "desc": "תמונת אזור ההערכות הבאה" - }, - "acceptStagingImage": { - "desc": "אשר את תמונת איזור ההערכות הנוכחית", - "title": "אשר תמונת הערכות" - }, - "cancel": { - "desc": "ביטול יצירת תמונה", - "title": "ביטול" - }, - "maximizeWorkSpace": { - "title": "מקסם את איזור העבודה", - "desc": "סגור פאנלים ומקסם את איזור העבודה" - }, - "setSeed": { - "title": "הגדר זרע", - "desc": "השתמש בזרע התמונה הנוכחית" - }, - "setParameters": { - "title": "הגדרת פרמטרים", - "desc": "שימוש בכל הפרמטרים של התמונה הנוכחית" - }, - "increaseGalleryThumbSize": { - "title": "הגדל את גודל תמונת הגלריה", - "desc": "מגדיל את התמונות הממוזערות של הגלריה" - }, - "nextImage": { - "title": "תמונה הבאה", - "desc": "הצג את התמונה הבאה בגלריה" - } - }, - "gallery": { - "uploads": "העלאות", - "galleryImageSize": "גודל תמונה", - "gallerySettings": "הגדרות גלריה", - "maintainAspectRatio": "שמור על יחס רוחב-גובה", - "autoSwitchNewImages": "החלף אוטומטית לתמונות חדשות", - "singleColumnLayout": "תצוגת עמודה אחת", - "pinGallery": "הצמד גלריה", - "allImagesLoaded": "כל התמונות נטענו", - "loadMore": "טען עוד", - "noImagesInGallery": "אין תמונות בגלריה", - "galleryImageResetSize": "איפוס גודל", - "generations": "דורות", - "showGenerations": "הצג דורות", - "showUploads": "הצג העלאות" - }, - "parameters": { - "images": "תמונות", - "steps": "צעדים", - "cfgScale": "סולם CFG", - "width": "רוחב", - "height": "גובה", - "sampler": "דוגם", - "seed": "זרע", - "imageToImage": "תמונה לתמונה", - "randomizeSeed": "זרע אקראי", - "variationAmount": "כמות וריאציה", - "seedWeights": "משקלי זרע", - "faceRestoration": "שחזור פנים", - "restoreFaces": "שחזר פנים", - "type": "סוג", - "strength": "חוזק", - "upscale": "הגדלת קנה מידה", - "upscaleImage": "הגדלת קנה מידת התמונה", - "denoisingStrength": "חוזק מנטרל הרעש", - "otherOptions": "אפשרויות אחרות", - "hiresOptim": "אופטימיזצית רזולוציה גבוהה", - "hiresStrength": "חוזק רזולוציה גבוהה", - "codeformerFidelity": "דבקות", - "seamSize": "גודל תפר", - "seamBlur": "טשטוש תפר", - "seamStrength": "חוזק תפר", - "seamSteps": "שלבי תפר", - "scaleBeforeProcessing": "שנה קנה מידה לפני עיבוד", - "scaledWidth": "קנה מידה לאחר שינוי W", - "scaledHeight": "קנה מידה לאחר שינוי H", - "infillMethod": "שיטת מילוי", - "tileSize": "גודל אריח", - "boundingBoxHeader": "תיבה תוחמת", - "seamCorrectionHeader": "תיקון תפר", - "infillScalingHeader": "מילוי וקנה מידה", - "toggleLoopback": "הפעל לולאה חוזרת", - "symmetry": "סימטריה", - "vSymmetryStep": "צעד סימטריה V", - "hSymmetryStep": "צעד סימטריה H", - "invoke": "הפעלה", - "cancel": { - "schedule": "ביטול לאחר האיטרציה הנוכחית", - "isScheduled": "מבטל", - "immediate": "ביטול מיידי", - "setType": "הגדר סוג ביטול" - }, - "negativePrompts": "בקשות שליליות", - "sendTo": "שליחה אל", - "copyImage": "העתקת תמונה", - "downloadImage": "הורדת תמונה", - "sendToImg2Img": "שליחה לתמונה לתמונה", - "sendToUnifiedCanvas": "שליחה אל קנבס מאוחד", - "openInViewer": "פתח במציג", - "closeViewer": "סגור מציג", - "usePrompt": "שימוש בבקשה", - "useSeed": "שימוש בזרע", - "useAll": "שימוש בהכל", - "useInitImg": "שימוש בתמונה ראשונית", - "info": "פרטים", - "showOptionsPanel": "הצג חלונית אפשרויות", - "shuffle": "ערבוב", - "noiseThreshold": "סף רעש", - "perlinNoise": "רעש פרלין", - "variations": "וריאציות", - "imageFit": "התאמת תמונה ראשונית לגודל הפלט", - "general": "כללי", - "upscaling": "מגדיל את קנה מידה", - "scale": "סולם", - "seamlessTiling": "ריצוף חלק", - "img2imgStrength": "חוזק תמונה לתמונה", - "initialImage": "תמונה ראשונית", - "copyImageToLink": "העתקת תמונה לקישור", - "deleteImage": "מחיקת תמונה", - "promptPlaceholder": "הקלד בקשה כאן. [אסימונים שליליים], (העלאת משקל)++ , (הורדת משקל)--, החלפה ומיזוג זמינים (ראה מסמכים)" - }, - "settings": { - "models": "מודלים", - "displayInProgress": "הצגת תמונות בתהליך", - "confirmOnDelete": "אישור בעת המחיקה", - "useCanvasBeta": "שימוש בגרסת ביתא של תצוגת הקנבס", - "useSlidersForAll": "שימוש במחוונים לכל האפשרויות", - "resetWebUI": "איפוס ממשק משתמש", - "resetWebUIDesc1": "איפוס ממשק המשתמש האינטרנטי מאפס רק את המטמון המקומי של הדפדפן של התמונות וההגדרות שנשמרו. זה לא מוחק תמונות מהדיסק.", - "resetComplete": "ממשק המשתמש אופס. יש לבצע רענון דף בכדי לטעון אותו מחדש.", - "enableImageDebugging": "הפעלת איתור באגים בתמונה", - "displayHelpIcons": "הצג סמלי עזרה", - "saveSteps": "שמירת תמונות כל n צעדים", - "resetWebUIDesc2": "אם תמונות לא מופיעות בגלריה או שמשהו אחר לא עובד, נא לנסות איפוס /או אתחול לפני שליחת תקלה ב-GitHub." - }, - "toast": { - "uploadFailed": "העלאה נכשלה", - "uploadFailedMultipleImagesDesc": "תמונות מרובות הודבקו, ניתן להעלות תמונה אחת בלבד בכל פעם", - "imageCopied": "התמונה הועתקה", - "imageLinkCopied": "קישור תמונה הועתק", - "imageNotLoadedDesc": "לא נמצאה תמונה לשליחה למודול תמונה לתמונה", - "imageSavedToGallery": "התמונה נשמרה בגלריה", - "canvasMerged": "קנבס מוזג", - "sentToImageToImage": "נשלח לתמונה לתמונה", - "sentToUnifiedCanvas": "נשלח אל קנבס מאוחד", - "parametersSet": "הגדרת פרמטרים", - "parametersNotSet": "פרמטרים לא הוגדרו", - "parametersNotSetDesc": "לא נמצאו מטא-נתונים עבור תמונה זו.", - "parametersFailedDesc": "לא ניתן לטעון תמונת התחלה.", - "seedSet": "זרע הוגדר", - "seedNotSetDesc": "לא ניתן היה למצוא זרע לתמונה זו.", - "promptNotSetDesc": "לא היתה אפשרות למצוא בקשה עבור תמונה זו.", - "metadataLoadFailed": "טעינת מטא-נתונים נכשלה", - "initialImageSet": "סט תמונה ראשוני", - "initialImageNotSet": "התמונה הראשונית לא הוגדרה", - "initialImageNotSetDesc": "לא ניתן היה לטעון את התמונה הראשונית", - "uploadFailedUnableToLoadDesc": "לא ניתן לטעון את הקובץ", - "tempFoldersEmptied": "התיקייה הזמנית רוקנה", - "downloadImageStarted": "הורדת התמונה החלה", - "imageNotLoaded": "לא נטענה תמונה", - "parametersFailed": "בעיה בטעינת פרמטרים", - "promptNotSet": "בקשה לא הוגדרה", - "upscalingFailed": "העלאת קנה המידה נכשלה", - "faceRestoreFailed": "שחזור הפנים נכשל", - "seedNotSet": "זרע לא הוגדר", - "promptSet": "בקשה הוגדרה" - }, - "tooltip": { - "feature": { - "gallery": "הגלריה מציגה יצירות מתיקיית הפלטים בעת יצירתם. ההגדרות מאוחסנות בתוך קבצים ונגישות באמצעות תפריט הקשר.", - "upscale": "השתמש ב-ESRGAN כדי להגדיל את התמונה מיד לאחר היצירה.", - "imageToImage": "תמונה לתמונה טוענת כל תמונה כראשונית, המשמשת לאחר מכן ליצירת תמונה חדשה יחד עם הבקשה. ככל שהערך גבוה יותר, כך תמונת התוצאה תשתנה יותר. ערכים מ- 0.0 עד 1.0 אפשריים, הטווח המומלץ הוא .25-.75", - "seamCorrection": "שליטה בטיפול בתפרים גלויים המתרחשים בין תמונות שנוצרו על בד הציור.", - "prompt": "זהו שדה הבקשה. הבקשה כוללת אובייקטי יצירה ומונחים סגנוניים. באפשרותך להוסיף משקל (חשיבות אסימון) גם בשורת הפקודה, אך פקודות ופרמטרים של CLI לא יפעלו.", - "variations": "נסה וריאציה עם ערך בין 0.1 ל- 1.0 כדי לשנות את התוצאה עבור זרע נתון. וריאציות מעניינות של הזרע הן בין 0.1 ל -0.3.", - "other": "אפשרויות אלה יאפשרו מצבי עיבוד חלופיים עבור ההרצה. 'ריצוף חלק' ייצור תבניות חוזרות בפלט. 'רזולוציה גבוהה' נוצר בשני שלבים עם img2img: השתמש בהגדרה זו כאשר אתה רוצה תמונה גדולה וקוהרנטית יותר ללא חפצים. פעולה זאת תקח יותר זמן מפעולת טקסט לתמונה רגילה.", - "faceCorrection": "תיקון פנים עם GFPGAN או Codeformer: האלגוריתם מזהה פרצופים בתמונה ומתקן כל פגם. ערך גבוה ישנה את התמונה יותר, וכתוצאה מכך הפרצופים יהיו אטרקטיביים יותר. Codeformer עם נאמנות גבוהה יותר משמר את התמונה המקורית על חשבון תיקון פנים חזק יותר.", - "seed": "ערך הזרע משפיע על הרעש הראשוני שממנו נוצרת התמונה. אתה יכול להשתמש בזרעים שכבר קיימים מתמונות קודמות. 'סף רעש' משמש להפחתת חפצים בערכי CFG גבוהים (נסה את טווח 0-10), ופרלין כדי להוסיף רעשי פרלין במהלך היצירה: שניהם משמשים להוספת וריאציה לתפוקות שלך.", - "infillAndScaling": "נהל שיטות מילוי (המשמשות באזורים עם מסיכה או אזורים שנמחקו בבד הציור) ושינוי קנה מידה (שימושי לגדלים קטנים של תיבות תוחמות).", - "boundingBox": "התיבה התוחמת זהה להגדרות 'רוחב' ו'גובה' עבור 'טקסט לתמונה' או 'תמונה לתמונה'. רק האזור בתיבה יעובד." - } - }, - "unifiedCanvas": { - "layer": "שכבה", - "base": "בסיס", - "maskingOptions": "אפשרויות מסכות", - "enableMask": "הפעלת מסיכה", - "colorPicker": "בוחר הצבעים", - "preserveMaskedArea": "שימור איזור ממוסך", - "clearMask": "ניקוי מסיכה", - "brush": "מברשת", - "eraser": "מחק", - "fillBoundingBox": "מילוי תיבה תוחמת", - "eraseBoundingBox": "מחק תיבה תוחמת", - "copyToClipboard": "העתק ללוח ההדבקה", - "downloadAsImage": "הורדה כתמונה", - "undo": "ביטול", - "redo": "ביצוע מחדש", - "clearCanvas": "ניקוי קנבס", - "showGrid": "הצגת רשת", - "snapToGrid": "הצמדה לרשת", - "darkenOutsideSelection": "הכהיית בחירה חיצונית", - "saveBoxRegionOnly": "שמירת איזור תיבה בלבד", - "limitStrokesToBox": "הגבלת משיכות לקופסא", - "showCanvasDebugInfo": "הצגת מידע איתור באגים בקנבס", - "clearCanvasHistory": "ניקוי הסטוריית קנבס", - "clearHistory": "ניקוי היסטוריה", - "clearCanvasHistoryConfirm": "האם את/ה בטוח/ה שברצונך לנקות את היסטוריית הקנבס?", - "emptyFolder": "ריקון תיקייה", - "emptyTempImagesFolderConfirm": "האם את/ה בטוח/ה שברצונך לרוקן את התיקיה הזמנית?", - "activeLayer": "שכבה פעילה", - "canvasScale": "קנה מידה של קנבס", - "betaLimitToBox": "הגבל לקופסא", - "betaDarkenOutside": "הכההת הבחוץ", - "canvasDimensions": "מידות קנבס", - "previous": "הקודם", - "next": "הבא", - "accept": "אישור", - "showHide": "הצג/הסתר", - "discardAll": "בטל הכל", - "betaClear": "איפוס", - "boundingBox": "תיבה תוחמת", - "scaledBoundingBox": "תיבה תוחמת לאחר שינוי קנה מידה", - "betaPreserveMasked": "שמר מסיכה", - "brushOptions": "אפשרויות מברשת", - "brushSize": "גודל", - "mergeVisible": "מיזוג תוכן גלוי", - "move": "הזזה", - "resetView": "איפוס תצוגה", - "saveToGallery": "שמור לגלריה", - "canvasSettings": "הגדרות קנבס", - "showIntermediates": "הצגת מתווכים", - "autoSaveToGallery": "שמירה אוטומטית בגלריה", - "emptyTempImageFolder": "ריקון תיקיית תמונות זמניות", - "clearCanvasHistoryMessage": "ניקוי היסטוריית הקנבס משאיר את הקנבס הנוכחי ללא שינוי, אך מנקה באופן בלתי הפיך את היסטוריית הביטול והביצוע מחדש.", - "emptyTempImagesFolderMessage": "ריקון תיקיית התמונה הזמנית גם מאפס באופן מלא את הקנבס המאוחד. זה כולל את כל היסטוריית הביטול/ביצוע מחדש, תמונות באזור ההערכות ושכבת הבסיס של בד הציור.", - "boundingBoxPosition": "מיקום תיבה תוחמת", - "canvasPosition": "מיקום קנבס", - "cursorPosition": "מיקום הסמן", - "mask": "מסכה" - } -} diff --git a/invokeai/frontend/web/dist/locales/ko.json b/invokeai/frontend/web/dist/locales/ko.json deleted file mode 100644 index 888cdc9925..0000000000 --- a/invokeai/frontend/web/dist/locales/ko.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "common": { - "themeLabel": "테마 설정", - "languagePickerLabel": "언어 설정", - "reportBugLabel": "버그 리포트", - "githubLabel": "Github", - "settingsLabel": "설정", - "darkTheme": "다크 모드", - "lightTheme": "라이트 모드", - "greenTheme": "그린 모드", - "langArabic": "العربية", - "langEnglish": "English", - "langDutch": "Nederlands", - "text2img": "텍스트->이미지", - "unifiedCanvas": "통합 캔버스", - "langFrench": "Français", - "langGerman": "Deutsch", - "langItalian": "Italiano", - "langJapanese": "日本語", - "langBrPortuguese": "Português do Brasil", - "langRussian": "Русский", - "langSpanish": "Español", - "nodes": "노드", - "nodesDesc": "이미지 생성을 위한 노드 기반 시스템은 현재 개발 중입니다. 이 놀라운 기능에 대한 업데이트를 계속 지켜봐 주세요.", - "postProcessing": "후처리", - "postProcessDesc2": "보다 진보된 후처리 작업을 위한 전용 UI가 곧 출시될 예정입니다.", - "postProcessDesc3": "Invoke AI CLI는 Embiggen을 비롯한 다양한 기능을 제공합니다.", - "training": "학습", - "trainingDesc1": "Textual Inversion과 Dreambooth를 이용해 Web UI에서 나만의 embedding 및 checkpoint를 교육하기 위한 전용 워크플로우입니다.", - "trainingDesc2": "InvokeAI는 이미 메인 스크립트를 사용한 Textual Inversion를 이용한 Custom embedding 학습을 지원하고 있습니다.", - "upload": "업로드", - "close": "닫기", - "load": "로드", - "back": "뒤로 가기", - "statusConnected": "연결됨", - "statusDisconnected": "연결 끊김", - "statusError": "에러", - "statusPreparing": "준비 중", - "langSimplifiedChinese": "简体中文", - "statusGenerating": "생성 중", - "statusGeneratingTextToImage": "텍스트->이미지 생성", - "statusGeneratingInpainting": "인페인팅 생성", - "statusGeneratingOutpainting": "아웃페인팅 생성", - "statusGenerationComplete": "생성 완료", - "statusRestoringFaces": "얼굴 복원", - "statusRestoringFacesGFPGAN": "얼굴 복원 (GFPGAN)", - "statusRestoringFacesCodeFormer": "얼굴 복원 (CodeFormer)", - "statusUpscaling": "업스케일링", - "statusUpscalingESRGAN": "업스케일링 (ESRGAN)", - "statusLoadingModel": "모델 로딩중", - "statusModelChanged": "모델 변경됨", - "statusConvertingModel": "모델 컨버팅", - "statusModelConverted": "모델 컨버팅됨", - "statusMergedModels": "모델 병합됨", - "statusMergingModels": "모델 병합중", - "hotkeysLabel": "단축키 설정", - "img2img": "이미지->이미지", - "discordLabel": "Discord", - "langPolish": "Polski", - "postProcessDesc1": "Invoke AI는 다양한 후처리 기능을 제공합니다. 이미지 업스케일링 및 얼굴 복원은 이미 Web UI에서 사용할 수 있습니다. 텍스트->이미지 또는 이미지->이미지 탭의 고급 옵션 메뉴에서 사용할 수 있습니다. 또한 현재 이미지 표시 위, 또는 뷰어에서 액션 버튼을 사용하여 이미지를 직접 처리할 수도 있습니다.", - "langUkranian": "Украї́нська", - "statusProcessingCanceled": "처리 취소됨", - "statusGeneratingImageToImage": "이미지->이미지 생성", - "statusProcessingComplete": "처리 완료", - "statusIterationComplete": "반복(Iteration) 완료", - "statusSavingImage": "이미지 저장" - }, - "gallery": { - "showGenerations": "생성된 이미지 보기", - "generations": "생성된 이미지", - "uploads": "업로드된 이미지", - "showUploads": "업로드된 이미지 보기", - "galleryImageSize": "이미지 크기", - "galleryImageResetSize": "사이즈 리셋", - "gallerySettings": "갤러리 설정", - "maintainAspectRatio": "종횡비 유지" - }, - "unifiedCanvas": { - "betaPreserveMasked": "마스크 레이어 유지" - } -} diff --git a/invokeai/frontend/web/dist/locales/nl.json b/invokeai/frontend/web/dist/locales/nl.json index 4116914132..46baf83ff9 100644 --- a/invokeai/frontend/web/dist/locales/nl.json +++ b/invokeai/frontend/web/dist/locales/nl.json @@ -43,27 +43,7 @@ "statusUpscaling": "Opschaling", "statusUpscalingESRGAN": "Opschaling (ESRGAN)", "statusLoadingModel": "Laden van model", - "statusModelChanged": "Model gewijzigd", - "githubLabel": "Github", - "discordLabel": "Discord", - "langArabic": "Arabisch", - "langEnglish": "Engels", - "langFrench": "Frans", - "langGerman": "Duits", - "langItalian": "Italiaans", - "langJapanese": "Japans", - "langPolish": "Pools", - "langBrPortuguese": "Portugees (Brazilië)", - "langRussian": "Russisch", - "langSimplifiedChinese": "Chinees (vereenvoudigd)", - "langUkranian": "Oekraïens", - "langSpanish": "Spaans", - "training": "Training", - "back": "Terug", - "statusConvertingModel": "Omzetten van model", - "statusModelConverted": "Model omgezet", - "statusMergingModels": "Samenvoegen van modellen", - "statusMergedModels": "Modellen samengevoegd" + "statusModelChanged": "Model gewijzigd" }, "gallery": { "generations": "Gegenereerde afbeeldingen", @@ -302,7 +282,7 @@ "name": "Naam", "nameValidationMsg": "Geef een naam voor je model", "description": "Beschrijving", - "descriptionValidationMsg": "Voeg een beschrijving toe voor je model", + "descriptionValidationMsg": "Voeg een beschrijving toe voor je model.", "config": "Configuratie", "configValidationMsg": "Pad naar het configuratiebestand van je model.", "modelLocation": "Locatie model", @@ -339,61 +319,7 @@ "deleteModel": "Verwijder model", "deleteConfig": "Verwijder configuratie", "deleteMsg1": "Weet je zeker dat je deze modelregel wilt verwijderen uit InvokeAI?", - "deleteMsg2": "Hiermee wordt het checkpointbestand niet van je schijf verwijderd. Je kunt deze opnieuw toevoegen als je dat wilt.", - "formMessageDiffusersVAELocationDesc": "Indien niet opgegeven, dan zal InvokeAI kijken naar het VAE-bestand in de hierboven gegeven modellocatie.", - "repoIDValidationMsg": "Online repository van je model", - "formMessageDiffusersModelLocation": "Locatie Diffusers-model", - "convertToDiffusersHelpText3": "Je Checkpoint-bestand op schijf zal NIET worden verwijderd of gewijzigd. Je kunt je Checkpoint opnieuw toevoegen aan Modelonderhoud als je dat wilt.", - "convertToDiffusersHelpText6": "Wil je dit model omzetten?", - "allModels": "Alle modellen", - "checkpointModels": "Checkpoints", - "safetensorModels": "SafeTensors", - "addCheckpointModel": "Voeg Checkpoint-/SafeTensor-model toe", - "addDiffuserModel": "Voeg Diffusers-model toe", - "diffusersModels": "Diffusers", - "repo_id": "Repo-id", - "vaeRepoID": "Repo-id VAE", - "vaeRepoIDValidationMsg": "Online repository van je VAE", - "formMessageDiffusersModelLocationDesc": "Voer er minimaal een in.", - "formMessageDiffusersVAELocation": "Locatie VAE", - "convert": "Omzetten", - "convertToDiffusers": "Omzetten naar Diffusers", - "convertToDiffusersHelpText1": "Dit model wordt omgezet naar de🧨 Diffusers-indeling.", - "convertToDiffusersHelpText2": "Dit proces vervangt het onderdeel in Modelonderhoud met de Diffusers-versie van hetzelfde model.", - "convertToDiffusersHelpText4": "Dit is een eenmalig proces. Dit neemt ongeveer 30 tot 60 sec. in beslag, afhankelijk van de specificaties van je computer.", - "convertToDiffusersHelpText5": "Zorg ervoor dat je genoeg schijfruimte hebt. Modellen nemen gewoonlijk ongeveer 4 - 7 GB ruimte in beslag.", - "convertToDiffusersSaveLocation": "Bewaarlocatie", - "v1": "v1", - "v2": "v2", - "inpainting": "v1-inpainting", - "customConfig": "Eigen configuratie", - "pathToCustomConfig": "Pad naar eigen configuratie", - "statusConverting": "Omzetten", - "modelConverted": "Model omgezet", - "sameFolder": "Dezelfde map", - "invokeRoot": "InvokeAI-map", - "custom": "Eigen", - "customSaveLocation": "Eigen bewaarlocatie", - "merge": "Samenvoegen", - "modelsMerged": "Modellen samengevoegd", - "mergeModels": "Voeg modellen samen", - "modelOne": "Model 1", - "modelTwo": "Model 2", - "modelThree": "Model 3", - "mergedModelName": "Samengevoegde modelnaam", - "alpha": "Alfa", - "interpolationType": "Soort interpolatie", - "mergedModelSaveLocation": "Bewaarlocatie", - "mergedModelCustomSaveLocation": "Eigen pad", - "invokeAIFolder": "InvokeAI-map", - "ignoreMismatch": "Negeer discrepanties tussen gekozen modellen", - "modelMergeHeaderHelp1": "Je kunt tot drie verschillende modellen samenvoegen om een mengvorm te maken die aan je behoeften voldoet.", - "modelMergeHeaderHelp2": "Alleen Diffusers kunnen worden samengevoegd. Als je een Checkpointmodel wilt samenvoegen, zet deze eerst om naar Diffusers.", - "modelMergeAlphaHelp": "Alfa stuurt de mengsterkte aan voor de modellen. Lagere alfawaarden leiden tot een kleinere invloed op het tweede model.", - "modelMergeInterpAddDifferenceHelp": "In deze stand wordt model 3 eerst van model 2 afgehaald. Wat daar uitkomt wordt gemengd met model 1, gebruikmakend van de hierboven ingestelde alfawaarde.", - "inverseSigmoid": "Keer Sigmoid om", - "sigmoid": "Sigmoid", - "weightedSum": "Gewogen som" + "deleteMsg2": "Hiermee wordt het checkpointbestand niet van je schijf verwijderd. Je kunt deze opnieuw toevoegen als je dat wilt." }, "parameters": { "images": "Afbeeldingen", @@ -453,22 +379,7 @@ "info": "Info", "deleteImage": "Verwijder afbeelding", "initialImage": "Initiële afbeelding", - "showOptionsPanel": "Toon deelscherm Opties", - "symmetry": "Symmetrie", - "hSymmetryStep": "Stap horiz. symmetrie", - "vSymmetryStep": "Stap vert. symmetrie", - "cancel": { - "immediate": "Annuleer direct", - "isScheduled": "Annuleren", - "setType": "Stel annuleervorm in", - "schedule": "Annuleer na huidige iteratie" - }, - "negativePrompts": "Negatieve invoer", - "general": "Algemeen", - "copyImage": "Kopieer afbeelding", - "imageToImage": "Afbeelding naar afbeelding", - "denoisingStrength": "Sterkte ontruisen", - "hiresStrength": "Sterkte hogere resolutie" + "showOptionsPanel": "Toon deelscherm Opties" }, "settings": { "models": "Modellen", @@ -481,8 +392,7 @@ "resetWebUI": "Herstel web-UI", "resetWebUIDesc1": "Herstel web-UI herstelt alleen de lokale afbeeldingscache en de onthouden instellingen van je browser. Het verwijdert geen afbeeldingen van schijf.", "resetWebUIDesc2": "Als afbeeldingen niet getoond worden in de galerij of iets anders werkt niet, probeer dan eerst deze herstelfunctie voordat je een fout aanmeldt op GitHub.", - "resetComplete": "Webgebruikersinterface is hersteld. Vernieuw de pasgina om opnieuw te laden.", - "useSlidersForAll": "Gebruik schuifbalken voor alle opties" + "resetComplete": "Webgebruikersinterface is hersteld. Vernieuw de pasgina om opnieuw te laden." }, "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", diff --git a/invokeai/frontend/web/dist/locales/pt.json b/invokeai/frontend/web/dist/locales/pt.json deleted file mode 100644 index 39d383e37f..0000000000 --- a/invokeai/frontend/web/dist/locales/pt.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "common": { - "greenTheme": "Verde", - "langArabic": "العربية", - "themeLabel": "Tema", - "reportBugLabel": "Reportar Bug", - "settingsLabel": "Configurações", - "lightTheme": "Claro", - "langBrPortuguese": "Português do Brasil", - "languagePickerLabel": "Seletor de Idioma", - "langDutch": "Nederlands", - "langEnglish": "English", - "hotkeysLabel": "Hotkeys", - "langPolish": "Polski", - "langFrench": "Français", - "langGerman": "Deutsch", - "langItalian": "Italiano", - "langJapanese": "日本語", - "langSimplifiedChinese": "简体中文", - "langSpanish": "Espanhol", - "langRussian": "Русский", - "langUkranian": "Украї́нська", - "text2img": "Texto para Imagem", - "img2img": "Imagem para Imagem", - "unifiedCanvas": "Tela Unificada", - "nodes": "Nós", - "nodesDesc": "Um sistema baseado em nós para a geração de imagens está em desenvolvimento atualmente. Fique atento para atualizações sobre este recurso incrível.", - "postProcessDesc3": "A Interface de Linha de Comando do Invoke AI oferece vários outros recursos, incluindo o Embiggen.", - "postProcessing": "Pós Processamento", - "postProcessDesc1": "O Invoke AI oferece uma ampla variedade de recursos de pós-processamento. O aumento de resolução de imagem e a restauração de rosto já estão disponíveis na interface do usuário da Web. Você pode acessá-los no menu Opções Avançadas das guias Texto para Imagem e Imagem para Imagem. Você também pode processar imagens diretamente, usando os botões de ação de imagem acima da exibição da imagem atual ou no visualizador.", - "postProcessDesc2": "Em breve, uma interface do usuário dedicada será lançada para facilitar fluxos de trabalho de pós-processamento mais avançados.", - "trainingDesc1": "Um fluxo de trabalho dedicado para treinar seus próprios embeddings e checkpoints usando Textual Inversion e Dreambooth da interface da web.", - "trainingDesc2": "O InvokeAI já oferece suporte ao treinamento de embeddings personalizados usando a Inversão Textual por meio do script principal.", - "upload": "Upload", - "statusError": "Erro", - "statusGeneratingTextToImage": "Gerando Texto para Imagem", - "close": "Fechar", - "load": "Abrir", - "back": "Voltar", - "statusConnected": "Conectado", - "statusDisconnected": "Desconectado", - "statusPreparing": "Preparando", - "statusGenerating": "Gerando", - "statusProcessingCanceled": "Processamento Cancelado", - "statusProcessingComplete": "Processamento Completo", - "statusGeneratingImageToImage": "Gerando Imagem para Imagem", - "statusGeneratingInpainting": "Geração de Preenchimento de Lacunas", - "statusIterationComplete": "Iteração Completa", - "statusSavingImage": "Salvando Imagem", - "statusRestoringFacesGFPGAN": "Restaurando Faces (GFPGAN)", - "statusRestoringFaces": "Restaurando Faces", - "statusRestoringFacesCodeFormer": "Restaurando Faces (CodeFormer)", - "statusUpscaling": "Ampliando", - "statusUpscalingESRGAN": "Ampliando (ESRGAN)", - "statusConvertingModel": "Convertendo Modelo", - "statusModelConverted": "Modelo Convertido", - "statusLoadingModel": "Carregando Modelo", - "statusModelChanged": "Modelo Alterado", - "githubLabel": "Github", - "discordLabel": "Discord", - "darkTheme": "Escuro", - "training": "Treinando", - "statusGeneratingOutpainting": "Geração de Ampliação", - "statusGenerationComplete": "Geração Completa", - "statusMergingModels": "Mesclando Modelos", - "statusMergedModels": "Modelos Mesclados" - } -} diff --git a/invokeai/frontend/web/dist/locales/pt_BR.json b/invokeai/frontend/web/dist/locales/pt_BR.json index 2380f92932..fdfe2270bf 100644 --- a/invokeai/frontend/web/dist/locales/pt_BR.json +++ b/invokeai/frontend/web/dist/locales/pt_BR.json @@ -44,7 +44,26 @@ "statusUpscaling": "Redimensinando", "statusUpscalingESRGAN": "Redimensinando (ESRGAN)", "statusLoadingModel": "Carregando Modelo", - "statusModelChanged": "Modelo Alterado" + "statusModelChanged": "Modelo Alterado", + "githubLabel": "Github", + "discordLabel": "Discord", + "langArabic": "Árabe", + "langEnglish": "Inglês", + "langDutch": "Holandês", + "langFrench": "Francês", + "langGerman": "Alemão", + "langItalian": "Italiano", + "langJapanese": "Japonês", + "langPolish": "Polonês", + "langSimplifiedChinese": "Chinês", + "langUkranian": "Ucraniano", + "back": "Voltar", + "statusConvertingModel": "Convertendo Modelo", + "statusModelConverted": "Modelo Convertido", + "statusMergingModels": "Mesclando Modelos", + "statusMergedModels": "Modelos Mesclados", + "langRussian": "Russo", + "langSpanish": "Espanhol" }, "gallery": { "generations": "Gerações", @@ -237,7 +256,7 @@ "desc": "Salva a tela atual na galeria" }, "copyToClipboard": { - "title": "Copiar Para a Área de Transferência ", + "title": "Copiar para a Área de Transferência", "desc": "Copia a tela atual para a área de transferência" }, "downloadImage": { @@ -284,7 +303,7 @@ "nameValidationMsg": "Insira um nome para o seu modelo", "description": "Descrição", "descriptionValidationMsg": "Adicione uma descrição para o seu modelo", - "config": "Config", + "config": "Configuração", "configValidationMsg": "Caminho para o arquivo de configuração do seu modelo.", "modelLocation": "Localização do modelo", "modelLocationValidationMsg": "Caminho para onde seu modelo está localizado.", @@ -317,7 +336,52 @@ "deleteModel": "Excluir modelo", "deleteConfig": "Excluir Config", "deleteMsg1": "Tem certeza de que deseja excluir esta entrada do modelo de InvokeAI?", - "deleteMsg2": "Isso não vai excluir o arquivo de modelo checkpoint do seu disco. Você pode lê-los, se desejar." + "deleteMsg2": "Isso não vai excluir o arquivo de modelo checkpoint do seu disco. Você pode lê-los, se desejar.", + "checkpointModels": "Checkpoints", + "diffusersModels": "Diffusers", + "safetensorModels": "SafeTensors", + "addCheckpointModel": "Adicionar Modelo de Checkpoint/Safetensor", + "addDiffuserModel": "Adicionar Diffusers", + "repo_id": "Repo ID", + "vaeRepoID": "VAE Repo ID", + "vaeRepoIDValidationMsg": "Repositório Online do seu VAE", + "scanAgain": "Digitalize Novamente", + "selectAndAdd": "Selecione e Adicione Modelos Listados Abaixo", + "noModelsFound": "Nenhum Modelo Encontrado", + "formMessageDiffusersModelLocation": "Localização dos Modelos Diffusers", + "formMessageDiffusersModelLocationDesc": "Por favor entre com ao menos um.", + "formMessageDiffusersVAELocation": "Localização do VAE", + "formMessageDiffusersVAELocationDesc": "Se não provido, InvokeAI irá procurar pelo arquivo VAE dentro do local do modelo.", + "convertToDiffusers": "Converter para Diffusers", + "convertToDiffusersHelpText1": "Este modelo será convertido para o formato 🧨 Diffusers.", + "convertToDiffusersHelpText5": "Por favor, certifique-se de que você tenha espaço suficiente em disco. Os modelos geralmente variam entre 4GB e 7GB de tamanho.", + "convertToDiffusersHelpText6": "Você deseja converter este modelo?", + "convertToDiffusersSaveLocation": "Local para Salvar", + "v1": "v1", + "v2": "v2", + "inpainting": "v1 Inpainting", + "customConfig": "Configuração personalizada", + "pathToCustomConfig": "Caminho para configuração personalizada", + "convertToDiffusersHelpText3": "Seu arquivo de ponto de verificação no disco NÃO será excluído ou modificado de forma alguma. Você pode adicionar seu ponto de verificação ao Gerenciador de modelos novamente, se desejar.", + "convertToDiffusersHelpText4": "Este é um processo único. Pode levar cerca de 30 a 60s, dependendo das especificações do seu computador.", + "merge": "Mesclar", + "modelsMerged": "Modelos mesclados", + "mergeModels": "Mesclar modelos", + "modelOne": "Modelo 1", + "modelTwo": "Modelo 2", + "modelThree": "Modelo 3", + "statusConverting": "Convertendo", + "modelConverted": "Modelo Convertido", + "sameFolder": "Mesma pasta", + "invokeRoot": "Pasta do InvokeAI", + "custom": "Personalizado", + "customSaveLocation": "Local de salvamento personalizado", + "mergedModelName": "Nome do modelo mesclado", + "alpha": "Alpha", + "allModels": "Todos os Modelos", + "repoIDValidationMsg": "Repositório Online do seu Modelo", + "convert": "Converter", + "convertToDiffusersHelpText2": "Este processo irá substituir sua entrada de Gerenciador de Modelos por uma versão Diffusers do mesmo modelo." }, "parameters": { "images": "Imagems", @@ -442,14 +506,14 @@ "move": "Mover", "resetView": "Resetar Visualização", "mergeVisible": "Fundir Visível", - "saveToGallery": "Save To Gallery", + "saveToGallery": "Salvar na Galeria", "copyToClipboard": "Copiar para a Área de Transferência", "downloadAsImage": "Baixar Como Imagem", "undo": "Desfazer", "redo": "Refazer", "clearCanvas": "Limpar Tela", "canvasSettings": "Configurações de Tela", - "showIntermediates": "Show Intermediates", + "showIntermediates": "Mostrar Intermediários", "showGrid": "Mostrar Grade", "snapToGrid": "Encaixar na Grade", "darkenOutsideSelection": "Escurecer Seleção Externa", diff --git a/invokeai/frontend/web/dist/locales/zh_Hant.json b/invokeai/frontend/web/dist/locales/ro.json similarity index 100% rename from invokeai/frontend/web/dist/locales/zh_Hant.json rename to invokeai/frontend/web/dist/locales/ro.json diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index c9a3f48c47..b06c741a3f 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -364,7 +364,8 @@ "convertToDiffusersHelpText6": "Do you wish to convert this model?", "convertToDiffusersSaveLocation": "Save Location", "v1": "v1", - "v2": "v2", + "v2_base": "v2 (512px)", + "v2_768": "v2 (768px)", "inpainting": "v1 Inpainting", "customConfig": "Custom Config", "pathToCustomConfig": "Path To Custom Config", diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx index 08834eb91b..98752b822a 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx @@ -181,7 +181,8 @@ export default function SearchModels() { const configFiles = { v1: 'configs/stable-diffusion/v1-inference.yaml', - v2: 'configs/stable-diffusion/v2-inference-v.yaml', + v2_base: 'configs/stable-diffusion/v2-inference-v.yaml', + v2_768: 'configs/stable-diffusion/v2-inference-v.yaml', inpainting: 'configs/stable-diffusion/v1-inpainting-inference.yaml', custom: pathToConfig, }; @@ -385,7 +386,8 @@ export default function SearchModels() { > {t('modelManager.v1')} - {t('modelManager.v2')} + {t('modelManager.v2_base')} + {t('modelManager.v2_768')} {t('modelManager.inpainting')} diff --git a/invokeai/frontend/web/stats.html b/invokeai/frontend/web/stats.html index 1e7823a4ff..35ecb22718 100644 --- a/invokeai/frontend/web/stats.html +++ b/invokeai/frontend/web/stats.html @@ -6157,7 +6157,7 @@ var drawChart = (function (exports) { - + + + - +
diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index c9a3f48c47..00e1202f12 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -10,14 +10,18 @@ "darkTheme": "Dark", "lightTheme": "Light", "greenTheme": "Green", + "oceanTheme": "Ocean", "langArabic": "العربية", "langEnglish": "English", "langDutch": "Nederlands", "langFrench": "Français", "langGerman": "Deutsch", + "langHebrew": "עברית", "langItalian": "Italiano", "langJapanese": "日本語", + "langKorean": "한국어", "langPolish": "Polski", + "langPortuguese": "Português", "langBrPortuguese": "Português do Brasil", "langRussian": "Русский", "langSimplifiedChinese": "简体中文", @@ -63,7 +67,10 @@ "statusConvertingModel": "Converting Model", "statusModelConverted": "Model Converted", "statusMergingModels": "Merging Models", - "statusMergedModels": "Models Merged" + "statusMergedModels": "Models Merged", + "pinOptionsPanel": "Pin Options Panel", + "loading": "Loading", + "loadingInvokeAI": "Loading Invoke AI" }, "gallery": { "generations": "Generations", @@ -82,7 +89,7 @@ "noImagesInGallery": "No Images In Gallery" }, "hotkeys": { - "keyboardShortcuts": "Keyboard Shorcuts", + "keyboardShortcuts": "Keyboard Shortcuts", "appHotkeys": "App Hotkeys", "generalHotkeys": "General Hotkeys", "galleryHotkeys": "Gallery Hotkeys", @@ -387,13 +394,16 @@ "mergedModelCustomSaveLocation": "Custom Path", "invokeAIFolder": "Invoke AI Folder", "ignoreMismatch": "Ignore Mismatches Between Selected Models", - "modelMergeHeaderHelp1": "You can merge upto three different models to create a blend that suits your needs.", + "modelMergeHeaderHelp1": "You can merge up to three different models to create a blend that suits your needs.", "modelMergeHeaderHelp2": "Only Diffusers are available for merging. If you want to merge a checkpoint model, please convert it to Diffusers first.", "modelMergeAlphaHelp": "Alpha controls blend strength for the models. Lower alpha values lead to lower influence of the second model.", "modelMergeInterpAddDifferenceHelp": "In this mode, Model 3 is first subtracted from Model 2. The resulting version is blended with Model 1 with the alpha rate set above.", "inverseSigmoid": "Inverse Sigmoid", "sigmoid": "Sigmoid", - "weightedSum": "Weighted Sum" + "weightedSum": "Weighted Sum", + "none": "none", + "addDifference": "Add Difference", + "pickModelType": "Pick Model Type" }, "parameters": { "general": "General", diff --git a/invokeai/frontend/web/dist/locales/es.json b/invokeai/frontend/web/dist/locales/es.json index 2eff2e1e01..5081ab0799 100644 --- a/invokeai/frontend/web/dist/locales/es.json +++ b/invokeai/frontend/web/dist/locales/es.json @@ -15,7 +15,7 @@ "langSpanish": "Español", "nodesDesc": "Un sistema de generación de imágenes basado en nodos, actualmente se encuentra en desarrollo. Mantente pendiente a nuestras actualizaciones acerca de esta fabulosa funcionalidad.", "postProcessing": "Post-procesamiento", - "postProcessDesc1": "Invoke AI ofrece una gran variedad de funciones de post-procesamiento, El aumento de tamaño y Restauración de Rostros ya se encuentran disponibles en la interfaz web, puedes acceder desde el menú de Opciones Avanzadas en las pestañas de Texto a Imagen y de Imagen a Imagen. También puedes acceder a estas funciones directamente mediante el botón de acciones en el menú superior de la imagen actual o en el visualizador", + "postProcessDesc1": "Invoke AI ofrece una gran variedad de funciones de post-procesamiento, El aumento de tamaño y Restauración de Rostros ya se encuentran disponibles en la interfaz web, puedes acceder desde el menú de Opciones Avanzadas en las pestañas de Texto a Imagen y de Imagen a Imagen. También puedes acceder a estas funciones directamente mediante el botón de acciones en el menú superior de la imagen actual o en el visualizador.", "postProcessDesc2": "Una interfaz de usuario dedicada se lanzará pronto para facilitar flujos de trabajo de postprocesamiento más avanzado.", "postProcessDesc3": "La Interfaz de Línea de Comandos de Invoke AI ofrece muchas otras características, incluyendo -Embiggen-.", "training": "Entrenamiento", @@ -44,7 +44,26 @@ "statusUpscaling": "Aumentando Tamaño", "statusUpscalingESRGAN": "Restaurando Rostros(ESRGAN)", "statusLoadingModel": "Cargando Modelo", - "statusModelChanged": "Modelo cambiado" + "statusModelChanged": "Modelo cambiado", + "statusMergedModels": "Modelos combinados", + "githubLabel": "Github", + "discordLabel": "Discord", + "langEnglish": "Inglés", + "langDutch": "Holandés", + "langFrench": "Francés", + "langGerman": "Alemán", + "langItalian": "Italiano", + "langArabic": "Árabe", + "langJapanese": "Japones", + "langPolish": "Polaco", + "langBrPortuguese": "Portugués brasileño", + "langRussian": "Ruso", + "langSimplifiedChinese": "Chino simplificado", + "langUkranian": "Ucraniano", + "back": "Atrás", + "statusConvertingModel": "Convertir el modelo", + "statusModelConverted": "Modelo adaptado", + "statusMergingModels": "Fusionar modelos" }, "gallery": { "generations": "Generaciones", @@ -284,16 +303,16 @@ "nameValidationMsg": "Introduce un nombre para tu modelo", "description": "Descripción", "descriptionValidationMsg": "Introduce una descripción para tu modelo", - "config": "Config", - "configValidationMsg": "Ruta del archivo de configuración del modelo", + "config": "Configurar", + "configValidationMsg": "Ruta del archivo de configuración del modelo.", "modelLocation": "Ubicación del Modelo", - "modelLocationValidationMsg": "Ruta del archivo de modelo", + "modelLocationValidationMsg": "Ruta del archivo de modelo.", "vaeLocation": "Ubicación VAE", - "vaeLocationValidationMsg": "Ruta del archivo VAE", + "vaeLocationValidationMsg": "Ruta del archivo VAE.", "width": "Ancho", - "widthValidationMsg": "Ancho predeterminado de tu modelo", + "widthValidationMsg": "Ancho predeterminado de tu modelo.", "height": "Alto", - "heightValidationMsg": "Alto predeterminado de tu modelo", + "heightValidationMsg": "Alto predeterminado de tu modelo.", "addModel": "Añadir Modelo", "updateModel": "Actualizar Modelo", "availableModels": "Modelos disponibles", @@ -320,7 +339,61 @@ "deleteModel": "Eliminar Modelo", "deleteConfig": "Eliminar Configuración", "deleteMsg1": "¿Estás seguro de querer eliminar esta entrada de modelo de InvokeAI?", - "deleteMsg2": "El checkpoint del modelo no se eliminará de tu disco. Puedes volver a añadirlo si lo deseas." + "deleteMsg2": "El checkpoint del modelo no se eliminará de tu disco. Puedes volver a añadirlo si lo deseas.", + "safetensorModels": "SafeTensors", + "addDiffuserModel": "Añadir difusores", + "inpainting": "v1 Repintado", + "repoIDValidationMsg": "Repositorio en línea de tu modelo", + "checkpointModels": "Puntos de control", + "convertToDiffusersHelpText4": "Este proceso se realiza una sola vez. Puede tardar entre 30 y 60 segundos dependiendo de las especificaciones de tu ordenador.", + "diffusersModels": "Difusores", + "addCheckpointModel": "Agregar modelo de punto de control/Modelo Safetensor", + "vaeRepoID": "Identificador del repositorio de VAE", + "vaeRepoIDValidationMsg": "Repositorio en línea de tú VAE", + "formMessageDiffusersModelLocation": "Difusores Modelo Ubicación", + "formMessageDiffusersModelLocationDesc": "Por favor, introduzca al menos uno.", + "formMessageDiffusersVAELocation": "Ubicación VAE", + "formMessageDiffusersVAELocationDesc": "Si no se proporciona, InvokeAI buscará el archivo VAE dentro de la ubicación del modelo indicada anteriormente.", + "convert": "Convertir", + "convertToDiffusers": "Convertir en difusores", + "convertToDiffusersHelpText1": "Este modelo se convertirá al formato 🧨 Difusores.", + "convertToDiffusersHelpText2": "Este proceso sustituirá su entrada del Gestor de Modelos por la versión de Difusores del mismo modelo.", + "convertToDiffusersHelpText3": "Su archivo de puntos de control en el disco NO será borrado ni modificado de ninguna manera. Puede volver a añadir su punto de control al Gestor de Modelos si lo desea.", + "convertToDiffusersHelpText5": "Asegúrese de que dispone de suficiente espacio en disco. Los modelos suelen variar entre 4 GB y 7 GB de tamaño.", + "convertToDiffusersHelpText6": "¿Desea transformar este modelo?", + "convertToDiffusersSaveLocation": "Guardar ubicación", + "v1": "v1", + "v2": "v2", + "statusConverting": "Adaptar", + "modelConverted": "Modelo adaptado", + "sameFolder": "La misma carpeta", + "invokeRoot": "Carpeta InvokeAI", + "custom": "Personalizado", + "customSaveLocation": "Ubicación personalizada para guardar", + "merge": "Fusión", + "modelsMerged": "Modelos fusionados", + "mergeModels": "Combinar modelos", + "modelOne": "Modelo 1", + "modelTwo": "Modelo 2", + "modelThree": "Modelo 3", + "mergedModelName": "Nombre del modelo combinado", + "alpha": "Alfa", + "interpolationType": "Tipo de interpolación", + "mergedModelSaveLocation": "Guardar ubicación", + "mergedModelCustomSaveLocation": "Ruta personalizada", + "invokeAIFolder": "Invocar carpeta de la inteligencia artificial", + "modelMergeHeaderHelp2": "Sólo se pueden fusionar difusores. Si desea fusionar un modelo de punto de control, conviértalo primero en difusores.", + "modelMergeAlphaHelp": "Alfa controla la fuerza de mezcla de los modelos. Los valores alfa más bajos reducen la influencia del segundo modelo.", + "modelMergeInterpAddDifferenceHelp": "En este modo, el Modelo 3 se sustrae primero del Modelo 2. La versión resultante se mezcla con el Modelo 1 con la tasa alfa establecida anteriormente. La versión resultante se mezcla con el Modelo 1 con la tasa alfa establecida anteriormente.", + "ignoreMismatch": "Ignorar discrepancias entre modelos seleccionados", + "modelMergeHeaderHelp1": "Puede combinar hasta tres modelos diferentes para crear una mezcla que se adapte a sus necesidades.", + "inverseSigmoid": "Sigmoideo inverso", + "weightedSum": "Modelo de suma ponderada", + "sigmoid": "Función sigmoide", + "allModels": "Todos los modelos", + "repo_id": "Identificador del repositorio", + "pathToCustomConfig": "Ruta a la configuración personalizada", + "customConfig": "Configuración personalizada" }, "parameters": { "images": "Imágenes", @@ -380,7 +453,22 @@ "info": "Información", "deleteImage": "Eliminar Imagen", "initialImage": "Imagen Inicial", - "showOptionsPanel": "Mostrar panel de opciones" + "showOptionsPanel": "Mostrar panel de opciones", + "symmetry": "Simetría", + "vSymmetryStep": "Paso de simetría V", + "hSymmetryStep": "Paso de simetría H", + "cancel": { + "immediate": "Cancelar inmediatamente", + "schedule": "Cancelar tras la iteración actual", + "isScheduled": "Cancelando", + "setType": "Tipo de cancelación" + }, + "copyImage": "Copiar la imagen", + "general": "General", + "negativePrompts": "Preguntas negativas", + "imageToImage": "Imagen a imagen", + "denoisingStrength": "Intensidad de la eliminación del ruido", + "hiresStrength": "Alta resistencia" }, "settings": { "models": "Modelos", @@ -393,7 +481,8 @@ "resetWebUI": "Restablecer interfaz web", "resetWebUIDesc1": "Al restablecer la interfaz web, solo se restablece la caché local del navegador de sus imágenes y la configuración guardada. No se elimina ninguna imagen de su disco duro.", "resetWebUIDesc2": "Si las imágenes no se muestran en la galería o algo más no funciona, intente restablecer antes de reportar un incidente en GitHub.", - "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla." + "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla.", + "useSlidersForAll": "Utilice controles deslizantes para todas las opciones" }, "toast": { "tempFoldersEmptied": "Directorio temporal vaciado", @@ -431,12 +520,12 @@ "feature": { "prompt": "Este campo tomará todo el texto de entrada, incluidos tanto los términos de contenido como los estilísticos. Si bien se pueden incluir pesos en la solicitud, los comandos/parámetros estándar de línea de comandos no funcionarán.", "gallery": "Conforme se generan nuevas invocaciones, los archivos del directorio de salida se mostrarán aquí. Las generaciones tienen opciones adicionales para configurar nuevas generaciones.", - "other": "Estas opciones habilitarán modos de procesamiento alternativos para Invoke. El modo sin costuras funciona para generar patrones repetitivos en la salida. La optimización de alta resolución realiza un ciclo de generación de dos pasos y debe usarse en resoluciones más altas cuando desee una imagen/composición más coherente.", + "other": "Estas opciones habilitarán modos de procesamiento alternativos para Invoke. 'Seamless mosaico' creará patrones repetitivos en la salida. 'Alta resolución' es la generación en dos pasos con img2img: use esta configuración cuando desee una imagen más grande y más coherente sin artefactos. tomar más tiempo de lo habitual txt2img.", "seed": "Los valores de semilla proporcionan un conjunto inicial de ruido que guían el proceso de eliminación de ruido y se pueden aleatorizar o rellenar con una semilla de una invocación anterior. La función Umbral se puede usar para mitigar resultados indeseables a valores CFG más altos (intente entre 0-10), y Perlin se puede usar para agregar ruido Perlin al proceso de eliminación de ruido. Ambos sirven para agregar variación a sus salidas.", "variations": "Pruebe una variación con una cantidad entre 0 y 1 para cambiar la imagen de salida para la semilla establecida. Se encuentran variaciones interesantes en la semilla entre 0.1 y 0.3.", "upscale": "Usando ESRGAN, puede aumentar la resolución de salida sin requerir un ancho/alto más alto en la generación inicial.", "faceCorrection": "Usando GFPGAN o Codeformer, la corrección de rostros intentará identificar rostros en las salidas y corregir cualquier defecto/anormalidad. Los valores de fuerza más altos aplicarán una presión correctiva más fuerte en las salidas, lo que resultará en rostros más atractivos. Con Codeformer, una mayor fidelidad intentará preservar la imagen original, a expensas de la fuerza de corrección de rostros.", - "imageToImage": "Imagen a Imagen permite cargar una imagen inicial, que InvokeAI usará para guiar el proceso de generación, junto con una solicitud. Un valor más bajo para esta configuración se parecerá más a la imagen original. Se aceptan valores entre 0-1, y se recomienda un rango de .25-.75.", + "imageToImage": "Imagen a Imagen permite cargar una imagen inicial, que InvokeAI usará para guiar el proceso de generación, junto con una solicitud. Un valor más bajo para esta configuración se parecerá más a la imagen original. Se aceptan valores entre 0-1, y se recomienda un rango de .25-.75", "boundingBox": "La caja delimitadora es análoga a las configuraciones de Ancho y Alto para Texto a Imagen o Imagen a Imagen. Solo se procesará el área en la caja.", "seamCorrection": "Controla el manejo de parches visibles que pueden ocurrir cuando se pega una imagen generada de nuevo en el lienzo.", "infillAndScaling": "Administra los métodos de relleno (utilizados en áreas enmascaradas o borradas del lienzo) y la escala (útil para tamaños de caja delimitadora pequeños)." diff --git a/invokeai/frontend/web/dist/locales/pt_BR.json b/invokeai/frontend/web/dist/locales/pt_BR.json index 2380f92932..fdfe2270bf 100644 --- a/invokeai/frontend/web/dist/locales/pt_BR.json +++ b/invokeai/frontend/web/dist/locales/pt_BR.json @@ -44,7 +44,26 @@ "statusUpscaling": "Redimensinando", "statusUpscalingESRGAN": "Redimensinando (ESRGAN)", "statusLoadingModel": "Carregando Modelo", - "statusModelChanged": "Modelo Alterado" + "statusModelChanged": "Modelo Alterado", + "githubLabel": "Github", + "discordLabel": "Discord", + "langArabic": "Árabe", + "langEnglish": "Inglês", + "langDutch": "Holandês", + "langFrench": "Francês", + "langGerman": "Alemão", + "langItalian": "Italiano", + "langJapanese": "Japonês", + "langPolish": "Polonês", + "langSimplifiedChinese": "Chinês", + "langUkranian": "Ucraniano", + "back": "Voltar", + "statusConvertingModel": "Convertendo Modelo", + "statusModelConverted": "Modelo Convertido", + "statusMergingModels": "Mesclando Modelos", + "statusMergedModels": "Modelos Mesclados", + "langRussian": "Russo", + "langSpanish": "Espanhol" }, "gallery": { "generations": "Gerações", @@ -237,7 +256,7 @@ "desc": "Salva a tela atual na galeria" }, "copyToClipboard": { - "title": "Copiar Para a Área de Transferência ", + "title": "Copiar para a Área de Transferência", "desc": "Copia a tela atual para a área de transferência" }, "downloadImage": { @@ -284,7 +303,7 @@ "nameValidationMsg": "Insira um nome para o seu modelo", "description": "Descrição", "descriptionValidationMsg": "Adicione uma descrição para o seu modelo", - "config": "Config", + "config": "Configuração", "configValidationMsg": "Caminho para o arquivo de configuração do seu modelo.", "modelLocation": "Localização do modelo", "modelLocationValidationMsg": "Caminho para onde seu modelo está localizado.", @@ -317,7 +336,52 @@ "deleteModel": "Excluir modelo", "deleteConfig": "Excluir Config", "deleteMsg1": "Tem certeza de que deseja excluir esta entrada do modelo de InvokeAI?", - "deleteMsg2": "Isso não vai excluir o arquivo de modelo checkpoint do seu disco. Você pode lê-los, se desejar." + "deleteMsg2": "Isso não vai excluir o arquivo de modelo checkpoint do seu disco. Você pode lê-los, se desejar.", + "checkpointModels": "Checkpoints", + "diffusersModels": "Diffusers", + "safetensorModels": "SafeTensors", + "addCheckpointModel": "Adicionar Modelo de Checkpoint/Safetensor", + "addDiffuserModel": "Adicionar Diffusers", + "repo_id": "Repo ID", + "vaeRepoID": "VAE Repo ID", + "vaeRepoIDValidationMsg": "Repositório Online do seu VAE", + "scanAgain": "Digitalize Novamente", + "selectAndAdd": "Selecione e Adicione Modelos Listados Abaixo", + "noModelsFound": "Nenhum Modelo Encontrado", + "formMessageDiffusersModelLocation": "Localização dos Modelos Diffusers", + "formMessageDiffusersModelLocationDesc": "Por favor entre com ao menos um.", + "formMessageDiffusersVAELocation": "Localização do VAE", + "formMessageDiffusersVAELocationDesc": "Se não provido, InvokeAI irá procurar pelo arquivo VAE dentro do local do modelo.", + "convertToDiffusers": "Converter para Diffusers", + "convertToDiffusersHelpText1": "Este modelo será convertido para o formato 🧨 Diffusers.", + "convertToDiffusersHelpText5": "Por favor, certifique-se de que você tenha espaço suficiente em disco. Os modelos geralmente variam entre 4GB e 7GB de tamanho.", + "convertToDiffusersHelpText6": "Você deseja converter este modelo?", + "convertToDiffusersSaveLocation": "Local para Salvar", + "v1": "v1", + "v2": "v2", + "inpainting": "v1 Inpainting", + "customConfig": "Configuração personalizada", + "pathToCustomConfig": "Caminho para configuração personalizada", + "convertToDiffusersHelpText3": "Seu arquivo de ponto de verificação no disco NÃO será excluído ou modificado de forma alguma. Você pode adicionar seu ponto de verificação ao Gerenciador de modelos novamente, se desejar.", + "convertToDiffusersHelpText4": "Este é um processo único. Pode levar cerca de 30 a 60s, dependendo das especificações do seu computador.", + "merge": "Mesclar", + "modelsMerged": "Modelos mesclados", + "mergeModels": "Mesclar modelos", + "modelOne": "Modelo 1", + "modelTwo": "Modelo 2", + "modelThree": "Modelo 3", + "statusConverting": "Convertendo", + "modelConverted": "Modelo Convertido", + "sameFolder": "Mesma pasta", + "invokeRoot": "Pasta do InvokeAI", + "custom": "Personalizado", + "customSaveLocation": "Local de salvamento personalizado", + "mergedModelName": "Nome do modelo mesclado", + "alpha": "Alpha", + "allModels": "Todos os Modelos", + "repoIDValidationMsg": "Repositório Online do seu Modelo", + "convert": "Converter", + "convertToDiffusersHelpText2": "Este processo irá substituir sua entrada de Gerenciador de Modelos por uma versão Diffusers do mesmo modelo." }, "parameters": { "images": "Imagems", @@ -442,14 +506,14 @@ "move": "Mover", "resetView": "Resetar Visualização", "mergeVisible": "Fundir Visível", - "saveToGallery": "Save To Gallery", + "saveToGallery": "Salvar na Galeria", "copyToClipboard": "Copiar para a Área de Transferência", "downloadAsImage": "Baixar Como Imagem", "undo": "Desfazer", "redo": "Refazer", "clearCanvas": "Limpar Tela", "canvasSettings": "Configurações de Tela", - "showIntermediates": "Show Intermediates", + "showIntermediates": "Mostrar Intermediários", "showGrid": "Mostrar Grade", "snapToGrid": "Encaixar na Grade", "darkenOutsideSelection": "Escurecer Seleção Externa", diff --git a/invokeai/frontend/web/dist/locales/ro.json b/invokeai/frontend/web/dist/locales/ro.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/invokeai/frontend/web/dist/locales/ro.json @@ -0,0 +1 @@ +{} diff --git a/invokeai/frontend/web/index.html b/invokeai/frontend/web/index.html index 8314e22a7d..04d81e5490 100644 --- a/invokeai/frontend/web/index.html +++ b/invokeai/frontend/web/index.html @@ -5,9 +5,16 @@ InvokeAI - A Stable Diffusion Toolkit + - +
diff --git a/invokeai/frontend/web/package.json b/invokeai/frontend/web/package.json index c907a83cd9..c47042ef95 100644 --- a/invokeai/frontend/web/package.json +++ b/invokeai/frontend/web/package.json @@ -5,28 +5,44 @@ "scripts": { "prepare": "cd ../../../ && husky install invokeai/frontend/web/.husky", "dev": "vite dev", - "build": "tsc && vite build", + "build": "npm run lint && vite build", "preview": "vite preview", - "madge": "madge --circular src/main.tsx", - "lint": "eslint --fix .", + "lint:madge": "madge --circular src/main.tsx", + "lint:eslint": "eslint --max-warnings=0", + "lint:prettier": "prettier --check .", + "lint:tsc": "tsc --noEmit", + "lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:tsc && npm run lint:madge", + "fix": "eslint --fix . && prettier --loglevel warn --write . && tsc --noEmit", "lint-staged": "lint-staged", - "prettier": "prettier *.{json,js,ts,html} public/locales/*.json src/**/*.{ts,tsx,scss} --write --loglevel warn .", - "fmt": "npm run prettier -- --write", - "postinstall": "patch-package" + "postinstall": "patch-package && yarn run theme", + "theme": "chakra-cli tokens src/theme/theme.ts", + "theme:watch": "chakra-cli tokens src/theme/theme.ts --watch" + }, + "madge": { + "detectiveOptions": { + "ts": { + "skipTypeImports": true + }, + "tsx": { + "skipTypeImports": true + } + } + }, + "lint-staged": { + "**/*.{js,jsx,ts,tsx,cjs,json,html,scss}": [ + "prettier --write", + "eslint --fix" + ] }, "dependencies": { + "@chakra-ui/anatomy": "^2.1.1", "@chakra-ui/icons": "^2.0.17", "@chakra-ui/react": "^2.5.1", - "@emotion/cache": "^11.10.5", + "@chakra-ui/theme-tools": "^2.0.16", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", - "@radix-ui/react-context-menu": "^2.1.1", - "@radix-ui/react-slider": "^1.1.0", - "@radix-ui/react-tooltip": "^1.0.3", "@reduxjs/toolkit": "^1.9.2", - "@types/uuid": "^9.0.0", - "@vitejs/plugin-react-swc": "^3.2.0", - "add": "^2.0.6", + "chakra-ui-contextmenu": "^1.0.5", "dateformat": "^5.0.3", "formik": "^2.2.9", "framer-motion": "^9.0.4", @@ -50,19 +66,21 @@ "react-zoom-pan-pinch": "^2.6.1", "redux-deep-persist": "^1.0.7", "redux-persist": "^6.0.0", - "socket.io": "^4.6.0", "socket.io-client": "^4.6.0", "use-image": "^1.1.0", - "uuid": "^9.0.0", - "yarn": "^1.22.19" + "uuid": "^9.0.0" }, "devDependencies": { + "@chakra-ui/cli": "^2.3.0", + "@fontsource/inter": "^4.5.15", "@types/dateformat": "^5.0.0", "@types/react": "^18.0.28", "@types/react-dom": "^18.0.11", "@types/react-transition-group": "^4.4.5", + "@types/uuid": "^9.0.0", "@typescript-eslint/eslint-plugin": "^5.52.0", "@typescript-eslint/parser": "^5.52.0", + "@vitejs/plugin-react-swc": "^3.2.0", "babel-plugin-transform-imports": "^2.0.0", "eslint": "^8.34.0", "eslint-config-prettier": "^8.6.0", @@ -76,26 +94,10 @@ "postinstall-postinstall": "^2.1.0", "prettier": "^2.8.4", "rollup-plugin-visualizer": "^5.9.0", - "sass": "^1.58.3", "terser": "^5.16.4", "vite": "^4.1.2", "vite-plugin-eslint": "^1.8.1", - "vite-tsconfig-paths": "^4.0.5" - }, - "madge": { - "detectiveOptions": { - "ts": { - "skipTypeImports": true - }, - "tsx": { - "skipTypeImports": true - } - } - }, - "lint-staged": { - "**/*.{js,jsx,ts,tsx,cjs,json,html,scss}": [ - "npm run prettier", - "npm run lint" - ] + "vite-tsconfig-paths": "^4.0.5", + "yarn": "^1.22.19" } } diff --git a/invokeai/frontend/web/patches/@chakra-ui+cli+2.3.0.patch b/invokeai/frontend/web/patches/@chakra-ui+cli+2.3.0.patch new file mode 100644 index 0000000000..03db6e8238 --- /dev/null +++ b/invokeai/frontend/web/patches/@chakra-ui+cli+2.3.0.patch @@ -0,0 +1,14 @@ +diff --git a/node_modules/@chakra-ui/cli/dist/scripts/read-theme-file.worker.js b/node_modules/@chakra-ui/cli/dist/scripts/read-theme-file.worker.js +index 937cf0d..7dcc0c0 100644 +--- a/node_modules/@chakra-ui/cli/dist/scripts/read-theme-file.worker.js ++++ b/node_modules/@chakra-ui/cli/dist/scripts/read-theme-file.worker.js +@@ -50,7 +50,8 @@ async function readTheme(themeFilePath) { + project: tsConfig.configFileAbsolutePath, + compilerOptions: { + module: "CommonJS", +- esModuleInterop: true ++ esModuleInterop: true, ++ jsx: 'react' + }, + transpileOnly: true, + swc: true diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index c9a3f48c47..00e1202f12 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -10,14 +10,18 @@ "darkTheme": "Dark", "lightTheme": "Light", "greenTheme": "Green", + "oceanTheme": "Ocean", "langArabic": "العربية", "langEnglish": "English", "langDutch": "Nederlands", "langFrench": "Français", "langGerman": "Deutsch", + "langHebrew": "עברית", "langItalian": "Italiano", "langJapanese": "日本語", + "langKorean": "한국어", "langPolish": "Polski", + "langPortuguese": "Português", "langBrPortuguese": "Português do Brasil", "langRussian": "Русский", "langSimplifiedChinese": "简体中文", @@ -63,7 +67,10 @@ "statusConvertingModel": "Converting Model", "statusModelConverted": "Model Converted", "statusMergingModels": "Merging Models", - "statusMergedModels": "Models Merged" + "statusMergedModels": "Models Merged", + "pinOptionsPanel": "Pin Options Panel", + "loading": "Loading", + "loadingInvokeAI": "Loading Invoke AI" }, "gallery": { "generations": "Generations", @@ -82,7 +89,7 @@ "noImagesInGallery": "No Images In Gallery" }, "hotkeys": { - "keyboardShortcuts": "Keyboard Shorcuts", + "keyboardShortcuts": "Keyboard Shortcuts", "appHotkeys": "App Hotkeys", "generalHotkeys": "General Hotkeys", "galleryHotkeys": "Gallery Hotkeys", @@ -387,13 +394,16 @@ "mergedModelCustomSaveLocation": "Custom Path", "invokeAIFolder": "Invoke AI Folder", "ignoreMismatch": "Ignore Mismatches Between Selected Models", - "modelMergeHeaderHelp1": "You can merge upto three different models to create a blend that suits your needs.", + "modelMergeHeaderHelp1": "You can merge up to three different models to create a blend that suits your needs.", "modelMergeHeaderHelp2": "Only Diffusers are available for merging. If you want to merge a checkpoint model, please convert it to Diffusers first.", "modelMergeAlphaHelp": "Alpha controls blend strength for the models. Lower alpha values lead to lower influence of the second model.", "modelMergeInterpAddDifferenceHelp": "In this mode, Model 3 is first subtracted from Model 2. The resulting version is blended with Model 1 with the alpha rate set above.", "inverseSigmoid": "Inverse Sigmoid", "sigmoid": "Sigmoid", - "weightedSum": "Weighted Sum" + "weightedSum": "Weighted Sum", + "none": "none", + "addDifference": "Add Difference", + "pickModelType": "Pick Model Type" }, "parameters": { "general": "General", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json new file mode 100644 index 0000000000..0950fb51de --- /dev/null +++ b/invokeai/frontend/web/public/locales/he.json @@ -0,0 +1,593 @@ +{ + "modelManager": { + "cannotUseSpaces": "לא ניתן להשתמש ברווחים", + "addNew": "הוסף חדש", + "vaeLocationValidationMsg": "נתיב למקום שבו ממוקם ה- VAE שלך.", + "height": "גובה", + "load": "טען", + "search": "חיפוש", + "heightValidationMsg": "גובה ברירת המחדל של המודל שלך.", + "addNewModel": "הוסף מודל חדש", + "allModels": "כל המודלים", + "checkpointModels": "נקודות ביקורת", + "diffusersModels": "מפזרים", + "safetensorModels": "טנסורים בטוחים", + "modelAdded": "מודל התווסף", + "modelUpdated": "מודל עודכן", + "modelEntryDeleted": "רשומת המודל נמחקה", + "addCheckpointModel": "הוסף נקודת ביקורת / מודל טנסור בטוח", + "addDiffuserModel": "הוסף מפזרים", + "addManually": "הוספה ידנית", + "manual": "ידני", + "name": "שם", + "description": "תיאור", + "descriptionValidationMsg": "הוסף תיאור למודל שלך", + "config": "תצורה", + "configValidationMsg": "נתיב לקובץ התצורה של המודל שלך.", + "modelLocation": "מיקום המודל", + "modelLocationValidationMsg": "נתיב למקום שבו המודל שלך ממוקם באופן מקומי.", + "repo_id": "מזהה מאגר", + "repoIDValidationMsg": "מאגר מקוון של המודל שלך", + "vaeLocation": "מיקום VAE", + "vaeRepoIDValidationMsg": "המאגר המקוון של VAE שלך", + "width": "רוחב", + "widthValidationMsg": "רוחב ברירת המחדל של המודל שלך.", + "addModel": "הוסף מודל", + "updateModel": "עדכן מודל", + "active": "פעיל", + "modelsFound": "מודלים נמצאו", + "cached": "נשמר במטמון", + "checkpointFolder": "תיקיית נקודות ביקורת", + "findModels": "מצא מודלים", + "scanAgain": "סרוק מחדש", + "selectFolder": "בחירת תיקייה", + "selected": "נבחר", + "selectAll": "בחר הכל", + "deselectAll": "ביטול בחירת הכל", + "showExisting": "הצג קיים", + "addSelected": "הוסף פריטים שנבחרו", + "modelExists": "המודל קיים", + "selectAndAdd": "בחר והוסך מודלים המפורטים להלן", + "deleteModel": "מחיקת מודל", + "deleteConfig": "מחיקת תצורה", + "formMessageDiffusersModelLocation": "מיקום מפזרי המודל", + "formMessageDiffusersModelLocationDesc": "נא להזין לפחות אחד.", + "convertToDiffusersHelpText5": "אנא ודא/י שיש לך מספיק מקום בדיסק. גדלי מודלים בדרך כלל הינם בין 4GB-7GB.", + "convertToDiffusersHelpText1": "מודל זה יומר לפורמט 🧨 המפזרים.", + "convertToDiffusersHelpText2": "תהליך זה יחליף את הרשומה של מנהל המודלים שלך בגרסת המפזרים של אותו המודל.", + "convertToDiffusersHelpText6": "האם ברצונך להמיר מודל זה?", + "convertToDiffusersSaveLocation": "שמירת מיקום", + "inpainting": "v1 צביעת תוך", + "statusConverting": "ממיר", + "modelConverted": "מודל הומר", + "sameFolder": "אותה תיקיה", + "custom": "התאמה אישית", + "merge": "מזג", + "modelsMerged": "מודלים מוזגו", + "mergeModels": "מזג מודלים", + "modelOne": "מודל 1", + "customSaveLocation": "מיקום שמירה מותאם אישית", + "alpha": "אלפא", + "mergedModelSaveLocation": "שמירת מיקום", + "mergedModelCustomSaveLocation": "נתיב מותאם אישית", + "ignoreMismatch": "התעלמות מאי-התאמות בין מודלים שנבחרו", + "modelMergeHeaderHelp1": "ניתן למזג עד שלושה מודלים שונים כדי ליצור שילוב שמתאים לצרכים שלכם.", + "modelMergeAlphaHelp": "אלפא שולט בחוזק מיזוג עבור המודלים. ערכי אלפא נמוכים יותר מובילים להשפעה נמוכה יותר של המודל השני.", + "nameValidationMsg": "הכנס שם למודל שלך", + "vaeRepoID": "מזהה מאגר ה VAE", + "modelManager": "מנהל המודלים", + "model": "מודל", + "availableModels": "מודלים זמינים", + "notLoaded": "לא נטען", + "clearCheckpointFolder": "נקה את תיקיית נקודות הביקורת", + "noModelsFound": "לא נמצאו מודלים", + "delete": "מחיקה", + "deleteMsg1": "האם אתה בטוח שברצונך למחוק רשומת מודל זו מ- InvokeAI?", + "deleteMsg2": "פעולה זו לא תמחק את קובץ נקודת הביקורת מהדיסק שלך. ניתן לקרוא אותם מחדש במידת הצורך.", + "formMessageDiffusersVAELocation": "מיקום VAE", + "formMessageDiffusersVAELocationDesc": "במידה ולא מסופק, InvokeAI תחפש את קובץ ה-VAE במיקום המודל המופיע לעיל.", + "convertToDiffusers": "המרה למפזרים", + "convert": "המרה", + "modelTwo": "מודל 2", + "modelThree": "מודל 3", + "mergedModelName": "שם מודל ממוזג", + "v1": "v1", + "v2": "v2", + "invokeRoot": "תיקיית InvokeAI", + "customConfig": "תצורה מותאמת אישית", + "pathToCustomConfig": "נתיב לתצורה מותאמת אישית", + "interpolationType": "סוג אינטרפולציה", + "invokeAIFolder": "תיקיית InvokeAI", + "sigmoid": "סיגמואיד", + "weightedSum": "סכום משוקלל", + "modelMergeHeaderHelp2": "רק מפזרים זמינים למיזוג. אם ברצונך למזג מודל של נקודת ביקורת, המר אותו תחילה למפזרים.", + "inverseSigmoid": "הפוך סיגמואיד", + "convertToDiffusersHelpText3": "קובץ נקודת הביקורת שלך בדיסק לא יימחק או ישונה בכל מקרה. אתה יכול להוסיף את נקודת הביקורת שלך למנהל המודלים שוב אם תרצה בכך.", + "convertToDiffusersHelpText4": "זהו תהליך חד פעמי בלבד. התהליך עשוי לקחת בסביבות 30-60 שניות, תלוי במפרט המחשב שלך.", + "modelMergeInterpAddDifferenceHelp": "במצב זה, מודל 3 מופחת תחילה ממודל 2. הגרסה המתקבלת משולבת עם מודל 1 עם קצב האלפא שנקבע לעיל." + }, + "common": { + "nodesDesc": "מערכת מבוססת צמתים עבור יצירת תמונות עדיין תחת פיתוח. השארו קשובים לעדכונים עבור הפיצ׳ר המדהים הזה.", + "themeLabel": "ערכת נושא", + "languagePickerLabel": "בחירת שפה", + "githubLabel": "גיטהאב", + "discordLabel": "דיסקורד", + "settingsLabel": "הגדרות", + "darkTheme": "חשוך", + "lightTheme": "מואר", + "langEnglish": "אנגלית", + "langDutch": "הולנדית", + "langArabic": "ערבית", + "langFrench": "צרפתית", + "langGerman": "גרמנית", + "langJapanese": "יפנית", + "langBrPortuguese": "פורטוגזית", + "langRussian": "רוסית", + "langSimplifiedChinese": "סינית", + "langUkranian": "אוקראינית", + "langSpanish": "ספרדית", + "text2img": "טקסט לתמונה", + "img2img": "תמונה לתמונה", + "unifiedCanvas": "קנבס מאוחד", + "nodes": "צמתים", + "postProcessing": "לאחר עיבוד", + "postProcessDesc2": "תצוגה ייעודית תשוחרר בקרוב על מנת לתמוך בתהליכים ועיבודים מורכבים.", + "postProcessDesc3": "ממשק שורת הפקודה של Invoke AI מציע תכונות שונות אחרות כולל Embiggen.", + "close": "סגירה", + "statusConnected": "מחובר", + "statusDisconnected": "מנותק", + "statusError": "שגיאה", + "statusPreparing": "בהכנה", + "statusProcessingCanceled": "עיבוד בוטל", + "statusProcessingComplete": "עיבוד הסתיים", + "statusGenerating": "מייצר", + "statusGeneratingTextToImage": "מייצר טקסט לתמונה", + "statusGeneratingImageToImage": "מייצר תמונה לתמונה", + "statusGeneratingInpainting": "מייצר ציור לתוך", + "statusGeneratingOutpainting": "מייצר ציור החוצה", + "statusIterationComplete": "איטרציה הסתיימה", + "statusRestoringFaces": "משחזר פרצופים", + "statusRestoringFacesCodeFormer": "משחזר פרצופים (CodeFormer)", + "statusUpscaling": "העלאת קנה מידה", + "statusUpscalingESRGAN": "העלאת קנה מידה (ESRGAN)", + "statusModelChanged": "מודל השתנה", + "statusConvertingModel": "ממיר מודל", + "statusModelConverted": "מודל הומר", + "statusMergingModels": "מיזוג מודלים", + "statusMergedModels": "מודלים מוזגו", + "hotkeysLabel": "מקשים חמים", + "reportBugLabel": "דווח באג", + "greenTheme": "ירוק", + "langItalian": "איטלקית", + "upload": "העלאה", + "langPolish": "פולנית", + "training": "אימון", + "load": "טעינה", + "back": "אחורה", + "statusSavingImage": "שומר תמונה", + "statusGenerationComplete": "ייצור הסתיים", + "statusRestoringFacesGFPGAN": "משחזר פרצופים (GFPGAN)", + "statusLoadingModel": "טוען מודל", + "trainingDesc2": "InvokeAI כבר תומך באימון הטמעות מותאמות אישית באמצעות היפוך טקסט באמצעות הסקריפט הראשי.", + "postProcessDesc1": "InvokeAI מציעה מגוון רחב של תכונות עיבוד שלאחר. העלאת קנה מידה של תמונה ושחזור פנים כבר זמינים בממשק המשתמש. ניתן לגשת אליהם מתפריט 'אפשרויות מתקדמות' בכרטיסיות 'טקסט לתמונה' ו'תמונה לתמונה'. ניתן גם לעבד תמונות ישירות, באמצעות לחצני הפעולה של התמונה מעל תצוגת התמונה הנוכחית או בתוך המציג.", + "trainingDesc1": "תהליך עבודה ייעודי לאימון ההטמעות ונקודות הביקורת שלך באמצעות היפוך טקסט ו-Dreambooth מממשק המשתמש." + }, + "hotkeys": { + "toggleGallery": { + "desc": "פתח וסגור את מגירת הגלריה", + "title": "הצג את הגלריה" + }, + "keyboardShortcuts": "קיצורי מקלדת", + "appHotkeys": "קיצורי אפליקציה", + "generalHotkeys": "קיצורי דרך כלליים", + "galleryHotkeys": "קיצורי דרך של הגלריה", + "unifiedCanvasHotkeys": "קיצורי דרך לקנבס המאוחד", + "invoke": { + "title": "הפעל", + "desc": "צור תמונה" + }, + "focusPrompt": { + "title": "התמקדות על הבקשה", + "desc": "התמקדות על איזור הקלדת הבקשה" + }, + "toggleOptions": { + "desc": "פתח וסגור את פאנל ההגדרות", + "title": "הצג הגדרות" + }, + "pinOptions": { + "title": "הצמד הגדרות", + "desc": "הצמד את פאנל ההגדרות" + }, + "toggleViewer": { + "title": "הצג את חלון ההצגה", + "desc": "פתח וסגור את מציג התמונות" + }, + "changeTabs": { + "title": "החלף לשוניות", + "desc": "החלף לאיזור עבודה אחר" + }, + "consoleToggle": { + "desc": "פתח וסגור את הקונסול", + "title": "הצג קונסול" + }, + "setPrompt": { + "title": "הגדרת בקשה", + "desc": "שימוש בבקשה של התמונה הנוכחית" + }, + "restoreFaces": { + "desc": "שחזור התמונה הנוכחית", + "title": "שחזור פרצופים" + }, + "upscale": { + "title": "הגדלת קנה מידה", + "desc": "הגדל את התמונה הנוכחית" + }, + "showInfo": { + "title": "הצג מידע", + "desc": "הצגת פרטי מטא-נתונים של התמונה הנוכחית" + }, + "sendToImageToImage": { + "title": "שלח לתמונה לתמונה", + "desc": "שלח תמונה נוכחית לתמונה לתמונה" + }, + "deleteImage": { + "title": "מחק תמונה", + "desc": "מחק את התמונה הנוכחית" + }, + "closePanels": { + "title": "סגור לוחות", + "desc": "סוגר לוחות פתוחים" + }, + "previousImage": { + "title": "תמונה קודמת", + "desc": "הצג את התמונה הקודמת בגלריה" + }, + "toggleGalleryPin": { + "title": "הצג את מצמיד הגלריה", + "desc": "הצמדה וביטול הצמדה של הגלריה לממשק המשתמש" + }, + "decreaseGalleryThumbSize": { + "title": "הקטנת גודל תמונת גלריה", + "desc": "מקטין את גודל התמונות הממוזערות של הגלריה" + }, + "selectBrush": { + "desc": "בוחר את מברשת הקנבס", + "title": "בחר מברשת" + }, + "selectEraser": { + "title": "בחר מחק", + "desc": "בוחר את מחק הקנבס" + }, + "decreaseBrushSize": { + "title": "הקטנת גודל המברשת", + "desc": "מקטין את גודל מברשת הקנבס/מחק" + }, + "increaseBrushSize": { + "desc": "מגדיל את גודל מברשת הקנבס/מחק", + "title": "הגדלת גודל המברשת" + }, + "decreaseBrushOpacity": { + "title": "הפחת את אטימות המברשת", + "desc": "מקטין את האטימות של מברשת הקנבס" + }, + "increaseBrushOpacity": { + "title": "הגדל את אטימות המברשת", + "desc": "מגביר את האטימות של מברשת הקנבס" + }, + "moveTool": { + "title": "כלי הזזה", + "desc": "מאפשר ניווט על קנבס" + }, + "fillBoundingBox": { + "desc": "ממלא את התיבה התוחמת בצבע מברשת", + "title": "מילוי תיבה תוחמת" + }, + "eraseBoundingBox": { + "desc": "מוחק את אזור התיבה התוחמת", + "title": "מחק תיבה תוחמת" + }, + "colorPicker": { + "title": "בחר בבורר צבעים", + "desc": "בוחר את בורר צבעי הקנבס" + }, + "toggleSnap": { + "title": "הפעל הצמדה", + "desc": "מפעיל הצמדה לרשת" + }, + "quickToggleMove": { + "title": "הפעלה מהירה להזזה", + "desc": "מפעיל זמנית את מצב ההזזה" + }, + "toggleLayer": { + "title": "הפעל שכבה", + "desc": "הפעל בחירת שכבת בסיס/מסיכה" + }, + "clearMask": { + "title": "נקה מסיכה", + "desc": "נקה את כל המסכה" + }, + "hideMask": { + "desc": "הסתרה והצגה של מסיכה", + "title": "הסתר מסיכה" + }, + "showHideBoundingBox": { + "title": "הצגה/הסתרה של תיבה תוחמת", + "desc": "הפעל תצוגה של התיבה התוחמת" + }, + "mergeVisible": { + "title": "מיזוג תוכן גלוי", + "desc": "מיזוג כל השכבות הגלויות של הקנבס" + }, + "saveToGallery": { + "title": "שמור לגלריה", + "desc": "שמור את הקנבס הנוכחי בגלריה" + }, + "copyToClipboard": { + "title": "העתק ללוח ההדבקה", + "desc": "העתק את הקנבס הנוכחי ללוח ההדבקה" + }, + "downloadImage": { + "title": "הורד תמונה", + "desc": "הורד את הקנבס הנוכחי" + }, + "undoStroke": { + "title": "בטל משיכה", + "desc": "בטל משיכת מברשת" + }, + "redoStroke": { + "title": "בצע שוב משיכה", + "desc": "ביצוע מחדש של משיכת מברשת" + }, + "resetView": { + "title": "איפוס תצוגה", + "desc": "אפס תצוגת קנבס" + }, + "previousStagingImage": { + "desc": "תמונת אזור ההערכות הקודמת", + "title": "תמונת הערכות קודמת" + }, + "nextStagingImage": { + "title": "תמנות הערכות הבאה", + "desc": "תמונת אזור ההערכות הבאה" + }, + "acceptStagingImage": { + "desc": "אשר את תמונת איזור ההערכות הנוכחית", + "title": "אשר תמונת הערכות" + }, + "cancel": { + "desc": "ביטול יצירת תמונה", + "title": "ביטול" + }, + "maximizeWorkSpace": { + "title": "מקסם את איזור העבודה", + "desc": "סגור פאנלים ומקסם את איזור העבודה" + }, + "setSeed": { + "title": "הגדר זרע", + "desc": "השתמש בזרע התמונה הנוכחית" + }, + "setParameters": { + "title": "הגדרת פרמטרים", + "desc": "שימוש בכל הפרמטרים של התמונה הנוכחית" + }, + "increaseGalleryThumbSize": { + "title": "הגדל את גודל תמונת הגלריה", + "desc": "מגדיל את התמונות הממוזערות של הגלריה" + }, + "nextImage": { + "title": "תמונה הבאה", + "desc": "הצג את התמונה הבאה בגלריה" + } + }, + "gallery": { + "uploads": "העלאות", + "galleryImageSize": "גודל תמונה", + "gallerySettings": "הגדרות גלריה", + "maintainAspectRatio": "שמור על יחס רוחב-גובה", + "autoSwitchNewImages": "החלף אוטומטית לתמונות חדשות", + "singleColumnLayout": "תצוגת עמודה אחת", + "pinGallery": "הצמד גלריה", + "allImagesLoaded": "כל התמונות נטענו", + "loadMore": "טען עוד", + "noImagesInGallery": "אין תמונות בגלריה", + "galleryImageResetSize": "איפוס גודל", + "generations": "דורות", + "showGenerations": "הצג דורות", + "showUploads": "הצג העלאות" + }, + "parameters": { + "images": "תמונות", + "steps": "צעדים", + "cfgScale": "סולם CFG", + "width": "רוחב", + "height": "גובה", + "sampler": "דוגם", + "seed": "זרע", + "imageToImage": "תמונה לתמונה", + "randomizeSeed": "זרע אקראי", + "variationAmount": "כמות וריאציה", + "seedWeights": "משקלי זרע", + "faceRestoration": "שחזור פנים", + "restoreFaces": "שחזר פנים", + "type": "סוג", + "strength": "חוזק", + "upscale": "הגדלת קנה מידה", + "upscaleImage": "הגדלת קנה מידת התמונה", + "denoisingStrength": "חוזק מנטרל הרעש", + "otherOptions": "אפשרויות אחרות", + "hiresOptim": "אופטימיזצית רזולוציה גבוהה", + "hiresStrength": "חוזק רזולוציה גבוהה", + "codeformerFidelity": "דבקות", + "seamSize": "גודל תפר", + "seamBlur": "טשטוש תפר", + "seamStrength": "חוזק תפר", + "seamSteps": "שלבי תפר", + "scaleBeforeProcessing": "שנה קנה מידה לפני עיבוד", + "scaledWidth": "קנה מידה לאחר שינוי W", + "scaledHeight": "קנה מידה לאחר שינוי H", + "infillMethod": "שיטת מילוי", + "tileSize": "גודל אריח", + "boundingBoxHeader": "תיבה תוחמת", + "seamCorrectionHeader": "תיקון תפר", + "infillScalingHeader": "מילוי וקנה מידה", + "toggleLoopback": "הפעל לולאה חוזרת", + "symmetry": "סימטריה", + "vSymmetryStep": "צעד סימטריה V", + "hSymmetryStep": "צעד סימטריה H", + "invoke": "הפעלה", + "cancel": { + "schedule": "ביטול לאחר האיטרציה הנוכחית", + "isScheduled": "מבטל", + "immediate": "ביטול מיידי", + "setType": "הגדר סוג ביטול" + }, + "negativePrompts": "בקשות שליליות", + "sendTo": "שליחה אל", + "copyImage": "העתקת תמונה", + "downloadImage": "הורדת תמונה", + "sendToImg2Img": "שליחה לתמונה לתמונה", + "sendToUnifiedCanvas": "שליחה אל קנבס מאוחד", + "openInViewer": "פתח במציג", + "closeViewer": "סגור מציג", + "usePrompt": "שימוש בבקשה", + "useSeed": "שימוש בזרע", + "useAll": "שימוש בהכל", + "useInitImg": "שימוש בתמונה ראשונית", + "info": "פרטים", + "showOptionsPanel": "הצג חלונית אפשרויות", + "shuffle": "ערבוב", + "noiseThreshold": "סף רעש", + "perlinNoise": "רעש פרלין", + "variations": "וריאציות", + "imageFit": "התאמת תמונה ראשונית לגודל הפלט", + "general": "כללי", + "upscaling": "מגדיל את קנה מידה", + "scale": "סולם", + "seamlessTiling": "ריצוף חלק", + "img2imgStrength": "חוזק תמונה לתמונה", + "initialImage": "תמונה ראשונית", + "copyImageToLink": "העתקת תמונה לקישור", + "deleteImage": "מחיקת תמונה", + "promptPlaceholder": "הקלד בקשה כאן. [אסימונים שליליים], (העלאת משקל)++ , (הורדת משקל)--, החלפה ומיזוג זמינים (ראה מסמכים)" + }, + "settings": { + "models": "מודלים", + "displayInProgress": "הצגת תמונות בתהליך", + "confirmOnDelete": "אישור בעת המחיקה", + "useCanvasBeta": "שימוש בגרסת ביתא של תצוגת הקנבס", + "useSlidersForAll": "שימוש במחוונים לכל האפשרויות", + "resetWebUI": "איפוס ממשק משתמש", + "resetWebUIDesc1": "איפוס ממשק המשתמש האינטרנטי מאפס רק את המטמון המקומי של הדפדפן של התמונות וההגדרות שנשמרו. זה לא מוחק תמונות מהדיסק.", + "resetComplete": "ממשק המשתמש אופס. יש לבצע רענון דף בכדי לטעון אותו מחדש.", + "enableImageDebugging": "הפעלת איתור באגים בתמונה", + "displayHelpIcons": "הצג סמלי עזרה", + "saveSteps": "שמירת תמונות כל n צעדים", + "resetWebUIDesc2": "אם תמונות לא מופיעות בגלריה או שמשהו אחר לא עובד, נא לנסות איפוס /או אתחול לפני שליחת תקלה ב-GitHub." + }, + "toast": { + "uploadFailed": "העלאה נכשלה", + "uploadFailedMultipleImagesDesc": "תמונות מרובות הודבקו, ניתן להעלות תמונה אחת בלבד בכל פעם", + "imageCopied": "התמונה הועתקה", + "imageLinkCopied": "קישור תמונה הועתק", + "imageNotLoadedDesc": "לא נמצאה תמונה לשליחה למודול תמונה לתמונה", + "imageSavedToGallery": "התמונה נשמרה בגלריה", + "canvasMerged": "קנבס מוזג", + "sentToImageToImage": "נשלח לתמונה לתמונה", + "sentToUnifiedCanvas": "נשלח אל קנבס מאוחד", + "parametersSet": "הגדרת פרמטרים", + "parametersNotSet": "פרמטרים לא הוגדרו", + "parametersNotSetDesc": "לא נמצאו מטא-נתונים עבור תמונה זו.", + "parametersFailedDesc": "לא ניתן לטעון תמונת התחלה.", + "seedSet": "זרע הוגדר", + "seedNotSetDesc": "לא ניתן היה למצוא זרע לתמונה זו.", + "promptNotSetDesc": "לא היתה אפשרות למצוא בקשה עבור תמונה זו.", + "metadataLoadFailed": "טעינת מטא-נתונים נכשלה", + "initialImageSet": "סט תמונה ראשוני", + "initialImageNotSet": "התמונה הראשונית לא הוגדרה", + "initialImageNotSetDesc": "לא ניתן היה לטעון את התמונה הראשונית", + "uploadFailedUnableToLoadDesc": "לא ניתן לטעון את הקובץ", + "tempFoldersEmptied": "התיקייה הזמנית רוקנה", + "downloadImageStarted": "הורדת התמונה החלה", + "imageNotLoaded": "לא נטענה תמונה", + "parametersFailed": "בעיה בטעינת פרמטרים", + "promptNotSet": "בקשה לא הוגדרה", + "upscalingFailed": "העלאת קנה המידה נכשלה", + "faceRestoreFailed": "שחזור הפנים נכשל", + "seedNotSet": "זרע לא הוגדר", + "promptSet": "בקשה הוגדרה" + }, + "tooltip": { + "feature": { + "gallery": "הגלריה מציגה יצירות מתיקיית הפלטים בעת יצירתם. ההגדרות מאוחסנות בתוך קבצים ונגישות באמצעות תפריט הקשר.", + "upscale": "השתמש ב-ESRGAN כדי להגדיל את התמונה מיד לאחר היצירה.", + "imageToImage": "תמונה לתמונה טוענת כל תמונה כראשונית, המשמשת לאחר מכן ליצירת תמונה חדשה יחד עם הבקשה. ככל שהערך גבוה יותר, כך תמונת התוצאה תשתנה יותר. ערכים מ- 0.0 עד 1.0 אפשריים, הטווח המומלץ הוא .25-.75", + "seamCorrection": "שליטה בטיפול בתפרים גלויים המתרחשים בין תמונות שנוצרו על בד הציור.", + "prompt": "זהו שדה הבקשה. הבקשה כוללת אובייקטי יצירה ומונחים סגנוניים. באפשרותך להוסיף משקל (חשיבות אסימון) גם בשורת הפקודה, אך פקודות ופרמטרים של CLI לא יפעלו.", + "variations": "נסה וריאציה עם ערך בין 0.1 ל- 1.0 כדי לשנות את התוצאה עבור זרע נתון. וריאציות מעניינות של הזרע הן בין 0.1 ל -0.3.", + "other": "אפשרויות אלה יאפשרו מצבי עיבוד חלופיים עבור ההרצה. 'ריצוף חלק' ייצור תבניות חוזרות בפלט. 'רזולוציה גבוהה' נוצר בשני שלבים עם img2img: השתמש בהגדרה זו כאשר אתה רוצה תמונה גדולה וקוהרנטית יותר ללא חפצים. פעולה זאת תקח יותר זמן מפעולת טקסט לתמונה רגילה.", + "faceCorrection": "תיקון פנים עם GFPGAN או Codeformer: האלגוריתם מזהה פרצופים בתמונה ומתקן כל פגם. ערך גבוה ישנה את התמונה יותר, וכתוצאה מכך הפרצופים יהיו אטרקטיביים יותר. Codeformer עם נאמנות גבוהה יותר משמר את התמונה המקורית על חשבון תיקון פנים חזק יותר.", + "seed": "ערך הזרע משפיע על הרעש הראשוני שממנו נוצרת התמונה. אתה יכול להשתמש בזרעים שכבר קיימים מתמונות קודמות. 'סף רעש' משמש להפחתת חפצים בערכי CFG גבוהים (נסה את טווח 0-10), ופרלין כדי להוסיף רעשי פרלין במהלך היצירה: שניהם משמשים להוספת וריאציה לתפוקות שלך.", + "infillAndScaling": "נהל שיטות מילוי (המשמשות באזורים עם מסיכה או אזורים שנמחקו בבד הציור) ושינוי קנה מידה (שימושי לגדלים קטנים של תיבות תוחמות).", + "boundingBox": "התיבה התוחמת זהה להגדרות 'רוחב' ו'גובה' עבור 'טקסט לתמונה' או 'תמונה לתמונה'. רק האזור בתיבה יעובד." + } + }, + "unifiedCanvas": { + "layer": "שכבה", + "base": "בסיס", + "maskingOptions": "אפשרויות מסכות", + "enableMask": "הפעלת מסיכה", + "colorPicker": "בוחר הצבעים", + "preserveMaskedArea": "שימור איזור ממוסך", + "clearMask": "ניקוי מסיכה", + "brush": "מברשת", + "eraser": "מחק", + "fillBoundingBox": "מילוי תיבה תוחמת", + "eraseBoundingBox": "מחק תיבה תוחמת", + "copyToClipboard": "העתק ללוח ההדבקה", + "downloadAsImage": "הורדה כתמונה", + "undo": "ביטול", + "redo": "ביצוע מחדש", + "clearCanvas": "ניקוי קנבס", + "showGrid": "הצגת רשת", + "snapToGrid": "הצמדה לרשת", + "darkenOutsideSelection": "הכהיית בחירה חיצונית", + "saveBoxRegionOnly": "שמירת איזור תיבה בלבד", + "limitStrokesToBox": "הגבלת משיכות לקופסא", + "showCanvasDebugInfo": "הצגת מידע איתור באגים בקנבס", + "clearCanvasHistory": "ניקוי הסטוריית קנבס", + "clearHistory": "ניקוי היסטוריה", + "clearCanvasHistoryConfirm": "האם את/ה בטוח/ה שברצונך לנקות את היסטוריית הקנבס?", + "emptyFolder": "ריקון תיקייה", + "emptyTempImagesFolderConfirm": "האם את/ה בטוח/ה שברצונך לרוקן את התיקיה הזמנית?", + "activeLayer": "שכבה פעילה", + "canvasScale": "קנה מידה של קנבס", + "betaLimitToBox": "הגבל לקופסא", + "betaDarkenOutside": "הכההת הבחוץ", + "canvasDimensions": "מידות קנבס", + "previous": "הקודם", + "next": "הבא", + "accept": "אישור", + "showHide": "הצג/הסתר", + "discardAll": "בטל הכל", + "betaClear": "איפוס", + "boundingBox": "תיבה תוחמת", + "scaledBoundingBox": "תיבה תוחמת לאחר שינוי קנה מידה", + "betaPreserveMasked": "שמר מסיכה", + "brushOptions": "אפשרויות מברשת", + "brushSize": "גודל", + "mergeVisible": "מיזוג תוכן גלוי", + "move": "הזזה", + "resetView": "איפוס תצוגה", + "saveToGallery": "שמור לגלריה", + "canvasSettings": "הגדרות קנבס", + "showIntermediates": "הצגת מתווכים", + "autoSaveToGallery": "שמירה אוטומטית בגלריה", + "emptyTempImageFolder": "ריקון תיקיית תמונות זמניות", + "clearCanvasHistoryMessage": "ניקוי היסטוריית הקנבס משאיר את הקנבס הנוכחי ללא שינוי, אך מנקה באופן בלתי הפיך את היסטוריית הביטול והביצוע מחדש.", + "emptyTempImagesFolderMessage": "ריקון תיקיית התמונה הזמנית גם מאפס באופן מלא את הקנבס המאוחד. זה כולל את כל היסטוריית הביטול/ביצוע מחדש, תמונות באזור ההערכות ושכבת הבסיס של בד הציור.", + "boundingBoxPosition": "מיקום תיבה תוחמת", + "canvasPosition": "מיקום קנבס", + "cursorPosition": "מיקום הסמן", + "mask": "מסכה" + } +} diff --git a/invokeai/frontend/web/public/locales/ko.json b/invokeai/frontend/web/public/locales/ko.json new file mode 100644 index 0000000000..888cdc9925 --- /dev/null +++ b/invokeai/frontend/web/public/locales/ko.json @@ -0,0 +1,81 @@ +{ + "common": { + "themeLabel": "테마 설정", + "languagePickerLabel": "언어 설정", + "reportBugLabel": "버그 리포트", + "githubLabel": "Github", + "settingsLabel": "설정", + "darkTheme": "다크 모드", + "lightTheme": "라이트 모드", + "greenTheme": "그린 모드", + "langArabic": "العربية", + "langEnglish": "English", + "langDutch": "Nederlands", + "text2img": "텍스트->이미지", + "unifiedCanvas": "통합 캔버스", + "langFrench": "Français", + "langGerman": "Deutsch", + "langItalian": "Italiano", + "langJapanese": "日本語", + "langBrPortuguese": "Português do Brasil", + "langRussian": "Русский", + "langSpanish": "Español", + "nodes": "노드", + "nodesDesc": "이미지 생성을 위한 노드 기반 시스템은 현재 개발 중입니다. 이 놀라운 기능에 대한 업데이트를 계속 지켜봐 주세요.", + "postProcessing": "후처리", + "postProcessDesc2": "보다 진보된 후처리 작업을 위한 전용 UI가 곧 출시될 예정입니다.", + "postProcessDesc3": "Invoke AI CLI는 Embiggen을 비롯한 다양한 기능을 제공합니다.", + "training": "학습", + "trainingDesc1": "Textual Inversion과 Dreambooth를 이용해 Web UI에서 나만의 embedding 및 checkpoint를 교육하기 위한 전용 워크플로우입니다.", + "trainingDesc2": "InvokeAI는 이미 메인 스크립트를 사용한 Textual Inversion를 이용한 Custom embedding 학습을 지원하고 있습니다.", + "upload": "업로드", + "close": "닫기", + "load": "로드", + "back": "뒤로 가기", + "statusConnected": "연결됨", + "statusDisconnected": "연결 끊김", + "statusError": "에러", + "statusPreparing": "준비 중", + "langSimplifiedChinese": "简体中文", + "statusGenerating": "생성 중", + "statusGeneratingTextToImage": "텍스트->이미지 생성", + "statusGeneratingInpainting": "인페인팅 생성", + "statusGeneratingOutpainting": "아웃페인팅 생성", + "statusGenerationComplete": "생성 완료", + "statusRestoringFaces": "얼굴 복원", + "statusRestoringFacesGFPGAN": "얼굴 복원 (GFPGAN)", + "statusRestoringFacesCodeFormer": "얼굴 복원 (CodeFormer)", + "statusUpscaling": "업스케일링", + "statusUpscalingESRGAN": "업스케일링 (ESRGAN)", + "statusLoadingModel": "모델 로딩중", + "statusModelChanged": "모델 변경됨", + "statusConvertingModel": "모델 컨버팅", + "statusModelConverted": "모델 컨버팅됨", + "statusMergedModels": "모델 병합됨", + "statusMergingModels": "모델 병합중", + "hotkeysLabel": "단축키 설정", + "img2img": "이미지->이미지", + "discordLabel": "Discord", + "langPolish": "Polski", + "postProcessDesc1": "Invoke AI는 다양한 후처리 기능을 제공합니다. 이미지 업스케일링 및 얼굴 복원은 이미 Web UI에서 사용할 수 있습니다. 텍스트->이미지 또는 이미지->이미지 탭의 고급 옵션 메뉴에서 사용할 수 있습니다. 또한 현재 이미지 표시 위, 또는 뷰어에서 액션 버튼을 사용하여 이미지를 직접 처리할 수도 있습니다.", + "langUkranian": "Украї́нська", + "statusProcessingCanceled": "처리 취소됨", + "statusGeneratingImageToImage": "이미지->이미지 생성", + "statusProcessingComplete": "처리 완료", + "statusIterationComplete": "반복(Iteration) 완료", + "statusSavingImage": "이미지 저장" + }, + "gallery": { + "showGenerations": "생성된 이미지 보기", + "generations": "생성된 이미지", + "uploads": "업로드된 이미지", + "showUploads": "업로드된 이미지 보기", + "galleryImageSize": "이미지 크기", + "galleryImageResetSize": "사이즈 리셋", + "gallerySettings": "갤러리 설정", + "maintainAspectRatio": "종횡비 유지" + }, + "unifiedCanvas": { + "betaPreserveMasked": "마스크 레이어 유지" + } +} diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 46baf83ff9..4116914132 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -43,7 +43,27 @@ "statusUpscaling": "Opschaling", "statusUpscalingESRGAN": "Opschaling (ESRGAN)", "statusLoadingModel": "Laden van model", - "statusModelChanged": "Model gewijzigd" + "statusModelChanged": "Model gewijzigd", + "githubLabel": "Github", + "discordLabel": "Discord", + "langArabic": "Arabisch", + "langEnglish": "Engels", + "langFrench": "Frans", + "langGerman": "Duits", + "langItalian": "Italiaans", + "langJapanese": "Japans", + "langPolish": "Pools", + "langBrPortuguese": "Portugees (Brazilië)", + "langRussian": "Russisch", + "langSimplifiedChinese": "Chinees (vereenvoudigd)", + "langUkranian": "Oekraïens", + "langSpanish": "Spaans", + "training": "Training", + "back": "Terug", + "statusConvertingModel": "Omzetten van model", + "statusModelConverted": "Model omgezet", + "statusMergingModels": "Samenvoegen van modellen", + "statusMergedModels": "Modellen samengevoegd" }, "gallery": { "generations": "Gegenereerde afbeeldingen", @@ -282,7 +302,7 @@ "name": "Naam", "nameValidationMsg": "Geef een naam voor je model", "description": "Beschrijving", - "descriptionValidationMsg": "Voeg een beschrijving toe voor je model.", + "descriptionValidationMsg": "Voeg een beschrijving toe voor je model", "config": "Configuratie", "configValidationMsg": "Pad naar het configuratiebestand van je model.", "modelLocation": "Locatie model", @@ -319,7 +339,61 @@ "deleteModel": "Verwijder model", "deleteConfig": "Verwijder configuratie", "deleteMsg1": "Weet je zeker dat je deze modelregel wilt verwijderen uit InvokeAI?", - "deleteMsg2": "Hiermee wordt het checkpointbestand niet van je schijf verwijderd. Je kunt deze opnieuw toevoegen als je dat wilt." + "deleteMsg2": "Hiermee wordt het checkpointbestand niet van je schijf verwijderd. Je kunt deze opnieuw toevoegen als je dat wilt.", + "formMessageDiffusersVAELocationDesc": "Indien niet opgegeven, dan zal InvokeAI kijken naar het VAE-bestand in de hierboven gegeven modellocatie.", + "repoIDValidationMsg": "Online repository van je model", + "formMessageDiffusersModelLocation": "Locatie Diffusers-model", + "convertToDiffusersHelpText3": "Je Checkpoint-bestand op schijf zal NIET worden verwijderd of gewijzigd. Je kunt je Checkpoint opnieuw toevoegen aan Modelonderhoud als je dat wilt.", + "convertToDiffusersHelpText6": "Wil je dit model omzetten?", + "allModels": "Alle modellen", + "checkpointModels": "Checkpoints", + "safetensorModels": "SafeTensors", + "addCheckpointModel": "Voeg Checkpoint-/SafeTensor-model toe", + "addDiffuserModel": "Voeg Diffusers-model toe", + "diffusersModels": "Diffusers", + "repo_id": "Repo-id", + "vaeRepoID": "Repo-id VAE", + "vaeRepoIDValidationMsg": "Online repository van je VAE", + "formMessageDiffusersModelLocationDesc": "Voer er minimaal een in.", + "formMessageDiffusersVAELocation": "Locatie VAE", + "convert": "Omzetten", + "convertToDiffusers": "Omzetten naar Diffusers", + "convertToDiffusersHelpText1": "Dit model wordt omgezet naar de🧨 Diffusers-indeling.", + "convertToDiffusersHelpText2": "Dit proces vervangt het onderdeel in Modelonderhoud met de Diffusers-versie van hetzelfde model.", + "convertToDiffusersHelpText4": "Dit is een eenmalig proces. Dit neemt ongeveer 30 tot 60 sec. in beslag, afhankelijk van de specificaties van je computer.", + "convertToDiffusersHelpText5": "Zorg ervoor dat je genoeg schijfruimte hebt. Modellen nemen gewoonlijk ongeveer 4 - 7 GB ruimte in beslag.", + "convertToDiffusersSaveLocation": "Bewaarlocatie", + "v1": "v1", + "v2": "v2", + "inpainting": "v1-inpainting", + "customConfig": "Eigen configuratie", + "pathToCustomConfig": "Pad naar eigen configuratie", + "statusConverting": "Omzetten", + "modelConverted": "Model omgezet", + "sameFolder": "Dezelfde map", + "invokeRoot": "InvokeAI-map", + "custom": "Eigen", + "customSaveLocation": "Eigen bewaarlocatie", + "merge": "Samenvoegen", + "modelsMerged": "Modellen samengevoegd", + "mergeModels": "Voeg modellen samen", + "modelOne": "Model 1", + "modelTwo": "Model 2", + "modelThree": "Model 3", + "mergedModelName": "Samengevoegde modelnaam", + "alpha": "Alfa", + "interpolationType": "Soort interpolatie", + "mergedModelSaveLocation": "Bewaarlocatie", + "mergedModelCustomSaveLocation": "Eigen pad", + "invokeAIFolder": "InvokeAI-map", + "ignoreMismatch": "Negeer discrepanties tussen gekozen modellen", + "modelMergeHeaderHelp1": "Je kunt tot drie verschillende modellen samenvoegen om een mengvorm te maken die aan je behoeften voldoet.", + "modelMergeHeaderHelp2": "Alleen Diffusers kunnen worden samengevoegd. Als je een Checkpointmodel wilt samenvoegen, zet deze eerst om naar Diffusers.", + "modelMergeAlphaHelp": "Alfa stuurt de mengsterkte aan voor de modellen. Lagere alfawaarden leiden tot een kleinere invloed op het tweede model.", + "modelMergeInterpAddDifferenceHelp": "In deze stand wordt model 3 eerst van model 2 afgehaald. Wat daar uitkomt wordt gemengd met model 1, gebruikmakend van de hierboven ingestelde alfawaarde.", + "inverseSigmoid": "Keer Sigmoid om", + "sigmoid": "Sigmoid", + "weightedSum": "Gewogen som" }, "parameters": { "images": "Afbeeldingen", @@ -379,7 +453,22 @@ "info": "Info", "deleteImage": "Verwijder afbeelding", "initialImage": "Initiële afbeelding", - "showOptionsPanel": "Toon deelscherm Opties" + "showOptionsPanel": "Toon deelscherm Opties", + "symmetry": "Symmetrie", + "hSymmetryStep": "Stap horiz. symmetrie", + "vSymmetryStep": "Stap vert. symmetrie", + "cancel": { + "immediate": "Annuleer direct", + "isScheduled": "Annuleren", + "setType": "Stel annuleervorm in", + "schedule": "Annuleer na huidige iteratie" + }, + "negativePrompts": "Negatieve invoer", + "general": "Algemeen", + "copyImage": "Kopieer afbeelding", + "imageToImage": "Afbeelding naar afbeelding", + "denoisingStrength": "Sterkte ontruisen", + "hiresStrength": "Sterkte hogere resolutie" }, "settings": { "models": "Modellen", @@ -392,7 +481,8 @@ "resetWebUI": "Herstel web-UI", "resetWebUIDesc1": "Herstel web-UI herstelt alleen de lokale afbeeldingscache en de onthouden instellingen van je browser. Het verwijdert geen afbeeldingen van schijf.", "resetWebUIDesc2": "Als afbeeldingen niet getoond worden in de galerij of iets anders werkt niet, probeer dan eerst deze herstelfunctie voordat je een fout aanmeldt op GitHub.", - "resetComplete": "Webgebruikersinterface is hersteld. Vernieuw de pasgina om opnieuw te laden." + "resetComplete": "Webgebruikersinterface is hersteld. Vernieuw de pasgina om opnieuw te laden.", + "useSlidersForAll": "Gebruik schuifbalken voor alle opties" }, "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json new file mode 100644 index 0000000000..39d383e37f --- /dev/null +++ b/invokeai/frontend/web/public/locales/pt.json @@ -0,0 +1,68 @@ +{ + "common": { + "greenTheme": "Verde", + "langArabic": "العربية", + "themeLabel": "Tema", + "reportBugLabel": "Reportar Bug", + "settingsLabel": "Configurações", + "lightTheme": "Claro", + "langBrPortuguese": "Português do Brasil", + "languagePickerLabel": "Seletor de Idioma", + "langDutch": "Nederlands", + "langEnglish": "English", + "hotkeysLabel": "Hotkeys", + "langPolish": "Polski", + "langFrench": "Français", + "langGerman": "Deutsch", + "langItalian": "Italiano", + "langJapanese": "日本語", + "langSimplifiedChinese": "简体中文", + "langSpanish": "Espanhol", + "langRussian": "Русский", + "langUkranian": "Украї́нська", + "text2img": "Texto para Imagem", + "img2img": "Imagem para Imagem", + "unifiedCanvas": "Tela Unificada", + "nodes": "Nós", + "nodesDesc": "Um sistema baseado em nós para a geração de imagens está em desenvolvimento atualmente. Fique atento para atualizações sobre este recurso incrível.", + "postProcessDesc3": "A Interface de Linha de Comando do Invoke AI oferece vários outros recursos, incluindo o Embiggen.", + "postProcessing": "Pós Processamento", + "postProcessDesc1": "O Invoke AI oferece uma ampla variedade de recursos de pós-processamento. O aumento de resolução de imagem e a restauração de rosto já estão disponíveis na interface do usuário da Web. Você pode acessá-los no menu Opções Avançadas das guias Texto para Imagem e Imagem para Imagem. Você também pode processar imagens diretamente, usando os botões de ação de imagem acima da exibição da imagem atual ou no visualizador.", + "postProcessDesc2": "Em breve, uma interface do usuário dedicada será lançada para facilitar fluxos de trabalho de pós-processamento mais avançados.", + "trainingDesc1": "Um fluxo de trabalho dedicado para treinar seus próprios embeddings e checkpoints usando Textual Inversion e Dreambooth da interface da web.", + "trainingDesc2": "O InvokeAI já oferece suporte ao treinamento de embeddings personalizados usando a Inversão Textual por meio do script principal.", + "upload": "Upload", + "statusError": "Erro", + "statusGeneratingTextToImage": "Gerando Texto para Imagem", + "close": "Fechar", + "load": "Abrir", + "back": "Voltar", + "statusConnected": "Conectado", + "statusDisconnected": "Desconectado", + "statusPreparing": "Preparando", + "statusGenerating": "Gerando", + "statusProcessingCanceled": "Processamento Cancelado", + "statusProcessingComplete": "Processamento Completo", + "statusGeneratingImageToImage": "Gerando Imagem para Imagem", + "statusGeneratingInpainting": "Geração de Preenchimento de Lacunas", + "statusIterationComplete": "Iteração Completa", + "statusSavingImage": "Salvando Imagem", + "statusRestoringFacesGFPGAN": "Restaurando Faces (GFPGAN)", + "statusRestoringFaces": "Restaurando Faces", + "statusRestoringFacesCodeFormer": "Restaurando Faces (CodeFormer)", + "statusUpscaling": "Ampliando", + "statusUpscalingESRGAN": "Ampliando (ESRGAN)", + "statusConvertingModel": "Convertendo Modelo", + "statusModelConverted": "Modelo Convertido", + "statusLoadingModel": "Carregando Modelo", + "statusModelChanged": "Modelo Alterado", + "githubLabel": "Github", + "discordLabel": "Discord", + "darkTheme": "Escuro", + "training": "Treinando", + "statusGeneratingOutpainting": "Geração de Ampliação", + "statusGenerationComplete": "Geração Completa", + "statusMergingModels": "Mesclando Modelos", + "statusMergedModels": "Modelos Mesclados" + } +} diff --git a/invokeai/frontend/web/public/locales/zh_Hant.json b/invokeai/frontend/web/public/locales/zh_Hant.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/invokeai/frontend/web/public/locales/zh_Hant.json @@ -0,0 +1 @@ +{} diff --git a/invokeai/frontend/web/src/Loading.tsx b/invokeai/frontend/web/src/Loading.tsx index 066315ecd1..671c2cd640 100644 --- a/invokeai/frontend/web/src/Loading.tsx +++ b/invokeai/frontend/web/src/Loading.tsx @@ -1,20 +1,37 @@ -import { Flex, Spinner } from '@chakra-ui/react'; +import { Flex, Spinner, Text } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; + +interface LoaderProps { + showText?: boolean; + text?: string; +} + +// This component loads before the theme so we cannot use theme tokens here + +const Loading = (props: LoaderProps) => { + const { t } = useTranslation(); + const { showText = false, text = t('common.loadingInvokeAI') } = props; -const Loading = () => { return ( - + + {showText && ( + + {text} + + )} ); }; diff --git a/invokeai/frontend/web/src/app/App.scss b/invokeai/frontend/web/src/app/App.scss deleted file mode 100644 index 16655f84d4..0000000000 --- a/invokeai/frontend/web/src/app/App.scss +++ /dev/null @@ -1,21 +0,0 @@ -@use '../styles/Mixins/' as *; - -svg { - fill: var(--svg-color); -} - -.App { - display: grid; - width: 100vw; - height: 100vh; - background-color: var(--background-color); -} - -.app-content { - display: grid; - row-gap: 1rem; - padding: $app-padding; - grid-auto-rows: min-content auto; - width: $app-width; - height: $app-height; -} diff --git a/invokeai/frontend/web/src/app/App.tsx b/invokeai/frontend/web/src/app/App.tsx index d0ed2ab016..3599577ca1 100644 --- a/invokeai/frontend/web/src/app/App.tsx +++ b/invokeai/frontend/web/src/app/App.tsx @@ -9,6 +9,8 @@ import useToastWatcher from 'features/system/hooks/useToastWatcher'; import FloatingGalleryButton from 'features/ui/components/FloatingGalleryButton'; import FloatingParametersPanelButtons from 'features/ui/components/FloatingParametersPanelButtons'; +import { Box, Grid } from '@chakra-ui/react'; +import { APP_HEIGHT, APP_PADDING, APP_WIDTH } from 'theme/util/constants'; keepGUIAlive(); @@ -16,20 +18,26 @@ const App = () => { useToastWatcher(); return ( -
+ -
+ -
-
+ + -
+
-
+ ); }; diff --git a/invokeai/frontend/web/src/app/ThemeLocaleProvider.tsx b/invokeai/frontend/web/src/app/ThemeLocaleProvider.tsx new file mode 100644 index 0000000000..51fad5a431 --- /dev/null +++ b/invokeai/frontend/web/src/app/ThemeLocaleProvider.tsx @@ -0,0 +1,46 @@ +import { ChakraProvider, extendTheme } from '@chakra-ui/react'; +import { ReactNode, useEffect } from 'react'; +import { useTranslation } from 'react-i18next'; +import { theme as invokeAITheme } from 'theme/theme'; +import { RootState } from './store'; +import { useAppSelector } from './storeHooks'; + +import { greenTeaThemeColors } from 'theme/colors/greenTea'; +import { invokeAIThemeColors } from 'theme/colors/invokeAI'; +import { lightThemeColors } from 'theme/colors/lightTheme'; +import { oceanBlueColors } from 'theme/colors/oceanBlue'; + +type ThemeLocaleProviderProps = { + children: ReactNode; +}; + +const THEMES = { + dark: invokeAIThemeColors, + light: lightThemeColors, + green: greenTeaThemeColors, + ocean: oceanBlueColors, +}; + +function ThemeLocaleProvider({ children }: ThemeLocaleProviderProps) { + const { i18n } = useTranslation(); + + const currentTheme = useAppSelector( + (state: RootState) => state.ui.currentTheme + ); + + const direction = i18n.dir(); + + const theme = extendTheme({ + ...invokeAITheme, + colors: THEMES[currentTheme as keyof typeof THEMES], + direction, + }); + + useEffect(() => { + document.body.dir = direction; + }, [direction]); + + return {children}; +} + +export default ThemeLocaleProvider; diff --git a/invokeai/frontend/web/src/app/socketio/listeners.ts b/invokeai/frontend/web/src/app/socketio/listeners.ts index 6442564e48..08de671260 100644 --- a/invokeai/frontend/web/src/app/socketio/listeners.ts +++ b/invokeai/frontend/web/src/app/socketio/listeners.ts @@ -392,7 +392,7 @@ const makeSocketIOListeners = ( addLogEntry({ timestamp: dateFormat(new Date(), 'isoDateTime'), message: `${i18n.t( - 'modelmanager:modelAdded' + 'modelManager.modelAdded' )}: ${deleted_model_name}`, level: 'info', }) @@ -400,7 +400,7 @@ const makeSocketIOListeners = ( dispatch( addToast({ title: `${i18n.t( - 'modelmanager:modelEntryDeleted' + 'modelManager.modelEntryDeleted' )}: ${deleted_model_name}`, status: 'success', duration: 2500, @@ -424,7 +424,7 @@ const makeSocketIOListeners = ( dispatch( addToast({ title: `${i18n.t( - 'modelmanager:modelConverted' + 'modelManager.modelConverted' )}: ${converted_model_name}`, status: 'success', duration: 2500, diff --git a/invokeai/frontend/web/src/app/theme.ts b/invokeai/frontend/web/src/app/theme.ts deleted file mode 100644 index 06b28a66ac..0000000000 --- a/invokeai/frontend/web/src/app/theme.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { extendTheme } from '@chakra-ui/react'; -import type { StyleFunctionProps } from '@chakra-ui/styled-system'; - -export const theme = extendTheme({ - config: { - initialColorMode: 'dark', - useSystemColorMode: false, - }, - components: { - Tooltip: { - baseStyle: (props: StyleFunctionProps) => ({ - textColor: props.colorMode === 'dark' ? 'gray.800' : 'gray.100', - }), - }, - Accordion: { - baseStyle: (props: StyleFunctionProps) => ({ - button: { - fontWeight: 'bold', - _hover: { - bgColor: - props.colorMode === 'dark' - ? 'rgba(255,255,255,0.05)' - : 'rgba(0,0,0,0.05)', - }, - }, - panel: { - paddingBottom: 2, - }, - }), - }, - FormLabel: { - baseStyle: { - fontWeight: 'light', - }, - }, - Button: { - variants: { - imageHoverIconButton: (props: StyleFunctionProps) => ({ - bg: props.colorMode === 'dark' ? 'blackAlpha.700' : 'whiteAlpha.800', - color: - props.colorMode === 'dark' ? 'whiteAlpha.700' : 'blackAlpha.700', - _hover: { - bg: - props.colorMode === 'dark' ? 'blackAlpha.800' : 'whiteAlpha.800', - color: - props.colorMode === 'dark' ? 'whiteAlpha.900' : 'blackAlpha.900', - }, - }), - }, - }, - }, -}); diff --git a/invokeai/frontend/web/src/assets/fonts/Inter/Inter-Bold.ttf b/invokeai/frontend/web/src/assets/fonts/Inter/Inter-Bold.ttf deleted file mode 100644 index 8e82c70d1081e2857ada1b73395d4f42c2e8adc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316100 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�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

6=3(=QnPeuLDdti0n3-y(nd#Q;7fbjCmF@fSxxm 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

k`dD%Oq-FGvtZa7vl=NRMebJriyObJqizc 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

S6KrIX_&}SieWqPQ?{H}=^!9pt?REVP{Y`DH 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%0Dq6U{pGSTfs98Msn(h=U&e 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 z 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%0DT&Wh@IO|A|;!G95D0#OWmq$qIMQoNTay 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

-=$q^cxC1v6c5*~ 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 z z5vIM5YQ9cupOB5P8Hh0Ov&Xp-tD?bwLfH0|A^*3;XA;$GMq$gR`LeR7oN7${Rwxdh z)BQ5v(Er!%I32}=k$UwHSM;J7Jwj-OnDG`%v__{h+SAjopJL+WGf+!}LcKU8h3PaS z!#XVE%5OmP0jxls3^a@jlFokII_eOkWLBNhA}AHCeC7dRODyE;9S-aD4)z=HK?NaPgTSo=_>*vb4)-IYs{1 z&=0FUti3g>+FR0N(whw-*N?`vHnTDtlfHw^6djzy?U0+rTsExq0(d%=dgkU19&oVT zDCslH?cmmm7%7+5<(fU)1&yhTxwwM|aRk&{-#z;uq!Q=mX^xOvNEf+rG>V$bFv+H-FUO}YOd#_{rf*3 zz4ms~&YVc~$)zzhF?rT=U3>R-hGM3(JAh=%=q(9*@4kC4?g~l56$>cSn1?vZA*?g% zjLj@}JP2c!p$#Uo0IiO|t$a~~Hnl)>7!ZJM*+?OnBQo4=@-3DE>Hn_?iJOYeJ z*uPk}ZfDADROZTo5>VAcM?L=iGhGHl*C(I*+?@GpH`yE(wR&$?4R_@=1d87 zL)$uLd8*dlo0Zbl)I=Ko23=Frhx)7qPvtOc;o1>C=8zuo(GZU^=^Ku8TEi<@mX#pR0&+Jc}|la;skLLlu8^wJj};T znlg3jWJ|j6X&X2yulMMQvw(70k$7bk`PQ0t^@&Un-wv<-hX5bH1AJrwK5hnlqyRpQ zd3o#Cudmqk0rXFIMgnVofc5y>FvXQ?)z+(g9~1m5P@>0mYhSMW*TnhEAqP?T(VCvw2IAg^W#&-yV)#6 z+24Ptr{Cun6a6Q?=o&cg zX9j;j6QeuM#amL0Y|b5STtXBTyL5XqEjmu&F%L>N3M zs|jaFly-(^3E9EeVi@Q-+*Dg!JU^jl4{E=J zO9TH-_f}6r-jBhO0t<3JUk>KP28m_8#>S$f+^As6&JMYSb7z_Dml0c$@T+9j`};^3 z7x!Y1Gy&-}DWzslN=gE1t@dKk^}_U#kdjRW)s-9g1_lY_1I|i~eaJ6h4Raw=d0n7{ z4(8?T_8jI_+99V}H0`1OQ*Pn3FBBW&*2KhyTAW~A$O^=iJNW~lnNF-FJT6Bj%9*Hh zKq}TEgtdm$K++JOHuUPHRvzaCE6;AeB(2EFUL3Ox=_9tG_dTzT?+=Cgg~UVwDWiCj z-=W_U@t(rfB`aaTdjdlTks6Xwf>Rdp}sYq@+-{uu33v=gYe zY(&`F5xJFG7{Mwj;J`*@pL|G_d>_DSQ&Ff~uQsn@R%-#Xui#E=s|rr+QF{T$1|yTel!-v-HgQTz z3sL+Z{$S1zuSs(_tlszc?{EHl%k-hqQTfmz*)-#O>=qTJzsB~e1Y7N_Qm(BOgv!Pf zZmtVvtPRup8a?RFp^c(ui8M2gngBrIqXt-tQS_XM2W#Ngt8FQm zVH0cCE`-2fF1Q~dhfcILT!?ps8yCW!le4pKaQ|qL>lWY`y~Aw*g!cldpTn63>GN@< ziFCPKx!7>2hh2yh#{rU`A6LqwfmL6?n_eKoWZYW9RW8lNVho$JfU>wyXbef|>kJ469h9ssrp)|Jw7e`&jR>exG=i?~Dw#h#%^=TeuM$Ps_AtAf&-k3iufB>+9+5Iogvt z#Rdd9>V{atg+|?wE=1s0j}VuNoM&$2iIeb8m~&H&9)w<#!r?eR)Yl0JYV`K`{FIIj znbufmC&Jz#P8Fn&h% z992dx#Cj*q?@X+BzN4`*2Lf&iq%%9}UgSi~wxzK(O@}5dSg>Hjh7DrV(T)zpN6Wj_ zb`mCv0_8!?%gxQr^XW3QDL5iQ*jt1}IV5Vcvb^3bB$Nu3h01tZX8iHJVT$`mWGR)a z6n5`%H;+X&pUy+2+_81`2pni)abNTsq zag0x=hNVFicsi8D)zmJd)EEXZU5%p1WkU97ZXN?=76IGl=5JBxe|ydtXk$r8x2Q|m z&e`c(RZxS)<1Ydw50DEJaTVWJcb1=>~I0|^v3=aahz5xvO z`9yCOKolK(JbT`R_#3S zs3rAjJ>O|9&BgL=A!9Dud&Y+x<>iivkX5cJovU(UB%HU1&|G<9`VZ9Y*Z^RG0%7l# zv1Df}CkBI%n9Ivcv(pj-;6HKgU3*|{QbDm%2&dxjYa|0Fu=v|uzQ6^LAQ4CvdZQ_ zKz&$U^U2(K^GCzOz<2%ymKSwsG_IXA3MnZlAgnsd#kiVm=omCk&24S%Cp?f3IbWv( z<4|g~s*h_d1?d+i(jcHFc~fLqDD#av3N0-w$(MoJ8dFIYPK6PA$$bU0<2~X8RoPw+ zHQBqZN1(=n@kZO-y5|Lq0xuwDW?Y}|*zthIz$|j$53OTo89Gn=385oDFBjb>*EW+5V(lk^@Y~;FD`Nzfg zPcx8@Z%LG|^|h+1Z7;pdc8D%MB^VTO|LicM82eh^HSqmtYiskua(GIS3?+hXMW)@3 zM~9j3=XVs`ac_BQs@?g!obbwL9={RDiPF*LU1MY?xp+!(=`R zt(2gb)_`TxuN07XIy4#{5zuWoUAXo5MmBYUkBrE2j7SAWge-6*?NV+!hZ3(Flx_TbVIQOM7~|CT9kEjU%- z+&KWb1CC3JHGdUCKX5{(eHFy=Pw+e|n*kKJm%XV8dKWz<-O2f(8BXG&I31jzW?;(- z>=ka;g89G}>(u^)*pK;6_BI%ltHJKHaF$dgPT|Wl^9h|n2gN&J9C%83D*B}sa-FkH zWg&k+%vQPMw=`KHb~qPO*-W*iD)YFi^>e{L204GvT%}OSlla2IU*$r-^7n`r=N~n> zx`Db}AhBO0Bk z9}aQM+jaD`7#lmuZl5yIY%n0l*04DdW>j$0WIlDPne=!FtJsz0XQumnr_Y=o7#IlY zc^)QlerDPgDB?1Dva9Q>uA_tg_6|rCJ+O&G-T(YWdFLs{SRUrF0P~nZc&_`X4@^Un zH78=mFSz2h-l+Kx;dNhTOt8Pldx(v<8vK2q{%IXvJ6f>RL9B1eYiukmeEbGfULiT6 z2;NcuG}jN@GLNl+qMh0wp@^!`4340?+QGK^*mD7o=Hc7~PUPC#oe(=hY!s^57cI*R zc&LV32Pa==llSjxYTWsk6X^x>0mNiF4YyrvrHU6sKH;iV)mWgZsi{rD6oa->tJO@X zEj%|LlQtt_o-jgvo32T-YGDeAx~8!9-5!ssSQ=M#%#xmNGU-md3mwDX&f8|+bq8dL zD)1R^;{7_?iS7Mh0sjdPny@jaPWbt3+bJmFS4dAo8L%CBy`o|h#i>@S%{bUU;5#*H zl8uwE`Tm?6k|$@_Vgy5CvIXuNCan%BZ;_MT!w;VuaZ^Dg9+_p_x-;I6j;{uW!{z~` zy}cS~b2&&+@GMX!UX^-P66ZIK_8s|G`@ar#bn2j80EjZ3$v=2rmfT1|3(0AFcs})5 zm!#{x%o`UDpNF6)b+B3&%O{0t5qyyGg>fQRT+*SE_O=|?zJP0Q1uQI#z(T^JMa91; z`}w%))-%z>RGvN3)_^?wztg%NxYzh`RW5*^Yzx$W#64F9M`8Us(5XfnTO~3T6_%M^ z-tlfHux$5HU0dG>#NbIODfecp>v@;3JfSVNF&9MRM@T_esN4dVgvxz^7zq`|u>M!X zfnd~b>G2N%s|Vt5EObZvrv3 zimrLUp_`#4+6CH_Ki!AX(hKoZy14Kp_?*Q#5`lVvFwpX^}HCBWH<3c%BkVuQI9LtmIPBoQj$3~VaiOS zE_l*+@=S1Os2}-ry|QuUH8ZYBn>p+1spGYy(n@4k1Pa-45n`h4VQ)&}id3sJZ(wy{ zn={w9!l5vi>JPVar3=M%S6;ksOe25M3$uZ)bMd8Y1!?46DC0}6A58yS83)S4W)*)uY}$5G6+3#3JKsV?}g3qJTr=J+ii z{JEHZqreij>`#Y;jy z)<{;W#xd2`--LO<@4t`C!mA7(1bR2S14LRQ#OPs}D88NnGO|^nq|f|R@ed%mHHX;X zvDVgs^TLz45xPLs;bj-{l8GX3&2);)N$D`dLjNY_gbVlG1aoNDE9rPDH+zSY;W_6_ z3=;$X#Sg%r18j7@1AvnQK0-3vR7F=EP!FXN{yYLzyJ5}ueSj1NE09)=7Uk1S@wk#l zAx-l#f9`PKsUUBK(QncOh}9aMU`pf#lM(pe0EMI$no5zb;?xxApy3?v5qanc#TZi( zfFa4$*A4qiXQ!x-LLIg~Q?w4b04ZB~_%dvGR5&5M@-oZ>>6NdDy!w2_&dVq=a3;Xx|z6+GQp2!d1VGC zlKNExMmrU|X5IcY&`)TVHCb5*hJkWK2lIU|-dL9qTZ<&lS(}65tOfJt)8yy(1=R2( zzO4dDs$y6P{A%iVSvL*B3CywSMHEI`1*R>Zznj&;6aF<-p@b#nuMj~ z3kF8b-SI)Drltd^tby}U6{~V(gO#LjhOC+$l7m~uFJJzfQuZSBZs{C$xgFg5Tr<~9 zA`$xsA}7-EA4)*^Yy1!T80@1#-`K=$;WD^79LdC)Z*uiqJ=n}fRU#0hYOA1iZa@6R z0UE-2%8eI1U9MFg*;oElT))LYM^}{ zet;}wwamlX5%%&~Hrg@TA(x}MWEZJTM=RxJYD-7TPBwaGw0-pL(Q0b4 zM{U_Mlg*>OqkkT)#JSmW_Gr~;m0T$2jTVf$a+zG_a)cfg zHQp5~yet1dCR{aiL!w?v@djiv;#x4Q)J}3sxe6%GKIBGt8#UyyqqZ1FmvS$0??L!$ zf#$ms`_wGFl?!ld5pq)r-E#^D$1%8$LBkDT3yJL0x$sicu}@e2zkz}p-bIF27jD;1 zfMFuQNT1**z!+8m|qaE>=vpE3aWh~qH`!)WHIN=pAXVe z2mfa)SBnLkhgMpeL*J2QXck$4hZVSmtd5SXW)Xe`@XEk==3)(fs<^;u<6G~d5IN>@ zd0vb)K_e{lRvpj!$m2$YlO*L{>0TAaYAjxaOpGj~Jfr;2>WX+#T@eL%x_mq84&muY z=SLiBuG}Qos@7O!$cEngPI-r1O0tQ(8xINWDKC|a>Jj_PC|735^DVA+_f;mc0&oY34Ujr!S-%(Ik<9hf{~wl z=fZ_~nKNfzmpUuk*w=f^uYg%elqQcFp^ zLoU)Y0YrGAe07W&IX008Uj%o#T4fpWDNPjE_~gmSNr?#w@#7~>HiSk(idK(W)|l}L z;CWE=XY}G51?T7$t~5$3{|1c9G>i*X8HmTYu=_xdxi>#{f`Dcq=W7Ss&O;lWgD38Q zqAf$xHZ(Ogw7nMb!qe?;JBuz4N}7sIwe`2keR4m{)G6T09ssxS0KQX{335M`4AqvG zmX`a@x^+Px%r+ff=??HYqs zByk3fn;!`d!@W$>f;+T?LT(*`>WE54YPcdxFy=V?TvPB|3G`g0(93ZZNT}>#9>aa9 zgDovBXH)U89*J2*-qKtZQRM3W(2T6gNUIE?iT4y_Q5ycmhCeoc4X53n<{b`Yv5VP6 zhPn~nrB2u$L95VS&@R0d4F0X^LxF8Z5Ga{c!(_?=yNeRheJgk<%7`2|+1=fJGH@Ph zzVnh4jrb;taZ*2}xDZNFTCJ1qAOdknW*ZlIF7o-);kk$}74TeG_6#hHYU)@^q98D^ zhowki83Gam{{Jm5)`=6=OE{HY7gw_JlDkrtDhHh4a5D#TX|ptu*>MHylRSJ1ShMim zsV~}Z-8~X@ZM$45y|mXCEHrGD+UwS_Q`L1kcF#+3iU_ICgV3Tu*>2 zVlKW9paKl2`u3YIXidJ2akaS0#n%D1taNcH7<^KS0}p__>c=SRqDZqAaTGb;ZYcT3(aaeuAcv?-6+H5g2PrQCo#(iXh$)l_D{ zt^`h}!Nrz||4t)k(bvY>A*paepsz5f&0o4S zA9}#8wu1-XZ~pkx_AZFkorg(#@ZqPON4vXwKmD|qWgsM0O_>l@&aAP)uyU)@k(EIX z>FKbx-0pPDNlQyh&B{u}$zcsm0%kPPj%o!MqlCy9Ba8_IJqG~{W~}6L7b_DZ9EjnUf4~{!EU}?vQ7Xz;sI3lgucdD75*NmXdi_3;5H~}U2uRX#`eANrg6b& zQUXtyV)*qviDM;@SWA^cmO4QIjuZF*oB+6sn*p9ZfV1e@a8dhv)x9E!kYNpM!GHYk z&5(L`K)Ku#`%;RA@^K`DI1v=zwl0WR(TuFyDs?t45O$ z2!#SnFadE!`a`&F3}1~=5SAqYw>#t}iG3{LsX-w^cn{&NK0^ww`Svp~i-WTZcn~}S zhmcu|#HGRkyOQtUk4Ia=n+|2d@1OwKKz$IEptsTkMINH3!R+jDnxVnq3Q8#Kq)xlk zkX}@lPY)qmLqkFzKWwCj2n7UF2;4sjF5#-NG{aNAHN%F*EyI)4Shm8@^yxQefc#uq1+@;ff?IRN?WLs>r~QCJsMM$orIbHt%5_3H z=v7-4cdJ$snwq{i$4RkkEB??aq!#~ndHFAI%ghRq?X5gPFweT{mrIxACxyD}E7!m9 z+CK*w)|ShqYii#8{3=YOC}5#S3vS8>03xL^n{+&CLI(VS5Il}_P}d<+G^9u={<9;a zA^H5-kniN_-fr@JvX0jxX}`uG3=f_`px_tXgMz3_vBxRr;0p{L^jZIzVPrzkqPV-r zlM}L_XrYUDYv6Mjlu#00;3Qsv^I|H`fs5p!Eo5+I(Vstg3~o^YX0(FOvtr3Gc$x=> zIW4-2!4aZOQRpwS6R7<~=s9+V0_V_QUQqjcKE#E&>M{P|lB}O9OOVwK9XwZ-0fNm1 zLm(uapXdCH3xv2pc%@M`3yOe!5YSW#XrlTMDJW>T?fEsY9{A|*jZG~_KC63U_iIl* z^}E6Z|B1%6o>ec@|MS!Hw>;%gN}}WA;}Z?snZCf6Z*9$it`!<#Dz>s!G_)S}BHBB2 zXibhXQEmexS{3zupi#NEvvpE=KB?T$-T{eT564OdB2}WcWr!=92b;+oM7+`7V!O0f za<3?I;Al`<2vt+Ky$)Ua+c2h*DHV_iiRfeO*F#(T8vBzD5x3n}7d)1W8=!h17UKZ> ztMFveD8|%x^bX;_iL)0tJKK8TV|%Ehegg$R zLKCYvwCj9=KYn>OBTCuCJz<6~;c}Fw81slM=Bzq5`y(tX(2i-0?5pkB%A`c4M%6?;m#lVPC(?HRq1|=!L*G7o(yfZvLlp8YIR) zJx&$uQH+<=HR0FOKn`xkuf&(f5|^TfE*)o4jpX>Z%(XtDD=a*0#5=UEAKgwhBDyQzBv>yk3j7 zuTP5h_E|0eW=})^lXOd+&ZSwlyK6hPY~NY8zhf{t&)RpS^T_+PwVrul`w`r@XM*iqs(W$Qt{s2>M75*v zE~+gvqhMbA5I=pUEb5joFUr1NUp)_aqX?*t{8);VUveSTYyV|rZ*kP`S#i4U`s||R z%SD4`=9L;@*1h*!;|Al&J4+tQW)ky2aqwRSS0Z}oy}Fm?QdCm%jz7Hq=H7NW`G)*^ z?!G6##EGxF@3=9Eo%&?&o3H<22a&@k4KLNb=VhiV3;rvcZh;#;ggC%hn?cVpB`QAN z=s!9zG%P0f_M8X|o;p2bm^5|j6uZG@M;waXmSp7z2LmU1dPT$V&_Ivhm=GUDs*m@O zZOxORkBR1GPEYCuOTsv06B+D2b`1Fm`k1fpXwR{41~{|9G|m*8V8Iy%)TuGV#p+jY zP)&}{107T_MMSA)7fF{UJL3H87rjhKx+KB{^D%T8Wvv>NDdO2$*nOCRZ$||{6OwdE zt2M*%@x%Bcn3qzy4QLbuRil8Y-5xNQVVwfxdiA=uaNT>j zj<~5uaNW(gj(KtsuUQh2Ebh~Ic7HMK(Vy$>ZQfC})kCg8YrqT@!5J+bt{jgT-VDKo zaH_$((}}VFDgJRACc56^gu_1h1KX9m4KLTd7XX6>i<+`PgecY1)gOTP6za;xFC{7t zPCVouHyV=~Hwo@`Ma2jAZrQTs(^-#Xlcx!LS^LO!ZJU}Q(IN&!SmKy7RGA&7mm1f; z{;Of6lk$L^S`e(H5+)G6&8&hevPrDC0NU>+QVK`np3gzgU5UFkV9~TgZMX(^yr&ee z`8d2Cba#(RcRxZQrott;SY2WNg*LWTUz#=m8&(vCwOK@|tM~V{4tc;qcJIt2C(76oh}`g(o9DFg+RRfxqL)Zn^ZyfS`9M@rw03 zpA0j8;mMvcjXl}VpD=j~9gqR&!7v!d0iDMM!HA(Z{(n5$h7If1MILQ6pur;wlwoLe z?D5p6y9c8}Uf;yekcNf4zMaZ_@_uVkk5)I3ifDNeiBnjpI=&jLh3Uu(vN5@-=VPnd8&*mqNfZ zm-$;iIn;jWn9rB~c=_YY$_N?K>|zYQ5-muqVAfG|*f$+r?d>L0Q~(vpq#yt1sRqU% zPWcQALAgVrIuwGShu<72(7n?37@mj75)IQL;*F4#2YI@{@@b(c=LL<1kBr%7fCI*B zcon#MIIIOn;L^-AtGBD;M%IB_FmBgj+-76ktb~n&4z?lc*E!eS;JD+i8{-F2G7$)1 z8{44$g>&+mV<)A!qN1hckHA5BdHK?!qT8>xxOvO0J0zWX{Yziyj{{ZSs7z57a?itc z&Z6-0hw{5hqEI=m?7peUl0*@Ai;*SCgUDoH>}A-YLr-$MzjAY3wGQP8=|_Zi!Ov7f z@e!6v>IfUDN4ElBeux!C?L%yDm0tQ0JcFp+g&?_w&~n|4rFkFpRN-THz%`Kw1FW3T zdKDnnPKeZpx+^710IljhX+c}26o4eP=Mu+3J`q@pc7kyH|2%8Pbq@a z#9?KcQli<~&(g%0*4DkSJ-yr7dJ^dSq;#7qiDyQLV5Yh^UsbA=Df8j<0b6l`g>n(Z z0vci^P<7&4;zFUJv%#~Fp%kq_3-50+;vf8TJi*;~g4-f1Vj7+R@Gl=mA8yuf>|eNW z&z?6n&I2`kRPn&eC<}djO1rvZ^}31*@b&tpgS*!Me&bqjn=25V{Wz$`bTMUUCLJT*1jG*&I9EyLa#2+LxbQ_uMO3Audp{BkY+e1qmOt*ssVaDE*zO z?B}Iri*L`&%(*o`1oxbfVPa~UEgGw&3ag|WhMI0MR)>Mmq?!=(fGmPA02}Rg9GN@~ z#-~)N^gk^YRcU)(Rb6;tvr`33b_~7nBCP|(x|tB^#X;al}~0v|d%G<3#)a^R$&PE(hTn@|`F2OaPpqk(cmXraLXLthhymoaYWQhS1f z>?GzEQ89IKLm^7k`Fd zq$=y_fM`^#Wvqle>nW_s#avNOl;mb*RaO0SI*x9REW9<^;#3UKbcqC`%4kGy=r9*L zK}bWE%u3DRVDk>A@?Q}*wa56a?+;1@^w-N@A?CFh`P6=jy(M74muh?`K74K-R{AXY zD8k8)f}=0fZT`yp)h3oIYLT}TS%Sh#sY3f`X=&jNwp-PO)r?6zp<+H8JBvmC7P42| zN1cH(gOI@ABc$=~>fV0#NBoD}NjkvB_`?$p^KB3ITcxc?%Nr$9vNM4fV|4KNlmi3D zIuCdC4-9#TM~;E*O=paaLP9d~{F6{@8Vc$J*eVi`#}1)MmMJM$!LBd^E}s!^&nq#m z(=o0SFs>$ytHG{%RwxTNe;qU!{F+@`kg8Pf0d4tI42Sm-;25AfMQRSfe+?*lIv%nQ z-UAJ=CI`hRQW}I`5+N@Ejc}xZZS`Av)*wS$8qmpsfah5rMmj`0!lX{~oQVFUpg&~W zh(>>+G0#zZTW2QEayGWXj_A_ZyPK0m){QBxLK{ zC$JR~3(Ny~v@rpn%Yi3s(lh!#U8qY3i!C+w|JHPsVSPUY;^>nef}$ zV3dK*Ilk0^G`H#LR>{z{b>l|&#*JIMq+C>{tdJ|<)L8^y&a|{mk|8ZEGqXH1Gb2sP zgIT#m_29@-KTDJp)R#x0P+BGa01^n|Wq`14u;497Yt`o`4$g@_T#G)W;rSEQJ`ltD zqOSB>%zS$3Tm(Qjx!3~^wvV4WH8C4ZH^gVj($feB`1g9EAQ42x?u(60j*XofD>>1P z6nKxrK*Dd@v}qoKVoI=^0=!tNTG8F^`Tm*I0Rw0npQ-34Nd@q*|60WVgFp3c?B9= zg^**XSa}i-f%TO6qFA{}4!M|Jj0$Ct=n*~IlAAF)Sr`;Aung&&JMqg^ zgsd?{<6vr_HV(>DauuK!k~Z-{-_XkFp+R^FfY`xHAS6{p3kq(3E}9= z;p9!G=4^zZSIJd0w}K@Fh(P4*7D#`c=sHPi9ctH+cn097A7GT2)kvU-5*+v=lK|G_ zrPSe~th`>rY^#;LO(HA2XnhZeVM&=hTD}KJCfuJuQcSAYh8D}s-44s%r9xW`?=MCtG;W4eqEBTQS;)Kqg@r*-VT@>;?dp=}P z4CDB-A(H`@2hY2?^TF^F(>VQif1{}oe^`cMs{`TZUZ@~E)J8bO0Q@U{8{JGq0rHu=)xw4rR0Q}g>mB7tR#<*YntyCN# zNScUWi^Z(O;=kPR;XEZ)9#Hl|B|ig<=0oyk`AuN_N>MLZArF=c@EJEq1_LvjdJ`i9a~Z9P$#8&#>Da%%!v2Gps2o z%%uGM&Ra;s*&_hyUYyuq6XFJDKB`lNHMGXx2 z*`R*_(RZG8M%d4gJ3AB%1cK-;t$_vT-_7XX^%ytGr%Uk$V=etC?L%AB`IYYTpF@XU!i-{OZ@F4KK9Xu1CGWX|YDbuE<&zYPIcY-u; z#)|YjJW^DufdZbaDXDijF>lnKRAtgyF%cuZ-fV6N1RCGjSNo?eTUuK`Y4INQN_R)b zyhR=PPKYc}LDT^Q<0qQQMjIINpMgA%7r0+35*1&HQTZ`Og**djjZd}HsPxPGXiSu; z{DI9CB+gKFq5B}(EI?r851=%wS2MqghXTIz_;+M$&z0?lW-yoFcXDE`pXJVrmJ8CB(&SE^#2C(M~k1WoJ=Crid(2UZKWRsvvGU#A}9f1*p(?+3)fE;2N zHz;=e{xi}J&@ob5f{+m<)9{8^*z6bzQ)7rv`>`$}84+V}$9Rk{dDG}HzNDqpnrb>a z*=|vU4FL{NWYKnJ;mHsSi9|b+ro7zglvaxfN1{)kPg)(u;uhR%67Cg^dqv@1QMgwW z-OJS3QA76=khr(85e{0orQpo+kuAE?rQTRTe*fjmJ$kygtG?bPJtM+}A1s^)8z7Jt ziznhMl8j$T!mnJ4Ul0yZSGT)1WkGfrpe5s*-sYy3eV#SDJKsd+mDE&=(b~NG57pI@ zu^?^ggrt$dv zZFIcxJNrXkQ8AIR*V!ZUc=z4Ax>&NfTDx_t-3GvPab`0Dz}A7S>S61o)j&>+ce%)H z7uH#);4W81#x@=^NH|gpfNI^>Mak1=hofeJX>J#drF~~U|7S4&hD2YfL~^N)x0XBD zvzoH962QuOSV)RcAY;R}%F4RKuwhUorUh6fHPA_X0)D~=&fr4`E7cHJ)=>mNXqbyaX`YD4c*BE5@4??^)zlbrm$`~~yYY;NX%?E$;H>^nTIQVR28@OMW zO3y{h3a@4*c0lqtkn}Sw%X-2qgP>(v zq~~KaQLj2+r8gi8YY8&OmT7GD8kg{yLyxx zVL)rZ@7D?$aqv%-(4$~ztVg+ErJP6zbg%L=rBGM1@57cB<`9i3c?*9`Jt}sl{D&UJ z3dZOtV|;v!F7`WnL_7yUu)z-Zb-OAjs>T-HR9VG0XEElV3k+Nhj10zrX)GBT79bvt zDHsGA!nfUyZR)*Q0Gcb%i5;Ep!H^=k~S+iSY~arw?qO3wHds z+KRkcCtBXih5aO4{~|^C75^UdAX1<5gFYm@)Y9_K=kA!Z-1N5d$WkC!W@KcP<)}Ek zian#bp>6udWaTQAguLrczt=zsF}Aaf(Z4CoMLvF$Y0BJ!pJgM7{B~qUY1nUd!VBOd zAab=qVf`eardkYJAYRcxW0)dohlb65oe?Erdh6;|<&dc#?N^#czj>Z2ok{tsYs0O8 z9Lh#O6$FyhmZdzR*=U%tC~Ri)n3g(`jIX4mWL~miqq-(`)aOj2K{P&$W%`x8PRo1rc6$<> zk9C|IRalT0i%jcsaA2Sh**w2FD+@6b?f5bBTdN4KgX{6gq+_3onMuUVm@zZsX02Ma zs(tG9w=62U(`x(vtXXV7`Ux>!=XxD%icZc2-ChLzLG4$hGO8hV9WCa5^T=ln4IjPI z++0%wcf@Q`V}U`t)-zAld4yG?+hC01s;h6qE%UHKfq~Yf@X=&CdkIp_B^4KIR>J_Q*^*uZV=|0JWlsGkdio`%|&F0OUKk1n` z(=JSzIeo^QTNd1UGkZ&P3Hx@m9_)AXgTn~xT@I@On&5h&`Y&Hd%nFr4!q4w2yz5%q zRcYxNGt36#srL5I6aa)vbn$+_Zj~YLb~xQH%C}wN;a%%Jchb^>E;0l1#E zTcF)70=)iK+LT~o15DOgtg*}#JPQ*K%uNWT7KEr1eE~PqB2ao{=nPy5+30G72I3V5 zxb|#PpYKwQ%^02yXFqw^=-Sbg@0fw%fKViC2~Eg*1ms)$=ua{e;4>FiPd#hAH_BW8 z#(^&ppH(X2NutsWjT@?j{?<+d_9VWkY6FqVJUj*{iBiV9*46^UcKZB$yu}h{;1Qws zoXZ#(@D2C{IT#WwV|hl2TZzWVUy_AY#Sz&6{R1-GPLVLwmCborG3Vul6*#k64P=84 zDo{j^441&w44&?AH;nKsa7M!XG0>8WJd3t>*~7c*HcHyN5AE60mk1rD$iqA#Y0WG% z6PFU6>`?v4U7^~&dyvA&T3?#d=BLj zwrKONLkd6uO${#fcXxF4^>u#{5Dk9s=h*z>vjB*G4=7tLTf;9cSw0_%(47#^i3_-J zFlX$b^wM~PppQaIzY$7s6dXbB?Z7Ew$x-A$L6HLlPK<4=bm>EI*N1vx*d5tAe{SVV zDir+@&;KT#pQ;j-;rSQf`5j7u(B1t&!aLbuk%ST{6(CW;ePKUmd@cYW zlOt^$qAO1!a3cYnM*-EM8?4*pnh(Th3O6|j_`hGfap#^vJiU@Gs)%C=zsClnViQb* zzfUTilR9GpFm~eAshO5Q$TDHdj47;rM@44pk11}UN^Q>>i&N+1UfHw>cPf`J4eZipt5Xt3L-Oo%h%C)^3BNTAmvONL@5!KO;Ekr3aprN+8g!COxDwnCi@`BE9*g5wUVdC!$s3XLi68P0A@5vd%QLCl=j$FiJJ8?T-P`lcK;YcaStRPl zcK^WXbGT#}DpX!)&`YFx!t4v4NyZs7j3;}(?mOAnbG-NKua2FBbIpn4J;#rEyO1}* zV2CjQGX&2dcW?CAW`y(o2}b&!OGcXNnal_7`4Ul)l;`tHY(L8b6d^i92Pb1=a_}Q) zkw2QtcCZ5+A1`SFfp=gi{e_y^AVc|uuJRoi?=L&V<4_JrBG~~_B(kC8MiN|t&gj-a z=3Y|+UapXuPOLcq-VcHJS&D&c?T`e&e?sP65y8=LSLOuBI~Nb==|CFvp3?mgT;2k{ zJOBk>J6t>Iy&pD~x76c%ar~2S9S>5HN4SWJ-!TgnlLk)qc6S}_>inwLcWU4yQX*ix zyZ891!-o!c;gbJ03l)>5PE1Tru_xJWi3t;@PP8UZjch~svR?KhF_Ec`a9xx~p$v0C z6$71scB<4gm(wwy?vWXtbq9OycY>guSpYvo*OS2YB&ga9W#r+t=G2%0rrp9aC^{3!(xW*w&~kf|YRHLm+1m ztA+5^VlX~yAgHgp6DHMP;sDf~uyQ$|#ZsMYprxTO5yJ(;LF*-k1N{Uf*GZXVHMwJ= zCMH9opJI&yUXLqvFpsXZv@Ab=d8t%_-n^@t3tI7AkH>l$qSMRx{`PTF&TS&o66+y8 zoQ2dSAL2j-l{Jj}yxN8Q}j3^1P6pTY0^6$eq$A|ytjz8Ob zsK?ibjGR8$eIV~+65PBn78MzV(9g(Aa$P}oYo47y7d&^KU9zoO#emoiQgxWGzY~B! zxQcX*-@^=CNmRj>d>a%dsIq}J4*derR@-Z=i%a0Lgv?A+$Ax6V)g7ixX;NilW989C z6x3~0O=Y@c@2O@p(g#IJ+*%+r$^ey5nbUNh7vF1o?|Jt;tcY9T43dCwp?sx;hnqnT zieFFyiUieF5YE0HcwS~)SOuo2iBmA@@Y2UBFabLS!0|NU^V^XAe^~+K?*V{cH)${! z8e$_SeWyaq5T9t)tJ@0Gj<+W05pW8}|HvTg$3jna(j>ub7J|@;D5G$jfs8S>JrW!l z#+?be!}^8-jBO#tmU3-mU~I3z*gDmz4zgw#RN)*#RaKkWSfsE(jH_;#izG(vWVMqI6XW{72Vxi~0J_^I@uQ~(PRqPL zA#t2e-R5|Kwp+V<+rA5GnQpZ!2~N%i4O6`;*d^QWtuRR2!f<*Y#*!kr$GDd;O|3&M z88uZe0ubuhN*>aMgRPA5kH^M%|KE`>`0xAn%_S|D1e42`4bNsnSVS{C+wdg_$i)L1 zI)HTi+^SXh1UW5*zY=mlqur>KYTYnmx~nL&SUAq@F@4oO;0olPnoCTOlvH1TBs2j= z-U*>2IQ8N-Yi;%1528OFzCo$n_1tW@fYLjKn}lO@+=k;feCs$gbZDN-=-U`8Q!#1x z>pORB-Mn?nww<+q-u-&bjxE^UvGY%VuGq4r;=74x)7z+gwy$B|-ugG*ZhCu9V^d^% z|K2_OF8h%SL{!Dj1i!a`Ys_87E1_7qlKl$`{(n)r)CYNN<-z;hp^T>lF>vu1uf!^` z-0a!X1cyWG{fo=x`iocVxNKXQ&h6d}@1g(oNKa~MIc2^EYv3C5DfkCn+_oU#0Fc`P z-;a+WseX+~_p0x9_75DRnrTAAlhLGyR1SrQdx5b_|WAe!Zx2zuY3tA22zdEd%c*40$hXxE3j@W6hF3V!TBv^ z>1zHbCmcx_yst=o!dx1`>lGX<5?G<3swPnJcsP{X6q1sd)w+`Qyj~IK!N+K&L@9vU zBA+T$kayrr^fUoICF|4_U^Q0k#IJ{QIacV4X94NVYH3j`o6^Gjx&f5{)P<*czTxZ3 z*4eM%raeV%w<*8UJ^Ri(?>xJ9tyP3>j2mU|L<%ncB6 zSHU0<(QlDmo%CB|6Pk>tBG0(F#85{$9JL)V@psgs>ZYo5Vs04dr*gY?;Zw-U(suqO z;xMiGOQ$wV;yj+Pa_T{FyB4n-T9}Q9ot@pP%`!m&}3|dzJ3E}!t&*L7-%qYVD+fIitVS_ z^0B8d;VH)9DM(jj0u;sCAy=wQlwht*T2n2wm$DoD~RhBp(Iq&j;HPng*t0O zp&IEKrZ)`@nS`Ms0oyKU)Bg`=Ujqpln4+I_$G{l0l%e$Je8=A7rbpZmFgubTytEQ=6AMdL)M2s|Xe);R49Y;Z9&Y^sR9 z(hiFlm&qN3n!i|FsXP=K@6Ruy^)MfOOtQvE%6mER#N!rC=X*#=*?v-U<=o{<4;}o* zqZxh^!U}H~s_*{pOUfg!WR>`VVo~$Xlqv5R472(Wn1uzFaN8?=5DwgP-%|lDM~p@t zzCd9rYTZg3^p|=Je+9RUTfAs0$qQh*%Q*rLYU1n&+4KXJQ>+UI=|Zu3sif68LohOF)Y;#05nd;i)5qd4X%W=N4|OTuIVkm z8EI}EL#adsOAmy*nrjXWrO+YNo&&oou(Ge){MKGM zPBeCqc^k@5%T>+PtAEM}nx+$|9q5Hs4w&WIR9$VeAL68agrm_f&4|V_74@acblQXvfc*1kX27kJ4(9p;pSQ^rO5k)H0FTF)J0O z_jlEe0z>V#dtj(jG>gY{`(RY1LumWnX`c*kGaoj;-^+304=M(#*p~JVpZoNM zt_#>nsmxTstp>Rk!9uEob@OJ4MJ9ohZedk&TgNs;bt0m}CSy$QgT6;?G1g54BH+2n zsfBc$m^0_EO9-rZEizgOM3}-z_s7n$rllIxXM@12+&`gD`7Xmm-6Yz%W)x_;;J5XO ziUc(Ed^76S7;Ip=eU1AQV#+cHIT2kA1>i$QR%y4)H~ML<9@gr0u$q&D3(${<`{-}T zcmm{`e-Zls59t5<(EkY# zZeQ8qi_L((n`#(*-E8VTWN;X-5Gr{$VuwQ;y zITPY5yi=D1T^)c_%J`-mgG>k+fB9VTU zik_XR+2ZxOPwcBGz?69qojwRV4u%KiK~$Eh_?H{G3+l~ZAjoN3K6Y3DCaw4q=O8f3 z4_SH#_YkVj{1u}>4Fxzke~%+}mwkTzU|iVX{P|DXu(JP4ULD@jJZXpU10iq|Oa=G!5g!@) z(;<#4L_0aU2)|VWg-T&i2k?Fqa|m-Wo#tAZ11O!#CWAL_f-O#ATnJXcrxlP$w_jsP z@*#Wg)X5H7dQl}hDM1yA^r{n*2Blv;dUQIX_F@u~2Bs5ca#B18-}8lXPEAk?y_6M? zqp9lKXTB_REW%?w^{!+W%GakDgN}Pq=?}xqki`Jk29r zf}fT5k8Dx+*`GmC4}hX&FUs*LFF+Ef_8Qx&R0q9vGWrt`)bRB^4(}edxzTxQ8Gm;# zA-o{4Iu;3>CxT~nhSbrM=S)S61Xh%2bKfem9ji<=nC}MdvL$nJ5>aWM!YxIv`T718 zWoonli836K|8 zCthTkS-@xf<)I-TSMW5b^0*6yUbqk(S-Ju6onK)QAYQ_t14cs25###mXwtZ>#<<*y zaUmPGU6HFtaf`*4E@_mn2zr4n^SkIYh2YwuPwF02robrciXkNkcCd?Lg<^Ac214K z>s4nLFP?@4uTho>T=2F~qV4O@U8vQta?_GxtHn@hw^uH-+ZW;p!@|PCh0@y@0o0se z;dq1UVj#rBNtKeClALG=2fELDc^)O8P%hPA2(aX2Ck8_;C(=Ta;yZqjOCO$nJ#vfpCpu~h*S`fY_zOBqHHO5ebF}&OlDPp;I zg0})UPI<^u#ed$jR^HS3t3AmpO6SyAlz42F5|7R4YB>|Ss(?8~3<(hF!3#h#JOZ=j zUw8o@Np4w;O%H;eX3&>mJH{5;Jgf~*s$iM6Tcc0vpRN7y=tXE0s@B&CeEyN>`e>GJ zZTlN<9(>#R#k01XtY|bu_&ONp?13;dMJ$PzgWa=*)9ICFleYL+I=2uCUoY9 zeS0Ab9zRmOFDLzv$dHa}ddG$wIa!#AE*4%nHGJCQe4-(UZb5KK5D*Coh$wc+Gyh*0 zUdkCn)?ob7;;d}lzcy`p;at|RLBq0g5oWv}Kwq&rSaYc4b~P(A&Mz5ra(7i#)i=qg zY_)D(9oR%Yt}9w#X=(Xx?|aoRz5WFz;gOb3VK}6fd!AaRt1=j1%86K}QrJT!HTCjo zmgE!2UZEvoAu}netR$1Vrqu60`|TU+Cu709B*t6~bLcF{d=7+_K5s9A_+mpCX$ku7 zDFl;0g;`k&jyJV$H7Sn%(Xev;tDl13`RB};!wh1X`fP_kaIqI$W(6V9a%+T0C~)Td znz0CJ^ZVM*M#G`NS+D2pg^TCAyE{8hpTE%M*Yoi}GT;Me-QOMfy5+b(tVX1q&YzTo zify7ZgNrvp6OyGCom!S$$l`(2IXo*O3Xfo5mJqjQtRT2q7{Efo^B2POZG_Vx!Zbd4 zXqrBx(L^IrUA!r6`0(K=2{Ag}k3wfU^dZQ+Or4Ny&}&t=;1$FoBWncI;!TWQBU9Y{ zptvVMaa3XbN>JQLP+Y8YUG0IEQ;68hzWsig!+^nTK(#pt9>(hG0`tcpu~qN3Mzg09 z>R%jh1cWUgqYVicPj$3mZN)th^4lwHo30(DTJ9Yc^1eoi9ccU}7cWhKm+2@>n=91T zw4>mRxky2pr>d;1s8I9~807h7%TgyYCp$?A1DwFV)co0&()?NlNCn{Zi{@mYxGQJ) zcKc^7E!Jo{P;_Y3PX`&ulxB8bOi?d|PnIo*JvSEi>AHyfpG3eQ1_9R!Ig_0?yg z*Y85F^Pg=1g8xHYTbqsTi|&;d;@QI1?{rrTpMW@#iBZh+_zl(HK=|Lc+4=q%_#IxM ztSv&kOUKuf`W)^LM9ZKFmY`B=D)_)+Q7y3fHrvr$8W64p(W~+}q`&l2AmBQMar1n+ z_oH`f-udKccO(m504N~`dNf(H=FXUuB}jZafz)h3dd9>^2TKRL;@~!4uX@5d#B76% zcM>l2ciD!x$8JHF3?4B)Q4MqBEtCu*_@_er--&TPDew1BNSpPn4dqN27MW^MRIO-g z%8`qfjY__4`SRtDj8953C*Xn%sUyeSoHKsR5N+rL3>@&n4e9o@e!gSJt|KZ*yL|cl z?(X>6v+u-x%tZD;KKf-cg)A)A>tlhb1|Ka0jySp)7YESc? zSJ#)Xq}b0#rIiEpH1U3Ur~uTZjy{8hMC8Gi>slt3pSce_Jil$<(Z(Dj5a zoY7?`N5c_qtX>aKN}!kN23%WsH8QwX4kqX$L?R>IlGFmGjTa(XV+@D&XpNvX#`a#o zdHJqDK;PEJv?k+#M5rz*WEH`2r$G>xUZ=v^bphYgwS;>D-QE6RFD^9z4dv3KHxvl; z@XyEwvYvo~;PpCa>Lt+BZJ5b(K~sc)#9@KO>YYW2GO}<`3QD>bIf~y$)-@fPD1uz-+}t~n|+;Uu>z;vk`0xHdk%qhatscu zS@|f^IdfgHuwj965SeYJ9Bf z)V|gLVA%xC)Q89FyL8uC+D@H^uE9$&;V5in#*~xhF*r|_L&ppj9a zkx>@JI9iZ1Z4u%OeSr$fJb?VCYG^FZkg-pHdG}|wz$q*MK?zu;Eu1BF0#?rku&B%5 zTMg^TYATcqVKk(b2p*3h*hyZs3pNM}q;NuAkddyGS11(HOL4IL;~@z0v)aI$OmrKk{G8vJf8k{B+tF1+~X|V<(W4*Yx0^Bv#R@0FuG{|U+WEy%f|_8P?T78Xu>d;%EX zb}T_vAPT!U*s$<%kkZvgGg*X<2?i4&5X}0_#Rdbx^Q=MAO#$+C2AQn4B5(Ju1q+HY zu$u`PEs)WU_#pD5?=-+21Pn}2s!Gs#IwA9RdJg~Gix?GMM8smO?)7)GaM#IWFoL>Z zl!P5U+zZq<2mw8->;^dj91sAIGz3A^k^~}fI+Lg|4}{$}76BHrY(NqIzs*AAkhK{3 zKy+GJ4HWzIf0KHD8_~!6kS5_o;27CT`-Ev_oc^V!gt)Pk!v^ z=s05-b1rdC;WMgmpDF!FiCpt27f&{p+*CXF?KJYJhUgEwLb^ zJT7~QIaoZ+eA09Btjd6{S{J|I4-ef}a^GFWMH6fjatq88H*d{`_X~cW9}|LiqAy6uGS-vdyllXT`**1K(sy9dSG|0RGXQcJsNH9#h(3Ed>(Y51|8UW62E0C6!SgKj0{;fJBjdM02rb=bj8; z%PhP_2t$UxA(|Z@44pY0-d_cKYQ_5Ubtnjga9}`Wu#KX|<@)K91Exhbj4@$wp$P>( zUu?W1X56AhrkLBGT)x~TA_H1qTry-YR-4L$SC!-;OZph|stqc`bw&42gvq4e$R_c> zFDcF?!!YvOK`>RKV6j-5QHW>>=R1I^@QTAnc)F&h4N*dR4NMeEFb!ra!UAp+=w}Wg zIj6YfZ`0To_~@yhPQUvr-1UAx^0MPscjMDg4jOE`SC<80Vq z8e~cufXUK((I33ft2KmswWgF5$TVS81&IL45q|{#BEod$hyf`?LX;^D@4d|Ib6E zp$gvr({K#~(hWxJe;TrtzaBDW{yfk(f3C-vjmMbL+O1o#pmgr zJlKX8-`f2Hz$7NXc9xAQ+JBCzKastlzFrWJl93vTPeYi(Rbv8ykp}P4@4k1npS}nN z621@&o{W6$YM;Hzx{*tl;j^mXinN1EmXn8*#mmpX zRN%V{qel6AH(=C8VAO_T)Qrx$x^?C2iN#gzhdnM7q*97E#B2*|ZY5?ovOX8#lO~nN z1Fn~loxO463*Q?N@Y)7*YfMN~)j1rFT$uSE(^d-wGjC+s*-imrvXH1tDyugnWgjerQa5=;#*80YZ!4_(@C4XRmI3bx(UJe#F!Vt?V#% z#j{ieX{w{+R3IAmb_N_ty-2?~)9yLxYV(G5dKKnF7`uc*5cGzmBm><{GJ@ZmEW<5> zV)*1ZK&XU5&MIXrO3<5xb2SdVNtLcs(VK#|=VU|KL@04&=AgDH?lX_4@$KD5!4n&I z)W2baGF${y8#qBY0n!PQF)SF&=uJ;T8sVB#@?dWOYK^Fh9;(|v5yB`C<)NdYaratQ z4w^IL!G)zTbIrMT-hyB-(|Z`Igg3Te@kFdZU%;zl#Hb@18U0x&YK>Q8dS88;g_QRv zG>F#6$68o5qnWWr0U))F$Bo1QqyiimP>_xg!O_BC{nb7N=@!Gkd@?Sf23roY4mo)~ z2s1&8YT-g;SZ_7x5S|*;B&P%s)|KMWhy1~m)FF6l)QLdL0c5rvP>Jv(yo3xFhgPQ- zT&EzZIrQh+S_K5X0+2vhxmD@S8R*UF=uJXtxBv z1K1jNzg_#zGkHiGDUaG9-r4Mck44`6976O(i@SID*-si8X3V(ruDp>Z1lYzTAp57G zK~kB9<|9q(4H&!Y@V}MKBHhuUf8#fNmb|Ol>rxgWd54Zpu zoazvUjfC*y&~&#$VMw^|>B>Mr{vhxm;y36%|R9 zsk|}8oEonIRs}*Q65;@`ObFz?q&E5e5_K2El-@FdM|FFix^9)85FGp$fvhLMfUee* z@j&Dto4Qn~^xVVfIntxXqUWya>p4>X>fbMfbWjB6l2Rw(2E3muyWY~HQ#2JsI0sfy z-MuT}=4_;#0j^OdNZw*W=7QXj;II{{{dI?;VjfW?dzMRqlYG7U$(y2#x2#mpX*rc( zU0%RG@0*`T(4FNZd&CwL-3uzsA73!#{;XW|KqVps6{0kHL3uq!5~d0?wYVz~W-h|C zt$Is_T+3dj$;qI@7SNgk*&x#-tI$3Lk_2HsHA$w)7KH2*GGQtUC=|IxuhT&zPq`u` z=npz#@lG8|83f3vi;y>XUV4s$md<)sf(b-GeG#Fx?VN*BmQT6hQU>tt$}LKtQY7#n z(Wiv!cn$iL{6zzeh-!@Cv3Ia*@1_mUZK^1_uWJ)37v4=a7P&3d99g!krUsmnbG!2( z-#M75o)BkVv}l||NF0`$`XB+EQQOJh&@M6``usR^xtt7$(zsjw|0=7QfAZkLT%uZ; zJh_aFiR6$%n+HF@65hl2B{%owhFGBm?eaj5R96QxSbDk>!C8?10@uu#mk$#?CAd@j z6ad%Dm)j7E^d7Bu?4_8$%$sqG2?hBgcF8H*ucA@pH?IacCMOS!QwvE68b=}_VS%Ct zr==tbs83DY(J70R9Ebem)fT-T%obROFq;vH_XYx9)K59(k9Y$JJk;rUoSV#e%I-?v zL;L$TjRC3m&>eqC{(Qi3qD@pun) zl3TaYhS&QrHfU)8#FemD0q8YGCR09sk=*#yUSTVw*GHHIjVVbBMx_!o!$%CW z3`Gp_$@Io4|zkdy&?sEaIois|3VkcW8@nom@UAr_`1&n z+DUv}9(Rfjz6qm|j?pk-G)x$G7S4mY0L}1pfV-`@c*=E|DR8w=oNO*k0!v`w@*F=# z8LqM+8|xv(%s|CnK-Fc@;`37llxq>+yNMhH2`AsdOJJX-Pi^!1w!Ie>mXp5 z&8B#Rv_Zb79Ng1&xTh;GyQi3U216jN-nOms@1*Sg8TMhyM16$4DxrKXA)^^_dz0ko zl;5%i%i>RR_J!5PHn|baThnf;{bh?$8MqF;n` znIk%3zpKAQtF$jtyJUYXMU-5NeX+(cuKvYb6#r~9K<8}}dVzP`)zt6|{C$y5Y^K(R zc(O-TAGEc#O`-f1K(~Dwc_p$f@_OV=v>lNjFgv!163fVk4F6LfJAIecYD|gfpRE7N zW5>DlXesQ#tD5?Dgb|{FS!m00$__Iar zh}`kU{TYTkDbt_Y(^vw+QLIifSgX!ao;`K$yt%-w!88;hWjL86{O!R>+3%A>Z&}>R zmp+6w!$WO)O+I4IekiJjiTb@s={O*I=}e zp#pp>1uK>CLFJVIE0+zU;Kw~yMvFP#lo!oMc997rf?-z`&wTSuk(<5EDO&-cLD;xt zZno?(YvA@a0AZa&+5)CKsDq%G7I4d!iCj&S)5`3e-JVNq2$79sy0xq9KBHZF)(Iz3 zcelvJ`xIVgxRMsd7xF9JtNk|4GM-kZHFAkn35dMYM!p zNKVo~hw=HbAqF=ZAL;H+i?ri@<6-@aI9OzrJl9BjehAk~S_|QSlNZ#qZCeZKox#V^ zxqsKzii(nwaTlB4r$T*-29pITtCC>(RPflof|*$=#&x=bhM@#Rkpy^L;83n&TS(hr zh_f^QSL%7f8T zhU@ji(dY0f$tCU-l-hLk`%v`z5cInl{Z2?^T8M$?23qF*Z2}M)=uiEh93&@H9J(}^g>+ttpW*cMlyPQ)oCmO+BUIAlt;vAGcv>RKR zvE1@{y&;wlMR~OzfqSSc1e*ZImDyu}4Ig0!9TZw;-zrQpy#`lD^iMK9R!+vUBnG&= z8VN=%D`%CQ2;`R~beWE*s#Oh+n2jTD!x1;(h~!4kvAT8Zp4t31irMYbmX z+&Y2apwXV-SFGJPfwDb-X*g4}?aN*kJ&Fo6k7`lxW;S;tXMy0| zgq}PB%52AX6|s-!!Xm9w=i@0v0xs|*Zgw(EyQz@Br$-;sOR$M<+1b>Jh>HSP z`*z{~7}gjHGiqhWkZa3TAjmcp&++@k*Kdxsf+yd05>Sn#+X8(tm0>0;?YmjTK z(*a6!iT7nH4b+VQ&%U5DK;+W#ACT{xc|dKVbY% z!wBa=FYd)kUY>B5?hLa{nLa+*7$0a)ejMDoR^;j-rp=00M4<|rGpyE|vnIjj8UUy! zMfAxHAm8Y@Tj!5!hV|$1zCpxL@|okTQa*m`MbO_yc0CzVxur`cu)}Ddv0822+plfi zx@8M+*Ovjje!bO6@@|$cc8* z$T3c%74(Jy0PQuKG3wG=$pLS>?=X*eI(W798Kcq>%6mmB91roFK0zPqg5$TN)2q`P zq|Ge4PM-G@Fpl{c#}SzKgcUXzQ^Jjgb4-~FNtexEI_xHVQfCeSbmJo|Cnuzx!o5u zT>R>_s%Lt z0>o-4h~`oC$~Wr0Ko!|MuzkP({5cfg?t!5%+~GZa`fPv=#2TqVtRh7(I#md6(v}T$ zgMd{mtP*;We1%}!IK&LP-I9U@6^mXViMJoOOK$;8IYsqB76}6G!02K8LccS+O??Q`;kVY$Js8Ie_^v@cS~itk%Q4c*;#f!oUuFx>b_t9 z_5Q0Qm}*k(tgv5TmiN8<-2K)XEHX-+0yFI`*D2_$*@Spr`Ka6R3xxI6uj?Bz%IJBR z%q!8&yqT4--d&1_2sf zV;BCFFdm7CKLeY)9gGy3Bvs!PwTId$-Zm1k!C=tWxaST@km&9Jal8e?2N9H;xzOrm z1r*Ca=Hxo)!#tmosKIKi;!}rU1s{?kZ9pPiPt>Uab9JHiPrrUl$lz(XH`2|>Zc8ZX zu|dy@n)kf2N~v|G6iBL3;UlXd4s4n)>OY+QFz9-_D&;dZbj?52Dz_U-PB z$xhv6&f4!S@Ew%wd?sra`DT`>j0hZ9=rxAu79IGci62wLuZ+#$&pH+T_|?dyP#cB zJ*zz3#vkHf4$5#l3V{xdO_9BX(2jNt-CqU3NgjvxiGN(3o5<_^K1%r(ys-ke^S6SO z^DdXcFmn2nbUPKu;8l`Zs^BAVA9%M?svhZK!Ub<;TC7eVKQJXFDJ~ANN2nIlrAjf6 z$h!X8jFG<6o_2_J65mDc6-a`ro={J(M3O!V>^Lx=;bC+_ZW`M3J(%v#tu3v`&!S2o z41E_ner#>o4-d+rmellXvZQKdRs1V@lvc%A7}ZG_)!RXfs#!HPvnD`cO~V>ks(xlS zj@m-tvm@2pw)uP>Pa!GyBqK#mptGopOo*De7v1(G|6 >GjZLQF0IXoz#S94~IrS zmQQRJ&43QW+`~+@15S1Da8roGz4V44<&jKN87=23F@|@*Z4hQ}@JoPSjEUC`wHW4U zIP;2#mqAIX!)}#a8|UK=aR<4txNTTRv$z;6oV!5Ri(pS!v}huHFa(WD?LF0;ksUAm zCK?^&S72yq+5h&3U4HV#m_|bQL745ruOAU7DpGytog?$pkn{5Idf$3NK@kX zbv3`fDjz&(TwhGFmd8M_iIV?D5Kwd$52GO(>gr7$dF}1CoSbxP zjwzg;lb$|y?5K>9gOi6}l@75z4wYdb1%>niogz|ZK*Vx)K;Lr#A9`RnL7s9(W@g6K z!;C_x-39L~{EK3oD;NxPUqB@$AoJ*rxC&TNQ9_zRbjsmQHtH#e1K1&+^)q$q!YFXihY)&N`5dC6o zZ3SW;WYz^}*)SQyb%Xivw9t+`a4)gQ>K%jR#t@Zl+K1h-s zz!(rjL100DnBWG;dh;-T`7!)5#o!Vm(Qy3oKojOK>C5yizsPUc-YKk0MkyKq0<@zc z{T|tMIs7;SKrkUVsa^*<5o^gu$Bc_6%jhHnqH}q~tWJc(&4ijWZsZEy&qHytM(+pG zw+(w1V6mDCudL%);1oTNdXs;`N5Uz}A>HE=PEn46Q$$Y55`Yq~l9`5*Tf7b-*$pbY+@}i zj7HZEIqdTtK6Id={<8yzesH(9wc!1p&%Qa-;^}B_f$?4k->QNT71Ix1q?Lx4jYjy- zQ{fASjhm$LAu#siJw0$*PC+i3jWH<37!XnejlocifoTAdp7Nl9P#O>#ku__9|Dl0B zqm;WUhm>s57G(gGo!1g%O>npye?L4+`oVG1Oy0@;rcGs%lr4ge5b7aAbkr7 zi}f-*SA3s=I~MDd4_HRf41s0zv5aL@4Y!${0mBI8Wz8~_LVos8$nL|(O@rBN+PIN; zKN5Z0B=>m}up87$iZF+Y&LBb(3|x2(A}4~dUrZdx4@#f1{R}XSA|_KrE-KO;h*D9J z&^aIl2131f-}|eM?T6k1)WQ&o*wIlD`&gwClx#&s@;?}hM*4?L*~5P`r++o4V71x6 zH6ysK6id_PlbRcwH36jXK4hg$+^kvuHmS3?`Dj^O8t5m&rD1X*88^@#3bo^HlEsq5 zhXN5vnbjoMm@uv;i-HegpbAq8Q^{q!xiQ>rX}Me~AY__svR$Vsx{T=vHL8WHf+Kib zbeY;bZk*Zd!AbgfcibI#Yu5 z95xz}L%?`qWh<4lIB=FFI7>dL`3_Js<>vqs0EVmBuy@ne7k4w@?FzyK7|E#>B$PMT z?e*fDiakOEr5kkp-%L@jYuVL=tBsC>N{NavglYDK<{Ru{?%E{so9Z@BQWjKP5n`Kv z`8L_Bd~3V(E#>2rNEMFF&d$jh8gEHLP3G`KXoS?7umo4dEh)&(7&p!mZw{OS=}+t< z(LJ;{s}|jsfnEdeE`6HwwIDzz--ct9;KCK`dXWqDNdNW)2_CFgUO&}#yWfAPq7Qh4 ze|C>s-W==RM@3)WZ@v7>XFgWG)Vlxmmi(nui-5rxq{ask3nBFS#6;gY?+MR|He}(_ zHeMa^iCUlE>-MxCZ$teHprTUbbl)pvAbbWKD&?`#D>JUaavT=5VZ#vU4`#g_e}ym= z+7y2UHYMxuoAN9oy($)?`CH8NJPc@c{1_H?n@)< zA72cYA5_UDvcBEtD3tFx5%)X*_pAqpp?VlPi@+Gx)&(ka0LQ2@ES3xia2uG54_ZOM zPEl3g)KpIbGEd2I$hCq^l7|Srl1Hoo=L?JSc}bsD#Y9w3qQ+ZNc=Z(?$zcR+%ISqo++x54Lsj ztT&1h#;(Jg`}S8kzD;{Dmu-dvV+ogzR?IEs>}VqQC+=n}IX@CZ0fQ`&+i+-J%@8lP zfck0sw}2+RT|O=b0>KkNvZzC=2IBW($Qf6`$cZLztHZYW(9ewktRNZSUqA^y56ZHM z$V;P+xmWe_;j<6)2Z&0-xSX72w>q?^TfTJ-y=4SAr&ZL9xMis8+m_P~^{vZta>hL} z0g*98jg6`Y&K`a_7rfC5vyd}k-hC62{I1RBuNVni&Y5o$c)>gP4PaJCYs_ zMKy5-Eu4^?#t^58_8`SFiWLbU?`KZ5w|52wBhXUn?FlZ|2?Wn4S}enokzSY_i+bUq zi(yTS7K<~Cf*N=_kx3RyUnZqu-Ae2Yo;mT8RIl*T2SHyB&=+~8b3tEMfxh(P#z7r< zemAAiOz1Od%@brWG4qeh5Bn|Z6%dbbR)Jqv4yg&V1uI=B|O)pGN& z%?R6cE7XwPFomyE6`rbNR&E(gFigycjYolAZ9o}L<#Q(#0BZC(7vI;hT!%^>Z;ExW z+X1j5F+|4M5%_U%7jA6VfB3*3tV7r+joLDmbA1JFO@7aP%FqN6p7yhk-T)Ez z=hMLm${zL#8iA?fqbj`gC_YREf%No28W!$=HKjAmG=tJ5C4zuM-CT|$w2&+X%cP3k zgYhbq-9l3$p-5w2^I}~d4fE#jdEgArh;+*>f=!Ppgofv5$x4kt8FC3wn_ z3FHn&o3693uRH)r+~1Ikn6L4IV--Z7*^yRiQ4L~AcF1jaWOw8n#FdzATjNzk3jpq5$<7VFP@nAgW-h0pNd#4tblw?N{(&;|o zkshPD3E2GA+&3`A9mI15n7qI)z{mLwu>~;q#oS*2vM(Tz{tKA}e}Tw+vKJL|bIFE_ z=TQjfjgn^`cHAPgJGoqW+i~VpO+%LEd%fr`LCdQ$WIrnC6 z7?*$$#zb5X8G8x9HxbPU3Fb=f7OoIWhy_x3F@TmkYnN(1U*AMcALX(GGUIgUeWebEP}qJY|IAwG;myqCBloryi}BnHjeK!ng_Z+tJ3iwRL!tX`vfQ+tc)ptF*>s z@3}BV!uL{<6ySRy!@9fMe-85ouif3K#^*bWi26@nwD(7Lk)P~x$)5L;e!*E}1))#9 zxTK9}e!I7y6al0o{zenHAAFoL3A1qSE5R2??`O!N84HVY*%z%HH!Q|uY{#MPx$snt zO$sIsI)AA4A64|&eKcy0LmUgz^WUZt81lS}KB21Dd8gVSrqiHSGRcsYb@MQA^pxZ- zUH4fB*M0y_Gs>hn&UWhmT72cVTRcz zS|#$u#VEw_vOM`3*(y~|x^FkdMUW_E6;{;NwyPcLSdA~855OFsCYcT%{QMnAHXj`i z3PUE|H?QQj^mOaOK0d9!|0*H){XY~r=}GSSkECs;V6eLbj{A=DeAr+foHBSIN+qit zddS)+Y>kq^+yy{zpd3~T#xq&3iJU))Qrw*g%p^gUAKpELn1i$r!$C!A;bOXIp(Cfny0VcUv zE!af3`&38gITT|>w2xMZ;lg@Uct8YSHzH3kVdV#ayLu?7NfxHS5x^}VQ?U@9om6KQ z1xoPD(}d^25=f?!d4RHs8rEE(mJF4!gQHyeB@RROCE`b9snp;ZIS$aKC_1zAhK;f{do88-R%|xCER%Z_1E8cGv1&AI-v?@!Hn=w^eMe_^>Z6Gl$Srf!s)Pq z8%%>LnF-8!n6f0Mdirjx7Sz5$6bkvh-7?9LyP*cwKv|VS{M>e0vtgv&3~+)tg8|w} zVhV7MhFL5_hYiCUX*0C&RdmMaip@$tsBuT?zJB0wN7Nf4p?Qhym+*oAeorg2OE3^+ zpr_=AvL_r2Y(36t#o3B*&g*ba2X}G{VPlSpoC2Sy?`wzPmYJh^=9_cSzZEH!n6!eE zS%TmeIBeEULa59ASoR6Z@E*k1XCgu*mlP)G(!1eZq*6ZNP>;xI)TrqbqZPRyU!wpS zL>&U>Z7EmvqsWbzOIRgxxENc(%}ZZNuE9H}A;{9mP2je2XZTd5aR(p>8QD32a9f3Y z$bkle8UTouOnGZJgc&l-P(!^ZSmKS)p0CCGAkAKG6}QT6g;;|q%{&J``i>lttKH+^ zzx>Bekw2C8w>)K}_`ju{68VIq2o#c;KEL|sfh!S9I=VCuSBa*1yvQQ3AE4C^{NIjNwRcFc9vI_9BK0UVkAP!m1n& zoQ7%Eed-KQafG;mgUy2m7|7;Aao?!kO+gZX(!NM~l*j{-X(c9{T!LyP&ZpN={8kJM zFlV}Hf%l@ON{~;yBK3+yE{G6^3#U*IrsD!9C#P>$#-8l9H2?c;`LGQ3#lzU5uBgS% zr88~;a{DUnTq99PKLE^1#xx=$(=GFhfRDZu5A$0qpUUNiL!pe%&cflgmkh`YCwU+g(zx87#s4lwW6I%^+|c$OsK`k0a6u;_FNcemr8cdb^s=9 z;6|^o16TvL&j`NiUBTP?e6`g$Ct;ON$2lqEnksAM68w+IHcg5gLOHiEz=24SA0K^4 zwXUI|K`AO~!|8ty8^$wL$ndE;Is-mNJz0#a;&$1 z%&a)SJ(oz=A&j3oI^{tB0{Fhm<;t?eI#9Wc0VP@(U}P~`hbGpNg)iRk+e`iY$&}Gk z$4j}qmA67ceH`wewcK0WyIiH*rgHJ1A6ZJ_s2D{ldgU6dp2xvTP*N7*I@{$VUf|xt z8u5M_nIfi)z&Uw znB@>o9&S6O6$S07w!6F5NtmPw#hE25vvac{RN1M;m)<-e@-5`7 zCNB(#O(;ty%j-~D`729hon0usl5gqvbR@i>?1uwB_&GA*=2B@l!huqGF+m@v)m-p+ z+9}gQrx6gg&T**zDN@2G?BqsHg|!o?2`4?CGrbzEK`-sLb6s7Ic!U!0iD04w^?tu8 zN$*hgT!f23)f2wh<4DjYnf!kJKmwIBU_Su|k;uQ!#v8(4BLTg!ecEkm<<2uvJ< z{%gDWKwOa#SCjxM)`E&-n83KkI|zhs71Wr|B=zB$$)5M$m(-iqttwx)NwNz@6N*Dh z6Xj)Y7gks#p-HP%LTZw(Y_%PH6vkI+wKDrr)Cuu`$|_D(mdW=Svu|YEiuTb5)&Sl{ zJNm%JuF<{?`z1chTLLb?&+-6*xxx9!qF;7-$9VtD*OkrG(W9H z=}Z(~?*fn)5?K(bUZxG}%m&E0x;_si`31DN0$SJm*E3-9v3Rje1<(zo1}TqA*ENqzML!F_CJliG>Jps^&I6|HtSbQBd^SC`3?{g1Z*){}6ovoaW|e zB1{~IBd;Ncr5dl@s1S6^f43bX_fL`c0ARKxGAU9JnS$31k?oP6A#ndB4zcaolV{7@ zv&Yo^&B3p`P1gZO;<_nU$LeFQp7L3*J1LZA3p&u^aTly>40&DXo z-T+Qf!nMHl3y28VuCl;a-iDn0Hg_-HbJ$kEO@`#%#0B_?yp5m81@L||w*7b8UEI(7 zb&$l@@;~ye_+N|n*KxRVRk@h5KRX)%h1uEuB!KuN`43{&A9TJ2T%Na_Qy>E^wHp`1Ah`JQou!X%iVpxL1c2Fm6uATuUWe4K7=+ma`q7XCKgWQ;IboB)GAVIu7<1-3qz{x07~`beQG zn}vhM#-I%=UP;16NP^q$(gSedSpL;|{jhOkuc!3y<(idGuU^CMz~b=)T4P_qaWx8# zGuwF>Ecq5-0tJJ>Q4SJJL^*pBjO%%}DJIL@@#X%nI?Y+&*1$Ao8~NF+RP3uoZVUyP z)A`Dm9{w66jwg8Pop7m-0pXUYpMIsbwgN7tdl7RmCT{%r2}QH+f9#1To_J_h;dtp~ zJ4q)}BJ3B;V9-WGegd&M8{!T4N)@?yG2%#s*uuQtGZzTD!+?^0ey{Yha{t>fuXf@7 z|APB}9P{cv+<$C23Pz(uSAscN55p|*OpU86w!GisbJdlvdaicg!6WC?4k2)){vUt| zSJJK)!|L>3`uf9WTzbLa@9Vdc(B7X5Q^LIpb>?x=el;I=?OpR9zBRh9(cInm`QE*s z?%KY2tj zK{(J5)}7zKYu7=aLz6hhnvrUNO_{We&8it0RyZ)0^qDK{erpCmvM{eusx=vHIEMBn z@SoeGztf5hghu?&4TKb0ihi3558I^ZHL+{gzV@%y<6Rdc{D`@I**WHUBlyVich~NC zZ{O(%KX?K>iFt$h$mxCWNeCU_L{vk?Sg(Y;8lPwjvj3cnTXh>u#=1C^Pvu~44+jE> zzVml?b)9EGcEO5{Ue~A*!(=cDeBeUVbF%#`4>(^$1*aGV)ImInvqSP_(Umx*Qx)pP z2X!>yh55swfuXD&HAF=rdfo$oav_QUlBn~xP{{8)-F4<7rxE<^0TvUZ)(9cM@<-13 z!jT?iN^4_!BfSu|1X$nFt}w+2y6~wVTYv0~=!BSoS17;8!yi=!?H1TRWfUes1z%y* z?5`$18q`bG#0P?UuLAWB1oaLWIr_7Y4!IAt9&K&-vLkdw7IK~1#l(X8immUwU-#a- zJBnuAGkcEh#yn|2Lu1Z_f@wv?(~B3*%Qkm5eN+PtmTO)FomTh6b(ksP@H&+2R-$W{ za9tyYj2c*~cnczZ`EDUxd9(h43cv~sLjJOcg3{F<>DI@@IxU_&Z zI>lIVF)c0bpIf&cJn8qhAK8Dj0p54AG-1wFV+EWC2-E99MNi_>9DM!@sYg(s=hz1% z$!Ar8TgYdY&n^ew)Up+EHw+&=ZQf+-*sPnZQ;H^A!NHg1(rigsmOHDY^p4zxe=N9V z{LSGdvxRu93T*C}Ux_~Af31h?@nC;_`rfVl~uS`h=?0XtwT-Z!xi z?W`D5M#8`WF%FflvkREu5%M~#Rt();QL%f^zrJkPy{o?AgIx`cdq3U#&&G!O4|l!) zNyDd&5RA%j!08JPm2qGqv@)LD<&hObkyjSn*X(w;pSc+JpK`kn@9*gFxLv4lfJ6=t zJV9lu?#?b8mWbaJ^-)N$QBXd5qEBbBfR4=Qe~L{Ri2kQsGdqmItVa}DVFN!V0>m6e zTs54iv05z}Ph+E`)i5j!;Ju=N3}aJ^CLG@FO3q+Jiaug(oI(#3ZS_uN8M7yT3(W9|gt@v$?-ih0gV;8lW z=Fh9DK5xc-H!1O%d`owmGdHtkuL?~ zc+silb-)qrIp?Qg<&j(|%Wwai`zgjrH24SBhI|YpZdpd9KHzabWFupl5)3IiSn4Hf zWFy&A==PQ0xP1Tqs5-WU_Rm)K--JDB?{NPS@%V*!@Q=%-VEC10VH)XRHgO@{BoCgQ z3eID<^4Y(x-=)E^8XT*#;My#R{OXU!D?vP5F3cm9A}cHF`;+enREm_u~KUxySXNyYhc??*C*>BhAq8n?8dj0wV7`ES>+YN>@Dw*t9DfH;7Z z;r{it|2Ovxy23ph<$DHo;hw#}K91(tZ)4N!d<&B8lo1BH=dZN7@!0=1^zAUl0~1Wa zCm|?ZlIfDBAXde=pEt+Yi(qJlN3C@->12nG<&61{_S*=N|l1`yLs1)x3oT94sKQ>RbkAe4O2G zN8}JFhO`7A;D}U=J`X{0qQOe!l)GL zCt$RKXB9F`Thj*(a)D?rt5AOBv%m%b$Cgx^dHdZZe^|^$=G_?gO?B<80zb=zB)v(> zgE`%eYT$p4U73g2;8fK4`|7I4t!%qc=oS{bAs%xT0>;V^y4ceb^lM^`Nx)gv!z3ek zebPz;1wtUt1G*djC6ixgNH8Xum^N0&2Yr5{AId&wRGf0r$&V{~yw78(`_q)nz}`LZN!TC?*x?F0 z#NOiPSPm1++jQ6}(Ns^L$t*&FM^Y)&HCuN_f%E|}Ku`w*J&u^vu{S_4*uUQZ=oh&* zl6s!IdVvaMohh!OFnT|?u8u6Im91eZ7bjUY;-O68*jCJd@;6(V5y5^(Kd7pDX=j_? zIA+!(rSoS`$tjq#1Zt0+3F1bz5cQceQvRNSyTimF6h}eJ{HU4-9P;m5e(ntFe13Iu z>QIy3hyqnTFoUfoVWSK(lRC^9-OX+~7ExUxSg*q>$N_@j_ebJQrYmAkdvpQUQCHgu z)R6N6Eh{WKs6+*~M%}A6ds^BZR2)a1Vf~zt)@ZUIt1(KH@aGiK7kCorDctuYAJNaH zE0$g5S%6q&J|@BRKFdW;^kLoe z6<;4l1d`uB0ac&SqFHe(E4KfDIC!J+>}NHvmlMF4H{d_8e*JU=Fn)#q!*H~Gh#-`G zk@q8eBFA7F8U_Ye7@Y|T;BnEEnVHtpYPxbDI_d05Ftrj}DMNw95^Cxdd(P{cGi?xw z6u(nl@-j=#t(kYc>0Dd8f8W0jHs=@KJ7?bHvEwBwwRr}Cgty2UI=66lbJv2VzGkoR zk1bj>nLHv`l#00N_*x4?*%9`hdg=6{qUm#IL;0=7=|9KxEr+lCW%jY`xU1zpBZP|=#!A!5tSck&7awmMnokgBQrB2qjHOS zt=w{5tGROrHM4SCx3#h)*Id?EBQuwE$z{!qTxxlZjEq&pktRhPalmmL?)*OI&S19N zet+-2?>sR7?w$MR`E#E0obx%KQ}M)z>$Q6 z7`-S<+DifOBEi>hFt~Un+Thd$&Y$(dk>h0j5_jnmmIIf9&taA10-zp&g*w3*M-z3#NsiK|inV71>wUzNX2W(Y}TvMwV)7 z+SgcywazCvkk#HIvwjD=x4yVgdbOa z!a@OcgQYS(uN|q=f$>!&*4FUj%1;<+KiK*Eu}vE84>TgIrd*iJ*A1yTYK{G<#=>eK z-5dy5B#i}8Vd#=v>kl=Sq3DGx&%k_0zk;FHELAg8K39QX`G2Ul(62~qCse%-?L(;g zBE(T{VVy`5zq&}-ib%E%O1Xn&5pJFXl)j2}z}bj72cMai6CyZzVC7)X4j+lE{Cc!B zmoNdiKdc)xKBLhGYbW?}0LyT&bV+0B>9It>`IVSzK|D^u>9BkUg@`8(i*|5Vh4Vp2 z+hEzhoO9SNbOvezOuG(j(nJKxRluRK9&YjuI5c2HM2=0yxSAT3)mME*3>X|464%uw zaVC@c)@+6&*B`Or6BdA0tye}RhOq$r(kv@Y6nth|c?1i9Q*w0(11x2E4$Us(RyG|D zHX@5KL)oEDR!(jM5F43;LGu24CC;mQ7{gfbXK`Oopk|Yir;C zW5XZ&#k_F|7~_7w;hMZ#mKDIQ;1agh@mWul!VD1(AOf)jAa$8I)+;bq)U$Ur59;2B zu2UQNJK%Z92#uDVz;j+iOtfy)#L*I$GD6Kk#&k|D?HY-XM+#DH@H|7}NY}Nz=cIQ) zxoF^1Mvu_z6u;*?AXo56uvwLUrsz0i#_+iZ1_IjXC>$19VvwgYaP0FAiR(TEa@I={ zz$)Cac8TvjeL>O+F-(W-rq}orOv7Wv0Va$bY1Ei>y0hOhL3^pM@6^f8eTN1`V^rFB zbF$H585Am^)nKXfCf-57vncIZk!#H0q^U-p>9kDmlp^lO< z+6pmC+0`+2^ic9i(MNyQyMsZu$M5$<#tz|cXyjiJ`xk-HlsA_&s;4SK12-Z7vF!3W zFlMYUbU%LOIdBLVfWjwXdbgrnc^1-jhEP63=o#FPjKDJxDiccu1GvY<{6No`Sda8W z3xI~?8)S$sY+2x1_i}#5l`lmM6qyxZppxlXpyz*!9rUpp37Lq|+3^~Fg!gX7wfz+} za4$ymT#V>jF`^5UTqPH>=dsYT2w^}o(7Ycj&nfpQRf>1y)ft-^bejLY@@C8j8`-8Zx1MsDl3(x%2SG@tWccvJ9yK!N_wJ8_xWmH zo~Ab1eAM|YaNv1+ocyvU^|*6x1?aX0g0_$+=T{mzlE$&+A`02jLhnQ<$Np$vut z4;!Jc9^l4}bn>aCm6GmoFT~o#0Xyn1Qn=q7mXP@PU(+GW8e(b>6T0swILo%$S{IbD zurL3G9s3=QyD@kC5sNV@SU5-UvqaJGHnupBSMPBo97|P88r%)Y4;d*7LyyaU$^=Ui zlG1ul9ql}Ryt9)saG?H3Rk0IIMTM)iDIN`Tp?&to&-9hW`RO7DN0s4-GJe?%qB?XT4uH)UG9* zTe$p8_v`Hk{m}Iz;#+iXKXGGj&UL5irU4u^6p(hee)o~X%{xJ|A{n<#w$A~JgA240B5M6F~b~7mgXRA!hd+@Z7kbbSZnl> z%t^VqYV6rfPff>+b(mA*%rHz3F{gIn6cHGSqDY@ur7yA4Wlsdx!xqF2b))%?vpu?{ zxs!Ch5{%LYiCeb51is@ZRB5&h%Y33!UBV?mpj2>ml$t@r&1(*A5QDp7$ zOD?y$7#d`l-=YKrbSw1lrXULZ?gjVBVs>n_2*q#AJtfSA#pV{k+R2{V4&EUb@BU~* zq;o~T^07NB%l$Ecv>&;rW7kbs+)^Q$Uzh&T;>^rz$4{6j1LgC=bzU(VaO$|2C;&th z|A3z}^!5We8x`{PCYX9pA9tTP)nhP?Otr#^6zuc%o$ov6l~*APS%4fzf*-tMK_?HL z8mbv+K!UPxVW9VX@VV~5Pj~i4u5sL z*K-zxeQ`1Hy#}RP$^a2s8Bj3=l?iTe!gVF*3TL2LZUX($YJr)9A_ZW_Y!!4E!Cex#LPK?LJ z>5K)aFG+{Yb3cFL(JZ?_{;e)z$!Yi01aXy9F+IR`7|PnZ`J zY88}R45bq2p#@-kAzUu{5>gjtmZ~2tfYMnJ7ch({k69nOUkh8MDag!Zq$R6DNOb<) z5Qobd3>3pibQk`qRDmMP$s$s!vlFQ6At?nOWX=Tds6N3W&n3YDsacOMH3Xmp@poj! zNUO$1^p~25baFA5xc^;9r>$EZu$rsFiC?>Yzr3Dtufi>u5NF^+QYyGA5w)0-G%P`Y zd2UR)`$Sh~$5-y)g$qp7Ug(t_!T`EM=s8Zg-UQr- zf32&I(wU}>Q}%S)26i0A`d|?T`HM%`3zG0q&;GmzB)v6n{}!9Qd7H%dHRs83RSTC^ z%`eR_%gZmXEGb{ItO(V#6s_%Wz^*C%#+d7A+S=@JbO<(o>Cz$y;3b4q=I3Xb<=<$N zS-_a6lcIG#uYk0kL7oL-Wmq_1_#67K#w@PNJJL)3#a_&})k57_DbYG=D_4RQ(LY&! z;dO$I?E4ifAxTrVTF1rtm@zKSl#*Z8ap0&BrAN}6FLo3^v~9PXQeK_}OWI%GhpqMP zy1Fxn-kN#~7VmeOK>8x5q$7E&SDS1#_%D9bkux#Hr1zcf7vs}+IqYR}ipZwIG*LV$ zGjsfytbDQCeWG^|+Njyv+3A(`3hRHEO9v9}CZtwam}i zIXiTq%_$}$GWz)Y&mknD54NaikgUZ5pc@w$2mpx*_cP-pxVZ6W#*!RcqOpM2>qH|s z?1CVtlVJS9Lv~_6E)@P3kl>x;!km(`QBPB^s3%(4bH%Z6rCIj9Y_JS=^#%Y7jhZm! z;I5Xw3;n15arm#Bz&O2BT?;JL8jb%A4Qe_JfDe=P2jy;>ccR_~O67tUvrar{)s}@8 zBpEDxW8;BOzy9{b=YQJ0;gyaf|NZxafBEylW2bpJC1b^kj58+zbkH(?-}&?Ill@=* z?ck@MAO7Z>Z%}zK-pogVUW;lm0R%*49G6Dp9pzfU^|Qi^HQ3G|94KDM#4%J}S5Hru zjt?OBJP{Ip>p6AGNA6?bN_j0*#P2IlPBDxdXE=A}!a#q2zmKHyx&G5&zdwBj_u-Y- zXn+>sTv~wm;ecKpmZmFEbE{Evi!qXjH6jZ&XDk+#QTa1w&M2EXGyfUFV^qyuaGQNf zL0*w+;BRG{ge5?SA&g@a`wU+>m_sbLorO)cXHW?G0WT!}W*I&Xao5}(=B`-)40(jRX1tBkgNX>yK^hCo za5N~){We?Hjex38${GuCGd7#v- zvak!@U@yBERtykRM!--);kV)SU%&s7zL(!({EOqwiAiJAuN^-=>)J8tsi_uA?672W zB52#r_x1C-*p$?y7$J1ddtM_%C8dmrM#l#o73S6}_-+tM$Y1g!RzU}uL&ghE9)*Rv zpw)u9SdST;^7DlsL+?=uIJ**Nzj+=l|68>DLumP-tapW~%CSkeY}th~?|9&zhboGYy7f48;+OPKKJmcZn|NyYOLvo>n~m_^cR22On!aaNv^z z@-6E8eI5jE(Xf+IA)1`?muYgE(3nlTY6(qb*Vfklc7tp6TufCDW4%y;?`YB@g((^9 z`CK4!>`@9th%ch&|sT5TA-;g)zCUE%%6 zy!DR!W;`e`0c1MYdzxrJdr$TD10RC55!4m%2SXiEr>ivxBGmX961oiIRr!Lj-2u!} z7Y8WzuU~#MEMe`auUk=HH=w?9QD2lTB6@)};renglvgfV1o+s?Y*W%PyTuGdOq4B_q6)T>2bY3AMAw!VlgRre}!62R?D@(Lnf4jNn%{7!dGAt`+ zs8TXZ9e9*`hh*h+ZVgP-FgrU~rj%p@6#hCe+!TSWr{~Z#6@e zC&1A+I?~2mVUvQ9b9dF;uMyilRm` zA%=n2;*c3vMDUQmKd5eW(0U`$7G`4_vdC*e4n#Aq)1D7?Ejve;FyYXlL;8mG>s@Q= zY8&L|DLqsjmJ91uZ2?yWOC`+eJOG-3h@~S|FQUTynCDUXaTvY}X$;dOVJ9#L=Vv<>=tH zsl;I}AKeL5tRr%CoI|tK;n<2pBXS=MeE7qAnb{-&)qZ$}AxrDOoRCR(aQVmto-??d9}?*8FfYA&CJ?!(j61mke{ z6rI6f=M|?=$H)Ku47p}AIdp#PCe$-vx&S;m95p$_SeqXbxSd;WRc#MGIHyk|9Ll0x zRK8KZP+ixDK&&$clUxDh(#DN;rB(S<>Bl#7_-&w2f`T&_gC`cRRj_ElV1e+FlF1Um zJ?f&i|Gft=$zFDTzzH7CfT#2Kh3cZFg0J=6Kro0^@Y+4X)SX@B$hP5PHE=L5#rk9+ zI8hcLd-@s#Fx05U1qRe~FcEBL)!g#sw}3z4S>#?%hr&mxtKWf9%mh>Hy)==+oWb&W zD*{>EFj>$7%KgpXn)iQt#B&N)!s$k2*pMHOw3;SpptguT8WJkHdCFb}*d_p(tSLAbt%ejawv(b@FgAI+?N>)2S5g@%WJ}g^m+c zTqYjoPAmjs1V0e>1C;#|?qHIoZ=fY#M@yEla12}~6PUKHwze)9oEypqk%5S%$zs@J zbD?-!tgRhSYitv*;q(D0xH7#R*83eE2_06 z<>e)!I2Tj(eC|%}QI0sc{|LQb^_HOl|AH;!(d>6{^I4~M<8S^FU-k<-`x@*>RxX8o zseP(!*k6BRvty5i*s}t~h7nvZ$(s6-r2tf~V`Wa!mLc@OscMAyUWu4h1}x1Js_!u~ zbUVM3&9y_tg|>k5Yv>^O5!Y;~R&inA#--rCdd>X#ivXu_Q4#JV?v;q$Y1j)}YHL|? zG2%U^TbY|;!T;n|Is62>Q15Wa??=HVrilIl&j3u1Ajm=xn>nP2aG;77K#4%668P?$ zj&D2xO8j7|eu>03t%Uj4WUUWLfD&Vz;F4hA=o{AO>FHqs4^&7u3@jt@Yl|rH7N1c4 zez^U~3rz8B01Ytm;ONo*+=1-{XjuePDt|}Bcu$W{W-AL>Be#w-I`X-oq%qrUX1NHr zNy~#x@@nW#tk0pL6xt)pNCWu5X7 zjP< z(G;O$tHvj%F)F*Vc#{9a`W;8RPWqe)+MvhN4nsr7z+h}z=9CEu@lnnp)BW=f)qLs# z^9tK(KDZle2c(o;Uw?3a%Qv1LU*e?FMzBPCcd zh3pl>h`#v1ilf@^c@xSp*OW7xuwU5J0l#mRs*_e>#biRsftog8G7b0>5&*`~!)Ph^ zkw!eC@m!BP%EldC&3MF>g;#RM=3%p@rtdw`*Ic(@^KObMxe*Z>Pdng(!rXiQV(LLV zqw|!nOGX?r%Bnk22YiXJs0s5YjFvtz3Qm-6|Gu z3hXCK!ihKVycAk|4pvNy@qRjV6&|LVYw$T5zX{XQ*C_uD`u3?1jpdRYmAA2e``cfn zdPgoUMs#)9s21SXVr1)dPJPJlO}i@Z&IR(lGLa^&+FlFYoMZ+r_x+!VO>igCSGxJ<+GkaIO_ z8rnLY`eP0C^`2=}1@d&(N}UhS^Re8UA9_^SlQd=al3Sp}zXP$d8`hbfSb9|Ah@V5M zwL=AJ)IK#kf5hKj$Pe8sSL*{E&F#!=fawJR=}Z9C6O{Dxi4hDM(KH;Hsi2fdqCS1n7_6QHV2t&i0m9O$*G2IPLCA0Kpkef_?mH>B-3b(STH#Cu@3I#RbJNqKzioxZ`H$+5VQr)ay@ka?zPtXpaAu{v&_hB46u9$F zoi@5buH;f^;lxQ zjJ2*40ELf;X9DFTq(54DcSf)yIcNN^p4Qr8jP7EPsii@V%n98utlHIfZW!1o1n2=w zG{jwMafeZZu0X{Zf40iQg2wa3!51ccw;PRSPi1>7B`4C{e zyc`qabrj45c}Jf0>hS~S5%Ic#-tRh&9613BQ5w2Iu+LpYDEtwhf{b-hTE!oPQ73b2#=$!v(eUBXlvs6i#mGLGw!~MyRBV&$z}og78Hhu;qYf}HetmNl^{0FV#&&FZ~C}(|36qE zeA@Y;0*$M&GeM5ZMcLBQ52c)q=uR!lKed)0D~y%ws6VRj(=IqK*6 z`D49EZM73ES|{mT8AW4`Hx1E!YFGUg^q`8_RxH)-#F)+iMFe>+J9v>6a zAX|5|etltNb}>x3w@k^(nsFbx=N&o2I~%%{zUJC#fOBPF_~*lzbHC=r?SJi*w`Uj! z`udp|3)%t;O`6&$5qtm|jc7m^<$y25x`8S61vGF!Z{h;n^J99&SbbpN96Hq*q(NYC z!|(#;@(Vo!I-|~HnrHC@9E za9beK9ca3-xU^*Cgf+u?-31wH;o%Lo1Tl92d^=%x-(Nr+yyP-j$!iJ008+$Euv(Lo;Y$iBv4(-( z)sR?yPR6g|`g+$$Cez@BbDdo+we2mR91C6?j51;SIiHh7NgScf1Z_AA-)_`VGwSF* z)Y1K@qnW59&8E5!v62CrKeWX7!uB`o-rNIlZ~gOio9viJ1+^5%Z-0}6%f?*0#cjoc z@x0r;m%?(@`!h&?sHxq&y9486UkO|S;S4%tGqz!ZS`0m>MAGlsv**K44|@V~^rh2B z{XzT_GzPKL)tWZ@$Hq6qXTy0Rt|e#8<1|sezCbwJ>)vg%G{os0tl#FM|@1^bWf}i zHgg~5o}M$%!3e-SN3*48(h9Q1=x5HHd7aMv*I!ZI6t!4>wa=}~o;haB)q3~7-)`CR z+kI~B)nG>`f4Br)W+PK99wZCMeJl3|CBb8;QR_3cVVYjnUjC$wo>^o ztETq#o%Qzn0~kDt22QMjb7x_=4EfJ?x!ql7{VWD1r;CCvE+rW=A=4S-K;;w@7l#Qm z5MY)hqmI`G&dE+7(^zm&#(-rSexsIC27w=twUD70#OtPlfglF#4M^39SZHWF##o=P zKPVJIeO#ptOk&{OT`slzr6@SPaW?dLspZ|%Xl@xAo}=%hEP%QZ1n%5V3~EQIX`MKhlj zAmt;?CeHYZ!oqRx9Xob(8k7xdcES_3wFEW*V&5F8>Y*k`fI0jID3N*uJ^Z!xXun2| z<}Y*|+SiDBH+Sv0oZm0%4@cum>+8Q8Kcx~HIAYu5`v#JyESv{-YTmqsQ-*uGd@F%W z)ZR7aT981>!zva&^d#bGmRBvTm|c*cpI@T}a@Id<^< ze3Ls3YyL1$U_aX+<{YW3s;bQP?JR(0JLkh=(K&sDcFc_J?7qMJjy?#xs zxA&sn5Sx;yTnY+?SW_&vnoI`G#S1}mqS2uBbG=@4M3@~wauV){GCznoH6GJ8Y+mSz zoFJi_vq5xJEW!khtigI+sV2gP7&0}>*Q0adE%kYEgbj}o;zh5?6eqHC-JOgVc%YP2 z+Z0xJ_|VyXj*0Ne;p){{rWgIvjehwQ`ehaRzhH$60FOaZZY>nvC=9QzDeP9MhnbBoG-aR*j0h2S5nZ~jMD zaX3#foNkXnzAhHz=I-u&)1dO-g#`dDcVZz=mrHt|;UaMg?X!n&Q|gssZVxwJ{3%of z&7i?|Qz=}lVTJ!JX9Pu56hw|{GC+jhfnFKBHiHx%_ftEJQG1kPr9O0_FKR5zNnV zlS-=9AGGgjwq$1~sXt(osD{F#dlT)CRq7M?SC7H1J|b&)0z6{<`vIg z?7r)Z?&R^aVAhysmDj_10j_xBgZL#2{ZgX@FM%et-~DMr$;4sK;er;lXo*lU$7Z&* zA9HuRyFvN@s5?j&HBMc^#FBs`jmAD5$t+_ zQ_i_GZUD2_X$SjQw=c8~a8n8YI!zSxCm&D^A!pphp02JFC%Y4qtXJ8tN)(N&@TD%` z8xTaj7PS_V;>1L38JU#W4G?QrSILF`}F_GD8rIxx#VCbDJquz?|Zp;)BkpOu>&$63}zHUMxci${Es{M?como ze;HZ=4J}L!J-Gk&|GdxtXTyq30-ak>%0lT#F!}F#{)ivz`Tu@=CH%U);4+m7jj|?a{EEM^NqXXP4SB@R*frUOV@qB!Y^V&ea zUuO`3Pk^D1XPgN`VnlqR$BWU^)f3=hLBS@Fqw4(qmz)VAY}WxASUyi;{BZ1R;&3yA zgEa7+_{S(*g$|>vgN#}Qi$vt>FpBX`jHrh(qU;z^H)BMpXffaZ6W0^R@Vrbtd#3=Q zZMm_67^P*cTQ}nI`unXuVi+vbWM#qHr>n1j_l*yH%cfzr{t$EV4l2SUSy|(UJEJBq zTjuM%`rgHh>nVOBy0voT-(Xv<{rEy&Wg)CECzx03KbtUp{(aM+C99#gcz%h$uN)ET z2na#~UG%nEi6VDVgu{ zo44qZX;9T_!WYF}<_N*I0hbwG`tOc@c2Qo+i6;0H9geUI-ieeNgs4F!txfIg^PV{u zOh_J;X0weNW-vs9a5$t-z*99oU46iZ4_wS*^&OPAInU75uIBTYY8 zPLN#4=L^VDJQwu)&SU1czz2Z_r`B=eY{=%ZR-O58Lu-_yHEd{&OteNSa^Zt6_~D4#hl{L+(JRdqmze%#>in%qzsDSrSL4rlNVi%R*}D z8Y-FxP4)HFT8}4~Ubv(fI#hU`{XGmVjpF|O{xAO4@;B}5X>2t>#T}t$GS6_$Xo5O8 zpE}Pvh4VeW(|t}Yj0onypCZV8&F|b571h?%Dfd27^~k;XHht%(&Cn=LYEy3n-0G&( z?rw)euCWT5=;4XxDBPJCtJC%M1^q$-;NkHCF%8Mpf-=x^y1$zD_6FB!f|r7zEdn|W zL8B7XGn2sjk9QtF2M9`ajapNqP*aq1d<2e1c?OB+j-P!XPy{V>L1=p@nTyo{Q{%wD z1k1P4na{^fz^wrE^M;!sL6>`8}?ts}G@8uUb zU6!Qbvvhp*3l8B36u%=R$K)5(>!A245!a!!{V)Q^(#Cli^XCHvyp=(Ixzzxma2SwJ z4(oYZ{8o$K@@g51$nKO}YD6|g07<|ehodWgd|#gS&6H@@EA}13I9Mha8-;61w1K$5 z2DTbV4E(8prAT#||UN6-6(I6=BWN*=%Yk z9H^9lI^b+xiJ6?hH>~-!T9Xp4TEbP6B>D+jlx!;x!xUZxL%9vBr*d5N6p(4J46Om4 z=TSsEdB7;>hqpBrN>w33X#RtJVZUA?K~%6(CtHI*7vA$&RiNgb%!NOf`rh?0x_}!_ zsVojjLg5w9#2Bl`plJtWqm-+F12qGyriC1XCzQI*|9D>qB{E_Ff7Cmf-N{N^%r5b@ z^hMp!7xdo6ASVeIQV+ThU?2F(l9D2PtfVi$|Ed5N)iS(B5Fp2d8u}N6@H>wnzk6*D z+)OZRA*xB}Wt2Ar?@YoeoetS}kn{qfpkTeivmhks1aAQG$-C~%}eWl`QkhrF;kxG|?h&XJ09q~RRH(Kbf34Y8t5 z!?aluTB{}x&C+auXFOjyC^=ZI6J*2H#T>)^m?<6)$benQ8_)82K@x+xShZoo2m;7i ziD{Q6p$alD;<-{@C;EE^U~a*myv~761Mo%ly6}CHUy`D~hx~=#*QLnAFJ@Pj{DWuvnHaU%K34S-M<3wL{FYv;}=FMpF(>odeVPQml*faOy0W zwR1x@`2}R7^fAGNe(R#TrGKouM8S_VJ?O)@9JNmkT}LLagZOiZeYUuw?Xk#)`OV5PVxjIm(xt z=i6v(-fvtI);P(AUWOXG4p&O{;bdIt9Mvp|cu-g@)Hpu8R$;ju=DWBH?2;}ho{03W z!sMP0;oUBcICTO+Mkh}BfHU)*YTvte@7Jd&yT~Q^4oHwA>iG3806p=9OH${tM0D_}P6;tIGzT%i*YEDN~JcT;%%w?N2l;qKmCh^rVL zN|c9*TJrdc2o4amk>~)elWFDG)gD2b33=;z6pCmTQ1}YAT>>h!5)x}Y9E-Bcg-);L z1W;xm7}2$ zDa|)r{u!=>eg?HA+-s-ecZK-f4LBcpvIu#eV%fUw{ewro{QToT@7m}BC&sz2_8&fe z{G>O=%C<yjm z!sLV0G+2fq#77D*76Nh-cGKhR>O(6U4KbL9;t5+#bg)BQ+cXzZ3+hojB-!{iHIUjT zCC*Zgsjr!B!nD{9oPsPX0=7Qo!U^k@^^ro zQ7;5S?SR_X0Rvgkq3MK519`j#UA7a?P3mhC$>Ris3`PR!nID0}Q02Ts@^}bQHFQ4P z<=KrPRqe8nAOA~-&d1giaaP`_o-d!~cmq;}NxHH&RW&xL-U@5ae3eUo=!8M8J zCF(1A=;-qj`6VXyGLzy%vQNJRWcf=h+5+wk6Ddsi$7i*kNnfJ81VgR;{T$EQ3(&i= zxTaU2m3msihPJE_8gdm>Ra9~*r#bKnXG`+xz5Q{{9XsN`O0JRWqp=r3x^*GUTO!YNhZMF>rfj|B&q?mLUKZjvy;@$$8fzv z=8Sr|00CD2gq19YQ`VbGr5OVB_)(dlMV8zc{?N*ID=&pp$&bO{_)no}- zt!Oc5!6-)PD)efnRw67)tUnk_?7@2A?!Uz=F zF26O>X1gkFl+89e-Ih!NSy7m#wOIegCSPT>7|rr3iZ}x06GC5+<5D^z1U`?{At<^1@fLUh3!UEK9ee|M5HyS#2?%dg7n6yYvsjd4m0e2q`DK0O& z<}{3GA5y6JTiZaYppxf_(zX^{T+6&1CqHo>S}E+PSt-Y?_w}DU-r9EXkF~XbI@nx< z6~Voz?x*xF`K6lewXeTSd`#J5b$wTMR(4lCK&9FAh2B|zO#Pw&3;}yy%wC^F{4smsJPPmAgtcV@rqSc-fb)X;Smj)Vh3GV{Dk*Z_B)k`J z3>3U>VsGPDR0vb?E9O$mujCIV9%?({#+t9ki)?Xcy}h1e?d|P{5k_*TwPDvgb#?DI zG#xznY16o?p?HiQ_mfGJCjA6I%FN2THX~!~n5)y%M`vVaWZ-jF*2J8g>#ohS&nlf| z&&$0o=ek_8b#(gZBs2Kc^fB@WVcEM9{o!|4^oJ~)I_`}n*WXb7z<)jd(8BVmS3~Hp z0Y2v??Xt?BJ^gb?;5EqM*L1}$dH=ji0jp-emnZJr@x>)d2Aeu&%$RG(q{Vat`Lh=e z?me%(@~30axi4tpjgK=J&i@TvX)F9DZ$iptfNNp(?T~9rpuksPxk=j59K5R_%4il2 ze1u8E4}0_xz&fdX3F|27M4fm?{pbjyDZ)&t-bf!lkB0RPTq1EV=+I^&m=S1sE z1}=E}E+F}k5>mHPAnL$CKLQNT^~oP34u>@0^rRzVlDhm>H{56dY=~j%F~ajU3|xDr z1msHyTh53(f$T8XLN3tSPtDh!n>z#dQUmUTCfrFao*xBvqgijRoNRo+Y@8x%dM8cl zm9*xr^z>Y_r0p@Mr<-$RuBmATI5u_xw$uopEyLttM*L>IzH{BCo^_o)n`Dj9*eFQa z&W@%gcc-N7=xl20bj!D)L5Z6TO9hl%G%%?WnRrK^?RcfnxuHz?H^UT!E5c^rMQ|Ha z27nUKAztk_4&-NZg6!1i^Mj)*{3`z@+|yHVhgahcY2K$hB-ZcfjHOF6a&k(om6gj% zWhu&P9oOzLwU4uSWLBp#u4oX)0k#X()y%DN$Vd>7lVh}Jc;>srA%2IJ}tfH?)=K9N?5Lp><$1VrieepwE7#WK<=O9k zY8s>{vPwZqJ%h{_3$?KB5>E4%Tt%jnyQZQ5kf=sEYVY0;UwiGf5BKhUwFseq6R7A{ zJ$(maEbdroM_&ue@V5ZjorUV91^xXP*ms2%(j6o1%gr!1Z$3-xpWh;!dx@~&g!=>{ zgqDPEP`<_52FNL41u~JWn6BD^wjdlme8fL+H!d7sAE(5G-pQdmTAzxEGUYA*LtvhBg3-Mt;K8Daj+pPPlGr z;ms3eaIHliS}opa;iu+d>AA(5PGF>H@{C)I#A@ zAK|@WNw|CsLwkds9@dDgp~I@@r=#j{RElmLvRmYbrVu3pEKaalnhmW0x z-w=EBDE!8TYfiu~V;^1mz`Tm8oZOj{CS)xt%a>yXOInXt5c)i6R$cm}G`($1U8SkYIQw@%32Q7+!B161N#RplJ6&09+dg0lk(7QG{(_AAH)_C zuXiGxpepoK=vmI;xDClIp2VkxkQj8F$MBxY12pA>=z*j}6~U6^8{1nCLKSUk?*u28 z$KBoz(v+SPN7}!HxAx%S@W#&%AM5_X#=m3ZCx_&pW5St>Dz6%F%~cb|4RdNb+rQ~`YNBkD(w#zom%720b*=da z8@T>1*#vC_9TBii^vEFAA3)F(jIO049$N(VM&WJp|lJAySZGH}PO zs%Qpq3bGCPeFMD0>*VKQzlRN<2vx(QhOC<;C59v#SvOg}jHDBo4%se96xIVNk&b`$ zDv6&x5BpP|Q;LL1Qm^u5o&QwFw~6*gieNF^28xh%QGIcfz>#yq^~FnNNz~d3phy;u z)=OfqyBi(wWY-y4x88JB*@CDI_Rw&!Q2z~cwwc=ip6OX28pstk^u~0&Di1F$y+Jq( zE{v}Yd8MVd&$0TdkQDjV+b`Nt zzP|M6;M7nCGeee~6t?NobhRiJ;U)ef_D!fa#0{ogD!=%5d3amf2~Z`Q&CwT+x3zup z?i(96Yd}RcmIbCWrD{B5ECN%X5A(7CE@sKCYc1 zu%ZpUdMCW$tC{8$&!57p1Fhl03&}8&?WlitrObA*rKtQ280S{tH39#k9JUtQu=iN( zP1+pkOr*`hsaL?jkf^WE$=I4xzco{i?wc^7FBm-91O0T0%%K@TYw17?k(f@Amm*eO zn-IDlZE9#RiDHKv>Szy?x+~RCyK2{3LMsjVCBCjflyuF_tW{)9guX*I6mC*F`rhZV z2K?6mb^3!oU(gk?Y|&~P)+ly2u96~Z#^WlBAfc%|uUR^GLS`X4%qF&0zjQ7Hb#~4K zJB;*O(STdn7X7^GSl*Q_etZ^W@vHd77T~y-!=OR$smN@e9Pjqi>g5`!W*C2QMhra3 z5<1lmAuRT`QxcfJHj6>5+?nrN3=o*K)RF@0MxH9Kj4;ED#;inHHo}EWGU@7GHoTHd zBPqKau7)y5=3I44DI%H+u@0YvdZB`2$?;jn03_)p0f<$Y+l;0Y=cHkS=G8qC_r+$A-lGtZYU?sYZz7?>SC%nBJIM) zgLfhMkkkuuGCT~n;qxchvqP@GmT=@xJ93q*4wLC5zS&_!9&1OH?i}RVEs14j7q9%?P`i($UNl)NjKRBt28Y=sWORntpG^X+)#IKp{LlQQO{* z1b;zbV?SfURWK%uw)OP5?o}(A0M#JEWZf9x;pRGvp-pRDR6U9((xfM`PYd?_zOmG% zg7oD!+QhhM9th@30pB?UKnZ}?3p#^IKuRG#aK7Ki2VIhu=UMLs#i{rAW5qi#pg1+i zLB>Ih11?3*5RC?Ekc22sOfeTE5W|5T4x<2JprMW7`nTCQ_=Ff6jrzX|^-npHL_Kl# z(B#9$ZiR(&b<+gE6K3ZBY*NYou@7^MQ`?bH4200KodmL zDU4A>PvW$vC1wDML1Ke0jtk&x4c;OLjD$f53yCBUDn5V_EaI44b+|5XLS0TlU1p&! z$D%IDwq8Jn83YT3iG~Rq2rv)it13$bnAb94>vSN$D)U$4#GKG0X^o%N*Vlg`hbh!a zCR$N_WS<%fS$LgVnVIU4TZ*8!Qh->XN*Jq&JNLpVm`6-7l8%+j0mLC8N1}}^KktQ4 z37gt}^?S-779KNuFjn~I1z@Ss&vl`*N;H^BCBfI{?FztwDvB{q&fkNZM;ptlm}a#= zV}NM6lrS614BYo3+;>q#{ty;0I`2+|z*SW}QhIf28nH~h7=1_a#2D0?KWbe5?L_6a zR%0~{&y*$M>`AXL)@dGVvDndb?8!dwp$|yrcs$3>xX4$14-h!FsCe{Sz>c^Olu3_6 zXQuq^6f$*3=t<45H*EOz4Cw23;ByiD-I>__UnuwE@cw}4*E@$@Y;Qk`F4X4si`Maw zHE^Jts_#*2r3M1N1=6J_(wPQmeusrMJZba-*x!cj`%s7B8rw;Y3TK(VCQGj*UU&xG6pfm!Q?N-aaP*XAzh&a0Yy&LN!cgE}0jC zywj}s{bWgOKeal1A(F(d~B!U+!5fT?!>9s-9&vRjYq`8vh zVR+H^3WoQ8sfy2X_1jF;ZxI%EOJF|$?4cSX4?~*VNgeWS;X1=JnU~H+I_m}04b^0L zO1ywt>LwE<&|@)tJn!dqN|41R#9yVCW!~>UPsHGu4xB&)N6rvJg9Srife7Gtq$4lH z-I6|0hP$N|$W?T=Hk-=&5;Y~atgJkLDpmS;Hy=cAY2o{Mkqh?bSltz&k8&E`FRIE-gCJ2dX$b}*%8vHQ{2GNu#CXb1M1V!RtCpQQK z%NS%X?+brIG8ueQ8{s*Q#wN(FF{4yp@g65pB5O#p8qqprELtQLEn-BAfFAns$1Q-? zkFaGJ4B6S&#OhJqF6{&NK-05GEO{09<_gG26w_W;_wJtBJ(yMMo40O59m%?2?Pf&p zc3@&#b?f)_g89M+D#@_i`#~)rBPjwQG2y3<8k>;{(+qNOMawQ7uTz1#&#|COOOQry z;JHZtQ5rKe8xGm})iJXSejQpkcNkQaqT-Iq%0*R0m<;}e{@WpIj%H^cm14HnVM+1+ zE*;5{FX}O7&<6-&t+Yn8g%rrDNg$q}ag+%DY%)b3Qd(sP+{R9$KL+@y^mKLs3(3>2 z+i+93Av8NtIy7EhxRT9#NCK^gEu)d_{YE2_hz-yW5$dCXG7sN11{08MdMH(Rs9Jz4 zJWj}>o`yRlL>=Mz2vKJTAw+U$GFJTic+*_OMQ+3#QOI?K{DYzciO@KI4Pg{!pnGRP zF@+?%a zSLp<&j|F}dfRZG~^8O%{w-C)4Cx;9k2N6E0&Yg0z6?d?u3*BuuU_qXp6l7<+n*t0SLO*>;O992ZZR zzVWCZvaTe=BmN!_^+|mL%8a%iW1`t&GJeILr17VlU-96aDMpXSC`(8N{7;Y7i9EBV zj3dFp3yZPa?b2(s7kf-ZdI$FkxmWi_oQ2-=H9-12ax~%-rGnz>?S*_IsQ!8c-NIA42v>!1E$dAqKFGFG- ztHgi==gP`d=yT+i5chUfz>+Jo4GWQ2D4q&3v{RCHe!!IMV#t`BnTdFT=NZtX>Z2Nl zH&I&ei>UPm2m6Xay}!}&S!9y zY!hA?F&hFVolpOCy>xxkzP~;}qK)B^eH$sHv*Pi2I6D57(NQ7NlL1*_`ScknA zHSsWNf>uVPKaF9KO8x@K@DgM7#~r7xqZqD9rw+YWfaT$&1b_U9{zLVf0qxkjb=pYk-FAPDHBlkt+zIx9 z;i>Ygzj&*rrl$QT3n)3`QP!h1YOMCzmD7MA2&*fvvgfpwg*n4C=mA?LzPua+)NiQH zx&3U7CNJH)rwAs0T7=~btLp2!wN7oc&YR97cidpAY;JA+Xa~|;{P~1mNU`6u=$G=;wTz}eo#|r+h0ET^9t<(*FmbaPx{=QS)-QB19`Jgc=DLHvK)CR$6&>(C}LADFT z+soV1Vq@dsIkzPmbV|SH80bLy`Yv&hLma2*klg^mb%MN2m1-+czhnU<59wsoFLCM! z7K?8`yp*cjB5}ihpJo5)5UszszLr0%eSXVg`=yq@5Hrb;;pRcZuKj~ED!0D)%5K#6 zFym>2|DQIFhf8>TFnHeUH;x?c6p|;~?LQ~0CY24E`9}YTMIe+Q`(1^06AU@-pv+a= zTLKA5Sw4t=;cK`7HevmDPx-XbWHK04P_4BzJ|pKR71k;|U6Qu1 zA0Q>!T4D4|C*jb2k>5l}8_pqTJ@dAT*{ zau^IrmLvn~M`ibuGW4`|^VdOPY(=DPhCf^|X3P{cm_0=Zp8WHcEpL5z=uqPZ>gex9 z^Mi1*4)PT6jw~)A1qL1Ga4nP|Gg@p!46h8F#$mm{N(5c-qDqWgN6EuO>&7dfLepxL zOBV(}r3POMj{tvaI9P3aIy;Yj*RSx=NjBT4gxFXCk;f6XoS<ZK$9t{+_zCzBmS68_-&_FKRc@+3R@dGB-kUT^UfUmWE7A z%VxsqtBn&{qS@*drjkuiZ9L(D{QMh}orzIK!Fvob6G3-NdHL1C320s?kg+B*db-)4 z49`?#ensbK%YZZ638*(lj}Vtr2FejBGI};LIli*IFi8;mK5O|~znD19UX&OfNo8e^ z+R@Zuv*WKcc9R!eDUYazuRP(!x;i&j#75C;3iLZ;E+scKw74&#z6abb4K%7geix&v z@nld)nTAFx_@_}7{2CZJbyUS{__N!6UJ*wmju4geZh0q0*f|Vsa{|Z78*2eJR_8LByAElxI!)z8>=4eF87ko&wi3))NWBIx zu&J*@LGF^-+?oaXuzFOn zvBRMoHO@Cb>xKEtHwz2H1re3%7nsGSD?a57Wufv9Zu`#=6vQ$RQ~6C~-UElM&IGP` zA@ivMc8s&he7#{xK}(#Xa|T_{`>;iENV2*&YzFo-z3Q~`^!o)b>442{q#`#HMfj+a_7BvOuf&m zc8~SOpJxm-Z(Fnet=&2MeIM9WAMmo!&%jF|2u{s+Uw-YAV;qiWp2=N2bCkw^^5fsH zodX-!eW7Wve2r1dHBd}vM{HxISQbBNdT!gnZm&3I*V^nEklYIwKzVdv)S_sfx^G&x zyl0X@P=riff5%^U{^^td?&>{%31F$G8!Zb4F8Blb|Bt)(fs3ln_y5m1GYrEpAmWIKL?fc2k&%&6OFAMd z8X1+Dxn^wZnzdA{mu=nFYKAi^m6a7+wo7G2<+k3gn{LaR+p;a&vR>BQ){Kmb43(4+ z5pjTF=KFk~Gx(=JyL<2b-tXh_`^`tjGyl)|{CR)ge_rp`J05;H%|{i9ktrjG+m+sK zk_%2aAd)=Ne&k5Ip(DUw;@@t}7x65VGG8udz7#ND#;_(*9(W)>A8+5j)-R$_8VFzR ztJ}PI@$6x(uU82EUD|!Nt*yffZ&b*9YWG>%mDrdHJlqr}t+1Xvp`^0Y8jd;Z?PQ`H+l^VPw-BgzV*DP|=2Em}wo?VxAwf1(9DB7mTuC+;-1cB0Y*-9FU(T@h+zGr|K%~%tLtEs5FiHo1qUz+ zg{&hoCypO(3H2U)fA5Efdv!$;xz`9BSFJ#whtP%HhB~$6T2VZW^X(hJ$<-IsEMebJ zix%uAxVq=l?w~D&$vVoWzidjT5=KF^u_=tgbVfn6v9t{vN=pw%35GH)>hL?SgP(l; zox?}REn2i_+|k1a{{u!AY1*p?6p$r8DthxT&Y566*~|P0^jIkfZBPYUAKYcV>?ec7 zz(2Xny6Zuy7%*M7Wmi*ER&4u$)&uRaSy$ch!}1^AaaGolb@|{Pz+PC^9m%@0K-q-> zrtoikZfFz5oTT~R`weUcn z&@~e+*?-`RUd@?&Zn`@qUJJAzz>{c&xw66vD^A}4!B{($P|OFEnF1_Be1L#cxMH}$ z_pBHcz`?@^h$BJ8HX>ti1eP!Y*E0ecjDSRp#KWev8c@KP){YKYi5(s0W3{zbqGu)~ z#Klpqco5Ns8HaMHu9t>10=wk|-;i^Iz-ug#nHnm&X|=H<)s znFpDkrE+`)MjEkfvneMCg97LWpS;RT&V^5ik*n>Tck{vS=C%L}(NKNE_gWj8yC?sI zUB;5NWlNUscwQ!%sQlPNdKv)ZgMOw7Bes+`@>`Xq#(bMD5pEcx$%-ACOOZHO9 zxHkH$jl_}YicbNwWgJ*zB$2d9x|7sFG?R73hj?Xpq1M*eXiQBn;4Dfm7)ukE^~>G% z8)jgf8&hKlT^>Ki-u+P*(75@vwe$6nnOXaPCJ?e$1JY}`H;VGLHZQG_}g}IG> z5)wdKR7om&4XAN}jxHa<+tX~F34s<|-VFr>4f-fn`HuYoCFye9?R?F`bS1ENqZcX% zr?X9ec6eLc!9$&Wp_oL-8i2X2 zeSTAJWb&OEe5YX72Jvp%OV>c(yHM@kmLKYoNn(*28`I^;=x$K9Yw$%^YQ@`fJjzDZ zSt@oa?pI4oOLzBlw$wH{vW~Ob^QiKsVQ#7w6@}(hl4UH$sPU)*7~0-PA5+pFHMxXu z;cQlNHrH`B`OJx#oRiX>&q^5=zR&UICuw+L3X}G}wPrfC*OQ`pf=B=Q`cuLkWo{{@ zm;%q${T-r3Pq@UVH8s`DVDd;?W%;vJxm28z=B84ZkulOlb_;FQ2u#FA|w*&&2*a>t&z;VC_WMGZfMBPpHqbGTLDR*xR*DZSs6;b^^Q5?-Rb)9 z`g*AGF1=VlI2^c72oK~R>h)NMA`Gmm%I=}f#WpJ9F9#u$f-5$GRgfM2)@q2|t}~{J zF)Nu}J4{QLQQvIL)NK%sN!+p(4HpVB{i)%BfbbAva>qJ2uqlKBPo50uPu;H!Jp7cg zrd7#P3vng?&MJC`D>3}V3-b*X1_u{F^$>rrYEneWs zHDW@scg~-ZkO1N7{3~(`ri(v@_e@Vs6+HQZf(7~b0bWxcvaFatY0`9|Beec-Md<=6 z8cHDG6~HHV6rzLG&>kUhxkfEpDIl&rcnzwwyNZhojIMl=1@*AHl21u6`(-}$gR?#b zglk%IvK1+g-(!s1?H-q!3VBRhRBCDlk23JoVGZK28x1%4Xw*#eweh?*J|)G%YnGG? zQpWOPCe@B$FA66mrC~Ovo%O+tloXrsR`Z>D;cOL%hv_`#-aNuQWFJFl%e`@65jqoj z`iwW5Pw*~PzCvBVcndvjF<6;d#%7y`DEc1T$sI%o%eY_8qoo`zC-{A@>i6D(+hrxk zOWEYlewReT#7S5L=v6ok6Y!*;OSr+!eX4=DP{Ps1v&rFM#MbN*U*Y*wA}Z#)Mv_G; zkq(RBh<9uNK4Khj@6%wsG{69sD-GA%uZf!k*TLYHDg8G7o+0*RS_oNi-yv0I2Ebn`=BWIGnhk>Hpm? z)qlTr0>CU3cPPmnF*H<;e(2?Z*5Rp?|cgZB;#8UdF))|&B^_m2~h8oRU?0L1H{UHEq`+3YY>L=CpYtR zYet>@iL>9MKVgi=YsUSvzu)SWNNcnPN-v^PNb$HeKOdH^ht$vZ|-$Zes>qO0|I>kkF9Hd zaZyh5TXWscck5F1@wK&e4RtMhnmPlpOanP@qC96UbXGgouiLnJ(+011!-kFPH`Hv@ ze_4PS^s^yRuUMP6Y&lXpYE?^Tf-B$&&($7&>807s+jQoy)DKI?7jlQadQC-3&}D5! zhOAefQ5O~Hzx2mD!2D8-v!@%PG0vzWA*4985aP_y*8>@AUyn`yr6H3wu0D#Z7i4Et zL?-+FKBY`FnMS$GiQJjmj4%N>kbGypAC+Yl{NKLSvX~`leVxy%EYw#EE86M`5&!0A zWygr&x1#y2XnxDwG1e>1><=DgqgTn5t%GV;@?U_M*Qx(x_xSRDBifW#YXs}W+ZHRS zkxB-U-x}Q8EN*j8v`6;DhHf>WsH@zhF|ZA?pBa=*<|cLe3Z0QF6wOX{DX-dMC_Kg$ zD)T++e03e4wMzzsmyn>jzsVVX<&#{i~yKS3=J z8vO5X^Vn-!lnJQnx>d838bIu@z0v+tsnJ$lmm}U4`3x4M#bJ-K_-qK4zJ5TPE-lL5 zcBlvUBNhcyw&#!oiv|?A;0j5#Fu2=rMT+NPFhXsU*P|dO$1rs2(0~w2%{9UBCunA`X{p z)r|pt)Q-Z!9jPbkAyZ4uhfgBE^>^#mt*dKwK>h5{)g61Tq(Dpi04MtxDNu`bteXYj;PxKx5FX`d5rkV8DTg>-t6aiNU#Mm#6i{GtEk03aIM*x{n+vqz!_ZpY={(=)xHh6L zZ7n`$i!)mu$4ck5(Rtt0Y1MSAbnG{E-cQ+rM$Mb!@p$IWyY8kXON2yx!K`VyxtC6z zbp_Vw6_A{%mEPDhx-Z~!2F~h2;~gToen2m-X71g}+!Lhn1@z*%CAZ8k$^&sRdKkO9 zD}xY3#;_=>B`?3|Mv~%|lVa#M7p~%uE9Z$j?!sIuo&W9YJ^Ey{Frn7(={WLv+o1!W zezb4zdrcoS?b@?f8TbMky=E|bpMKs6GPk2W=ptg`9+ONt2h7f5G{gm(G|zt)SqN9L08SPEOXOoQpCuQ7SV=CB^~eM%t`i!N-?HOvxo^ zYF9J91%TB(pqF5w1jUtw9qNYvZIl6J7ypgqm&Q<&B$;P3cy$8r5&r$jyg!f6&fz2l z;UrjTY1f8}_1C=@;xh>maNtJL4!_;s*V~ViFQ{qq$^cr#0A;FW$D)=LLtwYz+gGcU z@Pp^cBfCwpMB&6Gxz}!Y#7e?`ET*i1(Q{CclduIYEsOTR>!y53W{d~3WQH-uk_D)h zW~`jfnq8+AWUbVr{lSdQ?pI#T(A9NyGf`XxF;YZt=IGH2?e(t4R9C$|8wu24Si##^ z&|AoLc`*9jw$6Q>P5U|puYsQo5Op+wBP;AsLZRW688)0>AI=OL!VHVy*M$vC@Qmw- zF}$SKId#n?n>sbE43}6TzVgyGU27rd2G^e;lqGf2SQ7gEQPz&uK7yq8Yy5=3ZtgdJ zV;H|7j4SdR!pJDUA!f^Ai*;dInh;oMe!ol4Cwx&Jp08ClHtI@?4 zW!De4Te+S}9L9JI`H4s`x>d59&%TZ*tD)|DlvlOXE%SxfNTv2Eeq-@PtBv^k@MP)= z<yT^Wr!t+|tXbpuetrlc7rB-suI0C*TdyWtUwQZDrQ|)j zeE61d0C`+`L8vNJ#e4_1rS8}wEdND{SAJEo`*8hiX#wD5imuaFSx=Wf1P8OiXhA<= z*DI6|my2gL&>euM{N2+$)8 z_5n54^=ptV25XFA6crkEJA|D3GOV>s(4wZPv{Zk>Kz&9f4j+}8NOp-;BTgVo4ZI3o zYtg|lbmRu|(;wA+Owf7{JYil%HvKB~rN(d-$y|j*E3KK%^eZvnE0jM%b>hyPv*;?+ z_zE(mfK>$$JdL||KlaG_NAtn*6Jyr39d*CHf_Q8ZDfxd1H6RZ~>=q%%Kx#6F3Bsfy zgROePHnR7d;Soa@&>#23^#^Uvfne}h$No>@tiWkwU#(bI zv)HT^F%C9*{Egg4B9any&52xx%n!+O7h>JV$wZV=5ZlxxD+|a9Uqimn??7y2oU?>{ z*MUHLd%j#l_&d>$u7BjQ-Mbt6^&*71EA){Rp(2=>gJLk1XJ#X&3)P0d2t;6r-JX__ zaq4oi?Oc$+NlexaQ;|92VgNaA&>z>J>i0Py-++4K7~deNU|`KUW1UH*ZP7B%kIZVxoSRP$_#rYprF}@q zY>~P~ty1qc+H43XXQLo`VpO%8T!Mn+EljBl?fOU++$^GuwahCd8#yiqn}s~N3~7UF|2a0E-$r!J-y=_(aE-O<8(hHw66762 z5|rp6@rh$IMvb73^Z--@8sI@)>jkAxCeZhh_{zi$@V&EKY*7ZCNFA5PFmCM0BEg#QLMf#eva zbN8PKF3PR7sSPGNfwkuvIm!hLkGLD*KW$1ai6=`8;A(n8m?0+86Y5>}3CN2U zvy94~*AWFMUYSoE|2buyYx%sndBlq-A9@=i=%#sN6Q^8tr#`N6S94ofRT}>Mm-kxR zu_L+<4neB)b{?p22o7|2N*Fb`fA4<++m#%)n~)PX8L8qDN?3`qpkK#RQp#H@{CyV$ zf-q)D{`rr1gY?WIL#ex-IZWvtRrgOvOx~@JL$}PD>~fWqT<^&WGQCbJ6Y1O$?hC$E z(9+WDo{g1!b8c3SzKp%HT6uxFZPq3e(X!K+>rab!mL_}~uQ9`={hH$!j8DibPxI&v z!`Hf-*MwA}ngX^x{b9)_ME(%zw8s<9x7bM;vue~DVXM&kyL)VkwNJ#N#HyYKYS=%Bau9hpgyEF;2=s+T)R8LwSd8R-r0kd?em~E#otj@tMH*Xe(}8 zk#AVdUi**ly!{&Nh3gEY#d7R~xA0+`{%t*ac>yCqQ8+1LLv8&8g z^U|BH9<99e-nfgk^Vm;^^&BFF`S&~fkaR4vE6681A8qP9uNE;U^6?tJ-j*FSb z_z}uvBNtt-SBM)}eJ-QB^XSp`!>u2^-}L$6<9&gSwtf4L9Y1{RNXPN^g9n;Eri6I= z;S;=DvqoDgqD}<*dwU=@J9`!$S`shbpohG$q}V&bGp*vGS{X7cuq=-3qZw+iC>L;6@--&rZxo$Xk|BaGzhhQ^?P zFqH0|c9MnqPDYY=ZEmt@jU?VNO7J}r>i)9Z+3ObuI%z+$csK0WVMeU)vsOKg?uql$ z?%lBiVYhQLMUu+H%VYg(pIP@9Zuuu`YpP}ua2Sl8-W*?AM&bhfyN~6Fb-&gPVo;fHOWZ*=e(@ z(RRwy1s&FC9bz2f1V(mv%n_x7y`cRlDQg&e#1E`CrAvlZ8%$L;w!%}X$|+7Gr}uQq zIFrF@CX3rh@G)}5O}FDeNM}aS|2|^7{*Ia4$V`4RGLwst2SV#B&1YS5X=1{?9`@g| zC500wPMnS+{j=zTN$3)n6#ttL`MpA)`?cH4*@j7v!!3Cm*{>A_RQnmWVQJ6t-4(X) ze;ahsA|qb9o~61g(l#h-qQ1{JPrU6PPkNh4I3SZ=66jT1RD~KH<4ce%Ut*a521krw>2LmNmUg~**dKV_lX)G=xrp&W?a)XDI|aJ~8Qa(?SE}409d4ilTiRA zO7gj*k?N-tx@9GJ71fM{KzqqPt|+&$7H&kUU&LCl&ReoCuy6+5Bkgg^%0*Lh@>v@- z%45+h7hT3JZ%P5nK*&*G(1>1g)zqm|7v6UF6|9Em_{1x$0E#pl$MOviDob>2C&F-O z>)A5?pU`Xw%4Vs$v2qa;S?mY#C+0BgM4b_8(Hv&zHHM-is?HCYr#ZZ50`oIR6dvvV z%KNW^ai9b(Xbw+jGF`=MDmLy+Hfu57%XE#h7`~y|XAAOwLb~w-?S7U#&?CSF|1d=CSQL<_}?u1t?c^6)GwUmPB z>^SNicCI@x04KKG&g|_PIpFLguv|*r?qfLoF z=1SDuB16Lc_tWZ!1cRN&4|jgt*oXx|aVL|wKyl~ZSm3&a>2hsy3!Br?jL&zzlcd|d>tEf1Z*XJP64dFX zz#T7TK}(aM0?~C=ZoVGo~SEdyzpMN?d>lLJRl zIRafx?fckjx|QMRUJK`qkN#l0eha9!LN#B_K=3!S3%rToGIgqFQHL7f6g@#X4jQi? zDXF&#OY6BTXndnqj3Kp=RmN6S@em9-pA~_J%@scsIabSZsEv4`SjIs8UXG zgdw&dFft0shXGtkGU)XAQ+AV8h#S#eNCF#XCUpj$&$2mMaG#!b?!eJs-!7tp)-a{YSsS_h70*E z16OwDu%&+Eur;*@TJ`V$-yS-wTPL2s0&@uOKkr{1LPxR-uk-0)j4_9?OLqKk9Ll)U zL&*pS%;AjasFLxvp7C7Dcos*-GkV36?=Bd3S#enb>ZUpCUb1E9TzvJNGj6UONa``AKd?!O}L5|;}7~iBUFi#p_oUrBTKTt;`Ms{H=s){ zWRn%wg0%T8T3mtn#S2)dMcmIpCa+|do?(3Ma*kF;JuU_4p3up?wzel+0;`K>V$kVy zXSs!EoyRip?B@4B5q*<}^h3I6v!F44aSc_z8VKEEeU694S$5{TG2oGt$$nHLVGT43u zzg=fncMmnofqNeRqO|UESTh*e)fFm9EZC(DOdL670P}ow$TG!IhFs z5uQNLLl#Gh%kCcvzi?0y`V+#F;-j!x?@!>PRvWoU;*&c`_Y38Ylb;X$!q{nrz34h- z!3<`B;&3QROwlwOo zmuhNWdTAE#x}C>j6A+0}MccoNaA)O^j*c_UTnc23VZtd-}CtF}J>TGZCgn%82 zs}taLqvPocg2vrGi)11YXpECcTICQpV1yiTfCxW5ZM8n|g1L(cZ*dwuDG2-F^dv)| z#07(8WiW}yr`%jVu_d7UEeU~b+k9%F-5(=itF}FD{*5RZW!i?edR}dHcBlH_M)qF` zMTzhg6v7m+haqSbz5t$SWHJc_F!CN(krFr+9#<&XR30M;t zBop&wi(sDYtC*w;j*3z>$f)xJ#t)IcM-J0!?upE=HNHX6U4qaWtQTN+V-gD@(~=tK zxy?&ziDh$TW2INg_EE*dWP;eNrW&W6N-#RQkG_-z#xWsF#lF_$IvUOQj^=wu(@%-? z6V?EVo`;x2ZmPtPy;^2o-VDYJZZ^dW6{N1b`Dg(X!^Og09xky|ZQHm}=v)^Y3ms34 zt}K3Z9&srlF_umi@s*eeIiV&%M02x&=PpGQ=UtFR!XT_4Ufp3lQ)XQCEn=?|#k(1Whjl$2Cz zH;tT-;!HsqPtF*ZIVH_tLxF?F?gCsY^e3bQ8MpT$|2Msh`tc55p+c}?jHJ|y8p-ty zMpMCIZ-rUWTH7uw;_{C!i!^kKYeul`bQtSzp`=`A1wl3B83vJ4qu}?nwycTJ*|JC!~IDo zyW8+=@893r+T7IK*!WgmW4qPX2Q$#g6YY&}H|uwt5<<~+X~uK z@Y#O>Hzz{NY?A%9%Scw(#2{27gN^VEKA;!bW41{gR)1|$0)_vS7-xd5LnxCv+hd%u zBje+PeTiXpXo3~I3Z<8$Z8&JDgk^OOWhRlIu+~EQu7%vx0V$#mi}*lrEt?EZGruD! z{-H320PLSG>Y}r9`UQB~hX8~!mMl3vY9P#mp#GXM(=O+N<}uSGJ8?3j?Pj#&bC#Fh zbmgpRquuUVOA1$(<&(a*LHU{ep2DlIU%9dyDwE_zNl8*RBW~!qW6w!y{hK8Em4BSKzjhq~{9j7e~6o94l@$8X!L`&&MtEWp@|j2&;jqn&%bKE5+JYVx#M7o`k|u}3F3otIoU|JsY)BL@!d zez!9URbZgcYCTQ|>?1~57QRzmgiQZ#39ee|c2pt-eoS2%@3^*uEiEn0P455;B;J1z8SzOQc){r2;833G!;Fw( zCKmk`I&{18C%SJZ+gB^|IvnZpe#5Zois(ZPn4Emx}fM8>RfK4J?bqPXM*0za$pJ&wc$_Sqalz%GEU(91k zbDRLZ<~Vo&$LM4p;xSVpni4bCIS^J)!pXTK*vZf$9Ddt1^QmVx ziTr?CsX!#{PRIJ{|JYdj#v8SpYioIzwZFnXpftY2#_^d|cd!+66AMwD6Ok7=vU6jb zWRoD1dO!6dv~Y!;vRT7j3Gq>yUdehEaqK70z%TrlD1Lr3<6L-YB@j|d_}2|f<;@%?UIzh4Pjo%7CUvfqFgz+>ob}nk2aak zPhNy8iqZpda4dD&ZJ}>1%R`*YGUUY-^x9fU;C4l_z(KzFf8lpCofrQti&HS1^KI+VIM zXvXJ9C%Bx#6xz18Dd4%{`jvzNDwDX{8y8kg}aWIv@1 z7!T8;uoyN&BSSIB<@Y<@u?JEX)1v5P?L_EX4eLah#ZAL)6C?6yWIa94dhFJpQ?&IL zq$j5D=(#XI7MyPREW7nH z)T=+#7R|`jZ#MMuLb}-`U#zBc8`z-R2~Qi|e=5X?um9I{z6{0LRH{c9uzH4b6ZAA# zeZiidW5;{2|GJKKws!@3`g=b9n60(1SBnaEceH;DX3kk*wWQ=W9n&oUevvx~%{T3L)e!fZ3Bf!#`f&!xXFp}!N#GqNtqnKG^D z>eBK>Syz2`A-nR+oa!ra_j<|~7M_=N{#>Zc7yny631#b*N2AIYq2NLWO_(zOj*&$(%1@0`U9c4py{8$ZehA?NRA946RSL?4lo=PL_#!n=e;%z# z(e57|4E8F){xB5Ny@xxFp6F~31j9scKnwPPF9T6y@B4UBSqUZ9k5Ycg`ynM0q)T!^OpS6)<(pM$xF7r)Dpwu*7Qn9g7O+%e*<) z>b~JeNC-?#bsm0o^X5-g%Z042OEbG;E2u$g#na$788?i|VNn}5!iV_yRY=nn#$I98 zhggiVAq1xa%9cQPx$OaAI(_~LzWj6Y!YR8EjctFC+W#qP^!qKYcnSk`2bE-(|2xJQ ziSavF1;<}*uHQm+lPm>cJA!2CQ>oB1}WUa*v zO&ChjC*j+4X~)z1JS4}{-Sdfyi<%0MrAu@U=1 z0{S0<&c>|GG>QJsroV-+Q8FY1IcY5@C@Qi?R!;2VxpS|~yDaD8+!T}nldAD7jljBo zz1JHtOKuH+-%+{Y)eW1s{$|UIzuKaEg_%*chR)OsPBAme{>vORwF1!$Ox-~A14Bd5 zpES(zFRKY&ME(7Ps)9k%c!s(VsmF8+S9K3p^b&C2v00O+6U*(T1}~fw{XzsvUO-kF$xV~Wkr!>Ko&r_ zB8BM~MSdlxDQ7BsF)tXzCYruggEgR1@M2^m$jid19VOoTFpPL;fvdNkTKP9IW-}uz zU&ajFapGca;^Jk?g*f!~#dBnXoeQ6(_tXaKvz1JtFFG&QEnRhOZUYn`#N@HQA-zBX zJ{d#=gdirDkbjA~v8s@fxdC(7Ou4w8&{%2I{W^fYHS)@0MoaeDX&BVRODsRHuKu|P z+#VI$TYM6y7pm|MpVee2x9&v*eBe_F(ktaRq5an=%MBUuET<@2>VJ)^yvBQOAZUYS zl_bNykM_3*u#S^@x=?4rJ$;Zdp|nsTlSsIn#Nk1{^5ANv&(Ebpvq_ZONDl?EgbX07 z^>m24#^~ol*2WzAd5~FJ(0S>#wUZ{*g>dMywTFh#tLRu!(!7?Vg zJC6^`%uGGr*~-3Fe+Z8aI+&r~2YV}AX?b}KZ#D%Q8n$mMoI*a%h+yyg4f@T%^=m`5 z^uLLuyuyH2B#P6CHbB~PCR^-WG+`-7F3`U`;$Xu`YL=E}yc_qT$99QgrmlVuhTvEE?wxvJDjb+KqbU7-L32R(~i!MvB6i9wtwJ_pt+xC%FR}ir# z;OY*?x(%;v*z)?;Ej3%V;1rFi+ zx$N$ulojD>5&Cig@O&Hlx{!50TU>>Jbsnq~Ox%+2Y~81|wm9!MIrXE7zKmvBUmsc4 zTV%7APBTR2SGn~CCMNB7V79dflM`$SsR@Yy!d$Llmc+#2NlZ29%}&HJGMKr-v5&sA zMv3EbF!+d7bR`QP9przWLT`BJ4XFtvd=tW@EWj(TZBpv|6`{17g^RmPyo|Q2%SuyI zN&pyaP*&*5B%eZeXI3bMer1+VsiK(Cd{JZ&eHaYt#`Oq1E_^A=B$Ma;bchsUSxi?^ zVu12QKBb^SsjW~N{BrE^Ul)OPG#fJ}0o_yfZvG$a5IL6TC>xys1qF%c6f(0)f&=D= zdEaH#pCZ{A(?ID4;pR7v{br4yH@MPwxl+1K(Yew&T&Y>KY!vs|CFFEeMs&fSTJBz)J0&0K`;t->efMHf2B+o7EJ%54B`?fC!2 zf0M=kcIY76jD6+Xbo}jFWo2aJTUs+SwWO$6MHjF1~X zbQkv-#(TsYwvuls!UoAPK3@m`U@AX$F^{F?qCHGFv!00S90aV}Wk(&ff4QK}i9QPI zqzP2hZWPoR;W)FP&V8hKNC6UQXB8m%rswJ2|Ema~g40k={r8pA>{jvttoGRWggARw z$ASF^kCCp?cM{_?9P1nkPgnm*D9!tNjOs33m@vJ4-JPEw{IsR5BXHtGPp=iS@6S7_ zlwzp>w;8O^ET?Ox2=?-y!-OV~&?Em~vgv12K7C9k8&9Emg?NtrdLT?1gRB8dScw8f ztWv#`LzrAKwYU~@*SLoj@E9wgj1}-*R={Pf0FzFw(pGjoTF>=m67<+GYU$GA+;m1M zJ-2x2zor+B_@+rcs4FGLD`A08o~0{Y$ut{dc$Kcgn5uh) z{N=_c=AhuNWEL-CeoDIu#cE~LV-F%yADhi9%S{o>Jyi^&*1S+t^THZ^#95P43f@E} z<)C^M-K~U0y&CVc8UhSm?Dx2kqqT;%h5;LN*jgWc4O!V-OL)nw+J30)0j0Ik!sFN-N3ZJqwpl zM@ZJFU$c{rGI!GCGX>w7$7k%WyV+g;PBk-0W1b1DVUa=Tv4S167*PM@*vbcLHod;9 zao6jcYH*xjRjV5}&SCz@Hgp@Bw+OTa@;oI(eg<7}IeOdzJ^4%l6`3Q3u=+}!n^I%U zr>RpZiS)0@qkpz{pRSAZ0(-ajykK`1b+N!FMJb05ezfo7&krB&>^gcl(1$)vc;rYQ zY=M1!K@i#>^?bb?Idg+&py8PLnt@((y0Xp-gOzon8P#Y;mAo{@(~LHgH>{IP2^%>2 z2&RgXp!=0J{tTU7@;E(wLNtYJJ|X<}!}pe5m6@EJHgV$cFLvMd!&SG>Odt4r{eSAi zr%t_U(L%iW3m1Vgv9N8g=8p6@j4F?F$lb#$#ItP>}10&Ev}U14E$U& zJDwWuawW#a#wEIvl8i$;42p^^ULP)w+%MfMEUV$2okx#RdO2|XXghF|enVO6KaNge z^uRWH;7NMm7J6VgJs{{ykFwKw&9oUMWj|h3zHG^y3)1op`0Z2Ly?5LvwXSsKKAzZW zyleWBJ6C@7T?NLw?v;1xKM1`PdOq~$&`~pF9JZ0upJKE$%#kGUF7JolG};#4C+$_@ zp>Hdn6S_+?+BkKxdYRFt8TVr#h1+kmJ;poVrlg`-qx}Bs@bG_qjq(AMgTWf*!X*y` z7&QA@sZo9lOY5se&CmRRQPf;Nzhv<>naG+b;RZ-eNOsS`I=KxO+x4B@Z98yuJ%!0z z{o3X&uYbb3H0(@Wz{RD;m&>FO;L=sHdTFx^oo3#t#5f_Ql4?y7fyhHXq@kJ&qm6`y z%FF^B2?lY$B|BE-FeTk1=dk)IDFpIbni5nzP3G8I& zF-ebxeuZ1_8j!$|O7>sBA~#YxTK7-@SxJ=@X=gQd53Wej-7jT6ieF8tDvw}3+6o=Z zcO6`@!lNcaNM+-{=oKq$i_7-r;WrHmv1e>B;nluCT9Ru?usukLf^tqleE={29oDz@ zZ{H5p>B3T`?L(iw(39?n&z&Hv;u&4%kO=+Km&P_UcCvS84r z@m9&lpU2hB=IW%z!8u&ra9M4z;Icg5C}I{aL5~#!{SqchF@G}f3^j=|ylt}2=TWMn zE@2(1niPS5E|O*P5ZZV)Dt?`kt-}n7r~H$##kb8x?ODgWUc}EWps2s&L&ald0j#yk z=d;NEBMG!1$Ba&^fAY;dB(B@S_dKjv3hJ!7i0hc%$=xlB6jP%4H;z(q*Mo);uX574< z(3?KLM``nVv}7OIw{kNjRV;lMOW(=+$-m^!swmj;9zHY5w|Y9vjs;$iB~$pIDj*2r z4kjt{vx7Vtscth43ce}YW`w>pZB{5N+<i}=f8wU+7^d(;h< zo|MK zLY~Lji^ef0JP8kV7g2&fqlH+|x7jOyvF&wkfBcUt0TH!^c7;ARtfKuPvmIrE+y)ce zORVtC6usc;xBH??8~(OuU)w-bMNG%B2`g5WUTXcg8J9!!-QS&kPH0)`i}{9?UUU{qf(s zI63(7uYqxI+0`0yPa!8a5!XCaa?xNkLj4w3a>@`T5K0~~!sWCks$U#B{P{6rGVw`N z&^!rhnp{o|E&-n#{t^K_;1z$1~dlt{LW<=k)vj2UgA!x2|ox53hOukG1aaPn<_o{|LN z@r>m2q0OPX&^w`~NIQT$hs@1dT~}B4yeGVb(R}8N(M&W(^Cy&)XuJFNWy`+1=&M7y z%oxgj>Wh#INL#F?Gn8&ZU$w?umHB!=y;1#>x<_+q<26NnBQls?Q0jIDvlW6VlL+iX zHQQKs45rN(%!E*dIhuD)$1r_OEze@c*&g`MP-<$^M9ESRp;HG-!F+eabUbMPXf$i^ zRJ0<8URNHAUwWSXOQUIP?;$eU)7J}mQO8LDyW!5yN%QJeW9+u>Pd@ngqXS(%C+vxg zW_LIEO-3`y5$%iV`1BwwsbB2d*S78G>imA=jndWL^Kv z_Rpgv=Kyz7%;V2&CLHnCP0u{!312}u$+@;A*T3zO}oNC`Hc~hYvKpvwPPEpSO4P1Y168 zA^g+RbK>adhY#)3DSs-}t~9^ZB4kR?_Vxot18al$w8ACOH_Glx zO+O#~C3{?|%dQZ~NlP7x0+N)HdagUdXege5N=8y5pkmXBCYv967ya(GSXcetW9M9) zb5U^b?+3+9?6!R;#&|r_$M)=d^O5P`(912huDdb1%EEVB)@@Z9eGK6`G*k_Alz<7B z#yt4MOKfBH&ptu1rWud{v~0zU{|V!0rZ8SfPW%($d71)^uDWuSCtQ@= zTrlm@OL8yq6wI78yAX&_Y#mYWKMXCnbp|`C6p*V|%iJ>Fw@3@X^Q32afj~-sP}&_eI6(UZu5S6oD&lD2p5bQnyCiZDbDu zGYr{mewbW!?@)JJp@J)1STc;;s8rw3=)`1q7K1%0Jvl2=Q!-r^|1ZteI;c+)=}(qw#1$W}e@PCg)vOQ}weanR)a`GB3C6 zeZO5Pn3T}n;=cm*R5piah*S9ajty-5+j$1vDpmu38LRb$k@*^d20Vln0035dV?erv z6tb5>r>eV;f=6u~qQw#l;u2`(oOpl5C)_ z@QPwRq408MAmP%*Wp}SAFE1%#fYDtSqbQzsfMeGB64xs07ynB}E2X zB9<-8N*3ZfR0Iy9V}yOE?!c;qs1oOBc&#^HRVZ4apngW9iICY5@kpK7tHQ)I*sCX! zzphs&Wl#9O(yI>pV6U$IYKIzYAea997X2v|0EO*BFx|-hCGq*kS zdh@5B?D=!uFW0aIj+j4xB*?cvYz4vl;^xg?u#l%+2|42px^qQJ%7s&}U4GlbS+gfh zBu4GH@75*P}uZ#yE5&n;^J9Tva-$}m+i41Z2hcb09)IoOC(9aA!erB zL6E#=*j>QY?aUn6&$b~<>&3*O?a+U&p~F=S9RMOorQo1#7{Mg*n2eCoSc`oCb12iK-W#r)wR)^V|kwraPawVZOT`&7$8ulf@9(~QAO!10xMT0%UU}t} zC)u0edkx>IROoI&x$2Dur$kY)rRD+3v;W#QBG#Feu_O~25 zJ`n0Yq8l#dU|^sEMmHm1(T59}WysjCgJt@Hpir=Y)E2MB;4$KWl3GFoZ`^>`pT6lP zbMytw0O5Qb8<8>j1}OPn^_gcpp|@h6dFGkzA05mnrmif*xztc}92Is`5-MqV{-H%h z1vxqVyEuD7hC2g%H+{a%_mE;)UCj0_dZyr=q=`U$IwBCO4ZPYOy-G@Q`5b);h7W|4 zM9chZZM}U~d!iOv?G>giIlqbSGtVy#Gvf~R;fFn;*PIVO{O~J(-Rttqnl(##0{#cG z^tk4ni4)Vb`an`nKzGKn89=Wuj5w;rv2<}!(UpaHxp|l8p=8F2yfkk80o1Jj;pv(? z*~Of%;Hd}uQ=-?<#?iJJW>Ua#ofU*jqV;txw}b_d~_gbGJcX=(a^&1PI&i@%sIUT1XhZjSa~!E9ry z5>aB`d5V;B*>$RX@hGE;=8TF4KWnwH^PKMHHTEDrY{eO)!Z;H2Rh_<$NoQP#RJgsu z(D`dZ4YW3#NYaYYHdooUA4KnmXZdTc!(b2c8>`eGyKv$4*WOrGQvU75i;a2mzj`(P zDnrHznozJVvzg%&k#S?Vk`eoBe)ikO-S58h&bx2DxveYMy7!}x_creQph;2+X!h0X z_L5fDuKdh5`t^64PWJS~q)(YLWlUn^Yimq9@lnTiS@uMc?*t-1_ zCD#>0ZME+pM}#5DTrnSj%rbpe9~i6XAcC7lnunmdr1b&d72dmt3^hYAp`>N&FS>gI z{f@-Mcn4H4QJNC!I(XoV{wUkPF~!bC9U!U0Z%U45EOzz+0QeL>9|)p3`Qini6@#wT z-LKd!mZ1Mdb3RB#)8a4p;=by~epTPF^Ur_Yx&8Ichr641y|;H){ab(AJy=5io@oCr zNiIT1`B%D8$tvJFA}w|0EsGW|DJx4(Mx!2oSz+O{EH>WJ$r&QA>CJWjU+ztZ+ssiE z-Fi?*Hq=(-d9-Vi2M3kwRMcF>A&UGd{aPf<`HX~Ug~9?Z+SN>{l84oUe>JoiZtNMb ze@I(w^}n^-fr#1b8xoN)2$^yAJ&CZI#?;nACa}ft_j+d#!Mzp3xKvxCBk1#dS^{nf zI9qKkapMY<{eRQ1I!ip(88fsV@$wX6#>;E3>W>e>KC;_2SdLI)+dmAe-bGVkQuUt!gsGfiU(j_z>zviG6m596)GKT!{Yewb6F6+9Vkr7;A7^kU3 z(C6VEd&xJ%6#NWFfjKaGLP^O|H1>?5nFXMkFQ1UZT;F1deQQwpEPD$6*zF(856U_$)Fc`Wh-I0OLj)I3o3 z^G!Q|A@?1vq&CF3a+T(7ss5o~-2wFPh}@3Ia#>M+B>Lw6>RzC~IGUQ-)LjZVW1_!l z2M{h|n=>htzDz2qnjcd^AY`3)tQ{~~P$uCgj|@>@Q^;46yQ zd*z`fA)-Z9EejRU%0k7i!0z3Fau2j@a5SKgbD>2Q^w$(7r&a~Ck zA2B=|aOYO4uvjRSBg61P`!Io$L0RX?+q-tLcT=0Q%8afY zajN^iWY3=JW4iLoo%Bx(*uk!+D^K;|V1G&<(x0KOuF%&Tp=(DC+M8dtJ*AH$eK~@@ z9Aw@Xc7KQ4szixUhJ$2Bb3RzO(r}U0nMgW;ttgKqF4JWdg%aLwZP#Za62bRV z{3*G4lc!9E-d|OsyzpJPT*lf-QdIE5CilK@G{~=LTXye;9UD(^iC1~W=d}>h?(^G9 zii=6srbpNNbS2sUr5}jSFDRUvKUH}i6tQvBf$_n@*xnheFn(z$zvObCX89M7B^B>V zDl1<@%27|p$CnE2zf6*#RbYIwVJCAX&*1$Q<-JXLM(PN3Q`$s>(_gW!jpRT5Z+>?w z=bc6mjbvw(d|%NXol~c-S+nN;r)ztxQSSXnzrG>%+ zk?IXheS@WhdK~z#vC|j_fYv&Jj%>cu3kWEMZ=$q!7ttlZ=8}7(x4z3KmvBz91K-Fe z$IA%TTE2CG>(#&SudVh!@{;f%PatM{dw2(Fz2o3QUL5zzi%Z_7cyyD&Vs^+ot>ZU zZZO==<6TO_u210=95FFF(E2xAtNQ}knZxb+cMS0ISkz@f2QD!1L`0haku2w#d~)SY zc=X^qmhhV7=XiMUsdwlvCS+%&j&LVfq|TZx!JU*cu^3|{PVH0QRyPnTepdafdeCUU z;?V}44QfNYI7dfA&1y684sss`s68MQWf;aGa_a!8g!M5^O?&t3X@)4H_0x}=_v|&Y zLH6!x{`ga#+26c}XD9;}(UTmEl9N$7GYVn>7W@dZp;OmL6qK&FCDKu4+MLkQ)?bzdgfh~Ja`o2r%?Z6reJEjS${eW6>; zprC1u(dMZc?97|I9?k00M_9+=H63gH40q~h$$7*W@{+q5$dft+8UX<>RT|audm{D! z67MNrj+VT9M+2SJuw!dYO$|kz_zrSg*!5y@N5+OuO4eM+0_n1*KkHAj@g&up*h>bi zQsjZ6<-9o**+=r}*BSJUL~OE{{YmtVQYU%2Wl4|L)iu7ixAAC4i+iN9=Wh*vc&p)! zUn>vzqS{LqkS8(=Am8J-Agh(1^S54gr9l9AxTWP&sfFTa>Nb!EP^0)0Z&@@qcg~cY z*1*)lqQ$rUp!5fKGg$RL?-g9$Wsv~sAk(Yyzq&_VHzGH681B5-bBL{+amVvCjvd)Cy4(j18Wh83hD_(etb%l?u~2xm>l3w zJ|e5Ar3J(hZu_-AH|K>|%aW%#=v$OLO{HN5q1wq{t(M2VzVWA<8@gKG%$Rn?Fy%3y z&zh3dmUmA9p@etXINw!%YRzqncd5F%_?DT(%Rgthck|M-F}E(BcciuP9ornPv)1Q} z85H*5?fBpe+rI&7v9%Nk?8*z9%XP$f~;PZaQLWV4>??J5GErX zA)9hcGFtlYS1lI5&q*3^Fd#Huy+ONmb;QRwlj|wudWJEU5+{=QmM2sIOt=Wub4z$* zIG6u7hc@#YnDXI`p)H{TuV-DuOo=|E zz1`{DoKsZ4xVn1r=K7)>jA|*TC<}R9jm@!tR93_RKwdGIzIU5;il( zD}n19%Jqp1APbs5i8pyj``|J^^dZwT^?cPMmY>(7w)wOc>kfU*8Y>D15@C%bYmp$c z#*q556AgZsL`b9guBbYDv0XXWXGu^JQgyYon_!mKO|;+AYHi)EuU#wnSi8Q~B5+3C zWXBQ~jS-P^a_~K*5-U;FHPtmWoZ8hsC4($RYWN@lMAzQH=H^i|eAWi5wV_3?tdzw` zy?51DX+!UCYeUa5BS~k>3`qod9Ni=J$mPc4LheSUq0nJB)w`I&6z z0pMAuk9BKDVqym{8L#5a_EtUq{N~^M>Fu|Fv-$a|GmkI(*4+6w-Clb8P4nk|>&#>Q z4GU?=PW^)TA$Cn@JA+h|IP=&Ui}XI$bu19F#-4f12RjoII`s>>juZTeb&%@Xd;HAf zo)dkrNRweG^(f9b*5CN*+7kUq)>b~dz_##8uO|%cT~2~OADIqzgYMbn(>AwSSz8*@ zS6_p(j)#-4v-ra__D7AiZJ7tC2!pRgXRPuqv>{h$IK-COci@asd3VtZ0uN7lP@^{TE zT*7&YEkBj>n#C24<_Z&#Jc?T!kWcQN;C`!|_TZ4O37Dr}tsFc*CM1{0b2x146zJ4geRlFhA3X)CXKO}8~ zWK)8pegfa%Bdx$J!Xdvc2#5iG7x)n9KH&-Tzii0YMtb{wdi!>I`+M~Ex9DwU+mERQ zISv)`63%@jJ0C674~+HYkT0|<^pnsvp~aycq31&W&`P5{6M8+gm%>p8X@3pctz~C zen;NjcdyD%IFVA_cURqGF{=DfOc6?rg$~w4ztJsHjL&r55Eys#H->5fM|0G-AXQBgC+T z5SL^VmSi(~zh`!%=(YFu^Z)#FAlaRrnVp$)&U2oZ-}8G!cZfhDj{BdXn9Nh3I`C2< z5U$0^H{5<_Xa+oGv8;-HZvAcdkLvfg`kR9hHDN$n|9I8zupK-a=r#<8-J%$cWQH}L z?rb~NoS2l{hvH4`ZHPmDpyx`lnI)#6Ne~wPcSU@lcDt*X@Wu*qzM#gSgoEZvR1BXx zHO19%{HqfuTaF`Jj`>d^U&*p|TD-~d(#f9-Qc^C;t^2Go5D2SYyMS)zNALSJ^^9ds{$ZH%pK&2`r_N#p9T!2x|1IpKq>SR*2$TD_pLdFc(_P78Z>nAie-@?H6y0 zCor+*0|5o-DVB&OstnwziU&L%F;=$)gc2#e(W>DnZ~}y`+H?8RWtJu7<>ah^g0b)U z3nl|LjXMUYRv&p~cY%pm=eNEt(MU}->{`o-hGWMYn~WYnm*MunGW^*qkh{y>eUS5- z<}x$XGc@VHN?Eo}&UX>VQ-Vkoh7c7NehW5*rcB@_qvb(oq0^d4E>^-FTh@{o{tJf9 z6j4(%kv(LH_*NdoO$=lc2dg2oUgY5|Wt4_Or(Tg@@Hy5h7T_0`mvF!+>Pfay4zd1k zH)D{`C-*HrT3Zeg@fr27a^ZMOGaKdCBM!#uVznkvGmghSD>4%3Rbu2Ob!P|-jRKXL zWU*@VTC=Xke|4R&_kCLQz1DBUxLH5D`Krtea(L|{@-j1j9pxn5qCD)HkfD9Kd*j-z zClpnt-k;t&K60tC9hB(pvg(d(qUsY}lSmk7F1<29<&T{ck`Fwydc5$UxgcNuTkrE{v`U$T$i8sWTa)mYb7$eq$;C8B+ zW{VefVhgQKe$F0Wij^W)T!04tCG&5DHh-M*F*)YBSfok9?k>R1qJ)>*_WXsuY19zy zumziMzRGOf_0swmwjK!B9A0fevfmF;U38}3k+9vLTry|=tcs${aGO`Ot}O()o+cJl zlyINXA-GH_(BV-yz`}53XQ4D@Z9Dd3x4v6zzKIV6zVl&X?8Bz8Gi7kz%tfV$pdA=g zvb_p*%mPsV%Mc>6J*!kXmdu}8ls_u9wf2q2VuLwh+4=*4gYRwv&G+&ieb-ahu`)Rv z2@Xn}C#Qf@>dz~=T77q;Y9CfGVa$jN(ozvJ);=uA8J7St8qn=ByYyvZqdMkU4fAX|J^L%>St0Z67U1Nvy&q9cYx>8`B?y)zFxzZ0q3ptF?g6Xs z0&L8z$P&v6x_dUC7XU@yVr*pL+s`T+!~vp0`Z3w8a&aFCQS5EhQ$p~GSY_u=Shb8xAJD^Qrk{F(X;Gsk3yct!jYpGpP`*~8$S zHcI=>Y<|R`Es6#c{gja8IAXE!srXQ4gINzzR&|}&!Ste1jaVw?vLL5IK*q72tfxmd`w$j1Aat*v+7zHp&O8(Mn9AfnA&HR~-+-L~T$Z#-z# zS2n%{3hyP-0i3H{3+If;&2b*9J+OMUCt+ZAs{bE5w;{Fa8uS9imk_AkCPnY^Cts}# zj7Jna$-T&CMks9nUJw-bmh!=$>0;SlSJtH0DkJP86t!>Wh%rd7VTEIeo&fYF5o^wQ2naq^I?B*m^t{rKev&no3t^$eNti*4)z8dMeOkOSvGO z5&;gUEg=a8jm-3PlQcuOP>c(P8yVA)g&N|VajYAVnOb3XC0AFsMPR<}2^%^}wY5H= zCa0u$I7c5Xx7u#R~LU@W!=+8N^QO)ZMc1zny>QZEIC67bT6&vlRk7=#{nm&eo& zd$G{*ri6-mYm3mMUW0U`stAUz*KmPU6^Y@pVP;gx+&(>OU-Vi939)0P%3(+TmeME*{6+QA= z#*W0JUCfa~n19m8G67v~3%11u(E6LGRRY-5nvr$?$oiZD#VxWj$Ymtqsn5Klsbzbf z)wE}KPf4xED0mEKWzxEh8<#)s+qh|6V{L87AFiuy)RPX@><%^7ImsfhyXyR*Jv9gQ zsffJ8V4jaKvZbtOzlM`&z<%z0Q5z#(mlM?R$C40hqbAKZKkp ziSz-dkifjZo|R47U{|1m5(T1-L;>1EC1BY$8t)kI8Lv>~egoTZ0MY(z+)LeHo7sjL zg+{S4f>vTY%z`cRd-obInR^U1E;F)?ON|*E{R;BT8AJEoFe!2+U$F}j6cu&H`TC;B zbn6rE@7Z%;dnuP!%7tBJy54^-HYo)?0g@zGbD;IKY&@0v^P;F}W|^1T`sWfne3CkF zZsb2Ke>#;qulKW`r=I##38#|upFiWXmrj4@vyGAo7t_F_U2sX_uz_A};IPDtGrZb` zmnIHN^E!EV>0r2H2ahm6OdFOsBEu(U&XoDkTZ!h#)(1-^*Gq zn?L;abKXlOa;fv_!%B**F)=ztIs9}?TlhCN@{RhgKf14LI{9^H#FjK5JtN5$2{wP# z)O4!duq7d5``LQhPBt~2XzAedf$16jY{r?djyEZm_;?LuU}s2;)8fdXP~sBewRmwh z7(yJ{u&2!(L}&0UJJ^Wn!R={$UfiR1p7Udmyuc%&)PpuXm$^#`1l|xEo zOmwUvdz@E;_=GxVGLyz`^J-9dclY?*IhmPheJsiuG>bEerSCu#iSys5$@huhe$IPY zkx^x_Qj)634O|9_hi>%|bgTCGqCe)IHujVm zGw1KAZU^t=LrS_ODC_%s+t1tE%6ZiQU^O3#fW)DhJF{qcqEWmbzK-?gb?p1jnP22O zwsPjhT*)n5@eIyffH5JhwUkJa_4oMccdjTzpk%XcGTU5a;!;=MY$ti$BmEKLjW-G+ zF30-kw@BaCw)Ky!nqsDZET!&OUo$Hgz9Le@ZikfIg_>0D@f4eu&P;T#R~v#?7c0K# z`tP+-aI)dcme4X=dt*Z|OwLfh$kz5jx=|Y&fB+N{|mF#jM6ce53(y?ANg=+BXGXBl(hIN zTTfhCibLVVeFl>0;EJoX##4Y`fV0XYmGM;2yd5WS263wHvtiY$F`_;EOEpxRW^{MU zB20Yj?+mL+gE@dp))L{VRx53)Gc7GCPF-fRu)$>&l~%bWQHyFe>lvAUVPxLG$ehT? zEMsKOFiOe6FEwW26MKs!;b_}~cWW^^_$;>1Fba&3v38X))+m+ORboCrG45wc%*LbMZ2iBq)Lt}%XZwj%~DGFxp*zqe31F4E<&WTn`3E_2ka;|XCh zJ!sKkxykm6+@ay!=M78e&Yi>#TNAT#ZpJi^=?d1_Ia$`jJ3;Y@M?49rNUdk#x=u+; zP4&jf3JMXzbm&-WOH1>aFh%JHBqnxs1#wToYo#y80lNYX8()=VmUKYrXOh=>2C%MW z;Nd@A4`Uj3Q>dd0cZ-TUJJra}2B&>#vKDSc+z=o3hqa_(+4^!tJoZEME{s7vs@V-^ z5t+-Vk~K)5WK=z`Xv#yzJVaBn@t{$SceVGY5pU}n#>_~z-%kPgNwIb_qih};*;?uA z27TL!Dz*+SFJfAfQTy;Ez*r&JT%H8t7HvLbbL3fU%eF`rsXyiFRP9)+djMT*cmywDvV?Zlz z`<E(()r?qM ztbVFC$nE@Yw`5rIVr{skFU#K)bqX3?g}RZpN%g50ir1u+m5tEFe02+Lm6{tfIroW> zdaJTtYJ&u(PNHu~El{@0DMPWR#Qb0n%hhr-X!786QnIV@vr!imPjjVcC2ikq%)flo zEtn>LCF)~slbDF^w*LR`Hjd zvJySfme^Dr$69y@0R48HMUVHrHFxN_cdDy5czwQ&t(l|nO8qAYoLc0`n&ibxmdq>7 z$r7K|9e!=c>m6A+H$DImOHSoy6!9=&C?)cUyN}lT?W9gqJ;}YZ8r?|SZws_E2g06f znb)pxbY6G+?OOWa!GoxCX#~G+3jp1BB-r8awOYrjX&HmlAi>w#x<(tCCD7foREji z$wB5Q>q~Ibz5|SA8qVBmFg}g1Nry^BBprM4pt}A^-(=ztGvLRQ{6^7sA(4h@kvmo2 zTBX3)?qOYjwK!(G-D%mKw?C(tLYQVH>aVHaOYVivM6r z=f@Xoi^Pp=>4zHgB

    N6pK-J!%2% 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 Px}&0SwEu%=SLuJU9z%U0dG>;EXY-e# zV_!CRhO;v9We!Z0y{N|b%go~AbL^O*hzOB}jBrBQASGi^T0*$75qD^F3mIYxBqKeY zc>a8UijD+{l32*oznrsN%G1x4W0nk@px8&n43*@Q$98^s08|9^eXxjoANFJ({zU1i zcWiaaq=qkEdVI?t3LukP+BoV z@^-vv+O-?e1C#VZY~B!vf~mNBGU<*lOr3l)w$f|31$vWhYDl7gO<8ZBOUVa*v~r1G zU8{U3RK#!%Al}G)OYM6#C%ks6125)Rf8U2RS!J8?qb$u?hd_?TBYvg$bY(&zv>#(! z_uiZC7&>|0uNN<_xJc{z{AJQm7e(%Lu6lg)kuGiEk4c6pzC?e45>VR6qTE3Vp45oF zFR5I8;%!<>he{4-iiBroUZTUe=f#@;&!H^vK<=R5jW8z^Zpmip=?bUz?Ze8{-HI3X zbU^2lMdgt;1zTVPgIU`MX_z*llYK*%f;zfZxt;C$j@< zxYti7Ee0v~ESbp1%x~nLX}}Zu%@PG3rLt1~`?mgoHFgZ+kJgL3-h@=;srQOiQ{K#H zPl?6JWxp}(nawBzKrQ)lNi^B@9C`qcdf@JwB0@RnmgMUDe4WFK>7$BBYh;GS`}?fY zLWJiu%gB+izj*A`k4g;4lmAuC%Z37ezNkhk!LbDWjwcQ(;w=8}0R>LhQv-}+r?M&* zl%N5=MMgOOGOOQz;%b>F_(z6XgB)N8y1DjZybU$fnLBD(0Ov@dbhM}tcHoNOEAxiY z)oB?c^9W_XUM!tUve`b&Q?_g&s&3n~NlD{>Oa|!#-R|mta)Zv${%T%+#1!;@R4vnB z1BE<9H@?6E#jOU+KNijH)+idJs=@ZwHWu2pATO0Z4o4p&sI(P1DAq+7Q#$OB>s`86 z2Go&k+3cvS-^*;0Eiohw;oSUHooR2q(Z;2@{IvrRdCGNuNAM zpGbYKh(5WRJ}D#?xZApMqtBO>HqT&;; z?nEwJF4i9$hxMRF)&laSHnTVoD3mx9wYHX3C#fJmo*0Hv5TNh)+aN=Vzj84=VyM3AL-tf1bY{4m^ z$ul?{L`SR+@)aGOq<)+{=YUDUz}{+Y^{cI|;U>dq(m}`}VAe-_yO7>4qPP3g+r2iV z@)$t?v2ovIaJa2ZwQY1*hH2dZ6p>&IwXTlN+v_P1rFhsQcU$;!|r4+J9Eh%Agq{Q(jt)?bz7047lDckK{ zvc#RufB&96{syGFH?(BYnhs+WQE}eseBVCzj-)tM;SLn8d%B}fIV+DiU5js;mohWv9JNm zvEN-F7WmYi6#<<1{#=Xne~7Y!Xqy?OMNqr`*vh1ij_XKGJ~ZT%B|kO04E$IRO+)TYdx{D zEGis5CYs=19QF7&M@d)^M{$7p>%606=FE4$E2OOURJz4Tr9cVrLe`COD_!!dqE{&O dOnHTJefZ`IWl=bJoOzARPmbiMuz8fC{5NLxuU-HE diff --git a/invokeai/frontend/web/src/common/components/GuidePopover.scss b/invokeai/frontend/web/src/common/components/GuidePopover.scss deleted file mode 100644 index 58434270b2..0000000000 --- a/invokeai/frontend/web/src/common/components/GuidePopover.scss +++ /dev/null @@ -1,20 +0,0 @@ -.guide-popover-arrow { - background-color: var(--tab-panel-bg); - box-shadow: none; -} - -.guide-popover-content { - background-color: var(--background-color-secondary); - border: none; -} - -.guide-popover-guide-content { - background: var(--tab-panel-bg); - border: 2px solid var(--tab-hover-color); - border-radius: 0.4rem; - padding: 0.75rem 1rem 0.75rem 1rem; - display: grid; - grid-template-rows: repeat(auto-fill, 1fr); - grid-row-gap: 0.5rem; - justify-content: space-between; -} diff --git a/invokeai/frontend/web/src/common/components/GuidePopover.tsx b/invokeai/frontend/web/src/common/components/GuidePopover.tsx index ca45343588..ee376901e0 100644 --- a/invokeai/frontend/web/src/common/components/GuidePopover.tsx +++ b/invokeai/frontend/web/src/common/components/GuidePopover.tsx @@ -2,6 +2,7 @@ import { Box, Popover, PopoverArrow, + PopoverBody, PopoverContent, PopoverTrigger, } from '@chakra-ui/react'; @@ -34,13 +35,12 @@ const GuidePopover = ({ children, feature }: GuideProps) => { {children} e.preventDefault()} cursor="initial" > - -
    {text}
    + + {text}
    ); diff --git a/invokeai/frontend/web/src/common/components/IAIAlertDialog.tsx b/invokeai/frontend/web/src/common/components/IAIAlertDialog.tsx index 1ea35f5881..b1ddaf45d2 100644 --- a/invokeai/frontend/web/src/common/components/IAIAlertDialog.tsx +++ b/invokeai/frontend/web/src/common/components/IAIAlertDialog.tsx @@ -5,11 +5,11 @@ import { AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, - Button, forwardRef, useDisclosure, } from '@chakra-ui/react'; import { cloneElement, ReactElement, ReactNode, useRef } from 'react'; +import IAIButton from './IAIButton'; type Props = { acceptButtonText?: string; @@ -58,7 +58,7 @@ const IAIAlertDialog = forwardRef((props: Props, ref) => { onClose={onClose} > - + {title} @@ -66,16 +66,12 @@ const IAIAlertDialog = forwardRef((props: Props, ref) => { {children} - - + diff --git a/invokeai/frontend/web/src/common/components/IAIButton.scss b/invokeai/frontend/web/src/common/components/IAIButton.scss deleted file mode 100644 index 90489a3bda..0000000000 --- a/invokeai/frontend/web/src/common/components/IAIButton.scss +++ /dev/null @@ -1,8 +0,0 @@ -.invokeai__button { - background-color: var(--btn-base-color); - place-content: center; - - &:hover { - background-color: var(--btn-base-color-hover); - } -} diff --git a/invokeai/frontend/web/src/common/components/IAIButton.tsx b/invokeai/frontend/web/src/common/components/IAIButton.tsx index d25e9decae..ca06e51bf0 100644 --- a/invokeai/frontend/web/src/common/components/IAIButton.tsx +++ b/invokeai/frontend/web/src/common/components/IAIButton.tsx @@ -10,19 +10,15 @@ import { ReactNode } from 'react'; export interface IAIButtonProps extends ButtonProps { tooltip?: string; tooltipProps?: Omit; - styleClass?: string; + isChecked?: boolean; children: ReactNode; } const IAIButton = forwardRef((props: IAIButtonProps, forwardedRef) => { - const { children, tooltip = '', tooltipProps, styleClass, ...rest } = props; + const { children, tooltip = '', tooltipProps, isChecked, ...rest } = props; return ( - diff --git a/invokeai/frontend/web/src/common/components/IAICheckbox.scss b/invokeai/frontend/web/src/common/components/IAICheckbox.scss deleted file mode 100644 index 3b79c8f4db..0000000000 --- a/invokeai/frontend/web/src/common/components/IAICheckbox.scss +++ /dev/null @@ -1,26 +0,0 @@ -.invokeai__checkbox { - .chakra-checkbox__label { - margin-top: 1px; - color: var(--text-color-secondary); - font-size: 0.9rem; - } - - .chakra-checkbox__control { - width: 1rem; - height: 1rem; - border: none; - border-radius: 0.2rem; - background-color: var(--input-checkbox-bg); - - svg { - width: 0.6rem; - height: 0.6rem; - stroke-width: 3px; - } - - &[data-checked] { - color: var(--text-color); - background-color: var(--input-checkbox-checked-bg); - } - } -} diff --git a/invokeai/frontend/web/src/common/components/IAICheckbox.tsx b/invokeai/frontend/web/src/common/components/IAICheckbox.tsx index b9c526cf7e..c04a383767 100644 --- a/invokeai/frontend/web/src/common/components/IAICheckbox.tsx +++ b/invokeai/frontend/web/src/common/components/IAICheckbox.tsx @@ -3,13 +3,12 @@ import type { ReactNode } from 'react'; type IAICheckboxProps = CheckboxProps & { label: string | ReactNode; - styleClass?: string; }; const IAICheckbox = (props: IAICheckboxProps) => { - const { label, styleClass, ...rest } = props; + const { label, ...rest } = props; return ( - + {label} ); diff --git a/invokeai/frontend/web/src/common/components/IAIColorPicker.scss b/invokeai/frontend/web/src/common/components/IAIColorPicker.scss deleted file mode 100644 index 4b6e29483b..0000000000 --- a/invokeai/frontend/web/src/common/components/IAIColorPicker.scss +++ /dev/null @@ -1,8 +0,0 @@ -.invokeai__color-picker { - .react-colorful__hue-pointer, - .react-colorful__saturation-pointer { - width: 1.5rem; - height: 1.5rem; - border-color: var(--white); - } -} diff --git a/invokeai/frontend/web/src/common/components/IAIColorPicker.tsx b/invokeai/frontend/web/src/common/components/IAIColorPicker.tsx index 619c5758e6..406966bf88 100644 --- a/invokeai/frontend/web/src/common/components/IAIColorPicker.tsx +++ b/invokeai/frontend/web/src/common/components/IAIColorPicker.tsx @@ -1,16 +1,35 @@ +import { chakra, ChakraProps } from '@chakra-ui/react'; import { RgbaColorPicker } from 'react-colorful'; import { ColorPickerBaseProps, RgbaColor } from 'react-colorful/dist/types'; -type IAIColorPickerProps = ColorPickerBaseProps & { - styleClass?: string; +type IAIColorPickerProps = Omit, 'color'> & + ChakraProps & { + pickerColor: RgbaColor; + styleClass?: string; + }; + +const ChakraRgbaColorPicker = chakra(RgbaColorPicker, { + baseStyle: { paddingInline: 4 }, + shouldForwardProp: (prop) => !['pickerColor'].includes(prop), +}); + +const colorPickerStyles: NonNullable = { + width: 6, + height: 6, + borderColor: 'base.100', }; const IAIColorPicker = (props: IAIColorPickerProps) => { - const { styleClass, ...rest } = props; + const { styleClass = '', ...rest } = props; return ( - ); diff --git a/invokeai/frontend/web/src/common/components/IAIIconButton.scss b/invokeai/frontend/web/src/common/components/IAIIconButton.scss deleted file mode 100644 index d55e5de4c5..0000000000 --- a/invokeai/frontend/web/src/common/components/IAIIconButton.scss +++ /dev/null @@ -1,82 +0,0 @@ -@use '../../styles/Mixins/' as *; - -.invokeai__icon-button { - background: var(--btn-base-color); - cursor: pointer; - - &:hover { - background-color: var(--btn-base-color-hover); - } - - &[data-selected='true'] { - background-color: var(--accent-color); - &:hover { - background-color: var(--accent-color-hover); - } - } - - &[disabled] { - cursor: not-allowed; - } - - &[data-variant='link'] { - background: none; - &:hover { - background: none; - } - } - - // Check Box Style - &[data-as-checkbox='true'] { - background-color: var(--btn-base-color); - border: 3px solid var(--btn-base-color); - - svg { - fill: var(--text-color); - } - - &:hover { - background-color: var(--btn-base-color); - border-color: var(--btn-checkbox-border-hover); - svg { - fill: var(--text-color); - } - } - - &[data-selected='true'] { - border-color: var(--accent-color); - svg { - fill: var(--accent-color-hover); - } - &:hover { - svg { - fill: var(--accent-color-hover); - } - } - } - } - - &[data-alert='true'] { - animation-name: pulseColor; - animation-duration: 1s; - animation-timing-function: ease-in-out; - animation-iteration-count: infinite; - - &:hover { - animation: none; - background-color: var(--accent-color-hover); - } - } -} - -@keyframes pulseColor { - 0% { - background-color: var(--accent-color); - } - 50% { - background-color: var(--accent-color-dim); - } - 100% { - background-color: var(--accent-color); - } -} diff --git a/invokeai/frontend/web/src/common/components/IAIIconButton.tsx b/invokeai/frontend/web/src/common/components/IAIIconButton.tsx index 3eedae8e14..4e6e3d7643 100644 --- a/invokeai/frontend/web/src/common/components/IAIIconButton.tsx +++ b/invokeai/frontend/web/src/common/components/IAIIconButton.tsx @@ -7,22 +7,13 @@ import { } from '@chakra-ui/react'; export type IAIIconButtonProps = IconButtonProps & { - styleClass?: string; tooltip?: string; tooltipProps?: Omit; - asCheckbox?: boolean; isChecked?: boolean; }; const IAIIconButton = forwardRef((props: IAIIconButtonProps, forwardedRef) => { - const { - tooltip = '', - styleClass, - tooltipProps, - asCheckbox, - isChecked, - ...rest - } = props; + const { tooltip = '', tooltipProps, isChecked, ...rest } = props; return ( { > diff --git a/invokeai/frontend/web/src/common/components/IAIInput.scss b/invokeai/frontend/web/src/common/components/IAIInput.scss deleted file mode 100644 index ac073fd578..0000000000 --- a/invokeai/frontend/web/src/common/components/IAIInput.scss +++ /dev/null @@ -1,33 +0,0 @@ -.input { - display: grid; - grid-template-columns: max-content auto; - column-gap: 1rem; - align-items: center; - - .input-label { - color: var(--text-color-secondary); - } - - .input-entry { - background-color: var(--background-color-secondary); - border: 2px solid var(--border-color); - border-radius: 0.2rem; - font-weight: bold; - - &:focus { - outline: none; - border: 2px solid var(--input-border-color); - box-shadow: 0 0 10px 0 var(--input-box-shadow-color); - } - - &:disabled { - opacity: 0.2; - } - - &[aria-invalid='true'] { - outline: none; - border: 2px solid var(--border-color-invalid); - box-shadow: 0 0 10px 0 var(--box-shadow-color-invalid); - } - } -} diff --git a/invokeai/frontend/web/src/common/components/IAIInput.tsx b/invokeai/frontend/web/src/common/components/IAIInput.tsx index 50f78f30f1..e0d0536c03 100644 --- a/invokeai/frontend/web/src/common/components/IAIInput.tsx +++ b/invokeai/frontend/web/src/common/components/IAIInput.tsx @@ -1,47 +1,37 @@ -import { FormControl, FormLabel, Input, InputProps } from '@chakra-ui/react'; +import { + FormControl, + FormControlProps, + FormLabel, + Input, + InputProps, +} from '@chakra-ui/react'; import { ChangeEvent } from 'react'; interface IAIInputProps extends InputProps { - styleClass?: string; label?: string; - width?: string | number; value?: string; size?: string; onChange?: (e: ChangeEvent) => void; + formControlProps?: Omit; } export default function IAIInput(props: IAIInputProps) { const { label = '', - styleClass, isDisabled = false, - fontSize = 'sm', - width, - size = 'sm', isInvalid, + formControlProps, ...rest } = props; return ( - {label !== '' && ( - - {label} - - )} - + {label !== '' && {label}} + ); } diff --git a/invokeai/frontend/web/src/common/components/IAINumberInput.scss b/invokeai/frontend/web/src/common/components/IAINumberInput.scss deleted file mode 100644 index aab88f1021..0000000000 --- a/invokeai/frontend/web/src/common/components/IAINumberInput.scss +++ /dev/null @@ -1,66 +0,0 @@ -.invokeai__number-input-form-control { - display: flex; - align-items: center; - column-gap: 1rem; - - .invokeai__number-input-form-label { - color: var(--text-color-secondary); - - &[data-focus] + .invokeai__number-input-root { - outline: none; - border: 2px solid var(--input-border-color); - box-shadow: 0 0 10px 0 var(--input-box-shadow-color); - } - - &[aria-invalid='true'] + .invokeai__number-input-root { - outline: none; - border: 2px solid var(--border-color-invalid); - box-shadow: 0 0 10px 0 var(--box-shadow-color-invalid); - } - } - - .invokeai__number-input-root { - height: 2rem; - display: grid; - grid-template-columns: auto max-content; - column-gap: 0.5rem; - align-items: center; - background-color: var(--background-color-secondary); - border: 2px solid var(--border-color); - border-radius: 0.3rem; - } - - .invokeai__number-input-field { - border: none; - font-weight: bold; - width: 100%; - height: auto; - font-size: 0.9rem; - padding: 0 0.5rem; - - &:focus { - outline: none; - box-shadow: none; - } - - &:disabled { - opacity: 0.2; - } - } - .invokeai__number-input-stepper { - display: grid; - padding-right: 0.5rem; - - .invokeai__number-input-stepper-button { - border: none; - // expand arrow hitbox - padding: 0 0.5rem; - margin: 0 -0.5rem; - - svg { - width: 10px; - height: 10px; - } - } - } -} diff --git a/invokeai/frontend/web/src/common/components/IAINumberInput.tsx b/invokeai/frontend/web/src/common/components/IAINumberInput.tsx index a88c246c2a..cfe06aa727 100644 --- a/invokeai/frontend/web/src/common/components/IAINumberInput.tsx +++ b/invokeai/frontend/web/src/common/components/IAINumberInput.tsx @@ -9,6 +9,7 @@ import { NumberInputField, NumberInputFieldProps, NumberInputProps, + NumberInputStepper, NumberInputStepperProps, Tooltip, TooltipProps, @@ -20,10 +21,7 @@ import { FocusEvent, useEffect, useState } from 'react'; const numberStringRegex = /^-?(0\.)?\.?$/; interface Props extends Omit { - styleClass?: string; label?: string; - labelFontSize?: string | number; - width?: string | number; showStepper?: boolean; value?: number; onChange: (v: number) => void; @@ -45,12 +43,8 @@ interface Props extends Omit { const IAINumberInput = (props: Props) => { const { label, - labelFontSize = 'sm', - styleClass, isDisabled = false, showStepper = true, - width, - textAlign, isInvalid, value, onChange, @@ -119,29 +113,10 @@ const IAINumberInput = (props: Props) => { - {label && ( - - {label} - - )} + {label && {label}} { clampValueOnBlur={false} onChange={handleOnChange} onBlur={handleBlur} - width={width} {...rest} > - + {showStepper && ( -
    - - -
    + + + + )}
    diff --git a/invokeai/frontend/web/src/common/components/IAIPopover.scss b/invokeai/frontend/web/src/common/components/IAIPopover.scss deleted file mode 100644 index ab2ac26b3a..0000000000 --- a/invokeai/frontend/web/src/common/components/IAIPopover.scss +++ /dev/null @@ -1,12 +0,0 @@ -.invokeai__popover-content { - min-width: unset; - width: unset; - padding: 1rem; - border-radius: 0.5rem; - background-color: var(--background-color); - border: 2px solid var(--border-color); - - .invokeai__popover-arrow { - background-color: var(--background-color) !important; - } -} diff --git a/invokeai/frontend/web/src/common/components/IAIPopover.tsx b/invokeai/frontend/web/src/common/components/IAIPopover.tsx index 38a2a24303..c58accebe4 100644 --- a/invokeai/frontend/web/src/common/components/IAIPopover.tsx +++ b/invokeai/frontend/web/src/common/components/IAIPopover.tsx @@ -12,7 +12,6 @@ type IAIPopoverProps = PopoverProps & { triggerComponent: ReactNode; triggerContainerProps?: BoxProps; children: ReactNode; - styleClass?: string; hasArrow?: boolean; }; @@ -20,16 +19,16 @@ const IAIPopover = (props: IAIPopoverProps) => { const { triggerComponent, children, - styleClass, hasArrow = true, + isLazy = true, ...rest } = props; return ( - + {triggerComponent} - - {hasArrow && } + + {hasArrow && } {children} diff --git a/invokeai/frontend/web/src/common/components/IAISelect.scss b/invokeai/frontend/web/src/common/components/IAISelect.scss deleted file mode 100644 index 8891b3b11e..0000000000 --- a/invokeai/frontend/web/src/common/components/IAISelect.scss +++ /dev/null @@ -1,31 +0,0 @@ -@use '../../styles/Mixins/' as *; - -.invokeai__select { - display: flex; - column-gap: 1rem; - align-items: center; - - .invokeai__select-label { - color: var(--text-color-secondary); - } - - .invokeai__select-picker { - border: 2px solid var(--border-color); - background-color: var(--background-color-secondary); - font-weight: bold; - font-size: 0.9rem; - height: 2rem; - border-radius: 0.2rem; - - &:focus { - outline: none; - border: 2px solid var(--input-border-color); - box-shadow: 0 0 10px 0 var(--input-box-shadow-color); - } - } - - .invokeai__select-option { - background-color: var(--background-color-secondary); - color: var(--text-color-secondary); - } -} diff --git a/invokeai/frontend/web/src/common/components/IAISelect.tsx b/invokeai/frontend/web/src/common/components/IAISelect.tsx index fa25b8f17f..caff77ed17 100644 --- a/invokeai/frontend/web/src/common/components/IAISelect.tsx +++ b/invokeai/frontend/web/src/common/components/IAISelect.tsx @@ -10,7 +10,6 @@ import { MouseEvent } from 'react'; type IAISelectProps = SelectProps & { label?: string; - styleClass?: string; tooltip?: string; tooltipProps?: Omit; validValues: @@ -21,21 +20,11 @@ type IAISelectProps = SelectProps & { * Customized Chakra FormControl + Select multi-part component. */ const IAISelect = (props: IAISelectProps) => { - const { - label, - isDisabled, - validValues, - tooltip, - tooltipProps, - size = 'sm', - fontSize = 'sm', - styleClass, - ...rest - } = props; + const { label, isDisabled, validValues, tooltip, tooltipProps, ...rest } = + props; return ( ) => { e.stopPropagation(); e.nativeEvent.stopImmediatePropagation(); @@ -43,36 +32,16 @@ const IAISelect = (props: IAISelectProps) => { e.nativeEvent.cancelBubble = true; }} > - {label && ( - - {label} - - )} + {label && {label}} - {validValues.map((opt) => { return typeof opt === 'string' || typeof opt === 'number' ? ( - ) : ( - ); diff --git a/invokeai/frontend/web/src/common/components/IAISimpleMenu.tsx b/invokeai/frontend/web/src/common/components/IAISimpleMenu.tsx index c9eb07d2d3..7e1d2654e3 100644 --- a/invokeai/frontend/web/src/common/components/IAISimpleMenu.tsx +++ b/invokeai/frontend/web/src/common/components/IAISimpleMenu.tsx @@ -4,14 +4,15 @@ import { MenuItem, MenuList, MenuProps, - MenuButtonProps, MenuListProps, MenuItemProps, + IconButton, + Button, + IconButtonProps, + ButtonProps, } from '@chakra-ui/react'; import { MouseEventHandler, ReactNode } from 'react'; import { MdArrowDropDown, MdArrowDropUp } from 'react-icons/md'; -import IAIButton from './IAIButton'; -import IAIIconButton from './IAIIconButton'; interface IAIMenuItem { item: ReactNode | string; @@ -22,9 +23,10 @@ interface IAIMenuProps { menuType?: 'icon' | 'regular'; buttonText?: string; iconTooltip?: string; + isLazy?: boolean; menuItems: IAIMenuItem[]; menuProps?: MenuProps; - menuButtonProps?: MenuButtonProps; + menuButtonProps?: IconButtonProps | ButtonProps; menuListProps?: MenuListProps; menuItemProps?: MenuItemProps; } @@ -34,6 +36,7 @@ export default function IAISimpleMenu(props: IAIMenuProps) { menuType = 'icon', iconTooltip, buttonText, + isLazy = true, menuItems, menuProps, menuButtonProps, @@ -48,13 +51,7 @@ export default function IAISimpleMenu(props: IAIMenuProps) { {menuItem.item} @@ -65,34 +62,20 @@ export default function IAISimpleMenu(props: IAIMenuProps) { }; return ( - + {({ isOpen }) => ( <> : } - padding={menuType === 'regular' ? '0 0.5rem' : 0} - backgroundColor="var(--btn-base-color)" - _hover={{ - backgroundColor: 'var(--btn-base-color-hover)', - }} - minWidth="1rem" - minHeight="1rem" - fontSize="1.5rem" + paddingX={0} + paddingY={menuType === 'regular' ? 2 : 0} {...menuButtonProps} > {menuType === 'regular' && buttonText} - + {renderMenuItems()} diff --git a/invokeai/frontend/web/src/common/components/IAISlider.scss b/invokeai/frontend/web/src/common/components/IAISlider.scss deleted file mode 100644 index 21d62d4b07..0000000000 --- a/invokeai/frontend/web/src/common/components/IAISlider.scss +++ /dev/null @@ -1,60 +0,0 @@ -.invokeai__slider-component { - padding-bottom: 0.5rem; - border-radius: 0.5rem; - - .invokeai__slider-component-label { - min-width: max-content; - margin: 0; - font-weight: bold; - color: var(--text-color-secondary); - } - - .invokeai__slider_track { - background-color: var(--tab-color); - } - - .invokeai__slider_track-filled { - background-color: var(--slider-color); - } - - .invokeai__slider-thumb { - width: 4px; - } - - .invokeai__slider-mark { - font-size: 0.75rem; - font-weight: bold; - color: var(--slider-mark-color); - margin-top: 0.3rem; - } - - .invokeai__slider-number-input { - border: none; - font-size: 0.9rem; - font-weight: bold; - height: 2rem; - background-color: var(--background-color-secondary); - border: 2px solid var(--border-color); - - &:focus { - outline: none; - box-shadow: none; - border: 2px solid var(--input-border-color); - box-shadow: 0 0 10px 0 var(--input-box-shadow-color); - } - - &:disabled { - opacity: 0.2; - } - } - - .invokeai__slider-number-stepper { - border: none; - } - - &[data-markers='true'] { - .invokeai__slider_container { - margin-top: -1rem; - } - } -} diff --git a/invokeai/frontend/web/src/common/components/IAISlider.tsx b/invokeai/frontend/web/src/common/components/IAISlider.tsx index 81e0943c4b..1acc64db23 100644 --- a/invokeai/frontend/web/src/common/components/IAISlider.tsx +++ b/invokeai/frontend/web/src/common/components/IAISlider.tsx @@ -37,11 +37,8 @@ export type IAIFullSliderProps = { step?: number; onChange: (v: number) => void; withSliderMarks?: boolean; - sliderMarkLeftOffset?: number; - sliderMarkRightOffset?: number; withInput?: boolean; isInteger?: boolean; - width?: string | number; inputWidth?: string | number; inputReadOnly?: boolean; withReset?: boolean; @@ -52,7 +49,6 @@ export type IAIFullSliderProps = { tooltipSuffix?: string; hideTooltip?: boolean; isCompact?: boolean; - styleClass?: string; sliderFormControlProps?: FormControlProps; sliderFormLabelProps?: FormLabelProps; sliderMarkProps?: Omit; @@ -74,14 +70,11 @@ export default function IAISlider(props: IAIFullSliderProps) { max = 100, step = 1, onChange, - width = '100%', tooltipSuffix = '', withSliderMarks = false, - sliderMarkLeftOffset = 0, - sliderMarkRightOffset = -1, withInput = false, isInteger = false, - inputWidth = '5.5rem', + inputWidth = 16, inputReadOnly = false, withReset = false, hideTooltip = false, @@ -90,7 +83,6 @@ export default function IAISlider(props: IAIFullSliderProps) { isResetDisabled, isSliderDisabled, isInputDisabled, - styleClass, sliderFormControlProps, sliderFormLabelProps, sliderMarkProps, @@ -142,19 +134,13 @@ export default function IAISlider(props: IAIFullSliderProps) { return ( - + {label} @@ -182,23 +164,23 @@ export default function IAISlider(props: IAIFullSliderProps) { onMouseLeave={() => setShowTooltip(false)} focusThumbOnChange={false} isDisabled={isSliderDisabled} - width={width} + // width={width} {...rest} > {withSliderMarks && ( <> {min} {max} @@ -206,23 +188,19 @@ export default function IAISlider(props: IAIFullSliderProps) { )} - - + + @@ -234,13 +212,10 @@ export default function IAISlider(props: IAIFullSliderProps) { value={localInputValue} onChange={handleInputChange} onBlur={handleInputBlur} - className="invokeai__slider-number-field" isDisabled={isInputDisabled} {...sliderNumberInputProps} > onChange(Number(localInputValue))} - className="invokeai__slider-number-stepper" /> onChange(Number(localInputValue))} - className="invokeai__slider-number-stepper" /> diff --git a/invokeai/frontend/web/src/common/components/IAISwitch.scss b/invokeai/frontend/web/src/common/components/IAISwitch.scss deleted file mode 100644 index 168b741520..0000000000 --- a/invokeai/frontend/web/src/common/components/IAISwitch.scss +++ /dev/null @@ -1,24 +0,0 @@ -.invokeai__switch-form-control { - .invokeai__switch-form-label { - color: var(--text-color-secondary); - } - - .invokeai__switch-root { - span { - background-color: var(--switch-bg-color); - span { - background-color: var(--white); - } - } - - &[data-checked] { - span { - background: var(--switch-bg-active-color); - - span { - background-color: var(--white); - } - } - } - } -} diff --git a/invokeai/frontend/web/src/common/components/IAISwitch.tsx b/invokeai/frontend/web/src/common/components/IAISwitch.tsx index 9d3b4f4415..5ef568f28a 100644 --- a/invokeai/frontend/web/src/common/components/IAISwitch.tsx +++ b/invokeai/frontend/web/src/common/components/IAISwitch.tsx @@ -10,7 +10,6 @@ import { interface Props extends SwitchProps { label?: string; width?: string | number; - styleClass?: string; formControlProps?: FormControlProps; formLabelProps?: FormLabelProps; } @@ -25,34 +24,22 @@ const IAISwitch = (props: Props) => { width = 'auto', formControlProps, formLabelProps, - styleClass, ...rest } = props; return ( - + {label} - + ); }; diff --git a/invokeai/frontend/web/src/common/components/ImageUploadOverlay.tsx b/invokeai/frontend/web/src/common/components/ImageUploadOverlay.tsx index 39e6578cc8..28d9d32a71 100644 --- a/invokeai/frontend/web/src/common/components/ImageUploadOverlay.tsx +++ b/invokeai/frontend/web/src/common/components/ImageUploadOverlay.tsx @@ -1,4 +1,4 @@ -import { Heading } from '@chakra-ui/react'; +import { Box, Flex, Heading } from '@chakra-ui/react'; import { useHotkeys } from 'react-hotkeys-hook'; type ImageUploadOverlayProps = { @@ -11,7 +11,7 @@ type ImageUploadOverlayProps = { const ImageUploadOverlay = (props: ImageUploadOverlayProps) => { const { isDragAccept, - isDragReject, + isDragReject: _isDragAccept, overlaySecondaryText, setIsHandlingUpload, } = props; @@ -21,19 +21,42 @@ const ImageUploadOverlay = (props: ImageUploadOverlayProps) => { }); return ( -
    - {isDragAccept && ( -
    + + + {isDragAccept ? ( Upload Image{overlaySecondaryText} -
    - )} - {isDragReject && ( -
    - Invalid Upload - Must be single JPEG or PNG image -
    - )} -
    + ) : ( + <> + Invalid Upload + Must be single JPEG or PNG image + + )} + + ); }; export default ImageUploadOverlay; diff --git a/invokeai/frontend/web/src/common/components/ImageUploader.scss b/invokeai/frontend/web/src/common/components/ImageUploader.scss deleted file mode 100644 index ee4b31ace7..0000000000 --- a/invokeai/frontend/web/src/common/components/ImageUploader.scss +++ /dev/null @@ -1,74 +0,0 @@ -.dropzone-container { - position: absolute; - top: 0; - left: 0; - width: 100vw; - height: 100vh; - z-index: 999; - backdrop-filter: blur(20px); - - .dropzone-overlay { - opacity: 0.5; - width: 100%; - height: 100%; - display: flex; - flex-direction: column; - row-gap: 1rem; - align-items: center; - justify-content: center; - background-color: var(--background-color); - - &.is-drag-accept { - box-shadow: inset 0 0 20rem 1rem var(--accent-color); - } - - &.is-drag-reject { - box-shadow: inset 0 0 20rem 1rem var(--status-bad-color); - } - - &.is-handling-upload { - box-shadow: inset 0 0 20rem 1rem var(--status-working-color); - } - } -} - -.image-uploader-button-outer { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - border-radius: 0.5rem; - color: var(--tab-list-text-inactive); - background-color: var(--background-color); - - &:hover { - background-color: var(--background-color-light); - } -} - -.image-upload-button-inner { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; -} - -.image-upload-button { - display: flex; - flex-direction: column; - row-gap: 2rem; - align-items: center; - justify-content: center; - text-align: center; - - svg { - width: 4rem; - height: 4rem; - } - h2 { - font-size: 1.2rem; - } -} diff --git a/invokeai/frontend/web/src/common/components/ImageUploader.tsx b/invokeai/frontend/web/src/common/components/ImageUploader.tsx index 40e31c3947..5397de6ea6 100644 --- a/invokeai/frontend/web/src/common/components/ImageUploader.tsx +++ b/invokeai/frontend/web/src/common/components/ImageUploader.tsx @@ -1,4 +1,4 @@ -import { useToast } from '@chakra-ui/react'; +import { Box, useToast } from '@chakra-ui/react'; import { ImageUploaderTriggerContext } from 'app/contexts/ImageUploaderTriggerContext'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import useImageUploader from 'common/hooks/useImageUploader'; @@ -139,7 +139,7 @@ const ImageUploader = (props: ImageUploaderProps) => { return ( -
    { // Bail out if user hits spacebar - do not open the uploader @@ -156,7 +156,7 @@ const ImageUploader = (props: ImageUploaderProps) => { setIsHandlingUpload={setIsHandlingUpload} /> )} -
    +
    ); }; diff --git a/invokeai/frontend/web/src/common/components/ImageUploaderButton.tsx b/invokeai/frontend/web/src/common/components/ImageUploaderButton.tsx index 1a989b8c8e..6179efe5e6 100644 --- a/invokeai/frontend/web/src/common/components/ImageUploaderButton.tsx +++ b/invokeai/frontend/web/src/common/components/ImageUploaderButton.tsx @@ -1,4 +1,4 @@ -import { Heading } from '@chakra-ui/react'; +import { Flex, Heading, Icon } from '@chakra-ui/react'; import { ImageUploaderTriggerContext } from 'app/contexts/ImageUploaderTriggerContext'; import { useContext } from 'react'; import { FaUpload } from 'react-icons/fa'; @@ -16,15 +16,38 @@ const ImageUploaderButton = (props: ImageUploaderButtonProps) => { }; return ( -
    -
    - - Click or Drag and Drop -
    -
    + + + Click or Drag and Drop + + ); }; diff --git a/invokeai/frontend/web/src/common/components/SubItemHook.tsx b/invokeai/frontend/web/src/common/components/SubItemHook.tsx deleted file mode 100644 index cca79a12ef..0000000000 --- a/invokeai/frontend/web/src/common/components/SubItemHook.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { Box } from '@chakra-ui/react'; - -interface SubItemHookProps { - active?: boolean; - width?: string | number; - height?: string | number; - side?: 'left' | 'right'; -} - -export default function SubItemHook(props: SubItemHookProps) { - const { - active = true, - width = '1rem', - height = '1.3rem', - side = 'right', - } = props; - return ( - <> - {side === 'right' && ( - - )} - {side === 'left' && ( - - )} - - ); -} diff --git a/invokeai/frontend/web/src/common/components/WorkInProgress/NodesWIP.tsx b/invokeai/frontend/web/src/common/components/WorkInProgress/NodesWIP.tsx index 65dc277ed7..c86aa767dd 100644 --- a/invokeai/frontend/web/src/common/components/WorkInProgress/NodesWIP.tsx +++ b/invokeai/frontend/web/src/common/components/WorkInProgress/NodesWIP.tsx @@ -1,11 +1,27 @@ +import { Flex, Heading, Text, VStack } from '@chakra-ui/react'; import { useTranslation } from 'react-i18next'; +import WorkInProgress from './WorkInProgress'; export default function NodesWIP() { const { t } = useTranslation(); return ( -
    -

    {t('common.nodes')}

    -

    {t('common.nodesDesc')}

    -
    + + + {t('common.nodes')} + + {t('common.nodesDesc')} + + + ); } diff --git a/invokeai/frontend/web/src/common/components/WorkInProgress/PostProcessingWIP.tsx b/invokeai/frontend/web/src/common/components/WorkInProgress/PostProcessingWIP.tsx index fbdfb4b8a5..c98fa5a82b 100644 --- a/invokeai/frontend/web/src/common/components/WorkInProgress/PostProcessingWIP.tsx +++ b/invokeai/frontend/web/src/common/components/WorkInProgress/PostProcessingWIP.tsx @@ -1,13 +1,29 @@ +import { Flex, Heading, Text, VStack } from '@chakra-ui/react'; import { useTranslation } from 'react-i18next'; +import WorkInProgress from './WorkInProgress'; export const PostProcessingWIP = () => { const { t } = useTranslation(); return ( -
    -

    {t('common.postProcessing')}

    -

    {t('common.postProcessDesc1')}

    -

    {t('common.postProcessDesc2')}

    -

    {t('common.postProcessDesc3')}

    -
    + + + {t('common.postProcessing')} + + {t('common.postProcessDesc1')} + {t('common.postProcessDesc2')} + {t('common.postProcessDesc3')} + + + ); }; diff --git a/invokeai/frontend/web/src/common/components/WorkInProgress/Training.tsx b/invokeai/frontend/web/src/common/components/WorkInProgress/Training.tsx index ff564234a5..23c3209932 100644 --- a/invokeai/frontend/web/src/common/components/WorkInProgress/Training.tsx +++ b/invokeai/frontend/web/src/common/components/WorkInProgress/Training.tsx @@ -1,16 +1,28 @@ +import { Flex, Heading, Text, VStack } from '@chakra-ui/react'; import { useTranslation } from 'react-i18next'; +import WorkInProgress from './WorkInProgress'; export default function TrainingWIP() { const { t } = useTranslation(); return ( -
    -

    {t('common.training')}

    -

    - {t('common.trainingDesc1')} -
    -
    - {t('common.trainingDesc2')} -

    -
    + + + {t('common.training')} + + {t('common.trainingDesc1')} + {t('common.trainingDesc2')} + + + ); } diff --git a/invokeai/frontend/web/src/common/components/WorkInProgress/WorkInProgress.scss b/invokeai/frontend/web/src/common/components/WorkInProgress/WorkInProgress.scss deleted file mode 100644 index 2a17c7bd0a..0000000000 --- a/invokeai/frontend/web/src/common/components/WorkInProgress/WorkInProgress.scss +++ /dev/null @@ -1,24 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.work-in-progress { - display: grid; - width: 100%; - height: $app-content-height; - grid-auto-rows: max-content; - background-color: var(--background-color-secondary); - border-radius: 0.4rem; - place-content: center; - place-items: center; - row-gap: 1rem; - - h1 { - font-size: 2rem; - font-weight: bold; - } - - p { - text-align: center; - max-width: 50rem; - color: var(--subtext-color-bright); - } -} diff --git a/invokeai/frontend/web/src/common/components/WorkInProgress/WorkInProgress.tsx b/invokeai/frontend/web/src/common/components/WorkInProgress/WorkInProgress.tsx new file mode 100644 index 0000000000..deb9110d56 --- /dev/null +++ b/invokeai/frontend/web/src/common/components/WorkInProgress/WorkInProgress.tsx @@ -0,0 +1,24 @@ +import { Flex } from '@chakra-ui/react'; +import { ReactNode } from 'react'; + +type WorkInProgressProps = { + children: ReactNode; +}; + +const WorkInProgress = (props: WorkInProgressProps) => { + const { children } = props; + + return ( + + {children} + + ); +}; + +export default WorkInProgress; diff --git a/invokeai/frontend/web/src/common/components/radix-ui/IAISlider.scss b/invokeai/frontend/web/src/common/components/radix-ui/IAISlider.scss deleted file mode 100644 index 4a1418392e..0000000000 --- a/invokeai/frontend/web/src/common/components/radix-ui/IAISlider.scss +++ /dev/null @@ -1,62 +0,0 @@ -.invokeai__slider-root { - position: relative; - display: flex; - align-items: center; - user-select: none; - touch-action: none; - width: 200px; - - &[data-orientation='horizontal'] { - height: 20px; - } - - &[data-orientation='vertical'] { - width: 20px; - height: 200px; - } - - .invokeai__slider-track { - background-color: black; - position: relative; - flex-grow: 1; - border-radius: 9999px; - - &[data-orientation='horizontal'] { - height: 0.25rem; - } - - &[data-orientation='vertical'] { - width: 0.25rem; - } - - .invokeai__slider-range { - position: absolute; - background-color: white; - border-radius: 9999px; - height: 100%; - } - } - - .invokeai__slider-thumb { - display: flex; - align-items: center; - - .invokeai__slider-thumb-div { - all: unset; - display: block; - width: 1rem; - height: 1rem; - background-color: white; - box-shadow: 0 2px 10px rgba(0, 2, 10, 0.3); - border-radius: 100%; - - &:hover { - background-color: violet; - } - - &:focus { - box-shadow: 0 0 0 5px rgba(0, 2, 10, 0.3); - } - } - } -} diff --git a/invokeai/frontend/web/src/common/components/radix-ui/IAISlider.tsx b/invokeai/frontend/web/src/common/components/radix-ui/IAISlider.tsx deleted file mode 100644 index 52faeb18d3..0000000000 --- a/invokeai/frontend/web/src/common/components/radix-ui/IAISlider.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { Tooltip } from '@chakra-ui/react'; -import * as Slider from '@radix-ui/react-slider'; - -type IAISliderProps = Slider.SliderProps & { - value: number[]; - tooltipLabel?: string; - orientation?: 'horizontal' | 'vertial'; - trackProps?: Slider.SliderTrackProps; - rangeProps?: Slider.SliderRangeProps; - thumbProps?: Slider.SliderThumbProps; -}; - -const _IAISlider = (props: IAISliderProps) => { - const { - value, - tooltipLabel, - orientation, - trackProps, - rangeProps, - thumbProps, - ...rest - } = props; - return ( - - - - - - -
    - {/*}> - {value && value[0]} - */} - - - - ); -}; - -export default _IAISlider; diff --git a/invokeai/frontend/web/src/common/components/radix-ui/IAITooltip.scss b/invokeai/frontend/web/src/common/components/radix-ui/IAITooltip.scss deleted file mode 100644 index 7d0ca8455c..0000000000 --- a/invokeai/frontend/web/src/common/components/radix-ui/IAITooltip.scss +++ /dev/null @@ -1,8 +0,0 @@ -.invokeai__tooltip-content { - padding: 0.5rem; - background-color: grey; - border-radius: 0.25rem; - .invokeai__tooltip-arrow { - background-color: grey; - } -} diff --git a/invokeai/frontend/web/src/common/components/radix-ui/IAITooltip.tsx b/invokeai/frontend/web/src/common/components/radix-ui/IAITooltip.tsx deleted file mode 100644 index 539751a8ca..0000000000 --- a/invokeai/frontend/web/src/common/components/radix-ui/IAITooltip.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import * as Tooltip from '@radix-ui/react-tooltip'; -import { ReactNode } from 'react'; - -type IAITooltipProps = Tooltip.TooltipProps & { - trigger: ReactNode; - children: ReactNode; - triggerProps?: Tooltip.TooltipTriggerProps; - contentProps?: Tooltip.TooltipContentProps; - arrowProps?: Tooltip.TooltipArrowProps; -}; - -const IAITooltip = (props: IAITooltipProps) => { - const { trigger, children, triggerProps, contentProps, arrowProps, ...rest } = - props; - - return ( - - - {trigger} - - { - e.preventDefault(); - }} - className="invokeai__tooltip-content" - > - - {children} - - - - - ); -}; - -export default IAITooltip; diff --git a/invokeai/frontend/web/src/common/icons/ImageToImageIcon.tsx b/invokeai/frontend/web/src/common/icons/ImageToImageIcon.tsx index 711d23366a..4898eee899 100644 --- a/invokeai/frontend/web/src/common/icons/ImageToImageIcon.tsx +++ b/invokeai/frontend/web/src/common/icons/ImageToImageIcon.tsx @@ -13,5 +13,8 @@ const ImageToImageIcon = createIcon({ /> ), + defaultProps: { + boxSize: '24px', + }, }); export default ImageToImageIcon; diff --git a/invokeai/frontend/web/src/common/icons/NodesIcon.tsx b/invokeai/frontend/web/src/common/icons/NodesIcon.tsx index 273deaa8cd..539c33f998 100644 --- a/invokeai/frontend/web/src/common/icons/NodesIcon.tsx +++ b/invokeai/frontend/web/src/common/icons/NodesIcon.tsx @@ -11,6 +11,9 @@ const NodesIcon = createIcon({ d="M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 0,515.578 0,770.787L0,2766.03C0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM3427.88,770.787L3427.88,2766.03C3427.88,2957.53 3272.4,3113.01 3080.9,3113.01C3080.9,3113.01 462.407,3113.01 462.407,3113.01C270.906,3113.01 115.431,2957.53 115.431,2766.03L115.431,770.787C115.431,579.286 270.906,423.812 462.407,423.812L3080.9,423.812C3272.4,423.812 3427.88,579.286 3427.88,770.787ZM1214.23,1130.69L1321.47,1130.69C1324.01,1130.69 1326.54,1130.53 1329.05,1130.2C1329.05,1130.2 1367.3,1125.33 1397.94,1149.8C1421.63,1168.72 1437.33,1204.3 1437.33,1265.48L1437.33,2078.74L1220.99,2078.74C1146.83,2078.74 1086.61,2138.95 1086.61,2213.12L1086.61,2762.46C1086.61,2836.63 1146.83,2896.84 1220.99,2896.84L1770.34,2896.84C1844.5,2896.84 1904.71,2836.63 1904.71,2762.46L1904.71,2213.12C1904.71,2138.95 1844.5,2078.74 1770.34,2078.74L1554,2078.74L1554,1604.84C1625.84,1658.19 1703.39,1658.1 1703.39,1658.1C1703.54,1658.1 1703.69,1658.11 1703.84,1658.11L2362.2,1658.11L2362.2,1874.44C2362.2,1948.61 2422.42,2008.82 2496.58,2008.82L3045.93,2008.82C3120.09,2008.82 3180.3,1948.61 3180.3,1874.44L3180.3,1325.1C3180.3,1250.93 3120.09,1190.72 3045.93,1190.72L2496.58,1190.72C2422.42,1190.72 2362.2,1250.93 2362.2,1325.1L2362.2,1558.97L2362.2,1541.44L1704.23,1541.44C1702.2,1541.37 1650.96,1539.37 1609.51,1499.26C1577.72,1468.49 1554,1416.47 1554,1331.69L1554,1265.48C1554,1153.86 1513.98,1093.17 1470.76,1058.64C1411.24,1011.1 1338.98,1012.58 1319.15,1014.03L1214.23,1014.03L1214.23,796.992C1214.23,722.828 1154.02,662.617 1079.85,662.617L530.507,662.617C456.343,662.617 396.131,722.828 396.131,796.992L396.131,1346.34C396.131,1420.5 456.343,1480.71 530.507,1480.71L1079.85,1480.71C1154.02,1480.71 1214.23,1420.5 1214.23,1346.34L1214.23,1130.69Z" /> ), + defaultProps: { + boxSize: '24px', + }, }); export default NodesIcon; diff --git a/invokeai/frontend/web/src/common/icons/PostprocessingIcon.tsx b/invokeai/frontend/web/src/common/icons/PostprocessingIcon.tsx index 29f474b079..b4000568b2 100644 --- a/invokeai/frontend/web/src/common/icons/PostprocessingIcon.tsx +++ b/invokeai/frontend/web/src/common/icons/PostprocessingIcon.tsx @@ -11,6 +11,9 @@ const PostprocessingIcon = createIcon({ d="M709.477,1596.53L992.591,1275.66L2239.09,2646.81L2891.95,1888.03L3427.88,2460.51L3427.88,994.78C3427.88,954.66 3421.05,916.122 3408.5,880.254L3521.9,855.419C3535.8,899.386 3543.31,946.214 3543.31,994.78L3543.31,2990.02C3543.31,3245.23 3336.11,3452.43 3080.9,3452.43C3080.9,3452.43 462.407,3452.43 462.407,3452.43C207.197,3452.43 -0,3245.23 -0,2990.02L-0,994.78C-0,739.571 207.197,532.373 462.407,532.373L505.419,532.373L504.644,532.546L807.104,600.085C820.223,601.729 832.422,607.722 841.77,617.116C850.131,625.517 855.784,636.21 858.055,647.804L462.407,647.804C270.906,647.804 115.431,803.279 115.431,994.78L115.431,2075.73L-0,2101.5L115.431,2127.28L115.431,2269.78L220.47,2150.73L482.345,2209.21C503.267,2211.83 522.722,2221.39 537.63,2236.37C552.538,2251.35 562.049,2270.9 564.657,2291.93L671.84,2776.17L779.022,2291.93C781.631,2270.9 791.141,2251.35 806.05,2236.37C820.958,2221.39 840.413,2211.83 861.334,2209.21L1353.15,2101.5L861.334,1993.8C840.413,1991.18 820.958,1981.62 806.05,1966.64C791.141,1951.66 781.631,1932.11 779.022,1911.08L709.477,1596.53ZM671.84,1573.09L725.556,2006.07C726.863,2016.61 731.63,2026.4 739.101,2033.91C746.573,2041.42 756.323,2046.21 766.808,2047.53L1197.68,2101.5L766.808,2155.48C756.323,2156.8 746.573,2161.59 739.101,2169.09C731.63,2176.6 726.863,2186.4 725.556,2196.94L671.84,2629.92L618.124,2196.94C616.817,2186.4 612.05,2176.6 604.579,2169.09C597.107,2161.59 587.357,2156.8 576.872,2155.48L146.001,2101.5L576.872,2047.53C587.357,2046.21 597.107,2041.42 604.579,2033.91C612.05,2026.4 616.817,2016.61 618.124,2006.07L671.84,1573.09ZM609.035,1710.36L564.657,1911.08C562.049,1932.11 552.538,1951.66 537.63,1966.64C522.722,1981.62 503.267,1991.18 482.345,1993.8L328.665,2028.11L609.035,1710.36ZM2297.12,938.615L2451.12,973.003C2480.59,976.695 2507.99,990.158 2528.99,1011.26C2549.99,1032.37 2563.39,1059.9 2567.07,1089.52L2672.73,1566.9C2634.5,1580.11 2593.44,1587.29 2550.72,1587.29C2344.33,1587.29 2176.77,1419.73 2176.77,1213.34C2176.77,1104.78 2223.13,1006.96 2297.12,938.615ZM2718.05,76.925L2793.72,686.847C2795.56,701.69 2802.27,715.491 2812.8,726.068C2823.32,736.644 2837.06,743.391 2851.83,745.242L3458.78,821.28L2851.83,897.318C2837.06,899.168 2823.32,905.916 2812.8,916.492C2802.27,927.068 2795.56,940.87 2793.72,955.712L2718.05,1565.63L2642.38,955.712C2640.54,940.87 2633.83,927.068 2623.3,916.492C2612.78,905.916 2599.04,899.168 2584.27,897.318L1977.32,821.28L2584.27,745.242C2599.04,743.391 2612.78,736.644 2623.3,726.068C2633.83,715.491 2640.54,701.69 2642.38,686.847L2718.05,76.925ZM2883.68,1043.06C2909.88,1094.13 2924.67,1152.02 2924.67,1213.34C2924.67,1335.4 2866.06,1443.88 2775.49,1512.14L2869.03,1089.52C2871.07,1073.15 2876.07,1057.42 2883.68,1043.06ZM925.928,201.2L959.611,472.704C960.431,479.311 963.42,485.455 968.105,490.163C972.79,494.871 978.904,497.875 985.479,498.698L1255.66,532.546L985.479,566.395C978.904,567.218 972.79,570.222 968.105,574.93C963.42,579.638 960.431,585.781 959.611,592.388L925.928,863.893L892.245,592.388C891.425,585.781 888.436,579.638 883.751,574.93C879.066,570.222 872.952,567.218 866.378,566.395L596.195,532.546L866.378,498.698C872.952,497.875 879.066,494.871 883.751,490.163C888.436,485.455 891.425,479.311 892.245,472.704L925.928,201.2ZM2864.47,532.373L3080.9,532.373C3258.7,532.373 3413.2,632.945 3490.58,780.281L3319.31,742.773C3257.14,683.925 3173.2,647.804 3080.9,647.804L2927.07,647.804C2919.95,642.994 2913.25,637.473 2907.11,631.298C2886.11,610.194 2872.71,582.655 2869.03,553.04L2864.47,532.373ZM1352.36,532.373L2571.64,532.373L2567.07,553.04C2563.39,582.655 2549.99,610.194 2528.99,631.298C2522.85,637.473 2516.16,642.994 2509.03,647.804L993.801,647.804C996.072,636.21 1001.73,625.517 1010.09,617.116C1019.43,607.722 1031.63,601.729 1044.75,600.085L1353.15,532.546L1352.36,532.373Z" /> ), + defaultProps: { + boxSize: '24px', + }, }); export default PostprocessingIcon; diff --git a/invokeai/frontend/web/src/common/icons/TextToImageIcon.tsx b/invokeai/frontend/web/src/common/icons/TextToImageIcon.tsx index f6148ea49c..325ea54dda 100644 --- a/invokeai/frontend/web/src/common/icons/TextToImageIcon.tsx +++ b/invokeai/frontend/web/src/common/icons/TextToImageIcon.tsx @@ -13,6 +13,9 @@ const TextToImageIcon = createIcon({ ), + defaultProps: { + boxSize: '24px', + }, }); export default TextToImageIcon; diff --git a/invokeai/frontend/web/src/common/icons/TrainingIcon.tsx b/invokeai/frontend/web/src/common/icons/TrainingIcon.tsx index a6bf178aab..f925013138 100644 --- a/invokeai/frontend/web/src/common/icons/TrainingIcon.tsx +++ b/invokeai/frontend/web/src/common/icons/TrainingIcon.tsx @@ -11,6 +11,9 @@ const TrainingIcon = createIcon({ d="M0,768.593L0,2774.71C0,2930.6 78.519,3068.3 198.135,3150.37C273.059,3202.68 364.177,3233.38 462.407,3233.38C462.407,3233.38 3080.9,3233.38 3080.9,3233.38C3179.13,3233.38 3270.25,3202.68 3345.17,3150.37C3464.79,3068.3 3543.31,2930.6 3543.31,2774.71L3543.31,768.593C3543.31,517.323 3339.31,313.324 3088.04,313.324L455.269,313.324C203.999,313.324 0,517.323 0,768.593ZM3427.88,775.73L3427.88,2770.97C3427.88,2962.47 3272.4,3117.95 3080.9,3117.95L462.407,3117.95C270.906,3117.95 115.431,2962.47 115.431,2770.97C115.431,2770.97 115.431,775.73 115.431,775.73C115.431,584.229 270.906,428.755 462.407,428.755C462.407,428.755 3080.9,428.755 3080.9,428.755C3272.4,428.755 3427.88,584.229 3427.88,775.73ZM796.24,1322.76L796.24,1250.45C796.24,1199.03 836.16,1157.27 885.331,1157.27C885.331,1157.27 946.847,1157.27 946.847,1157.27C996.017,1157.27 1035.94,1199.03 1035.94,1250.45L1035.94,1644.81L2507.37,1644.81L2507.37,1250.45C2507.37,1199.03 2547.29,1157.27 2596.46,1157.27C2596.46,1157.27 2657.98,1157.27 2657.98,1157.27C2707.15,1157.27 2747.07,1199.03 2747.07,1250.45L2747.07,1322.76C2756.66,1319.22 2767.02,1317.29 2777.83,1317.29C2777.83,1317.29 2839.34,1317.29 2839.34,1317.29C2888.51,1317.29 2928.43,1357.21 2928.43,1406.38L2928.43,1527.32C2933.51,1526.26 2938.77,1525.71 2944.16,1525.71L2995.3,1525.71C3036.18,1525.71 3069.37,1557.59 3069.37,1596.86C3069.37,1596.86 3069.37,1946.44 3069.37,1946.44C3069.37,1985.72 3036.18,2017.6 2995.3,2017.6C2995.3,2017.6 2944.16,2017.6 2944.16,2017.6C2938.77,2017.6 2933.51,2017.04 2928.43,2015.99L2928.43,2136.92C2928.43,2186.09 2888.51,2226.01 2839.34,2226.01L2777.83,2226.01C2767.02,2226.01 2756.66,2224.08 2747.07,2220.55L2747.07,2292.85C2747.07,2344.28 2707.15,2386.03 2657.98,2386.03C2657.98,2386.03 2596.46,2386.03 2596.46,2386.03C2547.29,2386.03 2507.37,2344.28 2507.37,2292.85L2507.37,1898.5L1035.94,1898.5L1035.94,2292.85C1035.94,2344.28 996.017,2386.03 946.847,2386.03C946.847,2386.03 885.331,2386.03 885.331,2386.03C836.16,2386.03 796.24,2344.28 796.24,2292.85L796.24,2220.55C786.651,2224.08 776.29,2226.01 765.482,2226.01L703.967,2226.01C654.796,2226.01 614.876,2186.09 614.876,2136.92L614.876,2015.99C609.801,2017.04 604.539,2017.6 599.144,2017.6C599.144,2017.6 548.003,2017.6 548.003,2017.6C507.125,2017.6 473.937,1985.72 473.937,1946.44C473.937,1946.44 473.937,1596.86 473.937,1596.86C473.937,1557.59 507.125,1525.71 548.003,1525.71L599.144,1525.71C604.539,1525.71 609.801,1526.26 614.876,1527.32L614.876,1406.38C614.876,1357.21 654.796,1317.29 703.967,1317.29C703.967,1317.29 765.482,1317.29 765.482,1317.29C776.29,1317.29 786.651,1319.22 796.24,1322.76ZM977.604,1250.45C977.604,1232.7 963.822,1218.29 946.847,1218.29L885.331,1218.29C868.355,1218.29 854.573,1232.7 854.573,1250.45L854.573,2292.85C854.573,2310.61 868.355,2325.02 885.331,2325.02L946.847,2325.02C963.822,2325.02 977.604,2310.61 977.604,2292.85L977.604,1250.45ZM2565.7,1250.45C2565.7,1232.7 2579.49,1218.29 2596.46,1218.29L2657.98,1218.29C2674.95,1218.29 2688.73,1232.7 2688.73,1250.45L2688.73,2292.85C2688.73,2310.61 2674.95,2325.02 2657.98,2325.02L2596.46,2325.02C2579.49,2325.02 2565.7,2310.61 2565.7,2292.85L2565.7,1250.45ZM673.209,1406.38L673.209,2136.92C673.209,2153.9 686.991,2167.68 703.967,2167.68L765.482,2167.68C782.458,2167.68 796.24,2153.9 796.24,2136.92L796.24,1406.38C796.24,1389.41 782.458,1375.63 765.482,1375.63L703.967,1375.63C686.991,1375.63 673.209,1389.41 673.209,1406.38ZM2870.1,1406.38L2870.1,2136.92C2870.1,2153.9 2856.32,2167.68 2839.34,2167.68L2777.83,2167.68C2760.85,2167.68 2747.07,2153.9 2747.07,2136.92L2747.07,1406.38C2747.07,1389.41 2760.85,1375.63 2777.83,1375.63L2839.34,1375.63C2856.32,1375.63 2870.1,1389.41 2870.1,1406.38ZM614.876,1577.5C610.535,1574.24 605.074,1572.3 599.144,1572.3L548.003,1572.3C533.89,1572.3 522.433,1583.3 522.433,1596.86L522.433,1946.44C522.433,1960 533.89,1971.01 548.003,1971.01L599.144,1971.01C605.074,1971.01 610.535,1969.07 614.876,1965.81L614.876,1577.5ZM2928.43,1965.81L2928.43,1577.5C2932.77,1574.24 2938.23,1572.3 2944.16,1572.3L2995.3,1572.3C3009.42,1572.3 3020.87,1583.3 3020.87,1596.86L3020.87,1946.44C3020.87,1960 3009.42,1971.01 2995.3,1971.01L2944.16,1971.01C2938.23,1971.01 2932.77,1969.07 2928.43,1965.81ZM2507.37,1703.14L1035.94,1703.14L1035.94,1840.16L2507.37,1840.16L2507.37,1898.38L2507.37,1659.46L2507.37,1703.14Z" /> ), + defaultProps: { + boxSize: '24px', + }, }); export default TrainingIcon; diff --git a/invokeai/frontend/web/src/common/icons/UnifiedCanvasIcon.tsx b/invokeai/frontend/web/src/common/icons/UnifiedCanvasIcon.tsx index daa8ecf8a9..3cedec04a4 100644 --- a/invokeai/frontend/web/src/common/icons/UnifiedCanvasIcon.tsx +++ b/invokeai/frontend/web/src/common/icons/UnifiedCanvasIcon.tsx @@ -11,6 +11,9 @@ const UnifiedCanvasIcon = createIcon({ d="M3543.31,770.787C3543.31,515.578 3336.11,308.38 3080.9,308.38L462.407,308.38C207.197,308.38 -0,515.578 -0,770.787L-0,2766.03C-0,3021.24 207.197,3228.44 462.407,3228.44L3080.9,3228.44C3336.11,3228.44 3543.31,3021.24 3543.31,2766.03C3543.31,2766.03 3543.31,770.787 3543.31,770.787ZM922.933,3113.01L462.407,3113.01C437.741,3113.01 413.674,3110.43 390.453,3105.52L390.453,2899.11L922.933,2899.11L922.933,3113.01ZM947.933,2899.11L947.933,3113.01L1480.41,3113.01L1480.41,2899.11L947.933,2899.11ZM1505.41,2899.11L1505.41,3113.01L2037.89,3113.01L2037.89,2899.11L1505.41,2899.11ZM2062.89,2899.11L2062.89,3113.01L2595.37,3113.01L2595.37,2899.11L2062.89,2899.11ZM3152.85,3105.52C3129.63,3110.43 3105.57,3113.01 3080.9,3113.01L2620.37,3113.01L2620.37,2899.11L3152.85,2899.11L3152.85,3105.52ZM365.453,3099.26L365.408,3099.24C354.521,3096.07 343.79,3092.37 333.266,3088.14C315.377,3080.95 298.094,3072.26 281.651,3062.2C263.114,3050.85 245.648,3037.77 229.544,3023.17C213.34,3008.49 198.518,2992.28 185.34,2974.83C174.102,2959.94 164.06,2944.16 155.353,2927.66C150.517,2918.5 146.102,2909.13 142.102,2899.57L141.91,2899.11L365.453,2899.11L365.453,3099.26ZM3401.4,2899.11C3361.33,2995.39 3279.12,3069.8 3177.85,3099.26L3177.85,2899.11L3401.4,2899.11ZM132.624,2874.11C121.465,2840.08 115.431,2803.76 115.431,2766.03L115.431,2341.63L365.453,2341.63L365.453,2874.11L132.624,2874.11ZM922.933,918.103L922.933,669.193L390.453,669.193L390.453,1201.67L731.014,1201.67L731.014,1226.67L390.453,1226.67L390.453,1759.15L731.014,1759.15L731.014,1784.15L390.453,1784.15L390.453,2316.63L731.014,2316.63L731.014,2341.63L390.453,2341.63L390.453,2874.11L922.933,2874.11L922.933,2625.2C931.122,2627.1 939.463,2628.6 947.933,2629.66L947.933,2874.11L1480.41,2874.11L1480.41,2631.62L1505.41,2631.62L1505.41,2874.11L2037.89,2874.11L2037.89,2631.62L2062.89,2631.62L2062.89,2874.11L2595.37,2874.11L2595.37,2629.66C2603.85,2628.6 2612.18,2627.1 2620.37,2625.2L2620.37,2874.11L3152.85,2874.11L3152.85,2341.63L2812.29,2341.63L2812.29,2316.63L3152.85,2316.63L3152.85,1784.15L2812.29,1784.15L2812.29,1759.15L3152.85,1759.15L3152.85,1226.67L2812.29,1226.67L2812.29,1201.67L3152.85,1201.67L3152.85,669.193L2620.37,669.193L2620.37,918.103C2612.18,916.203 2603.84,914.708 2595.37,913.642L2595.37,669.193L2062.89,669.193L2062.89,911.688L2037.89,911.688L2037.89,669.193L1505.41,669.193L1505.41,911.688L1480.41,911.688L1480.41,669.193L947.933,669.193L947.933,913.642C939.462,914.708 931.123,916.203 922.933,918.103ZM3427.88,2341.63L3427.88,2766.03C3427.88,2803.76 3421.84,2840.08 3410.68,2874.11L3177.85,2874.11L3177.85,2341.63L3427.88,2341.63ZM2494.01,2603.04L2524.53,2603.04C2541.26,2603.04 2557.62,2601.44 2573.47,2598.39L2598.02,2593.66L2588.56,2544.56L2564.01,2549.29C2551.23,2551.75 2538.03,2553.04 2524.53,2553.04L2494.01,2553.04L2494.01,2603.04ZM1294.01,2603.04L1394.01,2603.04L1394.01,2553.04L1294.01,2553.04L1294.01,2603.04ZM1894.01,2603.04L1994.01,2603.04L1994.01,2553.04L1894.01,2553.04L1894.01,2603.04ZM2194.01,2603.04L2294.01,2603.04L2294.01,2553.04L2194.01,2553.04L2194.01,2603.04ZM1144.01,2603.04L1244.01,2603.04L1244.01,2553.04L1144.01,2553.04L1144.01,2603.04ZM1444.01,2603.04L1544.01,2603.04L1544.01,2553.04L1444.01,2553.04L1444.01,2603.04ZM1594.01,2603.04L1694.01,2603.04L1694.01,2553.04L1594.01,2553.04L1594.01,2603.04ZM2344.01,2603.04L2444.01,2603.04L2444.01,2553.04L2344.01,2553.04L2344.01,2603.04ZM2044.01,2603.04L2144.01,2603.04L2144.01,2553.04L2044.01,2553.04L2044.01,2603.04ZM994.01,2603.04L1094.01,2603.04L1094.01,2553.04L994.01,2553.04L994.01,2603.04ZM1744.01,2603.04L1844.01,2603.04L1844.01,2553.04L1744.01,2553.04L1744.01,2603.04ZM864.145,2551.46C878.835,2562.5 894.741,2572 911.624,2579.74L934.352,2590.15L955.18,2544.7L932.452,2534.28C918.844,2528.05 906.024,2520.39 894.185,2511.49L874.199,2496.47L844.16,2536.44L864.145,2551.46ZM2674.44,2554.92C2689.46,2544.16 2703.28,2531.82 2715.65,2518.14L2732.42,2499.61L2695.35,2466.06L2678.58,2484.6C2668.59,2495.63 2657.44,2505.59 2645.32,2514.28L2625,2528.84L2654.12,2569.48L2674.44,2554.92ZM865.632,1911.31L1339.59,1374.15L2030.89,2134.59L2392.97,1713.77L2677.68,2017.9L2677.68,2324.93C2677.68,2424.23 2597.06,2504.85 2497.76,2504.85C2497.76,2504.85 1045.55,2504.85 1045.55,2504.85C946.251,2504.85 865.632,2424.23 865.632,2324.93L865.632,1911.31ZM771.251,2417.22C776.455,2435.14 783.552,2452.26 792.313,2468.35L804.27,2490.3L848.18,2466.39L836.223,2444.43C829.171,2431.49 823.457,2417.7 819.268,2403.28L812.297,2379.27L764.28,2393.21L771.251,2417.22ZM2770.36,2422.83C2775.83,2405.47 2779.52,2387.33 2781.2,2368.61L2783.43,2343.71L2733.64,2339.24L2731.4,2364.14C2730.05,2379.21 2727.08,2393.82 2722.67,2407.79L2715.15,2431.63L2762.84,2446.67L2770.36,2422.83ZM761.068,2236.12L761.068,2336.12L811.068,2336.12L811.068,2236.12L761.068,2236.12ZM3177.85,1784.15L3177.85,2316.63L3427.88,2316.63L3427.88,1784.15L3177.85,1784.15ZM115.431,1784.15L115.431,2316.63L365.453,2316.63L365.453,1784.15L115.431,1784.15ZM2782.24,2291.41L2782.24,2191.41L2732.24,2191.41L2732.24,2291.41L2782.24,2291.41ZM761.068,2086.12L761.068,2186.12L811.068,2186.12L811.068,2086.12L761.068,2086.12ZM2782.24,2141.41L2782.24,2041.4L2732.24,2041.4L2732.24,2141.41L2782.24,2141.41ZM761.068,1936.12L761.068,2036.12L811.068,2036.12L811.068,1936.12L761.068,1936.12ZM2782.24,1991.4L2782.24,1891.4L2732.24,1891.4L2732.24,1991.4L2782.24,1991.4ZM761.068,1786.12L761.068,1886.12L811.068,1886.12L811.068,1786.12L761.068,1786.12ZM2782.24,1841.4L2782.24,1741.41L2732.24,1741.41L2732.24,1841.4L2782.24,1841.4ZM3177.85,1226.67L3177.85,1759.15L3427.88,1759.15L3427.88,1226.67L3177.85,1226.67ZM115.431,1226.67L115.431,1759.15L365.453,1759.15L365.453,1226.67L115.431,1226.67ZM761.068,1636.12L761.068,1736.12L811.068,1736.12L811.068,1636.12L761.068,1636.12ZM2782.24,1691.41L2782.24,1591.41L2732.24,1591.41L2732.24,1691.41L2782.24,1691.41ZM761.068,1486.12L761.068,1586.12L811.068,1586.12L811.068,1486.12L761.068,1486.12ZM2203.72,1132.2C2318.18,1132.2 2411.11,1225.13 2411.11,1339.59C2411.11,1454.05 2318.18,1546.98 2203.72,1546.98C2089.26,1546.98 1996.33,1454.05 1996.33,1339.59C1996.33,1225.13 2089.26,1132.2 2203.72,1132.2ZM2782.24,1541.41L2782.24,1441.41L2732.24,1441.41L2732.24,1541.41L2782.24,1541.41ZM761.068,1336.12L761.068,1436.12L811.068,1436.12L811.068,1336.12L761.068,1336.12ZM2782.24,1391.41L2782.24,1291.41L2732.24,1291.41L2732.24,1391.41L2782.24,1391.41ZM761.068,1186.12L761.068,1286.12L811.068,1286.12L811.068,1186.12L761.068,1186.12ZM2732.24,1197.98L2732.24,1241.41L2782.24,1241.41L2782.24,1172.98L2781.03,1172.98C2780.06,1162.82 2778.49,1152.83 2776.36,1143.04L2771.04,1118.62L2722.18,1129.24L2727.5,1153.67C2730.61,1167.95 2732.24,1182.78 2732.24,1197.98ZM3412.74,669.193L3412.89,669.694C3414.66,675.5 3416.28,681.348 3417.73,687.238C3420.46,698.265 3422.65,709.427 3424.28,720.67C3425.85,731.554 3426.91,742.513 3427.45,753.497C3427.74,759.256 3427.87,765.021 3427.88,770.787L3427.88,1201.67L3177.85,1201.67L3177.85,669.193L3412.74,669.193ZM115.431,1201.67L115.431,770.787C115.436,765.021 115.572,759.256 115.855,753.497C116.395,742.513 117.453,731.554 119.031,720.67C120.66,709.427 122.844,698.265 125.574,687.238C127.032,681.348 128.65,675.5 130.414,669.694L130.567,669.193L365.453,669.193L365.453,1201.67L115.431,1201.67ZM804.386,1055C794.186,1070.26 785.572,1086.67 778.777,1103.99L769.647,1127.26L816.194,1145.52L825.324,1122.25C830.797,1108.3 837.738,1095.08 845.955,1082.79L859.848,1062L818.279,1034.21L804.386,1055ZM2730.5,1043.14C2719.39,1028.39 2706.73,1014.86 2692.77,1002.81L2673.84,986.48L2641.17,1024.34L2660.1,1040.67C2671.37,1050.39 2681.59,1061.31 2690.56,1073.22L2705.6,1093.19L2745.54,1063.11L2730.5,1043.14ZM933.266,954.821C915.698,961.006 898.998,969.041 883.402,978.694L862.144,991.851L888.457,1034.37L909.715,1021.21C922.275,1013.44 935.723,1006.96 949.871,1001.98L973.452,993.681L956.848,946.518L933.266,954.821ZM2596.18,950.378C2578.71,945.327 2560.49,942.072 2541.72,940.832L2516.78,939.183L2513.48,989.074L2538.43,990.723C2553.54,991.722 2568.22,994.341 2582.28,998.409L2606.3,1005.36L2620.19,957.325L2596.18,950.378ZM2165.09,940.265L2065.09,940.265L2065.09,990.265L2165.09,990.265L2165.09,940.265ZM1865.08,940.265L1765.08,940.265L1765.08,990.265L1865.08,990.265L1865.08,940.265ZM1115.08,940.265L1015.08,940.265L1015.08,990.265L1115.08,990.265L1115.08,940.265ZM2015.09,940.265L1915.09,940.265L1915.09,990.265L2015.09,990.265L2015.09,940.265ZM2315.09,940.265L2215.09,940.265L2215.09,990.265L2315.09,990.265L2315.09,940.265ZM1265.08,940.265L1165.08,940.265L1165.08,990.265L1265.08,990.265L1265.08,940.265ZM1415.08,940.265L1315.08,940.265L1315.08,990.265L1415.08,990.265L1415.08,940.265ZM1565.08,940.265L1465.08,940.265L1465.08,990.265L1565.08,990.265L1565.08,940.265ZM1715.08,940.265L1615.08,940.265L1615.08,990.265L1715.08,990.265L1715.08,940.265ZM2465.09,940.265L2365.09,940.265L2365.09,990.265L2465.09,990.265L2465.09,940.265ZM365.453,437.562L365.453,644.193L139.286,644.193C178.303,544.782 261.917,467.677 365.453,437.562ZM922.933,423.812L922.933,644.193L390.453,644.193L390.453,431.295C413.674,426.391 437.741,423.812 462.407,423.812L922.933,423.812ZM947.933,423.812L947.933,644.193L1480.41,644.193L1480.41,423.812L947.933,423.812ZM1505.41,423.812L1505.41,644.193L2037.89,644.193L2037.89,423.812L1505.41,423.812ZM2062.89,423.812L2062.89,644.193L2595.37,644.193L2595.37,423.812L2062.89,423.812ZM2620.37,423.812L3080.9,423.812C3105.57,423.812 3129.63,426.391 3152.85,431.295L3152.85,644.193L2620.37,644.193L2620.37,423.812ZM3177.85,437.562C3281.38,467.669 3365,544.774 3404.02,644.193L3177.85,644.193L3177.85,437.562Z" /> ), + defaultProps: { + boxSize: '24px', + }, }); export default UnifiedCanvasIcon; diff --git a/invokeai/frontend/web/src/common/util/parameterTranslation.ts b/invokeai/frontend/web/src/common/util/parameterTranslation.ts index f703a96f4a..07b8ac8ea1 100644 --- a/invokeai/frontend/web/src/common/util/parameterTranslation.ts +++ b/invokeai/frontend/web/src/common/util/parameterTranslation.ts @@ -144,8 +144,8 @@ export const frontendToBackendParameters = ( variationAmount, width, shouldUseSymmetry, - horizontalSymmetryTimePercentage, - verticalSymmetryTimePercentage, + horizontalSymmetrySteps, + verticalSymmetrySteps, } = generationState; const { @@ -185,17 +185,17 @@ export const frontendToBackendParameters = ( // Symmetry Settings if (shouldUseSymmetry) { - if (horizontalSymmetryTimePercentage > 0) { + if (horizontalSymmetrySteps > 0) { generationParameters.h_symmetry_time_pct = Math.max( 0, - Math.min(1, horizontalSymmetryTimePercentage / steps) + Math.min(1, horizontalSymmetrySteps / steps) ); } - if (horizontalSymmetryTimePercentage > 0) { + if (verticalSymmetrySteps > 0) { generationParameters.v_symmetry_time_pct = Math.max( 0, - Math.min(1, verticalSymmetryTimePercentage / steps) + Math.min(1, verticalSymmetrySteps / steps) ); } } diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvas.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvas.tsx index b57bc1cc16..657f407b5d 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvas.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvas.tsx @@ -1,3 +1,4 @@ +import { Box, chakra, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppSelector } from 'app/storeHooks'; import { @@ -88,6 +89,10 @@ const selector = createSelector( } ); +const ChakraStage = chakra(Stage, { + shouldForwardProp: (prop) => !['sx'].includes(prop), +}); + const IAICanvas = () => { const { isMaskEnabled, @@ -135,14 +140,26 @@ const IAICanvas = () => { useCanvasDragMove(); return ( -
    -
    - + + { visible={shouldShowBoundingBox && !isStaging} /> - + -
    -
    + + ); }; diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasGrid.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasGrid.tsx index 9ffed8d70a..e38debae83 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasGrid.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasGrid.tsx @@ -1,7 +1,7 @@ // Grid drawing adapted from https://longviewcoder.com/2021/12/08/konva-a-better-grid/ -import { useColorMode } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; +import { RootState } from 'app/store'; import { useAppSelector } from 'app/storeHooks'; import { canvasSelector } from 'features/canvas/store/canvasSelectors'; import { isEqual, range } from 'lodash'; @@ -26,10 +26,13 @@ const gridLinesColor = { dark: 'rgba(255, 255, 255, 0.2)', green: 'rgba(255, 255, 255, 0.2)', light: 'rgba(0, 0, 0, 0.2)', + ocean: 'rgba(136, 148, 184, 0.2)', }; const IAICanvasGrid = () => { - const { colorMode } = useColorMode(); + const currentTheme = useAppSelector( + (state: RootState) => state.ui.currentTheme + ); const { stageScale, stageCoordinates, stageDimensions } = useAppSelector(selector); const [gridLines, setGridLines] = useState([]); @@ -42,7 +45,8 @@ const IAICanvasGrid = () => { ); useLayoutEffect(() => { - const gridLineColor = gridLinesColor[colorMode]; + const gridLineColor = + gridLinesColor[currentTheme as keyof typeof gridLinesColor]; const { width, height } = stageDimensions; const { x, y } = stageCoordinates; @@ -108,7 +112,7 @@ const IAICanvasGrid = () => { )); setGridLines(xLines.concat(yLines)); - }, [stageScale, stageCoordinates, stageDimensions, colorMode, unscale]); + }, [stageScale, stageCoordinates, stageDimensions, currentTheme, unscale]); return {gridLines}; }; diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasResizer.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasResizer.tsx index 9e07dce992..3062abae91 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasResizer.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasResizer.tsx @@ -1,4 +1,4 @@ -import { Spinner } from '@chakra-ui/react'; +import { Flex, Spinner } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import { @@ -70,9 +70,19 @@ const IAICanvasResizer = () => { ]); return ( -
    + -
    + ); }; diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasStagingAreaToolbar.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasStagingAreaToolbar.tsx index 60af853289..74d6382308 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasStagingAreaToolbar.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasStagingAreaToolbar.tsx @@ -115,7 +115,7 @@ const IAICanvasStagingAreaToolbar = () => { return ( { aria-label={`${t('unifiedCanvas.previous')} (Left)`} icon={} onClick={handlePrevImage} - data-selected={true} + colorScheme="accent" isDisabled={isOnFirstImage} /> { aria-label={`${t('unifiedCanvas.next')} (Right)`} icon={} onClick={handleNextImage} - data-selected={true} + colorScheme="accent" isDisabled={isOnLastImage} /> { aria-label={`${t('unifiedCanvas.accept')} (Enter)`} icon={} onClick={handleAccept} - data-selected={true} + colorScheme="accent" /> { onClick={() => dispatch(setShouldShowStagingImage(!shouldShowStagingImage)) } - data-selected={true} + colorScheme="accent" /> { saveStagingAreaImageToGallery(currentStagingAreaImage.image.url) ) } - data-selected={true} + colorScheme="accent" /> } onClick={() => dispatch(discardStagedImages())} - data-selected={true} - style={{ backgroundColor: 'var(--btn-delete-image)' }} + colorScheme="error" fontSize={20} /> diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText.tsx index 83ee94520a..e886a3ad5d 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText.tsx @@ -1,3 +1,4 @@ +import { Box, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppSelector } from 'app/storeHooks'; import { canvasSelector } from 'features/canvas/store/canvasSelectors'; @@ -7,6 +8,8 @@ import { useTranslation } from 'react-i18next'; import roundToHundreth from '../util/roundToHundreth'; import IAICanvasStatusTextCursorPos from './IAICanvasStatusText/IAICanvasStatusTextCursorPos'; +const warningColor = 'var(--invokeai-colors-warning-500)'; + const selector = createSelector( [canvasSelector], (canvas) => { @@ -34,11 +37,10 @@ const selector = createSelector( (boundingBoxScaleMethod === 'manual' && scaledBoxWidth * scaledBoxHeight < 512 * 512) ) { - boundingBoxColor = 'var(--status-working-color)'; + boundingBoxColor = warningColor; } - const activeLayerColor = - layer === 'mask' ? 'var(--status-working-color)' : 'inherit'; + const activeLayerColor = layer === 'mask' ? warningColor : 'inherit'; return { activeLayerColor, @@ -87,55 +89,72 @@ const IAICanvasStatusText = () => { const { t } = useTranslation(); return ( -
    -
    + {`${t('unifiedCanvas.activeLayer')}: ${activeLayerString}`}
    -
    {`${t('unifiedCanvas.canvasScale')}: ${canvasScaleString}%`}
    + >{`${t('unifiedCanvas.activeLayer')}: ${activeLayerString}`} + {`${t('unifiedCanvas.canvasScale')}: ${canvasScaleString}%`} {shouldPreserveMaskedArea && ( -
    Preserve Masked Area: On -
    + )} {shouldShowBoundingBox && ( -
    {`${t( - 'unifiedcanvas:boundingBox' - )}: ${boundingBoxDimensionsString}`}
    + 'unifiedCanvas.boundingBox' + )}: ${boundingBoxDimensionsString}`} )} {shouldShowScaledBoundingBox && ( -
    {`${t( - 'unifiedcanvas:scaledBoundingBox' - )}: ${scaledBoundingBoxDimensionsString}`}
    + 'unifiedCanvas.scaledBoundingBox' + )}: ${scaledBoundingBoxDimensionsString}`} )} {shouldShowCanvasDebugInfo && ( <> -
    {`${t( - 'unifiedcanvas:boundingBoxPosition' - )}: ${boundingBoxCoordinatesString}`}
    -
    {`${t( - 'unifiedcanvas:canvasDimensions' - )}: ${canvasDimensionsString}`}
    -
    {`${t( - 'unifiedcanvas:canvasPosition' - )}: ${canvasCoordinatesString}`}
    + {`${t( + 'unifiedCanvas.boundingBoxPosition' + )}: ${boundingBoxCoordinatesString}`} + {`${t( + 'unifiedCanvas.canvasDimensions' + )}: ${canvasDimensionsString}`} + {`${t( + 'unifiedCanvas.canvasPosition' + )}: ${canvasCoordinatesString}`} )} -
    +
    ); }; diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText/IAICanvasStatusTextCursorPos.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText/IAICanvasStatusTextCursorPos.tsx index c77d0cae65..2570290393 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText/IAICanvasStatusTextCursorPos.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasStatusText/IAICanvasStatusTextCursorPos.tsx @@ -1,3 +1,4 @@ +import { Box } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppSelector } from 'app/storeHooks'; import { canvasSelector } from 'features/canvas/store/canvasSelectors'; @@ -33,8 +34,8 @@ export default function IAICanvasStatusTextCursorPos() { const { t } = useTranslation(); return ( -
    {`${t( - 'unifiedcanvas:cursorPosition' - )}: ${cursorCoordinatesString}`}
    + {`${t( + 'unifiedCanvas.cursorPosition' + )}: ${cursorCoordinatesString}`} ); } diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx index bca6728b87..9326f52d2d 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx @@ -111,17 +111,13 @@ const IAICanvasMaskOptions = () => { aria-label={t('unifiedCanvas.maskingOptions')} tooltip={t('unifiedCanvas.maskingOptions')} icon={} - style={ - layer === 'mask' - ? { backgroundColor: 'var(--accent-color)' } - : { backgroundColor: 'var(--btn-base-color)' } - } + isChecked={layer === 'mask'} isDisabled={isStaging} /> } > - + { } /> dispatch(setMaskColor(newColor))} /> } onClick={handleClearMask}> diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasSettingsButtonPopover.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasSettingsButtonPopover.tsx index 72af7f8261..0457d8844c 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasSettingsButtonPopover.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasSettingsButtonPopover.tsx @@ -97,7 +97,7 @@ const IAICanvasSettingsButtonPopover = () => { /> } > - + { aria-label={`${t('unifiedCanvas.brush')} (B)`} tooltip={`${t('unifiedCanvas.brush')} (B)`} icon={} - data-selected={tool === 'brush' && !isStaging} + isChecked={tool === 'brush' && !isStaging} onClick={handleSelectBrushTool} isDisabled={isStaging} /> @@ -192,7 +192,7 @@ const IAICanvasToolChooserOptions = () => { aria-label={`${t('unifiedCanvas.eraser')} (E)`} tooltip={`${t('unifiedCanvas.eraser')} (E)`} icon={} - data-selected={tool === 'eraser' && !isStaging} + isChecked={tool === 'eraser' && !isStaging} isDisabled={isStaging} onClick={handleSelectEraserTool} /> @@ -214,7 +214,7 @@ const IAICanvasToolChooserOptions = () => { aria-label={`${t('unifiedCanvas.colorPicker')} (C)`} tooltip={`${t('unifiedCanvas.colorPicker')} (C)`} icon={} - data-selected={tool === 'colorPicker' && !isStaging} + isChecked={tool === 'colorPicker' && !isStaging} isDisabled={isStaging} onClick={handleSelectColorPickerTool} /> @@ -228,8 +228,8 @@ const IAICanvasToolChooserOptions = () => { /> } > - - + + { /> dispatch(setBrushColor(newColor))} /> diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx index 29fdc40975..4e53039e38 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasToolbar.tsx @@ -1,4 +1,4 @@ -import { ButtonGroup } from '@chakra-ui/react'; +import { ButtonGroup, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAIIconButton from 'common/components/IAIIconButton'; @@ -68,7 +68,7 @@ export const selector = createSelector( } ); -const IAICanvasOutpaintingControls = () => { +const IAICanvasToolbar = () => { const dispatch = useAppDispatch(); const { isProcessing, @@ -230,7 +230,12 @@ const IAICanvasOutpaintingControls = () => { }; return ( -
    + { aria-label={`${t('unifiedCanvas.move')} (V)`} tooltip={`${t('unifiedCanvas.move')} (V)`} icon={} - data-selected={tool === 'move' || isStaging} + isChecked={tool === 'move' || isStaging} onClick={handleSelectMoveTool} /> { tooltip={`${t('unifiedCanvas.clearCanvas')}`} icon={} onClick={handleResetCanvas} - style={{ backgroundColor: 'var(--btn-delete-image)' }} + colorScheme="error" isDisabled={isStaging} /> -
    +
    ); }; -export default IAICanvasOutpaintingControls; +export default IAICanvasToolbar; diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImageButtons.scss b/invokeai/frontend/web/src/features/gallery/components/CurrentImageButtons.scss deleted file mode 100644 index a48454bb8c..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImageButtons.scss +++ /dev/null @@ -1,32 +0,0 @@ -.current-image-options { - width: 100%; - display: flex; - justify-content: center; - align-items: center; - column-gap: 0.5em; - - .current-image-send-to-popover, - .current-image-postprocessing-popover { - display: flex; - flex-direction: column; - row-gap: 0.5rem; - max-width: 25rem; - } - - .current-image-send-to-popover { - .invokeai__button { - place-content: start; - } - } - - .chakra-popover__popper { - z-index: 11; - } - - .delete-image-btn { - background-color: var(--btn-base-color); - svg { - fill: var(--btn-delete-image); - } - } -} diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImageButtons.tsx b/invokeai/frontend/web/src/features/gallery/components/CurrentImageButtons.tsx index 92d6aa6d06..be59962556 100644 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImageButtons.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/CurrentImageButtons.tsx @@ -1,7 +1,7 @@ import { createSelector } from '@reduxjs/toolkit'; import { isEqual } from 'lodash'; -import { ButtonGroup, Link, useToast } from '@chakra-ui/react'; +import { ButtonGroup, Flex, FlexProps, Link, useToast } from '@chakra-ui/react'; import { runESRGAN, runFacetool } from 'app/socketio/actions'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAIButton from 'common/components/IAIButton'; @@ -102,11 +102,13 @@ const currentImageButtonsSelector = createSelector( } ); +type CurrentImageButtonsProps = FlexProps; + /** * Row of buttons for common actions: * Use as init image, use all params, use seed, upscale, fix faces, details, delete. */ -const CurrentImageButtons = () => { +const CurrentImageButtons = (props: CurrentImageButtonsProps) => { const dispatch = useAppDispatch(); const { isProcessing, @@ -395,7 +397,14 @@ const CurrentImageButtons = () => { }; return ( -
    + { /> } > -
    + { {t('parameters.downloadImage')} -
    +
    } @@ -456,7 +471,7 @@ const CurrentImageButtons = () => { ? `${t('parameters.openInViewer')} (Z)` : `${t('parameters.closeViewer')} (Z)` } - data-selected={isLightboxOpen} + isChecked={isLightboxOpen} onClick={handleLightBox} /> @@ -501,7 +516,12 @@ const CurrentImageButtons = () => { /> } > -
    + { > {t('parameters.restoreFaces')} -
    + { /> } > -
    + { > {t('parameters.upscaleImage')} -
    +
    @@ -548,7 +573,7 @@ const CurrentImageButtons = () => { icon={} tooltip={`${t('parameters.info')} (I)`} aria-label={`${t('parameters.info')} (I)`} - data-selected={shouldShowImageDetails} + isChecked={shouldShowImageDetails} onClick={handleClickShowImageDetails} /> @@ -559,10 +584,10 @@ const CurrentImageButtons = () => { tooltip={`${t('parameters.deleteImage')} (Del)`} aria-label={`${t('parameters.deleteImage')} (Del)`} isDisabled={!currentImage || !isConnected || isProcessing} - style={{ backgroundColor: 'var(--btn-delete-image)' }} + colorScheme="error" /> -
    +
    ); }; diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImageDisplay.scss b/invokeai/frontend/web/src/features/gallery/components/CurrentImageDisplay.scss deleted file mode 100644 index 498da35ea6..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImageDisplay.scss +++ /dev/null @@ -1,83 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.current-image-area { - display: flex; - flex-direction: column; - height: 100%; - row-gap: 1rem; - background-color: var(--background-color-secondary); - border-radius: 0.5rem; -} - -.current-image-preview { - position: relative; - justify-content: center; - align-items: center; - display: flex; - width: 100%; - height: 100%; - - img { - border-radius: 0.5rem; - object-fit: contain; - max-width: 100%; - max-height: 100%; - height: auto; - position: absolute; - } -} - -.current-image-metadata { - grid-area: current-image-preview; -} - -.current-image-next-prev-buttons { - grid-area: current-image-content; - display: flex; - justify-content: space-between; - z-index: 1; - height: 100%; - width: 100%; - pointer-events: none; -} - -.next-prev-button-trigger-area { - width: 7rem; - height: 100%; - width: 15%; - display: grid; - align-items: center; - pointer-events: auto; - - &.prev-button-trigger-area { - justify-content: flex-start; - } - - &.next-button-trigger-area { - justify-content: flex-end; - } -} - -.next-prev-button { - font-size: 4rem; - fill: var(--white); - filter: drop-shadow(0 0 1rem var(--text-color-secondary)); - opacity: 70%; -} - -.current-image-display-placeholder { - background-color: var(--background-color-secondary); - display: grid; - display: flex; - align-items: center; - justify-content: center; - width: 100%; - height: 100%; - border-radius: 0.5rem; - - svg { - width: 10rem; - height: 10rem; - color: var(--svg-color); - } -} diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImageDisplay.tsx b/invokeai/frontend/web/src/features/gallery/components/CurrentImageDisplay.tsx index a5e9683afd..6c46e14391 100644 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImageDisplay.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/CurrentImageDisplay.tsx @@ -1,10 +1,6 @@ +import { Flex, Icon } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppSelector } from 'app/storeHooks'; -import { GalleryState } from 'features/gallery/store/gallerySlice'; -import { - activeTabNameSelector, - uiSelector, -} from 'features/ui/store/uiSelectors'; import { isEqual } from 'lodash'; import { MdPhoto } from 'react-icons/md'; @@ -13,14 +9,11 @@ import CurrentImageButtons from './CurrentImageButtons'; import CurrentImagePreview from './CurrentImagePreview'; export const currentImageDisplaySelector = createSelector( - [gallerySelector, uiSelector, activeTabNameSelector], - (gallery: GalleryState, ui, activeTabName) => { + [gallerySelector], + (gallery) => { const { currentImage, intermediateImage } = gallery; - const { shouldShowImageDetails } = ui; return { - activeTabName, - shouldShowImageDetails, hasAnImageToDisplay: currentImage || intermediateImage, }; }, @@ -35,23 +28,42 @@ export const currentImageDisplaySelector = createSelector( * Displays the current image if there is one, plus associated actions. */ const CurrentImageDisplay = () => { - const { hasAnImageToDisplay, activeTabName } = useAppSelector( - currentImageDisplaySelector - ); + const { hasAnImageToDisplay } = useAppSelector(currentImageDisplaySelector); return ( -
    + {hasAnImageToDisplay ? ( <> ) : ( -
    - -
    + + + )} -
    +
    ); }; diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImagePreview.tsx b/invokeai/frontend/web/src/features/gallery/components/CurrentImagePreview.tsx index 720df07f4a..0f9ffad325 100644 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImagePreview.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/CurrentImagePreview.tsx @@ -1,47 +1,24 @@ -import { IconButton, Image } from '@chakra-ui/react'; +import { Flex, Image } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; -import { useAppDispatch, useAppSelector } from 'app/storeHooks'; -import { - GalleryCategory, - GalleryState, - selectNextImage, - selectPrevImage, -} from 'features/gallery/store/gallerySlice'; +import { useAppSelector } from 'app/storeHooks'; +import { GalleryState } from 'features/gallery/store/gallerySlice'; import { uiSelector } from 'features/ui/store/uiSelectors'; import { isEqual } from 'lodash'; -import { useState } from 'react'; -import { FaAngleLeft, FaAngleRight } from 'react-icons/fa'; import { gallerySelector } from '../store/gallerySelectors'; import ImageMetadataViewer from './ImageMetaDataViewer/ImageMetadataViewer'; +import NextPrevImageButtons from './NextPrevImageButtons'; export const imagesSelector = createSelector( [gallerySelector, uiSelector], (gallery: GalleryState, ui) => { - const { currentCategory, currentImage, intermediateImage } = gallery; + const { currentImage, intermediateImage } = gallery; const { shouldShowImageDetails } = ui; - const tempImages = - gallery.categories[ - currentImage ? (currentImage.category as GalleryCategory) : 'result' - ].images; - const currentImageIndex = tempImages.findIndex( - (i) => i.uuid === gallery?.currentImage?.uuid - ); - const imagesLength = tempImages.length; - return { imageToDisplay: intermediateImage ? intermediateImage : currentImage, isIntermediate: Boolean(intermediateImage), - viewerImageToDisplay: currentImage, - currentCategory, - isOnFirstImage: currentImageIndex === 0, - isOnLastImage: - !isNaN(currentImageIndex) && currentImageIndex === imagesLength - 1, shouldShowImageDetails, - shouldShowPrevImageButton: currentImageIndex === 0, - shouldShowNextImageButton: - !isNaN(currentImageIndex) && currentImageIndex === imagesLength - 1, }; }, { @@ -52,85 +29,44 @@ export const imagesSelector = createSelector( ); export default function CurrentImagePreview() { - const dispatch = useAppDispatch(); - - const { - isOnFirstImage, - isOnLastImage, - shouldShowImageDetails, - imageToDisplay, - isIntermediate, - } = useAppSelector(imagesSelector); - - const [shouldShowNextPrevButtons, setShouldShowNextPrevButtons] = - useState(false); - - const handleCurrentImagePreviewMouseOver = () => { - setShouldShowNextPrevButtons(true); - }; - - const handleCurrentImagePreviewMouseOut = () => { - setShouldShowNextPrevButtons(false); - }; - - const handleClickPrevButton = () => { - dispatch(selectPrevImage()); - }; - - const handleClickNextButton = () => { - dispatch(selectNextImage()); - }; + const { shouldShowImageDetails, imageToDisplay, isIntermediate } = + useAppSelector(imagesSelector); return ( -
    + {imageToDisplay && ( )} - {!shouldShowImageDetails && ( -
    -
    - {shouldShowNextPrevButtons && !isOnFirstImage && ( - } - variant="unstyled" - onClick={handleClickPrevButton} - /> - )} -
    -
    - {shouldShowNextPrevButtons && !isOnLastImage && ( - } - variant="unstyled" - onClick={handleClickNextButton} - /> - )} -
    -
    - )} + {!shouldShowImageDetails && } {shouldShowImageDetails && imageToDisplay && ( )} -
    +
    ); } diff --git a/invokeai/frontend/web/src/features/gallery/components/DeleteImageModal.tsx b/invokeai/frontend/web/src/features/gallery/components/DeleteImageModal.tsx index 8b759d9301..734dc3b682 100644 --- a/invokeai/frontend/web/src/features/gallery/components/DeleteImageModal.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/DeleteImageModal.tsx @@ -5,11 +5,8 @@ import { AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, - Button, + forwardRef, Flex, - FormControl, - FormLabel, - Switch, Text, useDisclosure, } from '@chakra-ui/react'; @@ -17,6 +14,8 @@ import { createSelector } from '@reduxjs/toolkit'; import * as InvokeAI from 'app/invokeai'; import { deleteImage } from 'app/socketio/actions'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; +import IAIButton from 'common/components/IAIButton'; +import IAISwitch from 'common/components/IAISwitch'; import { systemSelector } from 'features/system/store/systemSelectors'; import { setShouldConfirmOnDelete, @@ -27,7 +26,6 @@ import { isEqual } from 'lodash'; import { ChangeEvent, cloneElement, - forwardRef, ReactElement, SyntheticEvent, useRef, @@ -110,7 +108,7 @@ const DeleteImageModal = forwardRef( onClose={onClose} > - + Delete image @@ -121,28 +119,20 @@ const DeleteImageModal = forwardRef( Are you sure? Deleted images will be sent to the Bin. You can restore from there if you wish to. - - - Don't ask me again - - - +
    - - + diff --git a/invokeai/frontend/web/src/features/gallery/components/HoverableImage.scss b/invokeai/frontend/web/src/features/gallery/components/HoverableImage.scss deleted file mode 100644 index b6563f4d7b..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/HoverableImage.scss +++ /dev/null @@ -1,100 +0,0 @@ -.hoverable-image { - display: flex; - justify-content: center; - transition: transform 0.2s ease-out; - - &:hover { - cursor: pointer; - border-radius: 0.5rem; - z-index: 2; - } - - .hoverable-image-image { - width: 100%; - height: 100%; - max-width: 100%; - max-height: 100%; - } - - .hoverable-image-delete-button { - position: absolute; - top: 0.25rem; - right: 0.25rem; - } - - .hoverable-image-content { - display: flex; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - align-items: center; - justify-content: center; - - .hoverable-image-check { - fill: var(--status-good-color); - } - } - - .hoverable-image-icons { - position: absolute; - bottom: -2rem; - display: grid; - width: min-content; - grid-template-columns: repeat(2, max-content); - border-radius: 0.4rem; - background-color: var(--background-color-secondary); - padding: 0.2rem; - gap: 0.2rem; - grid-auto-rows: max-content; - - button { - width: 12px; - height: 12px; - border-radius: 0.2rem; - padding: 10px 0; - flex-shrink: 2; - svg { - width: 12px; - height: 12px; - } - } - } -} - -.hoverable-image-context-menu { - z-index: 15; - padding: 0.4rem; - border-radius: 0.25rem; - background-color: var(--context-menu-bg-color); - box-shadow: var(--context-menu-box-shadow); - - [role='menuitem'] { - font-size: 0.8rem; - line-height: 1rem; - border-radius: 3px; - display: flex; - align-items: center; - height: 1.75rem; - padding: 0 0.5rem; - position: relative; - user-select: none; - cursor: pointer; - outline: none; - - &[data-disabled] { - color: grey; - pointer-events: none; - cursor: not-allowed; - } - - &[data-warning] { - color: var(--status-bad-color); - } - - &[data-highlighted] { - background-color: var(--context-menu-bg-color-hover); - } - } -} diff --git a/invokeai/frontend/web/src/features/gallery/components/HoverableImage.tsx b/invokeai/frontend/web/src/features/gallery/components/HoverableImage.tsx index e3e136ea5b..0d034ed976 100644 --- a/invokeai/frontend/web/src/features/gallery/components/HoverableImage.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/HoverableImage.tsx @@ -1,9 +1,15 @@ -import { Box, Icon, IconButton, Image, useToast } from '@chakra-ui/react'; -import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import { - setCurrentImage, - setShouldHoldGalleryOpen, -} from 'features/gallery/store/gallerySlice'; + Box, + Flex, + Icon, + Image, + MenuItem, + MenuList, + useTheme, + useToast, +} from '@chakra-ui/react'; +import { useAppDispatch, useAppSelector } from 'app/storeHooks'; +import { setCurrentImage } from 'features/gallery/store/gallerySlice'; import { setAllImageToImageParameters, setAllParameters, @@ -13,8 +19,7 @@ import { import { DragEvent, memo, useState } from 'react'; import { FaCheck, FaTrashAlt } from 'react-icons/fa'; import DeleteImageModal from './DeleteImageModal'; - -import * as ContextMenu from '@radix-ui/react-context-menu'; +import { ContextMenu } from 'chakra-ui-contextmenu'; import * as InvokeAI from 'app/invokeai'; import { resizeAndScaleCanvas, @@ -24,6 +29,8 @@ import { hoverableImageSelector } from 'features/gallery/store/gallerySelectors' import { setActiveTab } from 'features/ui/store/uiSlice'; import { useTranslation } from 'react-i18next'; import useSetBothPrompts from 'features/parameters/hooks/usePrompt'; +import { setIsLightboxOpen } from 'features/lightbox/store/lightboxSlice'; +import IAIIconButton from 'common/components/IAIIconButton'; interface HoverableImageProps { image: InvokeAI.Image; @@ -53,6 +60,7 @@ const HoverableImage = memo((props: HoverableImageProps) => { const [isHovered, setIsHovered] = useState(false); const toast = useToast(); + const { direction } = useTheme(); const { t } = useTranslation(); const setBothPrompts = useSetBothPrompts(); @@ -156,110 +164,146 @@ const HoverableImage = memo((props: HoverableImageProps) => { const handleLightBox = () => { dispatch(setCurrentImage(image)); + dispatch(setIsLightboxOpen(true)); }; return ( - { - dispatch(setShouldHoldGalleryOpen(open)); - }} + + menuProps={{ size: 'sm', isLazy: true }} + renderMenu={() => ( + + + {t('parameters.openInViewer')} + + + {t('parameters.usePrompt')} + + + + {t('parameters.useSeed')} + + + {t('parameters.useAll')} + + + {t('parameters.useInitImg')} + + + {t('parameters.sendToImg2Img')} + + + {t('parameters.sendToUnifiedCanvas')} + + + +

    {t('parameters.deleteImage')}

    +
    +
    +
    + )} > - + {(ref) => ( -
    + {isSelected && ( )} -
    +
    {isHovered && galleryImageMinimumWidth >= 64 && ( -
    + - } size="xs" - variant="imageHoverIconButton" fontSize={14} isDisabled={!mayDeleteImage} /> -
    + )} - - { - e.detail.originalEvent.preventDefault(); - }} - > - - {t('parameters.openInViewer')} - - - {t('parameters.usePrompt')} - - - - {t('parameters.useSeed')} - - - {t('parameters.useAll')} - - - {t('parameters.useInitImg')} - - - {t('parameters.sendToImg2Img')} - - - {t('parameters.sendToUnifiedCanvas')} - - - -

    {t('parameters.deleteImage')}

    -
    -
    -
    - + )} + ); }, memoEqualityCheck); diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGallery.css b/invokeai/frontend/web/src/features/gallery/components/ImageGallery.css new file mode 100644 index 0000000000..559248dd0f --- /dev/null +++ b/invokeai/frontend/web/src/features/gallery/components/ImageGallery.css @@ -0,0 +1,35 @@ +.ltr-image-gallery-css-transition-enter { + transform: translateX(150%); +} + +.ltr-image-gallery-css-transition-enter-active { + transform: translateX(0); + transition: all 120ms ease-out; +} + +.ltr-image-gallery-css-transition-exit { + transform: translateX(0); +} + +.ltr-image-gallery-css-transition-exit-active { + transform: translateX(150%); + transition: all 120ms ease-out; +} + +.rtl-image-gallery-css-transition-enter { + transform: translateX(-150%); +} + +.rtl-image-gallery-css-transition-enter-active { + transform: translateX(0); + transition: all 120ms ease-out; +} + +.rtl-image-gallery-css-transition-exit { + transform: translateX(0); +} + +.rtl-image-gallery-css-transition-exit-active { + transform: translateX(-150%); + transition: all 120ms ease-out; +} diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGallery.scss b/invokeai/frontend/web/src/features/gallery/components/ImageGallery.scss deleted file mode 100644 index f12fcd418a..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGallery.scss +++ /dev/null @@ -1,187 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.image-gallery-wrapper-enter { - transform: translateX(150%); -} - -.image-gallery-wrapper-enter-active { - transform: translateX(0); - transition: all 120ms ease-out; -} - -.image-gallery-wrapper-exit { - transform: translateX(0); -} - -.image-gallery-wrapper-exit-active { - transform: translateX(150%); - transition: all 120ms ease-out; -} - -.image-gallery-wrapper { - &[data-pinned='false'] { - position: fixed; - height: 100vh; - top: 0; - right: 0; - - .image-gallery-popup { - border-radius: 0; - box-shadow: 0 0 1rem var(--text-color-a3); - .image-gallery-container { - max-height: calc($app-height + 5rem); - } - } - } - - .image-gallery-popup { - background-color: var(--background-color-secondary); - padding: 1rem; - display: flex; - flex-direction: column; - row-gap: 1rem; - border-radius: 0.5rem; - border-left-width: 0.3rem; - - border-color: var(--tab-list-text-inactive); - - &[data-resize-alert='true'] { - border-color: var(--status-bad-color); - } - - .image-gallery-header { - display: flex; - align-items: center; - column-gap: 0.5rem; - justify-content: space-between; - - .image-gallery-header-right-icons { - display: flex; - flex-direction: row; - column-gap: 0.5rem; - } - - .image-gallery-icon-btn { - background-color: var(--btn-load-more); - &:hover { - background-color: var(--btn-load-more-hover); - } - } - - .image-gallery-settings-popover { - display: flex; - flex-direction: column; - row-gap: 0.5rem; - - div { - display: flex; - column-gap: 0.5rem; - align-items: center; - justify-content: space-between; - } - } - - h1 { - font-weight: bold; - } - } - - .image-gallery-container { - display: flex; - flex-direction: column; - max-height: $app-gallery-popover-height; - overflow-y: scroll; - @include HideScrollbar; - - .image-gallery-container-placeholder { - display: flex; - flex-direction: column; - row-gap: 0.5rem; - background-color: var(--background-color); - border-radius: 0.5rem; - place-items: center; - padding: 2rem; - text-align: center; - - p { - color: var(--subtext-color-bright); - font-family: Inter; - } - - svg { - width: 4rem; - height: 4rem; - color: var(--svg-color); - } - } - - .image-gallery-load-more-btn { - background-color: var(--btn-load-more); - font-size: 0.85rem; - padding: 0.5rem; - margin-top: 1rem; - - &:disabled { - &:hover { - background-color: var(--btn-load-more); - } - } - - &:hover { - background-color: var(--btn-load-more-hover); - } - } - } - } -} - -.image-gallery-category-btn-group { - width: max-content; - column-gap: 0; - justify-content: stretch; - - button { - background-color: var(--btn-base-color); - &:hover { - background-color: var(--btn-base-color-hover); - } - flex-grow: 1; - &[data-selected='true'] { - background-color: var(--accent-color); - &:hover { - background-color: var(--accent-color-hover); - } - } - } -} - -// from https://css-tricks.com/a-grid-of-logos-in-squares/ -.image-gallery { - display: grid; - grid-gap: 0.5rem; - .hoverable-image { - padding: 0.5rem; - position: relative; - &::before { - // for apsect ratio - content: ''; - display: block; - padding-bottom: 100%; - } - .hoverable-image-image { - position: absolute; - max-width: 100%; - - // Alternate Version - // top: 0; - // bottom: 0; - // right: 0; - // left: 0; - // margin: auto; - - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - } - } -} diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGallery.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGallery.tsx index 40de29dd36..1b14d9ff67 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGallery.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageGallery.tsx @@ -1,7 +1,14 @@ -import { Button } from '@chakra-ui/button'; import { NumberSize, Resizable } from 're-resizable'; -import { ButtonGroup } from '@chakra-ui/react'; +import { + Box, + ButtonGroup, + Flex, + Grid, + Icon, + chakra, + useTheme, +} from '@chakra-ui/react'; import { requestImages } from 'app/socketio/actions'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAIButton from 'common/components/IAIButton'; @@ -17,7 +24,6 @@ import { setCurrentCategory, setGalleryImageMinimumWidth, setGalleryImageObjectFit, - setGalleryScrollPosition, setGalleryWidth, setShouldAutoSwitchToNewImages, setShouldHoldGalleryOpen, @@ -38,12 +44,19 @@ import React, { } from 'react'; import { useHotkeys } from 'react-hotkeys-hook'; import { useTranslation } from 'react-i18next'; -import { BiReset } from 'react-icons/bi'; import { BsPinAngle, BsPinAngleFill } from 'react-icons/bs'; import { FaImage, FaUser, FaWrench } from 'react-icons/fa'; import { MdPhotoLibrary } from 'react-icons/md'; import { CSSTransition } from 'react-transition-group'; import HoverableImage from './HoverableImage'; +import { APP_GALLERY_HEIGHT_PINNED } from 'theme/util/constants'; + +import './ImageGallery.css'; +import { no_scrollbar } from 'theme/components/scrollbar'; + +const ChakraResizeable = chakra(Resizable, { + shouldForwardProp: (prop) => !['sx'].includes(prop), +}); const GALLERY_SHOW_BUTTONS_MIN_WIDTH = 320; const GALLERY_IMAGE_WIDTH_OFFSET = 40; @@ -64,6 +77,7 @@ const LIGHTBOX_GALLERY_WIDTH = 400; export default function ImageGallery() { const dispatch = useAppDispatch(); + const { direction } = useTheme(); const { t } = useTranslation(); @@ -73,7 +87,6 @@ export default function ImageGallery() { currentImageUuid, shouldPinGallery, shouldShowGallery, - galleryScrollPosition, galleryImageMinimumWidth, galleryGridTemplateColumns, activeTabName, @@ -107,12 +120,11 @@ export default function ImageGallery() { const timeoutIdRef = useRef(null); useEffect(() => { - if (galleryWidth >= GALLERY_SHOW_BUTTONS_MIN_WIDTH) { - setShouldShowButtons(false); - } + setShouldShowButtons(galleryWidth >= GALLERY_SHOW_BUTTONS_MIN_WIDTH); }, [galleryWidth]); const handleSetShouldPinGallery = () => { + !shouldPinGallery && dispatch(setShouldShowGallery(true)); dispatch(setShouldPinGallery(!shouldPinGallery)); dispatch(setDoesCanvasNeedScaling(true)); }; @@ -129,11 +141,6 @@ export default function ImageGallery() { const handleCloseGallery = useCallback(() => { dispatch(setShouldShowGallery(false)); dispatch(setShouldHoldGalleryOpen(false)); - dispatch( - setGalleryScrollPosition( - galleryContainerRef.current ? galleryContainerRef.current.scrollTop : 0 - ) - ); setTimeout( () => shouldPinGallery && dispatch(setDoesCanvasNeedScaling(true)), 400 @@ -239,12 +246,6 @@ export default function ImageGallery() { [galleryImageMinimumWidth] ); - // set gallery scroll position - useEffect(() => { - if (!galleryContainerRef.current) return; - galleryContainerRef.current.scrollTop = galleryScrollPosition; - }, [galleryScrollPosition, shouldShowGallery]); - useEffect(() => { function handleClickOutside(e: MouseEvent) { if ( @@ -267,29 +268,63 @@ export default function ImageGallery() { in={shouldShowGallery || shouldHoldGalleryOpen} unmountOnExit timeout={200} - classNames="image-gallery-wrapper" + classNames={`${direction}-image-gallery-css-transition`} > -
    - -
    + {shouldShowButtons ? ( <> dispatch(setCurrentCategory('result'))} + flexGrow={1} > {t('gallery.generations')} dispatch(setCurrentCategory('user'))} + flexGrow={1} > {t('gallery.uploads')} @@ -414,14 +452,14 @@ export default function ImageGallery() { } onClick={() => dispatch(setCurrentCategory('result'))} /> } onClick={() => dispatch(setCurrentCategory('user'))} /> @@ -429,96 +467,85 @@ export default function ImageGallery() { )} -
    + } - className="image-gallery-icon-btn" - cursor="pointer" /> } > -
    -
    - - dispatch(setGalleryImageMinimumWidth(64))} - icon={} - data-selected={shouldPinGallery} - styleClass="image-gallery-icon-btn" - /> -
    -
    - - dispatch( - setGalleryImageObjectFit( - galleryImageObjectFit === 'contain' - ? 'cover' - : 'contain' - ) + + + dispatch(setGalleryImageMinimumWidth(64)) + } + /> + + dispatch( + setGalleryImageObjectFit( + galleryImageObjectFit === 'contain' + ? 'cover' + : 'contain' ) - } - /> -
    -
    - ) => - dispatch( - setShouldAutoSwitchToNewImages(e.target.checked) - ) - } - /> -
    -
    - ) => - dispatch( - setShouldUseSingleGalleryColumn(e.target.checked) - ) - } - /> -
    -
    + ) + } + /> + ) => + dispatch(setShouldAutoSwitchToNewImages(e.target.checked)) + } + /> + ) => + dispatch( + setShouldUseSingleGalleryColumn(e.target.checked) + ) + } + /> +
    : } /> -
    -
    -
    + + + {images.length || areMoreImagesAvailable ? ( <> -
    {images.map((image) => { @@ -532,34 +559,51 @@ export default function ImageGallery() { /> ); })} -
    - + ) : ( -
    - + +

    {t('gallery.noImagesInGallery')}

    -
    +
    )} -
    -
    + + {isResizing && ( -
    )} -
    + ); } diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.scss b/invokeai/frontend/web/src/features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.scss deleted file mode 100644 index 8b59a33579..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.scss +++ /dev/null @@ -1,23 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.image-metadata-viewer { - position: absolute; - top: 0; - width: 100%; - border-radius: 0.5rem; - padding: 1rem; - background-color: var(--metadata-bg-color); - overflow: scroll; - max-height: $app-metadata-height; - height: 100%; - z-index: 10; -} - -.image-json-viewer { - border-radius: 0.5rem; - margin: 0 0.5rem 1rem 0.5rem; - padding: 1rem; - overflow-x: scroll; - word-break: break-all; - background-color: var(--metadata-json-bg-color); -} diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.tsx index a06ebc0bc1..192b832454 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.tsx @@ -1,5 +1,6 @@ import { ExternalLinkIcon } from '@chakra-ui/icons'; import { + Box, Center, Flex, Heading, @@ -43,6 +44,7 @@ import { memo } from 'react'; import { useHotkeys } from 'react-hotkeys-hook'; import { FaCopy } from 'react-icons/fa'; import { IoArrowUndoCircleOutline } from 'react-icons/io5'; +import { APP_METADATA_HEIGHT } from 'theme/util/constants'; type MetadataItemProps = { isLink?: boolean; @@ -163,7 +165,22 @@ const ImageMetadataViewer = memo( const metadataJSON = JSON.stringify(image.metadata, null, 2); return ( -
    + File: @@ -316,7 +333,7 @@ const ImageMetadataViewer = memo( if (postprocess.type === 'esrgan') { const { scale, strength, denoise_str } = postprocess; return ( - + {`${ i + 1 }: Upscale (ESRGAN)`} @@ -346,7 +363,7 @@ const ImageMetadataViewer = memo( } else if (postprocess.type === 'gfpgan') { const { strength } = postprocess; return ( - + {`${ i + 1 }: Face restoration (GFPGAN)`} @@ -364,7 +381,7 @@ const ImageMetadataViewer = memo( } else if (postprocess.type === 'codeformer') { const { strength, fidelity } = postprocess; return ( - + {`${ i + 1 }: Face restoration (Codeformer)`} @@ -417,9 +434,21 @@ const ImageMetadataViewer = memo( Metadata JSON: -
    +
    {metadataJSON}
    -
    +
    ) : ( @@ -430,7 +459,7 @@ const ImageMetadataViewer = memo( )} -
    + ); }, memoEqualityCheck diff --git a/invokeai/frontend/web/src/features/gallery/components/NextPrevImageButtons.tsx b/invokeai/frontend/web/src/features/gallery/components/NextPrevImageButtons.tsx new file mode 100644 index 0000000000..0cf41cb057 --- /dev/null +++ b/invokeai/frontend/web/src/features/gallery/components/NextPrevImageButtons.tsx @@ -0,0 +1,130 @@ +import { ChakraProps, Flex, Grid, IconButton } from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; +import { useAppDispatch, useAppSelector } from 'app/storeHooks'; +import { isEqual } from 'lodash'; +import { useState } from 'react'; +import { FaAngleLeft, FaAngleRight } from 'react-icons/fa'; +import { gallerySelector } from '../store/gallerySelectors'; +import { + GalleryCategory, + selectNextImage, + selectPrevImage, +} from '../store/gallerySlice'; + +const nextPrevButtonTriggerAreaStyles: ChakraProps['sx'] = { + height: '100%', + width: '15%', + alignItems: 'center', + pointerEvents: 'auto', +}; +const nextPrevButtonStyles: ChakraProps['sx'] = { + color: 'base.100', +}; + +export const nextPrevImageButtonsSelector = createSelector( + gallerySelector, + (gallery) => { + const { currentImage } = gallery; + + const tempImages = + gallery.categories[ + currentImage ? (currentImage.category as GalleryCategory) : 'result' + ].images; + + const currentImageIndex = tempImages.findIndex( + (i) => i.uuid === gallery?.currentImage?.uuid + ); + const imagesLength = tempImages.length; + + return { + isOnFirstImage: currentImageIndex === 0, + isOnLastImage: + !isNaN(currentImageIndex) && currentImageIndex === imagesLength - 1, + }; + }, + { + memoizeOptions: { + resultEqualityCheck: isEqual, + }, + } +); + +const NextPrevImageButtons = () => { + const dispatch = useAppDispatch(); + + const { isOnFirstImage, isOnLastImage } = useAppSelector( + nextPrevImageButtonsSelector + ); + + const [shouldShowNextPrevButtons, setShouldShowNextPrevButtons] = + useState(false); + + const handleCurrentImagePreviewMouseOver = () => { + setShouldShowNextPrevButtons(true); + }; + + const handleCurrentImagePreviewMouseOut = () => { + setShouldShowNextPrevButtons(false); + }; + + const handleClickPrevButton = () => { + dispatch(selectPrevImage()); + }; + + const handleClickNextButton = () => { + dispatch(selectNextImage()); + }; + + return ( + + + {shouldShowNextPrevButtons && !isOnFirstImage && ( + } + variant="unstyled" + onClick={handleClickPrevButton} + boxSize={16} + sx={nextPrevButtonStyles} + /> + )} + + + {shouldShowNextPrevButtons && !isOnLastImage && ( + } + variant="unstyled" + onClick={handleClickNextButton} + boxSize={16} + sx={nextPrevButtonStyles} + /> + )} + + + ); +}; + +export default NextPrevImageButtons; diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts index fc1cb5d996..751eee14d7 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts @@ -19,7 +19,6 @@ export const imageGallerySelector = createSelector( currentImageUuid, shouldPinGallery, shouldShowGallery, - galleryScrollPosition, galleryImageMinimumWidth, galleryImageObjectFit, shouldHoldGalleryOpen, @@ -34,7 +33,6 @@ export const imageGallerySelector = createSelector( currentImageUuid, shouldPinGallery, shouldShowGallery, - galleryScrollPosition, galleryImageMinimumWidth, galleryImageObjectFit, galleryGridTemplateColumns: shouldUseSingleGalleryColumn diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts index 52f8c54dc8..c96a3c9aac 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts @@ -31,7 +31,6 @@ export interface GalleryState { }; shouldPinGallery: boolean; shouldShowGallery: boolean; - galleryScrollPosition: number; galleryImageMinimumWidth: number; galleryImageObjectFit: GalleryImageObjectFitType; shouldHoldGalleryOpen: boolean; @@ -49,7 +48,6 @@ const initialState: GalleryState = { currentImageUuid: '', shouldPinGallery: true, shouldShowGallery: true, - galleryScrollPosition: 0, galleryImageMinimumWidth: 64, galleryImageObjectFit: 'cover', shouldHoldGalleryOpen: false, @@ -242,9 +240,6 @@ export const gallerySlice = createSlice({ state.shouldShowGallery = action.payload; }, - setGalleryScrollPosition: (state, action: PayloadAction) => { - state.galleryScrollPosition = action.payload; - }, setGalleryImageMinimumWidth: (state, action: PayloadAction) => { state.galleryImageMinimumWidth = action.payload; }, @@ -286,7 +281,6 @@ export const { selectPrevImage, setShouldPinGallery, setShouldShowGallery, - setGalleryScrollPosition, setGalleryImageMinimumWidth, setGalleryImageObjectFit, setShouldHoldGalleryOpen, diff --git a/invokeai/frontend/web/src/features/lightbox/components/Lightbox.scss b/invokeai/frontend/web/src/features/lightbox/components/Lightbox.scss deleted file mode 100644 index 99df6b0756..0000000000 --- a/invokeai/frontend/web/src/features/lightbox/components/Lightbox.scss +++ /dev/null @@ -1,89 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.lightbox-container { - width: 100%; - height: 100%; - color: var(--text-color); - overflow: hidden; - position: absolute; - left: 0; - top: 0; - background-color: var(--background-color-secondary); - z-index: 30; - animation: popIn 0.3s ease-in; - - .image-gallery-wrapper { - max-height: 100% !important; - - .image-gallery-container { - max-height: calc(100vh - 5rem); - } - } - - .current-image-options { - z-index: 2; - position: absolute; - top: 1rem; - } - - .image-metadata-viewer { - left: 0; - max-height: 100%; - } -} - -.lightbox-close-btn { - z-index: 3; - position: absolute; - left: 1rem; - top: 1rem; - @include BaseButton; -} - -.lightbox-display-container { - display: flex; - flex-direction: row; -} - -.lightbox-preview-wrapper { - overflow: hidden; - background-color: var(--background-color-secondary); - display: grid; - grid-template-columns: auto max-content; - place-items: center; - width: 100vw; - height: 100vh; - - .current-image-next-prev-buttons { - position: absolute; - } - - .lightbox-image { - grid-area: lightbox-content; - border-radius: 0.5rem; - } - - .lightbox-image-options { - position: absolute; - z-index: 2; - left: 1rem; - top: 4.5rem; - user-select: none; - border-radius: 0.5rem; - - display: flex; - flex-direction: column; - row-gap: 0.5rem; - } -} - -@keyframes popIn { - from { - opacity: 0; - filter: blur(100); - } - to { - opacity: 1; - filter: blur(0); - } -} diff --git a/invokeai/frontend/web/src/features/lightbox/components/Lightbox.tsx b/invokeai/frontend/web/src/features/lightbox/components/Lightbox.tsx index d712b8d97e..79b2655583 100644 --- a/invokeai/frontend/web/src/features/lightbox/components/Lightbox.tsx +++ b/invokeai/frontend/web/src/features/lightbox/components/Lightbox.tsx @@ -1,21 +1,40 @@ -import { IconButton } from '@chakra-ui/react'; +import { Box, Flex, Grid } from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAIIconButton from 'common/components/IAIIconButton'; import CurrentImageButtons from 'features/gallery/components/CurrentImageButtons'; -import { imagesSelector } from 'features/gallery/components/CurrentImagePreview'; import ImageGallery from 'features/gallery/components/ImageGallery'; import ImageMetadataViewer from 'features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer'; -import { - selectNextImage, - selectPrevImage, -} from 'features/gallery/store/gallerySlice'; +import NextPrevImageButtons from 'features/gallery/components/NextPrevImageButtons'; +import { gallerySelector } from 'features/gallery/store/gallerySelectors'; import { setIsLightboxOpen } from 'features/lightbox/store/lightboxSlice'; -import { useState } from 'react'; +import { uiSelector } from 'features/ui/store/uiSelectors'; +import { isEqual } from 'lodash'; import { useHotkeys } from 'react-hotkeys-hook'; import { BiExit } from 'react-icons/bi'; -import { FaAngleLeft, FaAngleRight } from 'react-icons/fa'; -import ReactPanZoom from './ReactPanZoom'; +import { TransformWrapper } from 'react-zoom-pan-pinch'; +import useImageTransform from '../hooks/useImageTransform'; +import ReactPanZoomButtons from './ReactPanZoomButtons'; +import ReactPanZoomImage from './ReactPanZoomImage'; + +export const lightboxSelector = createSelector( + [gallerySelector, uiSelector], + (gallery, ui) => { + const { currentImage } = gallery; + const { shouldShowImageDetails } = ui; + + return { + viewerImageToDisplay: currentImage, + shouldShowImageDetails, + }; + }, + { + memoizeOptions: { + resultEqualityCheck: isEqual, + }, + } +); export default function Lightbox() { const dispatch = useAppDispatch(); @@ -24,30 +43,18 @@ export default function Lightbox() { ); const { - viewerImageToDisplay, - shouldShowImageDetails, - isOnFirstImage, - isOnLastImage, - } = useAppSelector(imagesSelector); + rotation, + scaleX, + scaleY, + flipHorizontally, + flipVertically, + rotateCounterClockwise, + rotateClockwise, + reset, + } = useImageTransform(); - const [shouldShowNextPrevButtons, setShouldShowNextPrevButtons] = - useState(false); - - const handleCurrentImagePreviewMouseOver = () => { - setShouldShowNextPrevButtons(true); - }; - - const handleCurrentImagePreviewMouseOut = () => { - setShouldShowNextPrevButtons(false); - }; - - const handleClickPrevButton = () => { - dispatch(selectPrevImage()); - }; - - const handleClickNextButton = () => { - dispatch(selectNextImage()); - }; + const { viewerImageToDisplay, shouldShowImageDetails } = + useAppSelector(lightboxSelector); useHotkeys( 'Esc', @@ -58,66 +65,106 @@ export default function Lightbox() { ); return ( -
    - } - aria-label="Exit Viewer" - className="lightbox-close-btn" - onClick={() => { - dispatch(setIsLightboxOpen(false)); + + + > + + } + aria-label="Exit Viewer" + onClick={() => { + dispatch(setIsLightboxOpen(false)); + }} + fontSize={20} + /> + + -
    -
    - - {!shouldShowImageDetails && ( -
    -
    - {shouldShowNextPrevButtons && !isOnFirstImage && ( - } - variant="unstyled" - onClick={handleClickPrevButton} - /> + + + {viewerImageToDisplay && ( + <> + + {shouldShowImageDetails && ( + )} -
    -
    + )} + + {!shouldShowImageDetails && ( + - {shouldShowNextPrevButtons && !isOnLastImage && ( - } - variant="unstyled" - onClick={handleClickNextButton} - /> - )} -
    -
    - )} - {viewerImageToDisplay && ( - <> - - {shouldShowImageDetails && ( - - )} - - )} -
    - -
    -
    + + + )} + + + + + + + + + ); } diff --git a/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoom.tsx b/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoom.tsx deleted file mode 100644 index 9401a97874..0000000000 --- a/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoom.tsx +++ /dev/null @@ -1,135 +0,0 @@ -import IAIIconButton from 'common/components/IAIIconButton'; -import * as React from 'react'; -import { - BiReset, - BiRotateLeft, - BiRotateRight, - BiZoomIn, - BiZoomOut, -} from 'react-icons/bi'; -import { MdFlip } from 'react-icons/md'; -import { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch'; - -type ReactPanZoomProps = { - image: string; - styleClass?: string; - alt?: string; - ref?: React.Ref; -}; - -export default function ReactPanZoom({ - image, - alt, - ref, - styleClass, -}: ReactPanZoomProps) { - const [rotation, setRotation] = React.useState(0); - const [flip, setFlip] = React.useState(false); - - const rotateLeft = () => { - if (rotation === -3) { - setRotation(0); - } else { - setRotation(rotation - 1); - } - }; - - const rotateRight = () => { - if (rotation === 3) { - setRotation(0); - } else { - setRotation(rotation + 1); - } - }; - - const flipImage = () => { - setFlip(!flip); - }; - - return ( - - {({ zoomIn, zoomOut, resetTransform, centerView }) => ( - <> -
    - } - aria-label="Zoom In" - tooltip="Zoom In" - onClick={() => zoomIn()} - fontSize={20} - /> - - } - aria-label="Zoom Out" - tooltip="Zoom Out" - onClick={() => zoomOut()} - fontSize={20} - /> - - } - aria-label="Rotate Left" - tooltip="Rotate Left" - onClick={rotateLeft} - fontSize={20} - /> - - } - aria-label="Rotate Right" - tooltip="Rotate Right" - onClick={rotateRight} - fontSize={20} - /> - - } - aria-label="Flip Image" - tooltip="Flip Image" - onClick={flipImage} - fontSize={20} - /> - - } - aria-label="Reset" - tooltip="Reset" - onClick={() => { - resetTransform(); - setRotation(0); - setFlip(false); - }} - fontSize={20} - /> -
    - - {alt} centerView(1, 0, 'easeOut')} - /> - - - )} -
    - ); -} diff --git a/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoomButtons.tsx b/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoomButtons.tsx new file mode 100644 index 0000000000..fffe609ab7 --- /dev/null +++ b/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoomButtons.tsx @@ -0,0 +1,94 @@ +import { ButtonGroup } from '@chakra-ui/react'; +import IAIIconButton from 'common/components/IAIIconButton'; +import { + BiReset, + BiRotateLeft, + BiRotateRight, + BiZoomIn, + BiZoomOut, +} from 'react-icons/bi'; +import { MdFlip } from 'react-icons/md'; +import { useTransformContext } from 'react-zoom-pan-pinch'; + +type ReactPanZoomButtonsProps = { + flipHorizontally: () => void; + flipVertically: () => void; + rotateCounterClockwise: () => void; + rotateClockwise: () => void; + reset: () => void; +}; + +const ReactPanZoomButtons = ({ + flipHorizontally, + flipVertically, + rotateCounterClockwise, + rotateClockwise, + reset, +}: ReactPanZoomButtonsProps) => { + const { zoomIn, zoomOut, resetTransform } = useTransformContext(); + + return ( + + } + aria-label="Zoom In" + tooltip="Zoom In" + onClick={() => zoomIn()} + fontSize={20} + /> + + } + aria-label="Zoom Out" + tooltip="Zoom Out" + onClick={() => zoomOut()} + fontSize={20} + /> + + } + aria-label="Rotate Counter-Clockwise" + tooltip="Rotate Counter-Clockwise" + onClick={rotateCounterClockwise} + fontSize={20} + /> + + } + aria-label="Rotate Clockwise" + tooltip="Rotate Clockwise" + onClick={rotateClockwise} + fontSize={20} + /> + + } + aria-label="Flip Horizontally" + tooltip="Flip Horizontally" + onClick={flipHorizontally} + fontSize={20} + /> + + } + aria-label="Flip Vertically" + tooltip="Flip Vertically" + onClick={flipVertically} + fontSize={20} + /> + + } + aria-label="Reset" + tooltip="Reset" + onClick={() => { + resetTransform(); + reset(); + }} + fontSize={20} + /> + + ); +}; + +export default ReactPanZoomButtons; diff --git a/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoomImage.tsx b/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoomImage.tsx new file mode 100644 index 0000000000..db6a02ae71 --- /dev/null +++ b/invokeai/frontend/web/src/features/lightbox/components/ReactPanZoomImage.tsx @@ -0,0 +1,45 @@ +import * as React from 'react'; +import { TransformComponent, useTransformContext } from 'react-zoom-pan-pinch'; + +type ReactPanZoomProps = { + image: string; + styleClass?: string; + alt?: string; + ref?: React.Ref; + rotation: number; + scaleX: number; + scaleY: number; +}; + +export default function ReactPanZoomImage({ + image, + alt, + ref, + styleClass, + rotation, + scaleX, + scaleY, +}: ReactPanZoomProps) { + const { centerView } = useTransformContext(); + + return ( + + {alt} centerView(1, 0, 'easeOut')} + /> + + ); +} diff --git a/invokeai/frontend/web/src/features/lightbox/hooks/useImageTransform.ts b/invokeai/frontend/web/src/features/lightbox/hooks/useImageTransform.ts new file mode 100644 index 0000000000..c191d7d1d7 --- /dev/null +++ b/invokeai/frontend/web/src/features/lightbox/hooks/useImageTransform.ts @@ -0,0 +1,50 @@ +import { useState } from 'react'; + +const useImageTransform = () => { + const [rotation, setRotation] = useState(0); + const [scaleX, setScaleX] = useState(1); + const [scaleY, setScaleY] = useState(1); + + const rotateCounterClockwise = () => { + if (rotation === -270) { + setRotation(0); + } else { + setRotation(rotation - 90); + } + }; + + const rotateClockwise = () => { + if (rotation === 270) { + setRotation(0); + } else { + setRotation(rotation + 90); + } + }; + + const flipHorizontally = () => { + setScaleX(scaleX * -1); + }; + + const flipVertically = () => { + setScaleY(scaleY * -1); + }; + + const reset = () => { + setRotation(0); + setScaleX(1); + setScaleY(1); + }; + + return { + rotation, + scaleX, + scaleY, + flipHorizontally, + flipVertically, + rotateCounterClockwise, + rotateClockwise, + reset, + }; +}; + +export default useImageTransform; diff --git a/invokeai/frontend/web/src/features/parameters/components/AccordionItems/AdvancedSettings.scss b/invokeai/frontend/web/src/features/parameters/components/AccordionItems/AdvancedSettings.scss deleted file mode 100644 index dcf1b23538..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/AccordionItems/AdvancedSettings.scss +++ /dev/null @@ -1,54 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.advanced-parameters { - padding-top: 0.5rem; - display: grid; - row-gap: 0.5rem; -} - -.advanced-parameters-item { - display: grid; - max-width: $options-bar-max-width; - border: none; - border-top: 0px; - border-radius: 0.4rem; - background-color: var(--tab-panel-bg); - - &[aria-expanded='true'] { - background-color: var(--tab-hover-color); - border-radius: 0 0 0.4rem 0.4rem; - } -} - -.advanced-parameters-panel { - background-color: var(--tab-panel-bg); - border-radius: 0 0 0.4rem 0.4rem; - padding: 1rem; - - button { - background-color: var(--btn-base-color); - &:hover { - background-color: var(--btn-base-color-hover); - } - - &:disabled { - &:hover { - background-color: var(--btn-base-color); - } - } - } -} - -.advanced-parameters-header { - border-radius: 0.4rem; - font-weight: bold; - - &[aria-expanded='true'] { - background-color: var(--tab-hover-color); - border-radius: 0.4rem 0.4rem 0 0; - } - - &:hover { - background-color: var(--tab-hover-color); - } -} diff --git a/invokeai/frontend/web/src/features/parameters/components/AccordionItems/InvokeAccordionItem.tsx b/invokeai/frontend/web/src/features/parameters/components/AccordionItems/InvokeAccordionItem.tsx index af93704c82..b742f5a37e 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AccordionItems/InvokeAccordionItem.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AccordionItems/InvokeAccordionItem.tsx @@ -21,10 +21,10 @@ export default function InvokeAccordionItem(props: InvokeAccordionItemProps) { const { header, feature, content, additionalHeaderComponents } = props; return ( - - - - + + + + {header} {additionalHeaderComponents} @@ -32,9 +32,7 @@ export default function InvokeAccordionItem(props: InvokeAccordionItemProps) { - - {content} - + {content} ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.scss b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.scss deleted file mode 100644 index b7df91c843..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.scss +++ /dev/null @@ -1,53 +0,0 @@ -.inpainting-bounding-box-settings { - display: flex; - flex-direction: column; - border-radius: 0.4rem; - border: 2px solid var(--tab-color); -} - -.inpainting-bounding-box-header { - background-color: var(--tab-color); - display: flex; - flex-direction: row; - justify-content: space-between; - padding: 0.5rem 1rem; - border-radius: 0.3rem 0.3rem 0 0; - align-items: center; - - button { - width: 0.5rem; - height: 1.2rem; - background: none; - &:hover { - background: none; - } - } - - p { - // font-weight: bold; - } -} - -.inpainting-bounding-box-settings-items { - padding: 1rem; - display: flex; - flex-direction: column; - row-gap: 1rem; - - .inpainting-bounding-box-reset-icon-btn { - background-color: var(--btn-base-color); - &:hover { - background-color: var(--btn-base-color-hover); - } - } -} - -.inpainting-bounding-box-dimensions-slider-numberinput { - display: grid; - grid-template-columns: repeat(3, auto); - column-gap: 1rem; -} - -.inpainting-bounding-box-darken { - width: max-content; -} diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.tsx index b7fd7d4c67..67740cbc02 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.tsx @@ -1,4 +1,4 @@ -import { Box, Flex } from '@chakra-ui/react'; +import { Box, VStack } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAISlider from 'common/components/IAISlider'; @@ -68,7 +68,7 @@ const BoundingBoxSettings = () => { }; return ( - + { inputReadOnly withReset handleReset={handleResetWidth} - sliderMarkRightOffset={-7} /> { inputReadOnly withReset handleReset={handleResetHeight} - sliderMarkRightOffset={-7} /> - + ); }; @@ -108,7 +106,7 @@ export default BoundingBoxSettings; export const BoundingBoxSettingsHeader = () => { const { t } = useTranslation(); return ( - + {t('parameters.boundingBoxHeader')} ); diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/InfillAndScalingSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/InfillAndScalingSettings.tsx index a1f3759837..187b23cdff 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/InfillAndScalingSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/InfillAndScalingSettings.tsx @@ -1,4 +1,4 @@ -import { Flex } from '@chakra-ui/react'; +import { VStack } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAISelect from 'common/components/IAISelect'; @@ -107,7 +107,7 @@ const InfillAndScalingSettings = () => { }; return ( - + { inputReadOnly withReset handleReset={handleResetScaledWidth} - sliderMarkRightOffset={-7} /> { inputReadOnly withReset handleReset={handleResetScaledHeight} - sliderMarkRightOffset={-7} /> { isInputDisabled={infillMethod !== 'tile'} isResetDisabled={infillMethod !== 'tile'} isSliderDisabled={infillMethod !== 'tile'} - sliderMarkRightOffset={-4} label={t('parameters.tileSize')} min={16} max={64} @@ -176,7 +173,7 @@ const InfillAndScalingSettings = () => { dispatch(setTileSize(32)); }} /> - + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamBlur.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamBlur.tsx index e3107e1d72..1f5237615a 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamBlur.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamBlur.tsx @@ -13,7 +13,6 @@ export default function SeamBlur() { return ( { return ( - + - + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamSize.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamSize.tsx index dccbd89b72..25d14e5eac 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamSize.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Canvas/SeamCorrection/SeamSize.tsx @@ -14,7 +14,6 @@ export default function SeamSize() { return ( { ); return ( - + {facetoolType === 'codeformer' && } - + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/ImageToImage/ImageToImageStrength.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/ImageToImage/ImageToImageStrength.tsx index 908aa7548b..e4d5a9174d 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/ImageToImage/ImageToImageStrength.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/ImageToImage/ImageToImageStrength.tsx @@ -6,12 +6,11 @@ import { useTranslation } from 'react-i18next'; interface ImageToImageStrengthProps { label?: string; - styleClass?: string; } export default function ImageToImageStrength(props: ImageToImageStrengthProps) { const { t } = useTranslation(); - const { label = `${t('parameters.strength')}`, styleClass } = props; + const { label = `${t('parameters.strength')}` } = props; const img2imgStrength = useAppSelector( (state: RootState) => state.generation.img2imgStrength ); @@ -33,10 +32,9 @@ export default function ImageToImageStrength(props: ImageToImageStrengthProps) { onChange={handleChangeStrength} value={img2imgStrength} isInteger={false} - styleClass={styleClass} withInput withSliderMarks - inputWidth="5.5rem" + inputWidth={22} withReset handleReset={handleImg2ImgStrengthReset} /> diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/HiresSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/HiresSettings.tsx index 5f99f10b5c..97705da9cc 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/HiresSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/HiresSettings.tsx @@ -1,10 +1,8 @@ -import { Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import type { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAISlider from 'common/components/IAISlider'; import IAISwitch from 'common/components/IAISwitch'; -import SubItemHook from 'common/components/SubItemHook'; import { postprocessingSelector } from 'features/parameters/store/postprocessingSelectors'; import { setHiresFix, @@ -24,7 +22,7 @@ const hiresStrengthSelector = createSelector( } ); -const HiresStrength = () => { +export const HiresStrength = () => { const { hiresFix, hiresStrength } = useAppSelector(hiresStrengthSelector); const dispatch = useAppDispatch(); @@ -40,34 +38,30 @@ const HiresStrength = () => { }; return ( - - - - + ); }; /** * Hires Fix Toggle */ -const HiresSettings = () => { +export const HiresToggle = () => { const dispatch = useAppDispatch(); const hiresFix = useAppSelector( @@ -80,16 +74,11 @@ const HiresSettings = () => { dispatch(setHiresFix(e.target.checked)); return ( - - - - + ); }; - -export default HiresSettings; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/ImageToImageOutputSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/ImageToImageOutputSettings.tsx index f037e79523..c2dea1cbf8 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/ImageToImageOutputSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/ImageToImageOutputSettings.tsx @@ -1,11 +1,11 @@ -import { Flex } from '@chakra-ui/react'; +import { VStack } from '@chakra-ui/react'; import SeamlessSettings from './SeamlessSettings'; const ImageToImageOutputSettings = () => { return ( - + - + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/OutputSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/OutputSettings.tsx index 1eaba1eaae..93ba63d065 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/OutputSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/OutputSettings.tsx @@ -1,13 +1,14 @@ -import { Flex } from '@chakra-ui/react'; -import HiresSettings from './HiresSettings'; +import { VStack } from '@chakra-ui/react'; +import { HiresStrength, HiresToggle } from './HiresSettings'; import SeamlessSettings from './SeamlessSettings'; const OutputSettings = () => { return ( - + - - + + + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SeamlessSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SeamlessSettings.tsx index fc649e0400..ddd6a4b24b 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SeamlessSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SeamlessSettings.tsx @@ -1,4 +1,3 @@ -import { Flex } from '@chakra-ui/react'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAISwitch from 'common/components/IAISwitch'; @@ -22,14 +21,12 @@ const SeamlessSettings = () => { const { t } = useTranslation(); return ( - - - + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SymmetrySettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SymmetrySettings.tsx index 37bb7bdbda..e23385d0bc 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SymmetrySettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Output/SymmetrySettings.tsx @@ -1,19 +1,20 @@ +import { VStack } from '@chakra-ui/react'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAISlider from 'common/components/IAISlider'; import { - setHorizontalSymmetryTimePercentage, - setVerticalSymmetryTimePercentage, + setHorizontalSymmetrySteps, + setVerticalSymmetrySteps, } from 'features/parameters/store/generationSlice'; import { useTranslation } from 'react-i18next'; export default function SymmetrySettings() { - const horizontalSymmetryTimePercentage = useAppSelector( - (state: RootState) => state.generation.horizontalSymmetryTimePercentage + const horizontalSymmetrySteps = useAppSelector( + (state: RootState) => state.generation.horizontalSymmetrySteps ); - const verticalSymmetryTimePercentage = useAppSelector( - (state: RootState) => state.generation.verticalSymmetryTimePercentage + const verticalSymmetrySteps = useAppSelector( + (state: RootState) => state.generation.verticalSymmetrySteps ); const steps = useAppSelector((state: RootState) => state.generation.steps); @@ -23,33 +24,31 @@ export default function SymmetrySettings() { const { t } = useTranslation(); return ( - <> + dispatch(setHorizontalSymmetryTimePercentage(v))} + value={horizontalSymmetrySteps} + onChange={(v) => dispatch(setHorizontalSymmetrySteps(v))} min={0} max={steps} step={1} withInput withSliderMarks withReset - handleReset={() => dispatch(setHorizontalSymmetryTimePercentage(0))} - sliderMarkRightOffset={-6} - > + handleReset={() => dispatch(setHorizontalSymmetrySteps(0))} + /> dispatch(setVerticalSymmetryTimePercentage(v))} + value={verticalSymmetrySteps} + onChange={(v) => dispatch(setVerticalSymmetrySteps(v))} min={0} max={steps} step={1} withInput withSliderMarks withReset - handleReset={() => dispatch(setVerticalSymmetryTimePercentage(0))} - sliderMarkRightOffset={-6} - > - + handleReset={() => dispatch(setVerticalSymmetrySteps(0))} + /> + ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Seed.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Seed.tsx index 5d9d388098..7aac200b26 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Seed.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Seed.tsx @@ -1,9 +1,11 @@ +import { HStack } from '@chakra-ui/react'; import { NUMPY_RAND_MAX, NUMPY_RAND_MIN } from 'app/constants'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAINumberInput from 'common/components/IAINumberInput'; import { setSeed } from 'features/parameters/store/generationSlice'; import { useTranslation } from 'react-i18next'; +import ShuffleSeed from './ShuffleSeed'; export default function Seed() { const seed = useAppSelector((state: RootState) => state.generation.seed); @@ -21,18 +23,25 @@ export default function Seed() { const handleChangeSeed = (v: number) => dispatch(setSeed(v)); return ( - + + + + ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/SeedSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/SeedSettings.tsx index d524ace666..891b528acd 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/SeedSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/SeedSettings.tsx @@ -1,8 +1,7 @@ -import { Flex } from '@chakra-ui/react'; +import { VStack } from '@chakra-ui/react'; import Perlin from './Perlin'; import RandomizeSeed from './RandomizeSeed'; import Seed from './Seed'; -import ShuffleSeed from './ShuffleSeed'; import Threshold from './Threshold'; /** @@ -10,19 +9,12 @@ import Threshold from './Threshold'; */ const SeedSettings = () => { return ( - + - - - - - - - - - - - + + + + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Threshold.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Threshold.tsx index ea1721fc61..dbcf201d04 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Threshold.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Seed/Threshold.tsx @@ -23,7 +23,6 @@ export default function Threshold() { withInput withReset withSliderMarks - sliderMarkRightOffset={-4} /> ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Upscale/UpscaleSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Upscale/UpscaleSettings.tsx index de8fb16a9e..291b8f9dc2 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Upscale/UpscaleSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Upscale/UpscaleSettings.tsx @@ -1,4 +1,4 @@ -import { Flex } from '@chakra-ui/react'; +import { VStack } from '@chakra-ui/react'; import UpscaleDenoisingStrength from './UpscaleDenoisingStrength'; import UpscaleStrength from './UpscaleStrength'; import UpscaleScale from './UpscaleScale'; @@ -8,11 +8,11 @@ import UpscaleScale from './UpscaleScale'; */ const UpscaleSettings = () => { return ( - + - + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Variations/VariationsSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Variations/VariationsSettings.tsx index 82950231a2..d3bc43f7ae 100644 --- a/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Variations/VariationsSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/AdvancedParameters/Variations/VariationsSettings.tsx @@ -1,4 +1,4 @@ -import { Flex } from '@chakra-ui/react'; +import { VStack } from '@chakra-ui/react'; import SeedWeights from './SeedWeights'; import VariationAmount from './VariationAmount'; @@ -7,10 +7,10 @@ import VariationAmount from './VariationAmount'; */ const VariationsSettings = () => { return ( - + - + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainCFGScale.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainCFGScale.tsx index bb418fa9c0..6c4cecfe17 100644 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainCFGScale.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainCFGScale.tsx @@ -26,7 +26,6 @@ export default function MainCFGScale() { onChange={handleChangeCfgScale} handleReset={() => dispatch(setCfgScale(7.5))} value={cfgScale} - sliderMarkRightOffset={-5} sliderNumberInputProps={{ max: 200 }} withInput withReset @@ -40,10 +39,8 @@ export default function MainCFGScale() { max={200} onChange={handleChangeCfgScale} value={cfgScale} - width="auto" - styleClass="main-settings-block" - textAlign="center" isInteger={false} + numberInputFieldProps={{ textAlign: 'center' }} /> ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainHeight.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainHeight.tsx index e659cd29d3..0068568402 100644 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainHeight.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainHeight.tsx @@ -32,8 +32,6 @@ export default function MainHeight() { withInput withReset withSliderMarks - sliderMarkRightOffset={-8} - inputWidth="6.2rem" sliderNumberInputProps={{ max: 15360 }} /> ) : ( @@ -44,8 +42,6 @@ export default function MainHeight() { flexGrow={1} onChange={(e) => dispatch(setHeight(Number(e.target.value)))} validValues={HEIGHTS} - styleClass="main-settings-block" - width="5.5rem" /> ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainIterations.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainIterations.tsx index 0100c8999c..f9e31c71da 100644 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainIterations.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainIterations.tsx @@ -32,7 +32,6 @@ export default function MainIterations() { withInput withReset withSliderMarks - sliderMarkRightOffset={-5} sliderNumberInputProps={{ max: 9999 }} /> ) : ( @@ -43,10 +42,7 @@ export default function MainIterations() { max={9999} onChange={handleChangeIterations} value={iterations} - width="auto" - labelFontSize={0.5} - styleClass="main-settings-block" - textAlign="center" + numberInputFieldProps={{ textAlign: 'center' }} /> ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainParameters.scss b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainParameters.scss deleted file mode 100644 index 962bfac1b2..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainParameters.scss +++ /dev/null @@ -1,35 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.main-settings { - display: grid; - row-gap: 1rem; -} - -.main-settings-list { - display: grid; - row-gap: 1rem; -} - -.main-settings-row { - display: grid; - grid-template-columns: repeat(3, auto); - column-gap: 0.5rem; - max-width: $options-bar-max-width; -} - -.main-settings-block { - border-radius: 0.5rem; - display: grid !important; - grid-template-columns: auto !important; - row-gap: 0.5rem; - - .invokeai__number-input-form-label, - .invokeai__select-label { - font-weight: bold; - font-size: 0.9rem !important; - } - - .invokeai__select-label { - margin: 0; - } -} diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainParameters.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainParameters.tsx deleted file mode 100644 index e11e16d4df..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainParameters.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { Flex } from '@chakra-ui/react'; -import { RootState } from 'app/store'; -import { useAppSelector } from 'app/storeHooks'; -import { useTranslation } from 'react-i18next'; -import ParametersAccordion from '../ParametersAccordion'; -import MainCFGScale from './MainCFGScale'; -import MainHeight from './MainHeight'; -import MainIterations from './MainIterations'; -import MainSampler from './MainSampler'; -import MainSteps from './MainSteps'; -import MainWidth from './MainWidth'; - -export const inputWidth = 'auto'; - -export default function MainSettings() { - const { t } = useTranslation(); - - const shouldUseSliders = useAppSelector( - (state: RootState) => state.ui.shouldUseSliders - ); - - const accordionItems = { - main: { - header: `${t('parameters.general')}`, - feature: undefined, - content: shouldUseSliders ? ( - - - - - - - - - ) : ( - - - - - - - - - - - - - ), - }, - }; - return ; -} diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSampler.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSampler.tsx index 9c3fd09ac3..0f55cca12a 100644 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSampler.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSampler.tsx @@ -26,8 +26,7 @@ export default function MainSampler() { validValues={ activeModel.format === 'diffusers' ? DIFFUSERS_SAMPLERS : SAMPLERS } - styleClass="main-settings-block" - minWidth="9rem" + minWidth={36} /> ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSettings.tsx new file mode 100644 index 0000000000..cad30e58e6 --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSettings.tsx @@ -0,0 +1,39 @@ +import { Flex, VStack } from '@chakra-ui/react'; +import { RootState } from 'app/store'; +import { useAppSelector } from 'app/storeHooks'; +import MainCFGScale from './MainCFGScale'; +import MainHeight from './MainHeight'; +import MainIterations from './MainIterations'; +import MainSampler from './MainSampler'; +import MainSteps from './MainSteps'; +import MainWidth from './MainWidth'; + +export default function MainSettings() { + const shouldUseSliders = useAppSelector( + (state: RootState) => state.ui.shouldUseSliders + ); + + return shouldUseSliders ? ( + + + + + + + + + ) : ( + + + + + + + + + + + + + ); +} diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSteps.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSteps.tsx index 3be575f7bf..58553bca86 100644 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSteps.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainSteps.tsx @@ -3,7 +3,10 @@ import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAINumberInput from 'common/components/IAINumberInput'; import IAISlider from 'common/components/IAISlider'; -import { setSteps } from 'features/parameters/store/generationSlice'; +import { + clampSymmetrySteps, + setSteps, +} from 'features/parameters/store/generationSlice'; import { useTranslation } from 'react-i18next'; export default function MainSteps() { @@ -14,7 +17,13 @@ export default function MainSteps() { ); const { t } = useTranslation(); - const handleChangeSteps = (v: number) => dispatch(setSteps(v)); + const handleChangeSteps = (v: number) => { + dispatch(setSteps(v)); + }; + + const handleBlur = () => { + dispatch(clampSymmetrySteps()); + }; return shouldUseSliders ? ( ) : ( @@ -38,9 +46,8 @@ export default function MainSteps() { step={1} onChange={handleChangeSteps} value={steps} - width="auto" - styleClass="main-settings-block" - textAlign="center" + numberInputFieldProps={{ textAlign: 'center' }} + onBlur={handleBlur} /> ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainWidth.tsx b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainWidth.tsx index 7abffcf657..c133f804e7 100644 --- a/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainWidth.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/MainParameters/MainWidth.tsx @@ -32,8 +32,6 @@ export default function MainWidth() { withInput withReset withSliderMarks - sliderMarkRightOffset={-8} - inputWidth="6.2rem" inputReadOnly sliderNumberInputProps={{ max: 15360 }} /> @@ -45,8 +43,6 @@ export default function MainWidth() { flexGrow={1} onChange={(e) => dispatch(setWidth(Number(e.target.value)))} validValues={WIDTHS} - styleClass="main-settings-block" - width="5.5rem" /> ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/ParametersAccordion.tsx b/invokeai/frontend/web/src/features/parameters/components/ParametersAccordion.tsx index 9738b0d30a..019fb02f90 100644 --- a/invokeai/frontend/web/src/features/parameters/components/ParametersAccordion.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/ParametersAccordion.tsx @@ -1,4 +1,4 @@ -import { Accordion, ExpandedIndex } from '@chakra-ui/react'; +import { Accordion } from '@chakra-ui/react'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import { setOpenAccordions } from 'features/system/store/systemSlice'; @@ -30,7 +30,7 @@ const ParametersAccordion = (props: ParametersAccordionsType) => { /** * Stores accordion state in redux so preferred UI setup is retained. */ - const handleChangeAccordionState = (openAccordions: ExpandedIndex) => + const handleChangeAccordionState = (openAccordions: number | number[]) => dispatch(setOpenAccordions(openAccordions)); const renderAccordions = () => { @@ -59,7 +59,6 @@ const ParametersAccordion = (props: ParametersAccordionsType) => { allowMultiple reduceMotion onChange={handleChangeAccordionState} - className="advanced-parameters" > {renderAccordions()} diff --git a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/CancelButton.tsx b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/CancelButton.tsx index 88eb203fc9..9363bcdfd3 100644 --- a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/CancelButton.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/CancelButton.tsx @@ -95,12 +95,7 @@ export default function CancelButton( ]; return ( - + {cancelType === 'immediate' ? ( } @@ -108,17 +103,13 @@ export default function CancelButton( aria-label={t('parameters.cancel.immediate')} isDisabled={!isConnected || !isProcessing || !isCancelable} onClick={handleClickCancel} - className="cancel-btn" + colorScheme="error" {...rest} /> ) : ( - ) : ( - - ) + isCancelScheduled ? : } tooltip={ isCancelScheduled @@ -141,7 +132,7 @@ export default function CancelButton( if (isCancelScheduled) dispatch(setCancelAfter(null)); else dispatch(setCancelAfter(currentIteration)); }} - className="cancel-btn" + colorScheme="error" {...rest} /> )} @@ -149,13 +140,8 @@ export default function CancelButton( menuItems={cancelMenuItems} iconTooltip={t('parameters.cancel.setType')} menuButtonProps={{ - backgroundColor: 'var(--destructive-color)', - color: 'var(--text-color)', - minWidth: '1.5rem', - minHeight: '1.5rem', - _hover: { - backgroundColor: 'var(--destructive-color-hover)', - }, + colorScheme: 'error', + minWidth: 5, }} /> diff --git a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/InvokeButton.tsx b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/InvokeButton.tsx index 504714d329..b68f245044 100644 --- a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/InvokeButton.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/InvokeButton.tsx @@ -1,3 +1,4 @@ +import { Box } from '@chakra-ui/react'; import { readinessSelector } from 'app/selectors/readinessSelector'; import { generateImage } from 'app/socketio/actions'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; @@ -5,6 +6,7 @@ import IAIButton, { IAIButtonProps } from 'common/components/IAIButton'; import IAIIconButton, { IAIIconButtonProps, } from 'common/components/IAIIconButton'; +import { clampSymmetrySteps } from 'features/parameters/store/generationSlice'; import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; import { useHotkeys } from 'react-hotkeys-hook'; import { useTranslation } from 'react-i18next'; @@ -30,6 +32,7 @@ export default function InvokeButton(props: InvokeButton) { useHotkeys( ['ctrl+enter', 'meta+enter'], () => { + dispatch(clampSymmetrySteps()); dispatch(generateImage(activeTabName)); }, { @@ -41,7 +44,7 @@ export default function InvokeButton(props: InvokeButton) { ); return ( -
    + {iconButton ? ( } isDisabled={!isReady} onClick={handleClickGenerate} - className="invoke-btn" + flexGrow={1} + w="100%" tooltip={t('parameters.invoke')} tooltipProps={{ placement: 'bottom' }} + colorScheme="accent" {...rest} /> ) : ( @@ -60,12 +65,15 @@ export default function InvokeButton(props: InvokeButton) { type="submit" isDisabled={!isReady} onClick={handleClickGenerate} - className="invoke-btn" + flexGrow={1} + w="100%" + colorScheme="accent" + fontWeight={700} {...rest} > Invoke )} -
    +
    ); } diff --git a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/Loopback.tsx b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/Loopback.tsx index 9c0ba478d4..09cc991653 100644 --- a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/Loopback.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/Loopback.tsx @@ -21,8 +21,6 @@ const LoopbackButton = () => { } onClick={() => { diff --git a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/ProcessButtons.scss b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/ProcessButtons.scss deleted file mode 100644 index 658ee08177..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/ProcessButtons.scss +++ /dev/null @@ -1,56 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.process-buttons { - display: flex; - column-gap: 0.5rem; -} - -.invoke-btn { - flex-grow: 1; - width: 100%; - - @include Button( - $btn-color: var(--accent-color), - $btn-color-hover: var(--accent-color-hover), - $icon-size: 16px - ); -} - -.cancel-btn { - @include Button( - $btn-color: var(--destructive-color), - $btn-color-hover: var(--destructive-color-hover), - $btn-width: 3rem - ); -} - -.loopback-btn { - &[data-as-checkbox='true'] { - background-color: var(--btn-btn-base-color); - border: 3px solid var(--btn-btn-base-color); - svg { - fill: var(--text-color); - } - &:hover { - background-color: var(--btn-btn-base-color); - border-color: var(--btn-checkbox-border-hover); - svg { - fill: var(--text-color); - } - } - &[data-selected='true'] { - border-color: var(--accent-color); - background-color: var(--btn-btn-base-color); - svg { - fill: var(--text-color); - } - &:hover { - border-color: var(--accent-color); - background-color: var(--btn-btn-base-color); - svg { - fill: var(--text-color); - } - } - } - } -} diff --git a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/ProcessButtons.tsx b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/ProcessButtons.tsx index 0f48fbce8a..e4b3798548 100644 --- a/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/ProcessButtons.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/ProcessButtons/ProcessButtons.tsx @@ -1,3 +1,4 @@ +import { Flex } from '@chakra-ui/react'; import { useAppSelector } from 'app/storeHooks'; import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; import CancelButton from './CancelButton'; @@ -11,11 +12,11 @@ const ProcessButtons = () => { const activeTabName = useAppSelector(activeTabNameSelector); return ( -
    + {activeTabName === 'img2img' && } -
    +
    ); }; diff --git a/invokeai/frontend/web/src/features/parameters/components/PromptInput/NegativePromptInput.tsx b/invokeai/frontend/web/src/features/parameters/components/PromptInput/NegativePromptInput.tsx index a8b1961091..da22fa5594 100644 --- a/invokeai/frontend/web/src/features/parameters/components/PromptInput/NegativePromptInput.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/PromptInput/NegativePromptInput.tsx @@ -19,19 +19,11 @@ const NegativePromptInput = () => { name="negativePrompt" value={negativePrompt} onChange={(e) => dispatch(setNegativePrompt(e.target.value))} - background="var(--prompt-bg-color)" placeholder={t('parameters.negativePrompts')} - _placeholder={{ fontSize: '0.8rem' }} - borderColor="var(--border-color)" - _hover={{ - borderColor: 'var(--border-color-light)', - }} _focusVisible={{ - borderColor: 'var(--border-color-invalid)', - boxShadow: '0 0 10px var(--box-shadow-color-invalid)', + borderColor: 'error.600', }} - fontSize="0.9rem" - color="var(--text-color-secondary)" + fontSize="sm" /> ); diff --git a/invokeai/frontend/web/src/features/parameters/components/PromptInput/PromptInput.scss b/invokeai/frontend/web/src/features/parameters/components/PromptInput/PromptInput.scss deleted file mode 100644 index e7baf2f5f9..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/PromptInput/PromptInput.scss +++ /dev/null @@ -1,34 +0,0 @@ -.prompt-bar { - display: grid; - row-gap: 1rem; - - input, - textarea { - background-color: var(--prompt-bg-color); - font-size: 1rem; - border: 2px solid var(--border-color); - - &:hover { - border: 2px solid var(--border-color-light); - } - - &:focus-visible { - border: 2px solid var(--input-border-color); - box-shadow: 0 0 10px 0 var(--input-box-shadow-color); - } - - &[aria-invalid='true'] { - border: 2px solid var(--border-color-invalid); - box-shadow: 0 0 10px 0 var(--box-shadow-color-invalid); - } - - &:disabled { - border: 2px solid var(--border-color); - box-shadow: none; - } - } - - textarea { - min-height: 10rem; - } -} diff --git a/invokeai/frontend/web/src/features/parameters/components/PromptInput/PromptInput.tsx b/invokeai/frontend/web/src/features/parameters/components/PromptInput/PromptInput.tsx index 43221f0a8d..3d5c38ddc5 100644 --- a/invokeai/frontend/web/src/features/parameters/components/PromptInput/PromptInput.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/PromptInput/PromptInput.tsx @@ -1,4 +1,4 @@ -import { FormControl, Textarea } from '@chakra-ui/react'; +import { Box, FormControl, Textarea } from '@chakra-ui/react'; import { generateImage } from 'app/socketio/actions'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; @@ -63,7 +63,7 @@ const PromptInput = () => { }; return ( -
    + @@ -71,19 +71,15 @@ const PromptInput = () => { id="prompt" name="prompt" placeholder={t('parameters.promptPlaceholder')} - size="lg" value={prompt} onChange={handleChangePrompt} onKeyDown={handleKeyDown} resize="vertical" - height={30} ref={promptRef} - _placeholder={{ - color: 'var(--text-color-secondary)', - }} + minH={40} /> -
    + ); }; diff --git a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts index e05c49f3f7..1cb3a98204 100644 --- a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts +++ b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts @@ -4,6 +4,7 @@ import * as InvokeAI from 'app/invokeai'; import { getPromptAndNegative } from 'common/util/getPromptAndNegative'; import promptToString from 'common/util/promptToString'; import { seedWeightsToString } from 'common/util/seedWeightPairs'; +import { clamp } from 'lodash'; export interface GenerationState { cfgScale: number; @@ -33,8 +34,8 @@ export interface GenerationState { variationAmount: number; width: number; shouldUseSymmetry: boolean; - horizontalSymmetryTimePercentage: number; - verticalSymmetryTimePercentage: number; + horizontalSymmetrySteps: number; + verticalSymmetrySteps: number; } const initialGenerationState: GenerationState = { @@ -64,8 +65,8 @@ const initialGenerationState: GenerationState = { variationAmount: 0.1, width: 512, shouldUseSymmetry: false, - horizontalSymmetryTimePercentage: 0, - verticalSymmetryTimePercentage: 0, + horizontalSymmetrySteps: 0, + verticalSymmetrySteps: 0, }; const initialState: GenerationState = initialGenerationState; @@ -99,6 +100,18 @@ export const generationSlice = createSlice({ setSteps: (state, action: PayloadAction) => { state.steps = action.payload; }, + clampSymmetrySteps: (state) => { + state.horizontalSymmetrySteps = clamp( + state.horizontalSymmetrySteps, + 0, + state.steps + ); + state.verticalSymmetrySteps = clamp( + state.verticalSymmetrySteps, + 0, + state.steps + ); + }, setCfgScale: (state, action: PayloadAction) => { state.cfgScale = action.payload; }, @@ -174,7 +187,7 @@ export const generationSlice = createSlice({ threshold, perlin, seamless, - hires_fix, + _hires_fix, width, height, } = action.payload.image; @@ -237,7 +250,7 @@ export const generationSlice = createSlice({ threshold, perlin, seamless, - hires_fix, + _hires_fix, width, height, strength, @@ -334,22 +347,17 @@ export const generationSlice = createSlice({ setShouldUseSymmetry: (state, action: PayloadAction) => { state.shouldUseSymmetry = action.payload; }, - setHorizontalSymmetryTimePercentage: ( - state, - action: PayloadAction - ) => { - state.horizontalSymmetryTimePercentage = action.payload; + setHorizontalSymmetrySteps: (state, action: PayloadAction) => { + state.horizontalSymmetrySteps = action.payload; }, - setVerticalSymmetryTimePercentage: ( - state, - action: PayloadAction - ) => { - state.verticalSymmetryTimePercentage = action.payload; + setVerticalSymmetrySteps: (state, action: PayloadAction) => { + state.verticalSymmetrySteps = action.payload; }, }, }); export const { + clampSymmetrySteps, clearInitialImage, resetParametersState, resetSeed, @@ -384,8 +392,8 @@ export const { setVariationAmount, setWidth, setShouldUseSymmetry, - setHorizontalSymmetryTimePercentage, - setVerticalSymmetryTimePercentage, + setHorizontalSymmetrySteps, + setVerticalSymmetrySteps, } = generationSlice.actions; export default generationSlice.reducer; diff --git a/invokeai/frontend/web/src/features/system/components/Console.scss b/invokeai/frontend/web/src/features/system/components/Console.scss deleted file mode 100644 index e043d58d51..0000000000 --- a/invokeai/frontend/web/src/features/system/components/Console.scss +++ /dev/null @@ -1,75 +0,0 @@ -.console { - width: 100vw; - display: flex; - flex-direction: column; - background: var(--console-bg-color); - overflow: auto; - direction: column; - font-family: monospace; - padding: 0 1rem 1rem 3rem; - border-top-width: 0.3rem; - border-color: var(--resizeable-handle-border-color); - - .console-info-color { - color: var(--error-level-info); - } - - .console-warning-color { - color: var(--error-level-warning); - } - - .console-error-color { - color: var(--status-bad-color); - } - - .console-entry { - display: flex; - column-gap: 0.5rem; - - .console-timestamp { - font-weight: semibold; - } - - .console-message { - word-break: break-all; - } - } -} - -.console-toggle-icon-button { - background: var(--console-icon-button-bg-color); - position: fixed; - left: 0.5rem; - bottom: 0.5rem; - z-index: 10000; - - &:hover { - background: var(--console-icon-button-bg-color-hover); - } - - &[data-error-seen='true'] { - background: var(--status-bad-color); - &:hover { - background: var(--status-bad-color); - } - } -} - -.console-autoscroll-icon-button { - background: var(--console-icon-button-bg-color); - position: fixed; - left: 0.5rem; - bottom: 3rem; - z-index: 10000; - - &:hover { - background: var(--console-icon-button-bg-color-hover); - } - - &[data-autoscroll-enabled='true'] { - background: var(--accent-color); - &:hover { - background: var(--accent-color-hover); - } - } -} diff --git a/invokeai/frontend/web/src/features/system/components/Console.tsx b/invokeai/frontend/web/src/features/system/components/Console.tsx index 5ed8025730..562b339c59 100644 --- a/invokeai/frontend/web/src/features/system/components/Console.tsx +++ b/invokeai/frontend/web/src/features/system/components/Console.tsx @@ -1,6 +1,7 @@ -import { IconButton, Tooltip } from '@chakra-ui/react'; +import { Flex, Text, Tooltip } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; +import IAIIconButton from 'common/components/IAIIconButton'; import { errorSeen, setShouldShowLogViewer, @@ -105,23 +106,47 @@ const Console = () => { style={{ display: 'flex', position: 'fixed', - left: 0, + insetInlineStart: 0, bottom: 0, zIndex: 9999, }} maxHeight="90vh" > -
    + {log.map((entry, i) => { const { timestamp, message, level } = entry; + const colorScheme = level === 'info' ? 'base' : level; return ( -
    -

    {timestamp}:

    -

    {message}

    -
    + + {timestamp}: + {message} + ); })} -
    + )} {shouldShowLogViewer && ( @@ -129,14 +154,18 @@ const Console = () => { hasArrow label={shouldAutoscroll ? 'Autoscroll On' : 'Autoscroll Off'} > - } onClick={() => setShouldAutoscroll(!shouldAutoscroll)} + isChecked={shouldAutoscroll} + sx={{ + position: 'fixed', + insetInlineStart: 2, + bottom: 12, + zIndex: '10000', + }} /> )} @@ -144,15 +173,18 @@ const Console = () => { hasArrow label={shouldShowLogViewer ? 'Hide Console' : 'Show Console'} > - : } onClick={handleClickLogViewerToggle} + sx={{ + position: 'fixed', + insetInlineStart: 2, + bottom: 2, + zIndex: '10000', + }} + colorScheme={hasError || !wasErrorSeen ? 'error' : 'base'} /> diff --git a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.scss b/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.scss deleted file mode 100644 index afb2b1c61e..0000000000 --- a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.scss +++ /dev/null @@ -1,87 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.hotkeys-modal { - width: 36rem; - max-width: 36rem; - display: grid; - padding: 1rem; - row-gap: 1rem; - font-family: Inter; - - h1 { - font-size: 1.2rem; - font-weight: bold; - } - - h2 { - font-weight: bold; - } -} - -.hotkeys-modal-button { - display: flex; - align-items: center; - justify-content: space-between; -} - -.hotkeys-modal-items { - max-height: 36rem; - overflow-y: scroll; - @include HideScrollbar; - - .chakra-accordion { - display: grid; - row-gap: 0.5rem; - } - - .chakra-accordion__item { - border: none; - border-radius: 0.3rem; - background-color: var(--tab-hover-color); - } - - button { - border-radius: 0.3rem; - - &[aria-expanded='true'] { - background-color: var(--tab-hover-color); - border-radius: 0.3rem; - } - } -} - -.hotkey-modal-category { - display: grid; - row-gap: 0.5rem; -} - -.hotkey-modal-item { - display: grid; - grid-template-columns: auto max-content; - justify-content: space-between; - align-items: center; - background-color: var(--background-color); - padding: 0.5rem 1rem; - border-radius: 0.3rem; - - .hotkey-info { - display: grid; - - .hotkey-title { - font-weight: bold; - } - - .hotkey-description { - font-size: 0.9rem; - color: var(--text-color-secondary); - } - } - - .hotkey-key { - font-size: 0.8rem; - font-weight: bold; - background-color: var(--background-color-light); - padding: 0.2rem 0.5rem; - border-radius: 0.3rem; - } -} diff --git a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx b/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx index 57eb512d79..62b7985a6c 100644 --- a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx +++ b/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx @@ -4,9 +4,14 @@ import { AccordionIcon, AccordionItem, AccordionPanel, + Divider, + Flex, Modal, + ModalBody, ModalCloseButton, ModalContent, + ModalFooter, + ModalHeader, ModalOverlay, useDisclosure, } from '@chakra-ui/react'; @@ -297,24 +302,20 @@ export default function HotkeysModal({ children }: HotkeysModalProps) { }, ]; - const renderHotkeyModalItems = (hotkeys: HotkeyList[]) => { - const hotkeyModalItemsToRender: ReactElement[] = []; - - hotkeys.forEach((hotkey, i) => { - hotkeyModalItemsToRender.push( - - ); - }); - - return ( -
    {hotkeyModalItemsToRender}
    - ); - }; + const renderHotkeyModalItems = (hotkeys: HotkeyList[]) => ( + + {hotkeys.map((hotkey, i) => ( + + + {i < hotkeys.length - 1 && } + + ))} + + ); return ( <> @@ -323,16 +324,21 @@ export default function HotkeysModal({ children }: HotkeysModalProps) { })} - - - -

    Keyboard Shorcuts

    -
    + + {t('hotkeys.keyboardShortcuts')} + + - -

    {t('hotkeys.appHotkeys')}

    - + + +

    {t('hotkeys.appHotkeys')}

    + +
    {renderHotkeyModalItems(appHotkeys)} @@ -340,9 +346,15 @@ export default function HotkeysModal({ children }: HotkeysModalProps) {
    - -

    {t('hotkeys.generalHotkeys')}

    - + + +

    {t('hotkeys.generalHotkeys')}

    + +
    {renderHotkeyModalItems(generalHotkeys)} @@ -350,9 +362,15 @@ export default function HotkeysModal({ children }: HotkeysModalProps) {
    - -

    {t('hotkeys.galleryHotkeys')}

    - + + +

    {t('hotkeys.galleryHotkeys')}

    + +
    {renderHotkeyModalItems(galleryHotkeys)} @@ -360,16 +378,23 @@ export default function HotkeysModal({ children }: HotkeysModalProps) {
    - -

    {t('hotkeys.unifiedCanvasHotkeys')}

    - + + +

    {t('hotkeys.unifiedCanvasHotkeys')}

    + +
    {renderHotkeyModalItems(unifiedCanvasHotkeys)}
    -
    + +
    diff --git a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModalItem.tsx b/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModalItem.tsx index 384192d3fe..b0163169fe 100644 --- a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModalItem.tsx +++ b/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModalItem.tsx @@ -1,3 +1,5 @@ +import { Box, Grid, Text } from '@chakra-ui/react'; + interface HotkeysModalProps { hotkey: string; title: string; @@ -7,12 +9,36 @@ interface HotkeysModalProps { export default function HotkeysModalItem(props: HotkeysModalProps) { const { title, hotkey, description } = props; return ( -
    -
    -

    {title}

    - {description &&

    {description}

    } -
    -
    {hotkey}
    -
    + + + {title} + {description && ( + + {description} + + )} + + + {hotkey} + + ); } diff --git a/invokeai/frontend/web/src/features/system/components/InvokeAILogoComponent.tsx b/invokeai/frontend/web/src/features/system/components/InvokeAILogoComponent.tsx new file mode 100644 index 0000000000..ac7dc39a78 --- /dev/null +++ b/invokeai/frontend/web/src/features/system/components/InvokeAILogoComponent.tsx @@ -0,0 +1,30 @@ +import { Flex, Text, Image } from '@chakra-ui/react'; +import { RootState } from 'app/store'; +import { useAppSelector } from 'app/storeHooks'; +import InvokeAILogoImage from 'assets/images/logo.png'; + +const InvokeAILogoComponent = () => { + const appVersion = useAppSelector( + (state: RootState) => state.system.app_version + ); + + return ( + + invoke-ai-logo + + invoke ai + + + {appVersion} + + + ); +}; + +export default InvokeAILogoComponent; diff --git a/invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx b/invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx index 9da9c45bde..7f284ee1f6 100644 --- a/invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx +++ b/invokeai/frontend/web/src/features/system/components/LanguagePicker.tsx @@ -5,7 +5,7 @@ import IAIButton from 'common/components/IAIButton'; import IAIIconButton from 'common/components/IAIIconButton'; import IAIPopover from 'common/components/IAIPopover'; import { useTranslation } from 'react-i18next'; -import { FaLanguage } from 'react-icons/fa'; +import { FaCheck, FaLanguage } from 'react-icons/fa'; export default function LanguagePicker() { const { t, i18n } = useTranslation(); @@ -15,12 +15,15 @@ export default function LanguagePicker() { en: t('common.langEnglish', { lng: 'en' }), fr: t('common.langFrench', { lng: 'fr' }), de: t('common.langGerman', { lng: 'de' }), + he: t('common.langHebrew', { lng: 'he' }), it: t('common.langItalian', { lng: 'it' }), ja: t('common.langJapanese', { lng: 'ja' }), + ko: t('common.langKorean', { lng: 'ko' }), pl: t('common.langPolish', { lng: 'pl' }), - pt_Br: t('common.langBrPortuguese', { lng: 'pt_Br' }), + pt_BR: t('common.langBrPortuguese', { lng: 'pt_BR' }), + pt: t('common.langPortuguese', { lng: 'pt' }), ru: t('common.langRussian', { lng: 'ru' }), - zh_Cn: t('common.langSimplifiedChinese', { lng: 'zh_Cn' }), + zh_CN: t('common.langSimplifiedChinese', { lng: 'zh_CN' }), es: t('common.langSpanish', { lng: 'es' }), uk: t('common.langUkranian', { lng: 'ua' }), }; @@ -31,9 +34,13 @@ export default function LanguagePicker() { languagesToRender.push( + ) : undefined + } onClick={() => i18n.changeLanguage(lang)} - className="modal-close-btn lang-select-btn" aria-label={LANGUAGES[lang as keyof typeof LANGUAGES]} size="sm" minWidth="200px" diff --git a/invokeai/frontend/web/src/features/system/components/Modal.scss b/invokeai/frontend/web/src/features/system/components/Modal.scss deleted file mode 100644 index 7c97221c6b..0000000000 --- a/invokeai/frontend/web/src/features/system/components/Modal.scss +++ /dev/null @@ -1,11 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.modal { - background-color: var(--background-color-secondary); - color: var(--text-color); - font-family: Inter; -} - -.modal-close-btn { - @include BaseButton; -} diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/AddCheckpointModel.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/AddCheckpointModel.tsx index 933b3d925e..8e0cfb2802 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/AddCheckpointModel.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/AddCheckpointModel.tsx @@ -71,7 +71,7 @@ export default function AddCheckpointModel() { const [addManually, setAddmanually] = React.useState(false); return ( - <> + } /> @@ -99,7 +99,7 @@ export default function AddCheckpointModel() { > {({ handleSubmit, errors, touched }) => (
    - + {t('modelManager.manual')} @@ -323,6 +323,6 @@ export default function AddCheckpointModel() { )} )} - + ); } diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/AddDiffusersModel.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/AddDiffusersModel.tsx index a0ba19a075..5f8a2bc33b 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/AddDiffusersModel.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/AddDiffusersModel.tsx @@ -28,12 +28,14 @@ function FormItemWrapper({ }) { return ( {children} @@ -95,7 +97,7 @@ export default function AddDiffusersModel() { position="absolute" zIndex={1} size="sm" - right={12} + insetInlineEnd={12} top={3} icon={} /> @@ -105,7 +107,7 @@ export default function AddDiffusersModel() { > {({ handleSubmit, errors, touched }) => ( - + {/* Name */} {t('modelManager.formMessageDiffusersModelLocationDesc')} @@ -230,9 +234,11 @@ export default function AddDiffusersModel() { {t('modelManager.formMessageDiffusersVAELocation')} {t('modelManager.formMessageDiffusersVAELocationDesc')} @@ -286,11 +292,7 @@ export default function AddDiffusersModel() { - + {t('modelManager.addModel')} diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/AddModel.scss b/invokeai/frontend/web/src/features/system/components/ModelManager/AddModel.scss deleted file mode 100644 index f8144cd4f8..0000000000 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/AddModel.scss +++ /dev/null @@ -1,16 +0,0 @@ -.add-model-modal { - display: flex; -} - -.add-model-modal-body { - display: flex; - flex-direction: column; - row-gap: 1rem; - padding-bottom: 2rem; -} - -.add-model-form { - display: flex; - flex-direction: column; - row-gap: 0.5rem; -} diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/AddModel.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/AddModel.tsx index 269577227f..ad8437e845 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/AddModel.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/AddModel.tsx @@ -1,9 +1,11 @@ import { + Button, Flex, Modal, ModalBody, ModalCloseButton, ModalContent, + ModalFooter, ModalHeader, ModalOverlay, Text, @@ -33,16 +35,11 @@ function AddModelBox({ {text} @@ -71,10 +68,9 @@ export default function AddModel() { aria-label={t('modelManager.addNewModel')} tooltip={t('modelManager.addNewModel')} onClick={onOpen} - className="modal-close-btn" size="sm" > - + {t('modelManager.addNew')} @@ -87,16 +83,12 @@ export default function AddModel() { closeOnOverlayClick={false} > - + {t('modelManager.addNewModel')} - - + + {addNewModelUIOption == null && ( - + dispatch(setAddNewModelUIOption('ckpt'))} @@ -110,6 +102,7 @@ export default function AddModel() { {addNewModelUIOption == 'ckpt' && } {addNewModelUIOption == 'diffusers' && } + diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/CheckpointModelEdit.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/CheckpointModelEdit.tsx index 5f58583ff0..b7573f7b56 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/CheckpointModelEdit.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/CheckpointModelEdit.tsx @@ -101,7 +101,7 @@ export default function CheckpointModelEdit() { }; return openModel ? ( - + {openModel} @@ -112,7 +112,7 @@ export default function CheckpointModelEdit() { flexDirection="column" maxHeight={window.innerHeight - 270} overflowY="scroll" - paddingRight="2rem" + paddingInlineEnd={8} > {({ handleSubmit, errors, touched }) => ( - + {/* Description */} {!!errors.description && touched.description ? ( {errors.description} @@ -162,7 +162,7 @@ export default function CheckpointModelEdit() { id="config" name="config" type="text" - width="lg" + width="full" /> {!!errors.config && touched.config ? ( {errors.config} @@ -188,7 +188,7 @@ export default function CheckpointModelEdit() { id="weights" name="weights" type="text" - width="lg" + width="full" /> {!!errors.weights && touched.weights ? ( {errors.weights} @@ -211,7 +211,7 @@ export default function CheckpointModelEdit() { id="vae" name="vae" type="text" - width="lg" + width="full" /> {!!errors.vae && touched.vae ? ( {errors.vae} @@ -316,15 +316,15 @@ export default function CheckpointModelEdit() { ) : ( - - Pick A Model To Edit - + Pick A Model To Edit ); } diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/DiffusersModelEdit.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/DiffusersModelEdit.tsx index 59fe68a3f9..a21aee672c 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/DiffusersModelEdit.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/DiffusersModelEdit.tsx @@ -109,18 +109,13 @@ export default function DiffusersModelEdit() { }; return openModel ? ( - + {openModel} - + {({ handleSubmit, errors, touched }) => ( - + {/* Description */} {!!errors.description && touched.description ? ( {errors.description} @@ -169,7 +164,7 @@ export default function DiffusersModelEdit() { id="path" name="path" type="text" - width="lg" + width="full" /> {!!errors.path && touched.path ? ( {errors.path} @@ -192,7 +187,7 @@ export default function DiffusersModelEdit() { id="repo_id" name="repo_id" type="text" - width="lg" + width="full" /> {!!errors.repo_id && touched.repo_id ? ( {errors.repo_id} @@ -217,7 +212,7 @@ export default function DiffusersModelEdit() { id="vae.path" name="vae.path" type="text" - width="lg" + width="full" /> {!!errors.vae?.path && touched.vae?.path ? ( {errors.vae?.path} @@ -242,7 +237,7 @@ export default function DiffusersModelEdit() { id="vae.repo_id" name="vae.repo_id" type="text" - width="lg" + width="full" /> {!!errors.vae?.repo_id && touched.vae?.repo_id ? ( {errors.vae?.repo_id} @@ -269,15 +264,15 @@ export default function DiffusersModelEdit() { ) : ( - - Pick A Model To Edit - + Pick A Model To Edit ); } diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/MergeModels.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/MergeModels.tsx index cd10a43856..3b1905979c 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/MergeModels.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/MergeModels.tsx @@ -1,8 +1,10 @@ import { Flex, Modal, + ModalBody, ModalCloseButton, ModalContent, + ModalFooter, ModalHeader, ModalOverlay, Radio, @@ -57,19 +59,19 @@ export default function MergeModels() { const [modelMergeForce, setModelMergeForce] = useState(false); - const modelOneList = Object.keys(diffusersModels).filter((model) => { - if (model !== modelTwo && model !== modelThree) return model; - }); + const modelOneList = Object.keys(diffusersModels).filter( + (model) => model !== modelTwo && model !== modelThree + ); - const modelTwoList = Object.keys(diffusersModels).filter((model) => { - if (model !== modelOne && model !== modelThree) return model; - }); + const modelTwoList = Object.keys(diffusersModels).filter( + (model) => model !== modelOne && model !== modelThree + ); const modelThreeList = [ - 'none', - ...Object.keys(diffusersModels).filter((model) => { - if (model !== modelOne && model !== modelTwo) return model; - }), + { key: t('modelManager.none'), value: 'none' }, + ...Object.keys(diffusersModels) + .filter((model) => model !== modelOne && model !== modelTwo) + .map((model) => ({ key: model, value: model })), ]; const isProcessing = useAppSelector( @@ -96,8 +98,8 @@ export default function MergeModels() { return ( <> - - + + {t('modelManager.mergeModels')} @@ -109,183 +111,201 @@ export default function MergeModels() { closeOnOverlayClick={false} > - + {t('modelManager.mergeModels')} - - - {t('modelManager.modelMergeHeaderHelp1')} - - {t('modelManager.modelMergeHeaderHelp2')} - - - - setModelOne(e.target.value)} - /> - setModelTwo(e.target.value)} - /> - { - if (e.target.value !== 'none') { - setModelThree(e.target.value); - setModelMergeInterp('add_difference'); - } else { - setModelThree('none'); - setModelMergeInterp('weighted_sum'); - } + + + - - - setMergedModelName(e.target.value)} - /> - - - setModelMergeAlpha(v)} - withInput - withReset - handleReset={() => setModelMergeAlpha(0.5)} - withSliderMarks - sliderMarkRightOffset={-7} - /> - - {t('modelManager.modelMergeAlphaHelp')} - - - - - - {t('modelManager.interpolationType')} - - setModelMergeInterp(v)} - > - - {modelThree === 'none' ? ( - <> - weighted_sum - sigmoid - inv_sigmoid - - ) : ( - - - add_difference - - - )} - - - - - + {t('modelManager.modelMergeHeaderHelp1')} + + {t('modelManager.modelMergeHeaderHelp2')} + + - - {t('modelManager.mergedModelSaveLocation')} + setModelOne(e.target.value)} + /> + setModelTwo(e.target.value)} + /> + { + if (e.target.value !== 'none') { + setModelThree(e.target.value); + setModelMergeInterp('add_difference'); + } else { + setModelThree('none'); + setModelMergeInterp('weighted_sum'); + } + }} + /> + + + setMergedModelName(e.target.value)} + /> + + + setModelMergeAlpha(v)} + withInput + withReset + handleReset={() => setModelMergeAlpha(0.5)} + withSliderMarks + /> + + {t('modelManager.modelMergeAlphaHelp')} + + + + + + {t('modelManager.interpolationType')} - setModelMergeSaveLocType(v) - } + value={modelMergeInterp} + onChange={( + v: + | 'weighted_sum' + | 'sigmoid' + | 'inv_sigmoid' + | 'add_difference' + ) => setModelMergeInterp(v)} > - - {t('modelManager.invokeAIFolder')} - - {t('modelManager.custom')} + {modelThree === 'none' ? ( + <> + + + {t('modelManager.weightedSum')} + + + + {t('modelManager.sigmoid')} + + + + {t('modelManager.inverseSigmoid')} + + + + ) : ( + + + + {t('modelManager.addDifference')} + + + + )} - {modelMergeSaveLocType === 'custom' && ( - setModelMergeCustomSaveLoc(e.target.value)} - /> - )} + + + + {t('modelManager.mergedModelSaveLocation')} + + + setModelMergeSaveLocType(v) + } + > + + + + {t('modelManager.invokeAIFolder')} + + + + + {t('modelManager.custom')} + + + + + + {modelMergeSaveLocType === 'custom' && ( + setModelMergeCustomSaveLoc(e.target.value)} + /> + )} + + + setModelMergeForce(e.target.checked)} + fontWeight="500" + /> + + + {t('modelManager.merge')} + - - setModelMergeForce(e.target.checked)} - fontWeight="bold" - /> - - - {t('modelManager.merge')} - - + + diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelConvert.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelConvert.tsx index 792ce03b4e..5896e634ea 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelConvert.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelConvert.tsx @@ -77,7 +77,7 @@ export default function ModelConvert(props: ModelConvertProps) { retrievedModel.status === 'active' || isProcessing || !isConnected } className=" modal-close-btn" - marginRight="2rem" + marginInlineEnd={8} > 🧨 {t('modelManager.convertToDiffusers')} @@ -96,8 +96,8 @@ export default function ModelConvert(props: ModelConvertProps) { - - + + {t('modelManager.convertToDiffusersSaveLocation')} setSaveLocation(v)}> @@ -125,11 +125,7 @@ export default function ModelConvert(props: ModelConvertProps) { {saveLocation === 'custom' && ( - + {t('modelManager.customSaveLocation')} )} diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelList.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelList.tsx index 0eb07850c3..ad5b9b9072 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelList.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelList.tsx @@ -1,4 +1,4 @@ -import { Box, Flex, Spinner, Text } from '@chakra-ui/react'; +import { Box, Flex, Heading, Spacer, Spinner, Text } from '@chakra-ui/react'; import IAIInput from 'common/components/IAIInput'; import IAIButton from 'common/components/IAIButton'; @@ -45,9 +45,10 @@ function ModelFilterButton({ @@ -133,23 +134,27 @@ const ModelList = () => { return searchText !== '' ? ( isSelectedFilter === 'all' ? ( - {filteredModelListItemsToRender} + {filteredModelListItemsToRender} ) : ( - {localFilteredModelListItemsToRender} + {localFilteredModelListItemsToRender} ) ) : ( - + {isSelectedFilter === 'all' && ( <> {t('modelManager.checkpointModels')} @@ -157,13 +162,16 @@ const ModelList = () => { {t('modelManager.diffusersModels')} @@ -173,13 +181,13 @@ const ModelList = () => { )} {isSelectedFilter === 'ckpt' && ( - + {ckptModelListItemsToRender} )} {isSelectedFilter === 'diffusers' && ( - + {diffusersModelListItemsToRender} )} @@ -188,15 +196,12 @@ const ModelList = () => { }, [models, searchText, t, isSelectedFilter]); return ( - - - - {t('modelManager.availableModels')} - - - - - + + + {t('modelManager.availableModels')} + + + { - + setIsSelectedFilter('all')} @@ -234,7 +239,7 @@ const ModelList = () => { ) : ( diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelListItem.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelListItem.tsx index 5f90df0c37..9b2b6d29f4 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelListItem.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelListItem.tsx @@ -46,30 +46,37 @@ export default function ModelListItem(props: ModelListItemProps) { const statusTextColor = () => { switch (status) { case 'active': - return 'var(--status-good-color)'; + return 'ok.500'; case 'cached': - return 'var(--status-working-color)'; + return 'warning.500'; case 'not loaded': - return 'var(--text-color-secondary)'; + return 'inherit'; } }; return ( - {name} + {name} @@ -79,7 +86,6 @@ export default function ModelListItem(props: ModelListItemProps) { size="sm" onClick={handleChangeModel} isDisabled={status === 'active' || isProcessing || !isConnected} - className="modal-close-btn" > {t('modelManager.load')} @@ -90,7 +96,6 @@ export default function ModelListItem(props: ModelListItemProps) { onClick={openModelHandler} aria-label="Modify Config" isDisabled={status === 'active' || isProcessing || !isConnected} - className=" modal-close-btn" /> } > - +

    {t('modelManager.deleteMsg1')}

    -

    - {t('modelManager.deleteMsg2')} -

    +

    {t('modelManager.deleteMsg2')}

    diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelManagerModal.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelManagerModal.tsx index def4afe6b6..5de4faa80b 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/ModelManagerModal.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/ModelManagerModal.tsx @@ -1,8 +1,10 @@ import { Flex, Modal, + ModalBody, ModalCloseButton, ModalContent, + ModalFooter, ModalHeader, ModalOverlay, useDisclosure, @@ -50,22 +52,23 @@ export default function ModelManagerModal({ - - - - {t('modelManager.modelManager')} - - - - {openModel && model_list[openModel]['format'] === 'diffusers' ? ( - - ) : ( - - )} - + + + {t('modelManager.modelManager')} + + + + {openModel && model_list[openModel]['format'] === 'diffusers' ? ( + + ) : ( + + )} + + + diff --git a/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx b/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx index 08834eb91b..4798382537 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelManager/SearchModels.tsx @@ -4,12 +4,13 @@ import IAIIconButton from 'common/components/IAIIconButton'; import React from 'react'; import { - Box, + Badge, Flex, FormControl, HStack, Radio, RadioGroup, + Spacer, Text, VStack, } from '@chakra-ui/react'; @@ -18,8 +19,7 @@ import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import { systemSelector } from 'features/system/store/systemSelectors'; import { useTranslation } from 'react-i18next'; -import { FaPlus } from 'react-icons/fa'; -import { MdFindInPage } from 'react-icons/md'; +import { FaPlus, FaSearch } from 'react-icons/fa'; import { addNewModel, searchForModels } from 'app/socketio/actions'; import { @@ -48,26 +48,6 @@ const existingModelsSelector = createSelector([systemSelector], (system) => { return existingModels; }); -function ModelExistsTag() { - const { t } = useTranslation(); - return ( - - {t('modelManager.modelExists')} - - ); -} - interface SearchModelEntry { model: FoundModel; modelsToAdd: string[]; @@ -79,6 +59,7 @@ function SearchModelEntry({ modelsToAdd, setModelsToAdd, }: SearchModelEntry) { + const { t } = useTranslation(); const existingModels = useAppSelector(existingModelsSelector); const foundModelsChangeHandler = (e: ChangeEvent) => { @@ -90,33 +71,34 @@ function SearchModelEntry({ }; return ( - - {existingModels.includes(model.location) ? : null} - - -

    {model.name}

    -

    {model.location}

    -
    - + +
    -
    + paddingX={4} + paddingY={2} + borderRadius={4} + > + + {model.name}
    } + isChecked={modelsToAdd.includes(model.name)} + isDisabled={existingModels.includes(model.location)} + onChange={foundModelsChangeHandler} + > + {existingModels.includes(model.location) && ( + {t('modelManager.modelExists')} + )} +
    + + {model.location} + +
    +
    ); } @@ -243,36 +225,38 @@ export default function SearchModels() { <> {searchFolder ? ( -

    - {t('modelManager.checkpointFolder')} -

    -

    - {searchFolder} -

    + + {t('modelManager.checkpointFolder')} + + {searchFolder} +
    + } - position="absolute" - right={16} fontSize={18} disabled={isProcessing} onClick={() => dispatch(searchForModels(searchFolder))} @@ -280,8 +264,6 @@ export default function SearchModels() { } - position="absolute" - right={5} onClick={resetSearchModelHandler} /> @@ -294,32 +276,34 @@ export default function SearchModels() { > {({ handleSubmit }) => ( - - + + - } + } aria-label={t('modelManager.findModels')} tooltip={t('modelManager.findModels')} type="submit" disabled={isProcessing} - /> + paddingX={10} + > + {t('modelManager.findModels')} + )} )} {foundModels && ( - +

    {t('modelManager.modelsFound')}: {foundModels.length} @@ -328,8 +312,8 @@ export default function SearchModels() { {t('modelManager.selected')}: {modelsToAdd.length}

    - - + + 0 ? 'var(--accent-color) !important' : '' - } + colorScheme="accent" > {t('modelManager.addSelected')} - - Pick Model Type: + + {t('modelManager.pickModelType')} - {t('modelManager.v1')} - {t('modelManager.v2')} - - {t('modelManager.inpainting')} + + {t('modelManager.v1')} + + + {t('modelManager.v2')} + + + {t('modelManager.inpainting')} + + + {t('modelManager.customConfig')} - {t('modelManager.customConfig')} {modelType === 'custom' && ( - + {t('modelManager.pathToCustomConfig')} { if (e.target.value !== '') setPathToConfig(e.target.value); }} - width="42.5rem" + width="full" /> )} {foundModels.length > 0 ? ( - modelsToAdd.length === 0 && ( - - {t('modelManager.selectAndAdd')} - - ) + renderFoundModels() ) : ( {t('modelManager.noModelsFound')} )} - - {renderFoundModels()} )} diff --git a/invokeai/frontend/web/src/features/system/components/ModelSelect.tsx b/invokeai/frontend/web/src/features/system/components/ModelSelect.tsx index 7c06604382..ab37213a00 100644 --- a/invokeai/frontend/web/src/features/system/components/ModelSelect.tsx +++ b/invokeai/frontend/web/src/features/system/components/ModelSelect.tsx @@ -33,11 +33,11 @@ const ModelSelect = () => { return ( { ); }; diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.scss b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.scss deleted file mode 100644 index 53b4766c95..0000000000 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.scss +++ /dev/null @@ -1,43 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.settings-modal { - max-height: 36rem; - font-family: Inter; - - .settings-modal-content { - display: grid; - row-gap: 2rem; - overflow-y: scroll; - } - - .settings-modal-header { - font-weight: bold; - } - - .settings-modal-items { - display: grid; - row-gap: 0.5rem; - - .settings-modal-item { - display: grid; - grid-auto-flow: column; - background-color: var(--background-color); - padding: 0.4rem 1rem; - border-radius: 0.5rem; - align-items: center; - width: 100%; - } - } - - .settings-modal-reset { - display: grid; - row-gap: 1rem; - - button { - @include Button( - $btn-color: var(--destructive-color), - $btn-color-hover: var(--destructive-color-hover) - ); - } - } -} diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx index 3112fd6995..c203edfc37 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsModal.tsx @@ -1,6 +1,7 @@ import { - Button, + ChakraProps, Flex, + Grid, Heading, Modal, ModalBody, @@ -16,6 +17,7 @@ import { createSelector } from '@reduxjs/toolkit'; import { IN_PROGRESS_IMAGE_TYPES } from 'app/constants'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; +import IAIButton from 'common/components/IAIButton'; import IAINumberInput from 'common/components/IAINumberInput'; import IAISelect from 'common/components/IAISelect'; import IAISwitch from 'common/components/IAISwitch'; @@ -70,6 +72,13 @@ const selector = createSelector( } ); +const modalSectionStyles: ChakraProps['sx'] = { + flexDirection: 'column', + gap: 2, + p: 4, + bg: 'base.900', +}; + type SettingsModalProps = { /* The button to open the Settings Modal */ children: ReactElement; @@ -135,20 +144,15 @@ const SettingsModal = ({ children }: SettingsModalProps) => { - - - {t('common.settingsLabel')} - - - -
    -
    + + {t('common.settingsLabel')} + + + + { textAlign="center" /> )} -
    - ) => - dispatch(setShouldConfirmOnDelete(e.target.checked)) - } - /> - ) => - dispatch(setShouldDisplayGuides(e.target.checked)) - } - /> - ) => - dispatch(setShouldUseCanvasBetaLayout(e.target.checked)) - } - /> - ) => - dispatch(setShouldUseSliders(e.target.checked)) - } - /> -
    + ) => + dispatch(setShouldConfirmOnDelete(e.target.checked)) + } + /> + ) => + dispatch(setShouldDisplayGuides(e.target.checked)) + } + /> + ) => + dispatch(setShouldUseCanvasBetaLayout(e.target.checked)) + } + /> + ) => + dispatch(setShouldUseSliders(e.target.checked)) + } + /> +
    -
    -

    Developer

    - ) => - dispatch(setEnableImageDebugging(e.target.checked)) - } - /> -
    + + + Developer + + ) => + dispatch(setEnableImageDebugging(e.target.checked)) + } + /> + -
    - {t('settings.resetWebUI')} - - {t('settings.resetWebUIDesc1')} - {t('settings.resetWebUIDesc2')} -
    + + {t('settings.resetWebUI')} + + {t('settings.resetWebUI')} + + {t('settings.resetWebUIDesc1')} + {t('settings.resetWebUIDesc2')} + + - +
    @@ -244,15 +245,17 @@ const SettingsModal = ({ children }: SettingsModalProps) => { onClose={onRefreshModalClose} isCentered > - + - + + {t('settings.resetComplete')} + diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.scss b/invokeai/frontend/web/src/features/system/components/SiteHeader.scss deleted file mode 100644 index 59edc9a403..0000000000 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.scss +++ /dev/null @@ -1,31 +0,0 @@ -.site-header { - display: grid; - grid-template-columns: auto max-content; -} - -.site-header-left-side { - display: flex; - align-items: center; - column-gap: 0.7rem; - padding-left: 0.5rem; - - img { - width: 32px; - height: 32px; - } -} - -.site-header-right-side { - display: flex; - align-items: center; - column-gap: 0.5rem; - - .lang-select-btn { - &[data-selected='true'] { - background-color: var(--accent-color); - &:hover { - background-color: var(--accent-color); - } - } - } -} diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx index ccbc425590..6aaa989c89 100644 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx +++ b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx @@ -1,8 +1,7 @@ -import { Flex, Link, Text } from '@chakra-ui/react'; +import { Flex, Grid, Link } from '@chakra-ui/react'; import { FaBug, FaCube, FaDiscord, FaGithub, FaKeyboard } from 'react-icons/fa'; -import InvokeAILogo from 'assets/images/logo.png'; import IAIIconButton from 'common/components/IAIIconButton'; import HotkeysModal from './HotkeysModal/HotkeysModal'; @@ -15,39 +14,21 @@ import ThemeChanger from './ThemeChanger'; import LanguagePicker from './LanguagePicker'; -import type { RootState } from 'app/store'; -import { useAppSelector } from 'app/storeHooks'; import { useTranslation } from 'react-i18next'; import { MdSettings } from 'react-icons/md'; +import InvokeAILogoComponent from './InvokeAILogoComponent'; /** * Header, includes color mode toggle, settings button, status message. */ const SiteHeader = () => { const { t } = useTranslation(); - const appVersion = useAppSelector( - (state: RootState) => state.system.app_version - ); return ( -
    -
    - invoke-ai-logo - - - invoke ai - - - {appVersion} - - -
    + + -
    + @@ -133,8 +114,8 @@ const SiteHeader = () => { icon={} /> -
    -
    + + ); }; diff --git a/invokeai/frontend/web/src/features/system/components/StatusIndicator.scss b/invokeai/frontend/web/src/features/system/components/StatusIndicator.scss deleted file mode 100644 index 341d2fcb46..0000000000 --- a/invokeai/frontend/web/src/features/system/components/StatusIndicator.scss +++ /dev/null @@ -1,19 +0,0 @@ -.status { - font-size: 0.8rem; - font-weight: bold; -} - -.status-good { - color: var(--status-good-color); - text-shadow: 0 0 10px var(--status-good-glow); -} - -.status-bad { - color: var(--status-bad-color); - text-shadow: 0 0 10px var(--status-bad-glow); -} - -.status-working { - color: var(--status-working-color); - text-shadow: 0 0 10px var(--status-working-glow); -} diff --git a/invokeai/frontend/web/src/features/system/components/StatusIndicator.tsx b/invokeai/frontend/web/src/features/system/components/StatusIndicator.tsx index bacc199015..f47730d221 100644 --- a/invokeai/frontend/web/src/features/system/components/StatusIndicator.tsx +++ b/invokeai/frontend/web/src/features/system/components/StatusIndicator.tsx @@ -37,25 +37,18 @@ const StatusIndicator = () => { const dispatch = useAppDispatch(); const { t } = useTranslation(); - let statusStyle; + let statusIdentifier; + if (isConnected && !hasError) { - statusStyle = 'status-good'; + statusIdentifier = 'ok'; } else { - statusStyle = 'status-bad'; + statusIdentifier = 'error'; } let statusMessage = currentStatus; - const intermediateStatuses = [ - t('common.statusGenerating'), - t('common.statusPreparing'), - t('common.statusSavingImage'), - t('common.statusRestoringFaces'), - t('common.statusUpscaling'), - ]; - - if (intermediateStatuses.includes(statusMessage)) { - statusStyle = 'status-working'; + if (isProcessing) { + statusIdentifier = 'working'; } if (statusMessage) @@ -86,7 +79,11 @@ const StatusIndicator = () => { {t(statusMessage as keyof typeof t)} diff --git a/invokeai/frontend/web/src/features/system/components/ThemeChanger.tsx b/invokeai/frontend/web/src/features/system/components/ThemeChanger.tsx index f1597315b8..9114a9d9e1 100644 --- a/invokeai/frontend/web/src/features/system/components/ThemeChanger.tsx +++ b/invokeai/frontend/web/src/features/system/components/ThemeChanger.tsx @@ -1,4 +1,4 @@ -import { useColorMode, VStack } from '@chakra-ui/react'; +import { VStack } from '@chakra-ui/react'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAIButton from 'common/components/IAIButton'; @@ -6,13 +6,12 @@ import IAIIconButton from 'common/components/IAIIconButton'; import IAIPopover from 'common/components/IAIPopover'; import { setCurrentTheme } from 'features/ui/store/uiSlice'; import type { ReactNode } from 'react'; -import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; import { FaCheck, FaPalette } from 'react-icons/fa'; export default function ThemeChanger() { const { t } = useTranslation(); - const { setColorMode, colorMode } = useColorMode(); + const dispatch = useAppDispatch(); const currentTheme = useAppSelector( (state: RootState) => state.ui.currentTheme @@ -22,16 +21,9 @@ export default function ThemeChanger() { dark: t('common.darkTheme'), light: t('common.lightTheme'), green: t('common.greenTheme'), + ocean: t('common.oceanTheme'), }; - useEffect(() => { - // syncs the redux store theme to the chakra's theme on startup and when - // setCurrentTheme is dispatched - if (colorMode !== currentTheme) { - setColorMode(currentTheme); - } - }, [setColorMode, colorMode, currentTheme]); - const handleChangeTheme = (theme: string) => { dispatch(setCurrentTheme(theme)); }; @@ -42,9 +34,10 @@ export default function ThemeChanger() { Object.keys(THEMES).forEach((theme) => { themesToRender.push( : undefined} size="sm" onClick={() => handleChangeTheme(theme)} diff --git a/invokeai/frontend/web/src/features/ui/components/FloatingButton.scss b/invokeai/frontend/web/src/features/ui/components/FloatingButton.scss deleted file mode 100644 index 0208f30a7f..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/FloatingButton.scss +++ /dev/null @@ -1,55 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.floating-show-hide-button { - position: absolute; - top: 50%; - transform: translate(0, -50%); - z-index: 20; - padding: 0; - background-color: red !important; - - &.left { - left: 0; - border-radius: 0 0.5rem 0.5rem 0; - } - - &.right { - right: 0; - border-radius: 0.5rem 0 0 0.5rem; - } - - @include Button( - $btn-width: 2rem, - $btn-height: 12rem, - $icon-size: 20px, - $btn-color: var(--btn-btn-base-color), - $btn-color-hover: var(--btn-btn-base-color-hover) - ); -} - -.show-hide-button-options { - position: absolute; - transform: translate(0, -50%); - z-index: 20; - min-width: 2rem; - - top: 50%; - left: calc(42px + 2rem); - - border-radius: 0 0.5rem 0.5rem 0; - - display: flex; - flex-direction: column; - row-gap: 0.5rem; - - button { - border-radius: 0 0.3rem 0.3rem 0; - } -} - -.show-hide-button-gallery { - padding-left: 0.75rem; - padding-right: 0.75rem; - background-color: var(--background-color) !important; - // filter: drop-shadow(0.5rem 0px 1rem var(--floating-button-drop-shadow-color)); -} diff --git a/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx b/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx index 928e87f0b1..71b18a60a4 100644 --- a/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx +++ b/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx @@ -22,8 +22,20 @@ const FloatingGalleryButton = () => { tooltip="Show Gallery (G)" tooltipProps={{ placement: 'top' }} aria-label="Show Gallery" - styleClass="floating-show-hide-button right show-hide-button-gallery" onClick={handleShowGallery} + sx={{ + pos: 'absolute', + top: '50%', + transform: 'translate(0, -50%)', + zIndex: 31, + p: 0, + insetInlineEnd: 0, + px: 3, + h: 48, + w: 8, + borderStartEndRadius: 0, + borderEndEndRadius: 0, + }} > diff --git a/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx b/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx index d9e1722f39..24928db923 100644 --- a/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx +++ b/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx @@ -1,3 +1,4 @@ +import { ChakraProps, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAIIconButton from 'common/components/IAIIconButton'; @@ -15,6 +16,11 @@ import { isEqual } from 'lodash'; import { FaSlidersH } from 'react-icons/fa'; +const floatingButtonStyles: ChakraProps['sx'] = { + borderStartStartRadius: 0, + borderEndStartRadius: 0, +}; + export const floatingSelector = createSelector( [gallerySelector, uiSelector, activeTabNameSelector], (gallery: GalleryState, ui, activeTabName) => { @@ -76,22 +82,32 @@ const FloatingParametersPanelButtons = () => { }; return shouldShowParametersPanelButton ? ( -
    + {shouldShowProcessButtons && ( <> - - + + )} -
    + ) : null; }; diff --git a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImage.scss b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImage.scss deleted file mode 100644 index edb307941b..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImage.scss +++ /dev/null @@ -1,50 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.image-to-image-area { - display: flex; - flex-direction: column; - row-gap: 1rem; - width: 100%; - height: 100%; -} - -.image-to-image-strength-main-option { - display: flex; - row-gap: 0.5rem !important; - - .invokeai__slider-component-label { - color: var(--text-color-secondary); - font-size: 0.9rem !important; - } -} - -.init-image-preview-header { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - - h2 { - font-weight: bold; - font-size: 0.9rem; - } -} - -.init-image-preview { - position: relative; - height: 100%; - width: 100%; - display: flex; - align-items: center; - justify-content: center; - - img { - border-radius: 0.5rem; - object-fit: contain; - position: absolute; - } -} - -.image-to-image-current-image-display { - position: relative; -} diff --git a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageDisplay.tsx b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageDisplay.tsx index a3c1ca824d..173985697f 100644 --- a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageDisplay.tsx +++ b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageDisplay.tsx @@ -1,33 +1,49 @@ +import { ChakraProps, Flex, Grid } from '@chakra-ui/react'; import { RootState } from 'app/store'; import { useAppSelector } from 'app/storeHooks'; import ImageUploadButton from 'common/components/ImageUploaderButton'; import CurrentImageDisplay from 'features/gallery/components/CurrentImageDisplay'; import InitImagePreview from './InitImagePreview'; +const workareaSplitViewStyle: ChakraProps['sx'] = { + flexDirection: 'column', + height: '100%', + width: '100%', + gap: 4, + + padding: 4, +}; + const ImageToImageDisplay = () => { const initialImage = useAppSelector( (state: RootState) => state.generation.initialImage ); - const { currentImage } = useAppSelector((state: RootState) => state.gallery); - const imageToImageComponent = initialImage ? ( -
    + -
    + ) : ( ); return ( -
    -
    {imageToImageComponent}
    - {currentImage && ( -
    - -
    - )} -
    + + + {imageToImageComponent} + + + + + ); }; diff --git a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageOptions.tsx b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageOptions.tsx deleted file mode 100644 index 98a6bb8ae6..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageOptions.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Flex } from '@chakra-ui/react'; -import ImageFit from 'features/parameters/components/AdvancedParameters/ImageToImage/ImageFit'; -import ImageToImageStrength from 'features/parameters/components/AdvancedParameters/ImageToImage/ImageToImageStrength'; -import ParametersAccordion from 'features/parameters/components/ParametersAccordion'; - -import { useTranslation } from 'react-i18next'; - -export default function ImageToImageOptions() { - const { t } = useTranslation(); - const imageToImageAccordionItems = { - imageToImage: { - header: `${t('parameters.imageToImage')}`, - feature: undefined, - content: ( - - - - - ), - }, - }; - return ; -} diff --git a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImagePanel.tsx b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImagePanel.tsx index 531e95f161..d5f2268cb8 100644 --- a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImagePanel.tsx +++ b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImagePanel.tsx @@ -10,19 +10,29 @@ import UpscaleSettings from 'features/parameters/components/AdvancedParameters/U import UpscaleToggle from 'features/parameters/components/AdvancedParameters/Upscale/UpscaleToggle'; import GenerateVariationsToggle from 'features/parameters/components/AdvancedParameters/Variations/GenerateVariations'; import VariationsSettings from 'features/parameters/components/AdvancedParameters/Variations/VariationsSettings'; -import MainSettings from 'features/parameters/components/MainParameters/MainParameters'; +import MainSettings from 'features/parameters/components/MainParameters/MainSettings'; import ParametersAccordion from 'features/parameters/components/ParametersAccordion'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import NegativePromptInput from 'features/parameters/components/PromptInput/NegativePromptInput'; import PromptInput from 'features/parameters/components/PromptInput/PromptInput'; import InvokeOptionsPanel from 'features/ui/components/InvokeParametersPanel'; import { useTranslation } from 'react-i18next'; -import ImageToImageOptions from './ImageToImageOptions'; +import ImageToImageSettings from './ImageToImageSettings'; export default function ImageToImagePanel() { const { t } = useTranslation(); const imageToImageAccordions = { + general: { + header: `${t('parameters.general')}`, + feature: undefined, + content: , + }, + imageToImage: { + header: `${t('parameters.imageToImage')}`, + feature: undefined, + content: , + }, seed: { header: `${t('parameters.seed')}`, feature: Feature.SEED, @@ -60,13 +70,11 @@ export default function ImageToImagePanel() { return ( - + - - ); diff --git a/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageSettings.tsx b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageSettings.tsx new file mode 100644 index 0000000000..fb53c7006b --- /dev/null +++ b/invokeai/frontend/web/src/features/ui/components/ImageToImage/ImageToImageSettings.tsx @@ -0,0 +1,15 @@ +import { VStack } from '@chakra-ui/react'; +import ImageFit from 'features/parameters/components/AdvancedParameters/ImageToImage/ImageFit'; +import ImageToImageStrength from 'features/parameters/components/AdvancedParameters/ImageToImage/ImageToImageStrength'; + +import { useTranslation } from 'react-i18next'; + +export default function ImageToImageSettings() { + const { t } = useTranslation(); + return ( + + + + + ); +} diff --git a/invokeai/frontend/web/src/features/ui/components/ImageToImage/InitImagePreview.tsx b/invokeai/frontend/web/src/features/ui/components/ImageToImage/InitImagePreview.tsx index d8242062a6..9eb26129a7 100644 --- a/invokeai/frontend/web/src/features/ui/components/ImageToImage/InitImagePreview.tsx +++ b/invokeai/frontend/web/src/features/ui/components/ImageToImage/InitImagePreview.tsx @@ -1,4 +1,4 @@ -import { Image, useToast } from '@chakra-ui/react'; +import { Flex, Image, Text, useToast } from '@chakra-ui/react'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import ImageUploaderIconButton from 'common/components/ImageUploaderIconButton'; @@ -28,22 +28,49 @@ export default function InitImagePreview() { return ( <> -
    -

    {t('parameters.initialImage')}

    + + + {t('parameters.initialImage')} + -
    + {initialImage && ( -
    + -
    + )} ); diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.css b/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.css new file mode 100644 index 0000000000..f43861edba --- /dev/null +++ b/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.css @@ -0,0 +1,35 @@ +.ltr-parameters-panel-transition-enter { + transform: translateX(-150%); +} + +.ltr-parameters-panel-transition-enter-active { + transform: translateX(0); + transition: all 120ms ease-out; +} + +.ltr-parameters-panel-transition-exit { + transform: translateX(0); +} + +.ltr-parameters-panel-transition-exit-active { + transform: translateX(-150%); + transition: all 120ms ease-out; +} + +.rtl-parameters-panel-transition-enter { + transform: translateX(150%); +} + +.rtl-parameters-panel-transition-enter-active { + transform: translateX(0); + transition: all 120ms ease-out; +} + +.rtl-parameters-panel-transition-exit { + transform: translateX(0); +} + +.rtl-parameters-panel-transition-exit-active { + transform: translateX(150%); + transition: all 120ms ease-out; +} diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.scss b/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.scss deleted file mode 100644 index 69b9755ca8..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.scss +++ /dev/null @@ -1,90 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.parameters-panel-wrapper-enter { - transform: translateX(-150%); -} - -.parameters-panel-wrapper-enter-active { - transform: translateX(0); - transition: all 120ms ease-out; -} - -.parameters-panel-wrapper-exit { - transform: translateX(0); -} - -.parameters-panel-wrapper-exit-active { - transform: translateX(-150%); - transition: all 120ms ease-out; -} - -.parameters-panel-wrapper { - background-color: var(--background-color); - height: $app-content-height; - width: $options-bar-max-width; - max-width: $options-bar-max-width; - - flex-shrink: 0; - position: relative; - overflow-y: scroll; - @include HideScrollbar; - - .parameters-panel { - display: flex; - flex-direction: column; - row-gap: 0.5rem; - height: 100%; - @include HideScrollbar; - background-color: var(--background-color); - } - - &[data-pinned='false'] { - z-index: 20; - - position: fixed; - top: 0; - left: 0; - filter: var(--floating-panel-drop-shadow); - width: calc($options-bar-max-width + 2rem); - max-width: calc($options-bar-max-width + 2rem); - height: 100%; - - .parameters-panel-margin { - margin: 1rem; - } - } - - .parameters-panel-pin-button { - position: absolute; - cursor: pointer; - padding: 0.5rem; - top: 1rem; - right: 1rem; - z-index: 20; - - &[data-selected='true'] { - top: 0; - right: 0; - } - svg { - opacity: 0.5; - } - } -} - -.invoke-ai-logo-wrapper { - display: flex; - align-items: center; - column-gap: 0.7rem; - padding-left: 0.5rem; - padding-top: $progress-bar-thickness; - - img { - width: 32px; - height: 32px; - } - - h1 { - font-size: 1.4rem; - } -} diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.tsx b/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.tsx index 8dcd4f4a78..e7e610df6c 100644 --- a/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.tsx +++ b/invokeai/frontend/web/src/features/ui/components/InvokeParametersPanel.tsx @@ -1,4 +1,4 @@ -import { Tooltip } from '@chakra-ui/react'; +import { Box, Flex, Tooltip, Icon, useTheme } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import { @@ -15,9 +15,18 @@ import { CSSTransition } from 'react-transition-group'; import { setDoesCanvasNeedScaling } from 'features/canvas/store/canvasSlice'; import { setParametersPanelScrollPosition } from 'features/ui/store/uiSlice'; -import InvokeAILogo from 'assets/images/logo.png'; import { isEqual } from 'lodash'; import { uiSelector } from '../store/uiSelectors'; +import { useTranslation } from 'react-i18next'; +import { + APP_CONTENT_HEIGHT, + OPTIONS_BAR_MAX_WIDTH, + PROGRESS_BAR_THICKNESS, +} from 'theme/util/constants'; +import InvokeAILogoComponent from 'features/system/components/InvokeAILogoComponent'; + +import './InvokeParametersPanel.css'; +import { no_scrollbar } from 'theme/components/scrollbar'; type Props = { children: ReactNode }; @@ -47,6 +56,8 @@ const optionsPanelSelector = createSelector( const InvokeOptionsPanel = (props: Props) => { const dispatch = useAppDispatch(); + const { direction } = useTheme(); + const { shouldShowParametersPanel, shouldHoldParametersPanelOpen, @@ -60,6 +71,8 @@ const InvokeOptionsPanel = (props: Props) => { const { children } = props; + const { t } = useTranslation(); + // Hotkeys useHotkeys( 'o', @@ -145,11 +158,10 @@ const InvokeOptionsPanel = (props: Props) => { } unmountOnExit timeout={200} - classNames="parameters-panel-wrapper" + classNames={`${direction}-parameters-panel-transition`} > -
    { onMouseOver={ !shouldPinParametersPanel ? cancelCloseOptionsPanelTimer : undefined } - style={{ - borderRight: !shouldPinParametersPanel - ? '0.3rem solid var(--tab-list-text-inactive)' - : '', + sx={{ + borderInlineEndWidth: !shouldPinParametersPanel ? 5 : 0, + borderInlineEndStyle: 'solid', + bg: 'base.900', + borderColor: 'base.700', + height: APP_CONTENT_HEIGHT, + width: OPTIONS_BAR_MAX_WIDTH, + maxWidth: OPTIONS_BAR_MAX_WIDTH, + flexShrink: 0, + position: 'relative', + overflowY: 'scroll', + overflowX: 'hidden', + ...no_scrollbar, + ...(!shouldPinParametersPanel && { + zIndex: 20, + position: 'fixed', + top: 0, + insetInlineStart: 0, + width: `calc(${OPTIONS_BAR_MAX_WIDTH} + 2rem)`, + maxWidth: `calc(${OPTIONS_BAR_MAX_WIDTH} + 2rem)`, + height: '100%', + }), }} > -
    -
    + ) => { if (e.target !== optionsPanelContainerRef.current) { @@ -175,28 +204,44 @@ const InvokeOptionsPanel = (props: Props) => { !shouldPinParametersPanel && setCloseOptionsPanelTimer(); } }} + sx={{ + display: 'flex', + flexDirection: 'column', + rowGap: 2, + height: '100%', + }} > - -
    + - {shouldPinParametersPanel ? : } -
    + +
    {!shouldPinParametersPanel && ( -
    - invoke-ai-logo -

    - invoke ai -

    -
    + + + )} {children} -
    -
    -
    + + + ); }; diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.scss b/invokeai/frontend/web/src/features/ui/components/InvokeTabs.scss deleted file mode 100644 index 1a113b4148..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.scss +++ /dev/null @@ -1,46 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.app-tabs { - display: grid; - grid-template-columns: min-content auto; - column-gap: 1rem; - // height: 100%; - height: $app-content-height; -} - -.app-tabs-list { - display: grid; - row-gap: 0.3rem; - grid-auto-rows: min-content; - color: var(--tab-list-text-inactive); - - button { - font-size: 0.85rem; - padding: 0.5rem; - - &:hover { - background-color: var(--tab-hover-color); - border-radius: 0.3rem; - } - - svg { - width: 24px; - height: 24px; - } - - &[aria-selected='true'] { - background-color: var(--tab-list-bg); - color: var(--tab-list-text); - font-weight: bold; - border-radius: 0.3rem; - border: none; - } - } -} - -.app-tabs-panels { - .app-tabs-panel { - padding: 0; - height: 100%; - } -} diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx b/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx index f330fbd0ed..fb16969319 100644 --- a/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx +++ b/invokeai/frontend/web/src/features/ui/components/InvokeTabs.tsx @@ -1,16 +1,18 @@ -import { Tab, TabPanel, TabPanels, Tabs, Tooltip } from '@chakra-ui/react'; +import { + Icon, + Tab, + TabList, + TabPanel, + TabPanels, + Tabs, + Tooltip, +} from '@chakra-ui/react'; import { RootState } from 'app/store'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import NodesWIP from 'common/components/WorkInProgress/NodesWIP'; import { PostProcessingWIP } from 'common/components/WorkInProgress/PostProcessingWIP'; import TrainingWIP from 'common/components/WorkInProgress/Training'; import useUpdateTranslations from 'common/hooks/useUpdateTranslations'; -import ImageToImageIcon from 'common/icons/ImageToImageIcon'; -import NodesIcon from 'common/icons/NodesIcon'; -import PostprocessingIcon from 'common/icons/PostprocessingIcon'; -import TextToImageIcon from 'common/icons/TextToImageIcon'; -import TrainingIcon from 'common/icons/TrainingIcon'; -import UnifiedCanvasIcon from 'common/icons/UnifiedCanvasIcon'; import { setDoesCanvasNeedScaling } from 'features/canvas/store/canvasSlice'; import { setShouldShowGallery } from 'features/gallery/store/gallerySlice'; import Lightbox from 'features/lightbox/components/Lightbox'; @@ -23,6 +25,14 @@ import { import i18n from 'i18n'; import { ReactElement } from 'react'; import { useHotkeys } from 'react-hotkeys-hook'; +import { + MdDeviceHub, + MdFlashOn, + MdGridOn, + MdPhotoFilter, + MdPhotoLibrary, + MdTextFields, +} from 'react-icons/md'; import { activeTabIndexSelector } from '../store/uiSelectors'; import { floatingSelector } from './FloatingParametersPanelButtons'; import ImageToImageWorkarea from './ImageToImage'; @@ -37,32 +47,32 @@ export interface InvokeTabInfo { export const tabDict: Record = { txt2img: { - title: , + title: , workarea: , tooltip: 'Text To Image', }, img2img: { - title: , + title: , workarea: , tooltip: 'Image To Image', }, unifiedCanvas: { - title: , + title: , workarea: , tooltip: 'Unified Canvas', }, nodes: { - title: , + title: , workarea: , tooltip: 'Nodes', }, postprocess: { - title: , + title: , workarea: , tooltip: 'Post Processing', }, training: { - title: , + title: , workarea: , tooltip: 'Training', }, @@ -152,7 +162,7 @@ export default function InvokeTabs() { key={key} hasArrow label={tabDict[key as keyof typeof tabDict].tooltip} - placement="right" + placement="end" > {tabDict[key as keyof typeof tabDict].title} @@ -165,7 +175,7 @@ export default function InvokeTabs() { const tabPanelsToRender: ReactElement[] = []; Object.keys(tabDict).forEach((key) => { tabPanelsToRender.push( - + {tabDict[key as keyof typeof tabDict].workarea} ); @@ -176,18 +186,14 @@ export default function InvokeTabs() { return ( { dispatch(setActiveTab(index)); }} > -
    {renderTabs()}
    - - {isLightBoxOpen ? : renderTabPanels()} - + {renderTabs()} + {isLightBoxOpen ? : renderTabPanels()}
    ); } diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeWorkarea.scss b/invokeai/frontend/web/src/features/ui/components/InvokeWorkarea.scss deleted file mode 100644 index a3821d9a77..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/InvokeWorkarea.scss +++ /dev/null @@ -1,71 +0,0 @@ -@use '../../../styles/Mixins/' as *; - -.workarea-wrapper { - position: relative; - width: 100%; - height: 100%; - - .workarea-main { - display: flex; - column-gap: 1rem; - height: 100%; - - .workarea-children-wrapper { - position: relative; - width: 100%; - height: 100%; - } - .workarea-split-view { - width: 100%; - height: 100%; - display: grid; - grid-template-columns: 1fr 1fr; - background-color: var(--background-color-secondary); - border-radius: 0.5rem; - .workarea-split-view-left { - padding-right: 0.5rem; - } - .workarea-split-view-right { - padding-left: 0.5rem; - } - } - - .workarea-single-view { - width: 100%; - height: 100%; - background-color: var(--background-color-secondary); - border-radius: 0.5rem; - } - - .workarea-split-view-left, - .workarea-split-view-right { - display: flex; - flex-direction: column; - height: 100%; - width: 100%; - row-gap: 1rem; - background-color: var(--background-color-secondary); - border-radius: 0.5rem; - padding: 1rem; - } - } -} -.workarea-split-button { - position: absolute; - cursor: pointer; - padding: 0.5rem; - top: 0; - right: 0; - // z-index: 20; - - &[data-selected='true'] { - top: 0; - right: 0; - svg { - opacity: 1; - } - } - svg { - opacity: 0.5; - } -} diff --git a/invokeai/frontend/web/src/features/ui/components/InvokeWorkarea.tsx b/invokeai/frontend/web/src/features/ui/components/InvokeWorkarea.tsx index d3aca2dae9..0210d249cf 100644 --- a/invokeai/frontend/web/src/features/ui/components/InvokeWorkarea.tsx +++ b/invokeai/frontend/web/src/features/ui/components/InvokeWorkarea.tsx @@ -1,4 +1,4 @@ -import { Tooltip } from '@chakra-ui/react'; +import { Box, BoxProps, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import ImageGallery from 'features/gallery/components/ImageGallery'; @@ -8,27 +8,20 @@ import { uiSelector, } from 'features/ui/store/uiSelectors'; import { DragEvent, ReactNode } from 'react'; -import { VscSplitHorizontal } from 'react-icons/vsc'; -import { - setDoesCanvasNeedScaling, - setInitialCanvasImage, -} from 'features/canvas/store/canvasSlice'; +import { setInitialCanvasImage } from 'features/canvas/store/canvasSlice'; import useGetImageByUuid from 'features/gallery/hooks/useGetImageByUuid'; import { lightboxSelector } from 'features/lightbox/store/lightboxSelectors'; -import { setShouldShowDualDisplay } from 'features/ui/store/uiSlice'; import { isEqual } from 'lodash'; const workareaSelector = createSelector( [uiSelector, lightboxSelector, activeTabNameSelector], (ui, lightbox, activeTabName) => { - const { shouldShowDualDisplay, shouldPinParametersPanel } = ui; + const { shouldPinParametersPanel } = ui; const { isLightboxOpen } = lightbox; return { - shouldShowDualDisplay, shouldPinParametersPanel, isLightboxOpen, - shouldShowDualDisplayButton: ['inpainting'].includes(activeTabName), activeTabName, }; }, @@ -39,29 +32,18 @@ const workareaSelector = createSelector( } ); -type InvokeWorkareaProps = { +type InvokeWorkareaProps = BoxProps & { optionsPanel: ReactNode; children: ReactNode; - styleClass?: string; }; const InvokeWorkarea = (props: InvokeWorkareaProps) => { const dispatch = useAppDispatch(); - const { optionsPanel, children, styleClass } = props; - const { - activeTabName, - shouldShowDualDisplay, - isLightboxOpen, - shouldShowDualDisplayButton, - } = useAppSelector(workareaSelector); + const { optionsPanel, children, ...rest } = props; + const { activeTabName, isLightboxOpen } = useAppSelector(workareaSelector); const getImageByUuid = useGetImageByUuid(); - const handleDualDisplay = () => { - dispatch(setShouldShowDualDisplay(!shouldShowDualDisplay)); - dispatch(setDoesCanvasNeedScaling(true)); - }; - const handleDrop = (e: DragEvent) => { const uuid = e.dataTransfer.getData('invokeai/imageUuid'); const image = getImageByUuid(uuid); @@ -74,30 +56,15 @@ const InvokeWorkarea = (props: InvokeWorkareaProps) => { }; return ( -
    -
    + + {optionsPanel} -
    + {children} - {shouldShowDualDisplayButton && ( - -
    - -
    -
    - )} -
    +
    {!isLightboxOpen && } -
    -
    + + ); }; diff --git a/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImage.scss b/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImage.scss deleted file mode 100644 index 65cfb8a2bc..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImage.scss +++ /dev/null @@ -1,6 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.text-to-image-area { - padding: 1rem; - height: 100%; -} diff --git a/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImageDisplay.tsx b/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImageDisplay.tsx index 36cd60fd36..219b70bc2d 100644 --- a/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImageDisplay.tsx +++ b/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImageDisplay.tsx @@ -1,12 +1,20 @@ +import { Box, Flex } from '@chakra-ui/react'; import CurrentImageDisplay from 'features/gallery/components/CurrentImageDisplay'; const TextToImageDisplay = () => { return ( -
    -
    + + -
    -
    + + ); }; diff --git a/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImagePanel.tsx b/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImagePanel.tsx index ee9f7ace3f..09b96be20c 100644 --- a/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImagePanel.tsx +++ b/invokeai/frontend/web/src/features/ui/components/TextToImage/TextToImagePanel.tsx @@ -10,7 +10,7 @@ import UpscaleSettings from 'features/parameters/components/AdvancedParameters/U import UpscaleToggle from 'features/parameters/components/AdvancedParameters/Upscale/UpscaleToggle'; import GenerateVariationsToggle from 'features/parameters/components/AdvancedParameters/Variations/GenerateVariations'; import VariationsSettings from 'features/parameters/components/AdvancedParameters/Variations/VariationsSettings'; -import MainSettings from 'features/parameters/components/MainParameters/MainParameters'; +import MainSettings from 'features/parameters/components/MainParameters/MainSettings'; import ParametersAccordion from 'features/parameters/components/ParametersAccordion'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import NegativePromptInput from 'features/parameters/components/PromptInput/NegativePromptInput'; @@ -22,6 +22,11 @@ export default function TextToImagePanel() { const { t } = useTranslation(); const textToImageAccordions = { + general: { + header: `${t('parameters.general')}`, + feature: undefined, + content: , + }, seed: { header: `${t('parameters.seed')}`, feature: Feature.SEED, @@ -59,12 +64,11 @@ export default function TextToImagePanel() { return ( - + - ); diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/CanvasWorkarea.scss b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/CanvasWorkarea.scss deleted file mode 100644 index 6a99c38003..0000000000 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/CanvasWorkarea.scss +++ /dev/null @@ -1,103 +0,0 @@ -@use '../../../../styles/Mixins/' as *; - -.inpainting-main-area { - display: flex; - flex-direction: column; - align-items: center; - row-gap: 1rem; - width: 100%; - height: 100%; - - .inpainting-settings { - display: flex; - align-items: center; - column-gap: 0.5rem; - - svg { - transform: scale(0.9); - } - - .inpainting-buttons-group { - display: flex; - align-items: center; - column-gap: 0.5rem; - } - - .inpainting-button-dropdown { - display: flex; - flex-direction: column; - row-gap: 0.5rem; - } - - .inpainting-color-picker { - margin-left: 1rem; - } - - .inpainting-brush-options { - display: flex; - align-items: center; - column-gap: 1rem; - } - } -} - -.inpainting-canvas-area { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - row-gap: 1rem; - width: 100%; - height: 100%; -} - -.inpainting-canvas-spiner { - display: flex; - align-items: center; - width: 100%; - height: 100%; -} - -.inpainting-canvas-container { - display: flex; - position: relative; - height: 100%; - width: 100%; - border-radius: 0.5rem; -} - -.inpainting-canvas-wrapper { - position: relative; -} - -.inpainting-canvas-stage { - outline: none; - border-radius: 0.5rem; - box-shadow: 0px 0px 0px 1px var(--border-color-light); - overflow: hidden; - - canvas { - outline: none; - border-radius: 0.5rem; - } -} - -.inpainting-options-btn { - min-height: 2rem; -} - -.canvas-status-text { - position: absolute; - top: 0; - left: 0; - background-color: var(--background-color); - opacity: 0.65; - display: flex; - flex-direction: column; - font-size: 0.8rem; - padding: 0.25rem; - min-width: 12rem; - border-radius: 0.25rem; - margin: 0.25rem; - pointer-events: none; -} diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx index f06c1ae988..2ca4139ed0 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasDisplayBeta.tsx @@ -1,6 +1,6 @@ import { createSelector } from '@reduxjs/toolkit'; // import IAICanvas from 'features/canvas/components/IAICanvas'; -import { Flex } from '@chakra-ui/react'; +import { Box, Flex } from '@chakra-ui/react'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAICanvas from 'features/canvas/components/IAICanvas'; import IAICanvasResizer from 'features/canvas/components/IAICanvasResizer'; @@ -45,21 +45,28 @@ const UnifiedCanvasDisplayBeta = () => { }, [dispatch]); return ( -
    + - + {doesCanvasNeedScaling ? : } -
    + ); }; diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBaseBrushSettings.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBaseBrushSettings.tsx index 44deea45c6..9b9310b197 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBaseBrushSettings.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBaseBrushSettings.tsx @@ -4,7 +4,7 @@ import UnifiedCanvasLimitStrokesToBox from './UnifiedCanvasLimitStrokesToBox'; export default function UnifiedCanvasBaseBrushSettings() { return ( - + diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSettings.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSettings.tsx index 387495598d..1a5e42461b 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSettings.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSettings.tsx @@ -4,7 +4,7 @@ import UnifiedCanvasColorPicker from './UnifiedCanvasColorPicker'; export default function UnifiedCanvasBrushSettings() { return ( - + diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSize.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSize.tsx index f38d274189..0ff57236c2 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSize.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasBrushSize.tsx @@ -49,7 +49,6 @@ export default function UnifiedCanvasBrushSize() { onChange={(newSize) => dispatch(setBrushSize(newSize))} sliderNumberInputProps={{ max: 500 }} inputReadOnly={false} - width="100px" isCompact /> ); diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasColorPicker.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasColorPicker.tsx index e6957a63d7..73db41d0d3 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasColorPicker.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasColorPicker.tsx @@ -80,38 +80,38 @@ export default function UnifiedCanvasColorPicker() { trigger="hover" triggerComponent={ } > - + {layer === 'base' && ( dispatch(setBrushColor(newColor))} /> )} {layer === 'mask' && ( dispatch(setMaskColor(newColor))} /> )} diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMaskBrushSettings.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMaskBrushSettings.tsx index 9e24e0acfb..71f41496ed 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMaskBrushSettings.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMaskBrushSettings.tsx @@ -6,7 +6,7 @@ import UnifiedCanvasPreserveMask from './UnifiedCanvasPreserveMask'; export default function UnifiedCanvasMaskBrushSettings() { return ( - + diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMoveSettings.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMoveSettings.tsx index 2c5a8277db..8881c93bb1 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMoveSettings.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasMoveSettings.tsx @@ -5,7 +5,7 @@ import UnifiedCanvasSnapToGrid from './UnifiedCanvasSnapToGrid'; export default function UnifiedCanvasMoveSettings() { return ( - + diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasSettings.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasSettings.tsx index 09c6f38812..4dc3778b71 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasSettings.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolSettings/UnifiedCanvasSettings.tsx @@ -68,7 +68,7 @@ const UnifiedCanvasSettings = () => { /> } > - + + {layer == 'base' && ['brush', 'eraser', 'colorPicker'].includes(tool) && ( )} diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasMoveTool.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasMoveTool.tsx index 6c537d8930..4b73d28749 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasMoveTool.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasMoveTool.tsx @@ -32,7 +32,7 @@ export default function UnifiedCanvasMoveTool() { aria-label={`${t('unifiedCanvas.move')} (V)`} tooltip={`${t('unifiedCanvas.move')} (V)`} icon={} - data-selected={tool === 'move' || isStaging} + isChecked={tool === 'move' || isStaging} onClick={handleSelectMoveTool} /> ); diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx index 93a67ad574..5880aa037b 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasProcessingButtons.tsx @@ -25,7 +25,7 @@ export default function UnifiedCanvasProcessingButtons() { }; return ( - + } onClick={handleResetCanvas} - style={{ backgroundColor: 'var(--btn-delete-image)' }} isDisabled={isStaging} + colorScheme="error" /> ); } diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasToolSelect.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasToolSelect.tsx index 0b941dd706..82b48fe435 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasToolSelect.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbar/UnifiedCanvasToolSelect.tsx @@ -113,13 +113,13 @@ const UnifiedCanvasToolSelect = () => { const handleEraseBoundingBox = () => dispatch(addEraseRect()); return ( - + } - data-selected={tool === 'brush' && !isStaging} + isChecked={tool === 'brush' && !isStaging} onClick={handleSelectBrushTool} isDisabled={isStaging} /> @@ -127,7 +127,7 @@ const UnifiedCanvasToolSelect = () => { aria-label={`${t('unifiedCanvas.eraser')} (E)`} tooltip={`${t('unifiedCanvas.eraser')} (B)`} icon={} - data-selected={tool === 'eraser' && !isStaging} + isChecked={tool === 'eraser' && !isStaging} isDisabled={isStaging} onClick={handleSelectEraserTool} /> @@ -152,7 +152,7 @@ const UnifiedCanvasToolSelect = () => { aria-label={`${t('unifiedCanvas.colorPicker')} (C)`} tooltip={`${t('unifiedCanvas.colorPicker')} (C)`} icon={} - data-selected={tool === 'colorPicker' && !isStaging} + isChecked={tool === 'colorPicker' && !isStaging} isDisabled={isStaging} onClick={handleSelectColorPickerTool} width="max-content" diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx index 9860bd12f7..cf41020cbb 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasBeta/UnifiedCanvasToolbarBeta.tsx @@ -23,30 +23,30 @@ const UnifiedCanvasToolbarBeta = () => { ); return ( - + - + - + - + - + - + diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasDisplay.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasDisplay.tsx index 37e7e71fdb..ac7f086bea 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasDisplay.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasDisplay.tsx @@ -1,9 +1,10 @@ +import { Box, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; // import IAICanvas from 'features/canvas/components/IAICanvas'; import { useAppDispatch, useAppSelector } from 'app/storeHooks'; import IAICanvas from 'features/canvas/components/IAICanvas'; import IAICanvasResizer from 'features/canvas/components/IAICanvasResizer'; -import IAICanvasOutpaintingControls from 'features/canvas/components/IAICanvasToolbar/IAICanvasToolbar'; +import IAICanvasToolbar from 'features/canvas/components/IAICanvasToolbar/IAICanvasToolbar'; import { canvasSelector } from 'features/canvas/store/canvasSelectors'; import { setDoesCanvasNeedScaling } from 'features/canvas/store/canvasSlice'; import { debounce, isEqual } from 'lodash'; @@ -43,16 +44,39 @@ const UnifiedCanvasDisplay = () => { }, [dispatch]); return ( -
    -
    -
    - -
    - {doesCanvasNeedScaling ? : } -
    -
    -
    -
    + + + + + {doesCanvasNeedScaling ? : } + + + ); }; diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasPanel.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasPanel.tsx index 392648075e..97ba3f23ec 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasPanel.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasPanel.tsx @@ -10,7 +10,7 @@ import SymmetryToggle from 'features/parameters/components/AdvancedParameters/Ou import SeedSettings from 'features/parameters/components/AdvancedParameters/Seed/SeedSettings'; import GenerateVariationsToggle from 'features/parameters/components/AdvancedParameters/Variations/GenerateVariations'; import VariationsSettings from 'features/parameters/components/AdvancedParameters/Variations/VariationsSettings'; -import MainSettings from 'features/parameters/components/MainParameters/MainParameters'; +import MainSettings from 'features/parameters/components/MainParameters/MainSettings'; import ParametersAccordion from 'features/parameters/components/ParametersAccordion'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import NegativePromptInput from 'features/parameters/components/PromptInput/NegativePromptInput'; @@ -22,6 +22,16 @@ export default function UnifiedCanvasPanel() { const { t } = useTranslation(); const unifiedCanvasAccordions = { + general: { + header: `${t('parameters.general')}`, + feature: undefined, + content: , + }, + unifiedCanvasImg2Img: { + header: `${t('parameters.imageToImage')}`, + feature: undefined, + content: , + }, seed: { header: `${t('parameters.seed')}`, feature: Feature.SEED, @@ -55,28 +65,14 @@ export default function UnifiedCanvasPanel() { }, }; - const unifiedCanvasImg2ImgAccordion = { - unifiedCanvasImg2Img: { - header: `${t('parameters.imageToImage')}`, - feature: undefined, - content: ( - - ), - }, - }; - return ( - + - - + {/* */} ); diff --git a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx index 49db741541..b35504a2ac 100644 --- a/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx +++ b/invokeai/frontend/web/src/features/ui/components/UnifiedCanvas/UnifiedCanvasWorkarea.tsx @@ -10,10 +10,7 @@ export default function UnifiedCanvasWorkarea() { (state: RootState) => state.ui.shouldUseCanvasBetaLayout ); return ( - } - styleClass="inpainting-workarea-overrides" - > + }> {shouldUseCanvasBetaLayout ? ( ) : ( diff --git a/invokeai/frontend/web/src/features/ui/store/uiSlice.ts b/invokeai/frontend/web/src/features/ui/store/uiSlice.ts index 3bbb6c206f..d9abae23d8 100644 --- a/invokeai/frontend/web/src/features/ui/store/uiSlice.ts +++ b/invokeai/frontend/web/src/features/ui/store/uiSlice.ts @@ -10,7 +10,6 @@ const initialtabsState: UIState = { shouldHoldParametersPanelOpen: false, shouldPinParametersPanel: true, shouldShowParametersPanel: true, - shouldShowDualDisplay: true, shouldShowImageDetails: false, shouldUseCanvasBetaLayout: false, shouldShowExistingModelsInSearch: false, @@ -52,9 +51,6 @@ export const uiSlice = createSlice({ ) => { state.shouldHoldParametersPanelOpen = action.payload; }, - setShouldShowDualDisplay: (state, action: PayloadAction) => { - state.shouldShowDualDisplay = action.payload; - }, setShouldShowImageDetails: (state, action: PayloadAction) => { state.shouldShowImageDetails = action.payload; }, @@ -83,7 +79,6 @@ export const { setShouldHoldParametersPanelOpen, setShouldPinParametersPanel, setShouldShowParametersPanel, - setShouldShowDualDisplay, setShouldShowImageDetails, setShouldUseCanvasBetaLayout, setShouldShowExistingModelsInSearch, diff --git a/invokeai/frontend/web/src/features/ui/store/uiTypes.ts b/invokeai/frontend/web/src/features/ui/store/uiTypes.ts index cd9b3817a1..5885bc3ed7 100644 --- a/invokeai/frontend/web/src/features/ui/store/uiTypes.ts +++ b/invokeai/frontend/web/src/features/ui/store/uiTypes.ts @@ -7,7 +7,6 @@ export interface UIState { shouldHoldParametersPanelOpen: boolean; shouldPinParametersPanel: boolean; shouldShowParametersPanel: boolean; - shouldShowDualDisplay: boolean; shouldShowImageDetails: boolean; shouldUseCanvasBetaLayout: boolean; shouldShowExistingModelsInSearch: boolean; diff --git a/invokeai/frontend/web/src/i18.d.ts b/invokeai/frontend/web/src/i18.d.ts index 61878384e6..90cee53385 100644 --- a/invokeai/frontend/web/src/i18.d.ts +++ b/invokeai/frontend/web/src/i18.d.ts @@ -1,11 +1,16 @@ import 'i18next'; +import en from '../public/locales/en.json'; + declare module 'i18next' { // Extend CustomTypeOptions interface CustomTypeOptions { // Setting Default Namespace As English defaultNS: 'en'; // Custom Types For Resources + resources: { + en: typeof en; + }; // Never Return Null returnNull: false; } diff --git a/invokeai/frontend/web/src/main.tsx b/invokeai/frontend/web/src/main.tsx index 09b99d37f6..edbca0c368 100644 --- a/invokeai/frontend/web/src/main.tsx +++ b/invokeai/frontend/web/src/main.tsx @@ -1,38 +1,36 @@ -import { ChakraProvider } from '@chakra-ui/react'; -import createCache from '@emotion/cache'; -import { CacheProvider } from '@emotion/react'; -import React from 'react'; +import React, { lazy } from 'react'; import ReactDOM from 'react-dom/client'; import { Provider } from 'react-redux'; import { PersistGate } from 'redux-persist/integration/react'; import { store } from './app/store'; import { persistor } from './persistor'; +import '@fontsource/inter/100.css'; +import '@fontsource/inter/200.css'; +import '@fontsource/inter/300.css'; +import '@fontsource/inter/400.css'; +import '@fontsource/inter/500.css'; +import '@fontsource/inter/600.css'; +import '@fontsource/inter/700.css'; +import '@fontsource/inter/800.css'; +import '@fontsource/inter/900.css'; -import App from './app/App'; import Loading from './Loading'; -export const emotionCache = createCache({ - key: 'invokeai-style-cache', - prepend: true, -}); - -// Custom Styling -import './styles/index.scss'; - // Localization import './i18n'; +const App = lazy(() => import('./app/App')); +const ThemeLocaleProvider = lazy(() => import('./app/ThemeLocaleProvider')); + ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( } persistor={persistor}> - - - }> - - - - + }> + + + + diff --git a/invokeai/frontend/web/src/styles/Mixins/Buttons.scss b/invokeai/frontend/web/src/styles/Mixins/Buttons.scss index 93772d4ef8..ee3795eae5 100644 --- a/invokeai/frontend/web/src/styles/Mixins/Buttons.scss +++ b/invokeai/frontend/web/src/styles/Mixins/Buttons.scss @@ -5,36 +5,36 @@ $btn-height: 100%, $icon-size: 20px ) { - min-width: $btn-width; - min-height: $btn-height; - background-color: $btn-color !important; + // min-width: $btn-width; + // min-height: $btn-height; + // background-color: $btn-color; - &:hover { - background-color: $btn-color-hover; - } + // &:hover { + // background-color: $btn-color-hover; + // } - &:disabled { - background-color: var(--btn-base-color); - &:hover { - background-color: var(--btn-base-color); - } - } + // &:disabled { + // background-color: var(--btn-base-color); + // &:hover { + // background-color: var(--btn-base-color); + // } + // } - svg { - width: $icon-size; - height: $icon-size; - color: var(--btn-svg-color); - } + // svg { + // width: $icon-size; + // height: $icon-size; + // color: var(--btn-svg-color); + // } } @mixin BaseButton { - background-color: var(--btn-base-color); - &:hover { - background-color: var(--btn-base-color-hover); - } - &:disabled { - &:hover { - background-color: var(--btn-base-color); - } - } + // background-color: var(--btn-base-color); + // &:hover { + // background-color: var(--btn-base-color-hover); + // } + // &:disabled { + // &:hover { + // background-color: var(--btn-base-color); + // } + // } } diff --git a/invokeai/frontend/web/src/styles/Mixins/_Responsive.scss b/invokeai/frontend/web/src/styles/Mixins/_Responsive.scss index 0cf98567be..7f592ffe7c 100644 --- a/invokeai/frontend/web/src/styles/Mixins/_Responsive.scss +++ b/invokeai/frontend/web/src/styles/Mixins/_Responsive.scss @@ -1,159 +1,159 @@ -@media (max-width: 600px) { - #root { - .app-content { - padding: 5px; - .site-header { - position: fixed; - display: flex; - height: 100px; - z-index: 1; - .site-header-left-side { - position: absolute; - display: flex; - min-width: 145px; - float: left; - padding-left: 0; - } - .site-header-right-side { - display: grid; - grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; - grid-template-rows: 25px 25px 25px; - grid-template-areas: - 'logoSpace logoSpace logoSpace sampler sampler sampler' - 'status status status status status status' - 'btn1 btn2 btn3 btn4 btn5 btn6'; - row-gap: 15px; - .chakra-popover__popper { - grid-area: logoSpace; - } - > :nth-child(1).chakra-text { - grid-area: status; - width: 100%; - display: flex; - justify-content: center; - } - > :nth-child(2) { - grid-area: sampler; - display: flex; - justify-content: center; - align-items: center; - select { - width: 185px; - margin-top: 10px; - } - .chakra-select__icon-wrapper { - right: 10px; - svg { - margin-top: 10px; - } - } - } - > :nth-child(3) { - grid-area: btn1; - } - > :nth-child(4) { - grid-area: btn2; - } - > :nth-child(6) { - grid-area: btn3; - } - > :nth-child(7) { - grid-area: btn4; - } - > :nth-child(8) { - grid-area: btn5; - } - > :nth-child(9) { - grid-area: btn6; - } - } - } - .app-tabs { - position: fixed; - display: flex; - flex-direction: column; - row-gap: 15px; - max-width: 100%; - overflow: hidden; - margin-top: 120px; - .app-tabs-list { - display: flex; - justify-content: space-between; - } - .app-tabs-panels { - overflow: hidden; - overflow-y: scroll; - .workarea-main { - display: grid; - grid-template-areas: - 'workarea' - 'options' - 'gallery'; - row-gap: 15px; - .parameters-panel-wrapper { - grid-area: options; - width: 100%; - max-width: 100%; - height: inherit; - overflow: inherit; - padding: 0 10px; - .main-settings-row { - max-width: 100%; - } - .advanced-parameters-item { - max-width: 100%; - } - } - .workarea-children-wrapper { - grid-area: workarea; - .workarea-split-view { - display: flex; - flex-direction: column; - } - .current-image-options { - column-gap: 3px; - } - .text-to-image-area { - padding: 0; - } - .current-image-preview { - height: 430px; - } +// @media (max-width: 600px) { +// #root { +// .app-content { +// padding: 5px; +// .site-header { +// position: fixed; +// display: flex; +// height: 100px; +// z-index: 1; +// .site-header-left-side { +// position: absolute; +// display: flex; +// min-width: 145px; +// float: left; +// padding-left: 0; +// } +// .site-header-right-side { +// display: grid; +// grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; +// grid-template-rows: 25px 25px 25px; +// grid-template-areas: +// 'logoSpace logoSpace logoSpace sampler sampler sampler' +// 'status status status status status status' +// 'btn1 btn2 btn3 btn4 btn5 btn6'; +// row-gap: 15px; +// .chakra-popover__popper { +// grid-area: logoSpace; +// } +// > :nth-child(1).chakra-text { +// grid-area: status; +// width: 100%; +// display: flex; +// justify-content: center; +// } +// > :nth-child(2) { +// grid-area: sampler; +// display: flex; +// justify-content: center; +// align-items: center; +// select { +// width: 185px; +// margin-top: 10px; +// } +// .chakra-select__icon-wrapper { +// right: 10px; +// svg { +// margin-top: 10px; +// } +// } +// } +// > :nth-child(3) { +// grid-area: btn1; +// } +// > :nth-child(4) { +// grid-area: btn2; +// } +// > :nth-child(6) { +// grid-area: btn3; +// } +// > :nth-child(7) { +// grid-area: btn4; +// } +// > :nth-child(8) { +// grid-area: btn5; +// } +// > :nth-child(9) { +// grid-area: btn6; +// } +// } +// } +// .app-tabs { +// position: fixed; +// display: flex; +// flex-direction: column; +// row-gap: 15px; +// max-width: 100%; +// overflow: hidden; +// margin-top: 120px; +// .app-tabs-list { +// display: flex; +// justify-content: space-between; +// } +// .app-tabs-panels { +// overflow: hidden; +// overflow-y: scroll; +// .workarea-main { +// display: grid; +// grid-template-areas: +// 'workarea' +// 'options' +// 'gallery'; +// row-gap: 15px; +// .parameters-panel-wrapper { +// grid-area: options; +// width: 100%; +// max-width: 100%; +// height: inherit; +// overflow: inherit; +// padding: 0 10px; +// .main-settings-row { +// max-width: 100%; +// } +// .advanced-parameters-item { +// max-width: 100%; +// } +// } +// .workarea-children-wrapper { +// grid-area: workarea; +// .workarea-split-view { +// display: flex; +// flex-direction: column; +// } +// .current-image-options { +// column-gap: 3px; +// } +// .text-to-image-area { +// padding: 0; +// } +// .current-image-preview { +// height: 430px; +// } - //image 2 image - .image-upload-button { - row-gap: 10px; - padding: 5px; - svg { - width: 2rem; - height: 2rem; - margin-top: 10px; - } - } +// //image 2 image +// .image-upload-button { +// row-gap: 10px; +// padding: 5px; +// svg { +// width: 2rem; +// height: 2rem; +// margin-top: 10px; +// } +// } - //Cavas Painting - .inpainting-settings { - display: flex; - flex-wrap: wrap; - row-gap: 10px; - } - .inpainting-canvas-area { - .konvajs-content { - height: 400px !important; - } - } - } - .image-gallery-wrapper { - grid-area: gallery; - min-height: 400px; - .image-gallery-popup { - width: 100% !important; - max-width: 100% !important; - } - } - } - } - } - } - } -} +// //Cavas Painting +// .inpainting-settings { +// display: flex; +// flex-wrap: wrap; +// row-gap: 10px; +// } +// .inpainting-canvas-area { +// .konvajs-content { +// height: 400px !important; +// } +// } +// } +// .image-gallery-wrapper { +// grid-area: gallery; +// min-height: 400px; +// .image-gallery-popup { +// width: 100% !important; +// max-width: 100% !important; +// } +// } +// } +// } +// } +// } +// } +// } diff --git a/invokeai/frontend/web/src/styles/Themes/_Colors_Dark.scss b/invokeai/frontend/web/src/styles/Themes/_Colors_Dark.scss index 13c8a507c1..88d2859cb3 100644 --- a/invokeai/frontend/web/src/styles/Themes/_Colors_Dark.scss +++ b/invokeai/frontend/web/src/styles/Themes/_Colors_Dark.scss @@ -1,4 +1,4 @@ -[data-theme='dark'] { +[data-theme='asdf'] { // General Colors --white: rgb(255, 255, 255); diff --git a/invokeai/frontend/web/src/styles/Themes/_Colors_Light.scss b/invokeai/frontend/web/src/styles/Themes/_Colors_Light.scss index 4c4f93dfbf..67efb7e3fa 100644 --- a/invokeai/frontend/web/src/styles/Themes/_Colors_Light.scss +++ b/invokeai/frontend/web/src/styles/Themes/_Colors_Light.scss @@ -1,138 +1,138 @@ -[data-theme='light'] { - // General Colors - --white: rgb(255, 255, 255); +// [data-theme='light'] { +// // General Colors +// --white: rgb(255, 255, 255); - // Accent Colors - --accent-color-dim: rgb(186, 146, 0); - --accent-color: rgb(235, 185, 5); - --accent-color-bright: rgb(255, 200, 0); - --accent-color-hover: var(--accent-color-bright); +// // Accent Colors +// --accent-color-dim: rgb(186, 146, 0); +// --accent-color: rgb(235, 185, 5); +// --accent-color-bright: rgb(255, 200, 0); +// --accent-color-hover: var(--accent-color-bright); - // App Colors - --root-bg-color: rgb(255, 255, 255); - --background-color: rgb(220, 222, 224); - --background-color-light: rgb(250, 252, 254); - --background-color-secondary: rgb(208, 210, 212); +// // App Colors +// --root-bg-color: rgb(255, 255, 255); +// --background-color: rgb(220, 222, 224); +// --background-color-light: rgb(250, 252, 254); +// --background-color-secondary: rgb(208, 210, 212); - --text-color: rgb(0, 0, 0); - --text-color-secondary: rgb(40, 40, 40); - --subtext-color: rgb(24, 24, 34); - --subtext-color-bright: rgb(142, 144, 146); +// --text-color: rgb(0, 0, 0); +// --text-color-secondary: rgb(40, 40, 40); +// --subtext-color: rgb(24, 24, 34); +// --subtext-color-bright: rgb(142, 144, 146); - --border-color: rgb(200, 200, 200); - --border-color-light: rgb(147, 147, 147); +// --border-color: rgb(200, 200, 200); +// --border-color-light: rgb(147, 147, 147); - --svg-color: rgb(50, 50, 50); +// --svg-color: rgb(50, 50, 50); - --invalid: rgb(255, 75, 75); - --invalid-secondary: rgb(120, 5, 5); +// --invalid: rgb(255, 75, 75); +// --invalid-secondary: rgb(120, 5, 5); - --destructive-color: rgb(237, 51, 51); - --destructive-color-hover: rgb(255, 55, 55); +// --destructive-color: rgb(237, 51, 51); +// --destructive-color-hover: rgb(255, 55, 55); - --warning-color: rgb(224, 142, 42); - --warning-color-hover: rgb(255, 167, 60); +// --warning-color: rgb(224, 142, 42); +// --warning-color-hover: rgb(255, 167, 60); - // Error status colors - --border-color-invalid: rgb(255, 80, 50); - --box-shadow-color-invalid: none; +// // Error status colors +// --border-color-invalid: rgb(255, 80, 50); +// --box-shadow-color-invalid: none; - // Tabs - --tab-color: rgb(202, 204, 206); - --tab-hover-color: rgb(196, 198, 200); - --tab-panel-bg: rgb(206, 208, 210); - --tab-list-bg: rgb(235, 185, 5); - --tab-list-text: rgb(0, 0, 0); - --tab-list-text-inactive: rgb(106, 108, 110); +// // Tabs +// --tab-color: rgb(202, 204, 206); +// --tab-hover-color: rgb(196, 198, 200); +// --tab-panel-bg: rgb(206, 208, 210); +// --tab-list-bg: rgb(235, 185, 5); +// --tab-list-text: rgb(0, 0, 0); +// --tab-list-text-inactive: rgb(106, 108, 110); - // Button Colors - --btn-base-color: rgb(184, 186, 188); - --btn-base-color-hover: rgb(230, 232, 234); +// // Button Colors +// --btn-base-color: rgb(184, 186, 188); +// --btn-base-color-hover: rgb(230, 232, 234); - --btn-load-more: rgb(202, 204, 206); - --btn-load-more-hover: rgb(178, 180, 182); - --btn-svg-color: rgb(0, 0, 0); +// --btn-load-more: rgb(202, 204, 206); +// --btn-load-more-hover: rgb(178, 180, 182); +// --btn-svg-color: rgb(0, 0, 0); - --btn-delete-image: rgb(213, 49, 49); +// --btn-delete-image: rgb(213, 49, 49); - // IAI Button Colors - --btn-checkbox-border-hover: rgb(176, 178, 182); - // Progress Bar Color - --progress-bar-color: rgb(235, 185, 5); +// // IAI Button Colors +// --btn-checkbox-border-hover: rgb(176, 178, 182); +// // Progress Bar Color +// --progress-bar-color: rgb(235, 185, 5); - // Prompt Box Colors - --prompt-bg-color: rgb(225, 227, 229); - // Switch - --switch-bg-color: rgb(178, 180, 182); - --switch-bg-active-color: rgb(235, 185, 5); +// // Prompt Box Colors +// --prompt-bg-color: rgb(225, 227, 229); +// // Switch +// --switch-bg-color: rgb(178, 180, 182); +// --switch-bg-active-color: rgb(235, 185, 5); - // Slider - --slider-color: var(--accent-color); - --slider-mark-color: rgb(0, 0, 0); +// // Slider +// --slider-color: var(--accent-color); +// --slider-mark-color: rgb(0, 0, 0); - // Resizable - --resizeable-handle-border-color: rgb(160, 162, 164); +// // Resizable +// --resizeable-handle-border-color: rgb(160, 162, 164); - // Metadata Viewer - --metadata-bg-color: rgba(230, 230, 230, 0.9); - --metadata-json-bg-color: rgba(0, 0, 0, 0.1); +// // Metadata Viewer +// --metadata-bg-color: rgba(230, 230, 230, 0.9); +// --metadata-json-bg-color: rgba(0, 0, 0, 0.1); - // Status Message - --status-good-color: rgb(21, 126, 0); - --status-good-glow: var(--background-color); - --status-working-color: rgb(235, 141, 0); - --status-working-glow: var(--background-color); - --status-bad-color: rgb(202, 0, 0); - --status-bad-glow: var(--background-color); - --notice-color: rgb(255, 71, 90); +// // Status Message +// --status-good-color: rgb(21, 126, 0); +// --status-good-glow: var(--background-color); +// --status-working-color: rgb(235, 141, 0); +// --status-working-glow: var(--background-color); +// --status-bad-color: rgb(202, 0, 0); +// --status-bad-glow: var(--background-color); +// --notice-color: rgb(255, 71, 90); - // Settings Modal - --settings-modal-bg: rgb(202, 204, 206); +// // Settings Modal +// --settings-modal-bg: rgb(202, 204, 206); - // Input - --input-checkbox-bg: rgb(167, 167, 171); - --input-checkbox-checked-bg: rgb(235, 185, 5); - --input-checkbox-checked-tick: rgb(0, 0, 0); - --input-border-color: rgb(0, 0, 0); - --input-box-shadow-color: none; +// // Input +// --input-checkbox-bg: rgb(167, 167, 171); +// --input-checkbox-checked-bg: rgb(235, 185, 5); +// --input-checkbox-checked-tick: rgb(0, 0, 0); +// --input-border-color: rgb(0, 0, 0); +// --input-box-shadow-color: none; - // Console - --error-level-info: rgb(42, 42, 42); - --error-level-warning: rgb(173, 121, 0); - --error-level-error: rgb(145, 14, 0); - --console-bg-color: rgb(220, 224, 230); - --console-icon-button-bg-color: var(--switch-bg-color); - --console-icon-button-bg-color-hover: var(--resizeable-handle-border-color); +// // Console +// --error-level-info: rgb(42, 42, 42); +// --error-level-warning: rgb(173, 121, 0); +// --error-level-error: rgb(145, 14, 0); +// --console-bg-color: rgb(220, 224, 230); +// --console-icon-button-bg-color: var(--switch-bg-color); +// --console-icon-button-bg-color-hover: var(--resizeable-handle-border-color); - // Img2Img - --img2img-img-bg-color: rgb(180, 182, 184); +// // Img2Img +// --img2img-img-bg-color: rgb(180, 182, 184); - // Gallery +// // Gallery - // Context Menus - --context-menu-bg-color: var(--background-color); - --context-menu-box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), - 0px 10px 20px -15px rgba(22, 23, 24, 0.2); - --context-menu-bg-color-hover: var(--background-color-secondary); +// // Context Menus +// --context-menu-bg-color: var(--background-color); +// --context-menu-box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), +// 0px 10px 20px -15px rgba(22, 23, 24, 0.2); +// --context-menu-bg-color-hover: var(--background-color-secondary); - // Shadows - --floating-button-drop-shadow-color: rgba(0, 0, 0, 0.7); +// // Shadows +// --floating-button-drop-shadow-color: rgba(0, 0, 0, 0.7); - // Canvas - --inpainting-alerts-bg: rgba(220, 222, 224, 0.75); - --inpainting-alerts-icon-color: rgb(0, 0, 0); - --inpainting-alerts-bg-active: rgb(255, 200, 0); - --inpainting-alerts-icon-active: rgb(0, 0, 0); - --inpainting-alerts-bg-alert: var(--invalid); - --inpainting-alerts-icon-alert: rgb(0, 0, 0); +// // Canvas +// --inpainting-alerts-bg: rgba(220, 222, 224, 0.75); +// --inpainting-alerts-icon-color: rgb(0, 0, 0); +// --inpainting-alerts-bg-active: rgb(255, 200, 0); +// --inpainting-alerts-icon-active: rgb(0, 0, 0); +// --inpainting-alerts-bg-alert: var(--invalid); +// --inpainting-alerts-icon-alert: rgb(0, 0, 0); - // Checkerboard - --checkboard-dots-color: rgb(160, 160, 172); +// // Checkerboard +// --checkboard-dots-color: rgb(160, 160, 172); - // Scrollbar - --scrollbar-color: rgb(180, 180, 184); - --scrollbar-color-hover: rgb(150, 150, 154); +// // Scrollbar +// --scrollbar-color: rgb(180, 180, 184); +// --scrollbar-color-hover: rgb(150, 150, 154); - // SubHook - --subhook-color: rgb(0, 0, 0); -} +// // SubHook +// --subhook-color: rgb(0, 0, 0); +// } diff --git a/invokeai/frontend/web/src/styles/_Animations.scss b/invokeai/frontend/web/src/styles/_Animations.scss deleted file mode 100644 index 48fbbc8425..0000000000 --- a/invokeai/frontend/web/src/styles/_Animations.scss +++ /dev/null @@ -1,20 +0,0 @@ -@keyframes slideOut { - from { - transform: translateX(10rem); - } - to { - transform: translateX(0); - } -} - -@keyframes pulse { - 0% { - transform: scale(1); - } - 50% { - transform: scale(1.1); - } - 100% { - transform: scale(1); - } -} diff --git a/invokeai/frontend/web/src/styles/_Fonts.scss b/invokeai/frontend/web/src/styles/_Fonts.scss deleted file mode 100644 index fea170026b..0000000000 --- a/invokeai/frontend/web/src/styles/_Fonts.scss +++ /dev/null @@ -1,15 +0,0 @@ -@font-face { - font-family: 'Inter'; - src: url(../assets/fonts/Inter/Inter.ttf); - font-display: swap; - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'Inter'; - src: url(../assets/fonts/Inter/Inter-Bold.ttf); - font-display: swap; - font-weight: 600; - font-style: normal; -} diff --git a/invokeai/frontend/web/src/styles/_Misc.scss b/invokeai/frontend/web/src/styles/_Misc.scss deleted file mode 100644 index 47dec4c061..0000000000 --- a/invokeai/frontend/web/src/styles/_Misc.scss +++ /dev/null @@ -1,45 +0,0 @@ -// .checkerboard { -// background-position: 0px 0px, 10px 10px; -// // background-size: 20px 20px; -// // background-image: linear-gradient( -// // 45deg, -// // #eee 25%, -// // transparent 25%, -// // transparent 75%, -// // #eee 75%, -// // #eee 100% -// // ), -// // linear-gradient(45deg, #eee 25%, white 25%, white 75%, #eee 75%, #eee 100%); -// background: radial-gradient(var(--checkboard-dots-color) 3px, transparent 1px), -// var(--background-color-secondary); -// background-size: 64px 64px; -// } - -* { - scrollbar-width: thick; /* none | auto */ - scrollbar-color: var(--scrollbar-color) transparent; -} - -*::-webkit-scrollbar { - width: 8px; // Vertical Scrollbar Width - height: 8px; // Horizontal Scrollbar Height -} - -*::-webkit-scrollbar-track { - background: transparent; -} - -*::-webkit-scrollbar-thumb { - background: var(--scrollbar-color); - border-radius: 8px; - border: calc(8px / 4) solid var(--scrollbar-color); -} - -*::-webkit-scrollbar-thumb:hover { - background: var(--scrollbar-color-hover); - border: calc(8px / 4) solid var(--scrollbar-color-hover); -} - -::-webkit-scrollbar-button { - background: transparent; -} diff --git a/invokeai/frontend/web/src/styles/index.scss b/invokeai/frontend/web/src/styles/index.scss deleted file mode 100644 index afafc17181..0000000000 --- a/invokeai/frontend/web/src/styles/index.scss +++ /dev/null @@ -1,93 +0,0 @@ -// General Imports -@use 'Fonts'; -@use 'Animations'; -@use 'Misc'; - -// Themes -@use './Themes/Colors_Dark'; -@use './Themes/Colors_Light'; -@use './Themes/Colors_Green'; - -// Component Styles - -// app -@use '../app/App.scss'; - -// system -@use '../features/system/components/SiteHeader.scss'; -@use '../features/system/components/StatusIndicator.scss'; -@use '../features/system/components/SettingsModal/SettingsModal.scss'; -@use '../features/system/components/ModelManager/AddModel.scss'; -@use '../features/system/components/HotkeysModal/HotkeysModal.scss'; -@use '../features/system/components/Console.scss'; -@use '../features/system/components/ProgressBar.scss'; - -// parameters -@use '../features/parameters/components/PromptInput/PromptInput.scss'; -@use '../features/parameters/components/ProcessButtons/ProcessButtons.scss'; -@use '../features/parameters/components/MainParameters/MainParameters.scss'; -@use '../features/parameters/components/AccordionItems/AdvancedSettings.scss'; -@use '../features/parameters/components/AdvancedParameters/Canvas/BoundingBox/BoundingBoxSettings.scss'; - -// gallery -@use '../features/gallery/components/CurrentImageDisplay.scss'; -@use '../features/gallery/components/CurrentImageButtons.scss'; -@use '../features/gallery/components/ImageGallery.scss'; -@use '../features/gallery/components/HoverableImage.scss'; -@use '../features/gallery/components/ImageMetaDataViewer/ImageMetadataViewer.scss'; - -// Lightbox -@use '../features/lightbox/components/Lightbox.scss'; - -// Tabs -@use '../features/ui/components/InvokeTabs.scss'; -@use '../features/ui/components/InvokeWorkarea.scss'; -@use '../features/ui/components/InvokeParametersPanel.scss'; -@use '../features/ui/components/TextToImage/TextToImage.scss'; -@use '../features/ui/components/ImageToImage/ImageToImage.scss'; -@use '../features/ui/components/FloatingButton.scss'; -@use '../features/ui/components/UnifiedCanvas/CanvasWorkarea.scss'; - -// Component Shared -@use '../common/components/IAINumberInput.scss'; -@use '../common/components/IAIInput.scss'; -@use '../common/components/IAIIconButton.scss'; -@use '../common/components/IAIButton.scss'; -@use '../common/components/IAISwitch.scss'; -@use '../common/components/IAISelect.scss'; -@use '../common/components/IAISlider.scss'; -@use '../common/components/IAICheckbox.scss'; -@use '../common/components/IAIPopover.scss'; -@use '../common/components/IAIColorPicker.scss'; -@use '../common/components/ImageUploader.scss'; -@use '../common/components/WorkInProgress/WorkInProgress.scss'; -@use '../common/components/GuidePopover.scss'; - -// Component Shared - Radix UI -// @use 'common/components/radix-ui/IAISlider.scss'; -// @use 'common/components/radix-ui/IAITooltip.scss'; - -// Shared Styles -@use './Mixins/' as *; -@use '../features/system/components/Modal.scss'; - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - padding: 0; -} - -html, -body { - @include HideScrollbar; - background-color: var(--root-bg-color); - overflow: hidden; -} - -#root { - background-color: var(--root-bg-color); - color: var(--text-color); - font-family: 'Inter', Arial, Helvetica, sans-serif; -} diff --git a/invokeai/frontend/web/src/theme/colors/greenTea.ts b/invokeai/frontend/web/src/theme/colors/greenTea.ts new file mode 100644 index 0000000000..6da7fa3b82 --- /dev/null +++ b/invokeai/frontend/web/src/theme/colors/greenTea.ts @@ -0,0 +1,10 @@ +import { generateColorPalette } from '../util/generateColorPalette'; + +export const greenTeaThemeColors = { + base: generateColorPalette(223, 10), + accent: generateColorPalette(155, 80), + working: generateColorPalette(47, 68), + warning: generateColorPalette(28, 75), + ok: generateColorPalette(122, 49), + error: generateColorPalette(0, 50), +}; diff --git a/invokeai/frontend/web/src/theme/colors/invokeAI.ts b/invokeai/frontend/web/src/theme/colors/invokeAI.ts new file mode 100644 index 0000000000..cf5b4221b7 --- /dev/null +++ b/invokeai/frontend/web/src/theme/colors/invokeAI.ts @@ -0,0 +1,10 @@ +import { generateColorPalette } from 'theme/util/generateColorPalette'; + +export const invokeAIThemeColors = { + base: generateColorPalette(225, 15), + accent: generateColorPalette(250, 50), + working: generateColorPalette(47, 67), + warning: generateColorPalette(28, 75), + ok: generateColorPalette(113, 70), + error: generateColorPalette(0, 76), +}; diff --git a/invokeai/frontend/web/src/theme/colors/lightTheme.ts b/invokeai/frontend/web/src/theme/colors/lightTheme.ts new file mode 100644 index 0000000000..3a4d3b8747 --- /dev/null +++ b/invokeai/frontend/web/src/theme/colors/lightTheme.ts @@ -0,0 +1,10 @@ +import { generateColorPalette } from '../util/generateColorPalette'; + +export const lightThemeColors = { + base: generateColorPalette(223, 10, true), + accent: generateColorPalette(40, 80, true), + working: generateColorPalette(47, 68, true), + warning: generateColorPalette(28, 75, true), + ok: generateColorPalette(122, 49, true), + error: generateColorPalette(0, 50, true), +}; diff --git a/invokeai/frontend/web/src/theme/colors/oceanBlue.ts b/invokeai/frontend/web/src/theme/colors/oceanBlue.ts new file mode 100644 index 0000000000..1f29def485 --- /dev/null +++ b/invokeai/frontend/web/src/theme/colors/oceanBlue.ts @@ -0,0 +1,10 @@ +import { generateColorPalette } from '../util/generateColorPalette'; + +export const oceanBlueColors = { + base: generateColorPalette(220, 30), + accent: generateColorPalette(210, 80), + working: generateColorPalette(47, 68), + warning: generateColorPalette(28, 75), + ok: generateColorPalette(122, 49), + error: generateColorPalette(0, 100), +}; diff --git a/invokeai/frontend/web/src/theme/components/accordion.ts b/invokeai/frontend/web/src/theme/components/accordion.ts new file mode 100644 index 0000000000..dfea0aad74 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/accordion.ts @@ -0,0 +1,63 @@ +import { accordionAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; + +const { definePartsStyle, defineMultiStyleConfig } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAIContainer = defineStyle({ + border: 'none', + pt: 2, +}); + +const invokeAIButton = defineStyle((props) => { + const { colorScheme: c } = props; + return { + fontWeight: '600', + fontSize: 'sm', + border: 'none', + borderRadius: 'base', + bg: mode(`${c}.250`, `${c}.800`)(props), + color: mode('base.900', 'base.100')(props), + _hover: { + bg: mode(`${c}.300`, `${c}.700`)(props), + }, + _expanded: { + bg: mode(`${c}.250`, `${c}.750`)(props), + borderBottomRadius: 'none', + _hover: { + bg: mode(`${c}.300`, `${c}.700`)(props), + }, + }, + }; +}); + +const invokeAIPanel = defineStyle((props) => { + const { colorScheme: c } = props; + return { + bg: mode(`${c}.200`, `${c}.800`)(props), + borderRadius: 'base', + borderTopRadius: 'none', + p: 4, + }; +}); + +const invokeAIIcon = defineStyle({}); + +const invokeAI = definePartsStyle((props) => ({ + container: invokeAIContainer, + button: invokeAIButton(props), + panel: invokeAIPanel(props), + icon: invokeAIIcon, +})); + +export const accordionTheme = defineMultiStyleConfig({ + variants: { invokeAI }, + defaultProps: { + variant: 'invokeAI', + colorScheme: 'base', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/button.ts b/invokeai/frontend/web/src/theme/components/button.ts new file mode 100644 index 0000000000..a79a3d356f --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/button.ts @@ -0,0 +1,58 @@ +import { defineStyle, defineStyleConfig } from '@chakra-ui/react'; +import { mode } from '@chakra-ui/theme-tools'; + +const invokeAI = defineStyle((props) => { + const { colorScheme: c } = props; + // must specify `_disabled` colors if we override `_hover`, else hover on disabled has no styles + const _disabled = { + bg: mode(`${c}.200`, `${c}.600`)(props), + color: mode(`${c}.700`, `${c}.100`)(props), + svg: { + fill: mode(`${c}.700`, `${c}.100`)(props), + }, + }; + + return { + bg: mode(`${c}.300`, `${c}.700`)(props), + color: mode(`${c}.800`, `${c}.100`)(props), + borderRadius: 'base', + svg: { + fill: mode(`${c}.800`, `${c}.100`)(props), + }, + _disabled, + _hover: { + bg: mode(`${c}.400`, `${c}.650`)(props), + color: mode(`black`, `${c}.50`)(props), + svg: { + fill: mode(`black`, `${c}.50`)(props), + }, + _disabled, + }, + _checked: { + bg: mode('accent.200', 'accent.700')(props), + color: mode('accent.800', 'accent.100')(props), + svg: { + fill: mode('accent.800', 'accent.100')(props), + }, + _disabled, + _hover: { + bg: mode('accent.300', 'accent.600')(props), + color: mode('accent.900', 'accent.50')(props), + svg: { + fill: mode('accent.900', 'accent.50')(props), + }, + _disabled, + }, + }, + }; +}); + +export const buttonTheme = defineStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + variant: 'invokeAI', + colorScheme: 'base', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/checkbox.ts b/invokeai/frontend/web/src/theme/components/checkbox.ts new file mode 100644 index 0000000000..5bdc8a1a66 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/checkbox.ts @@ -0,0 +1,65 @@ +import { checkboxAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; + +const { definePartsStyle, defineMultiStyleConfig } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAIControl = defineStyle((props) => { + const { colorScheme: c } = props; + + return { + _checked: { + bg: mode(`${c}.500`, `${c}.200`)(props), + borderColor: mode(`${c}.500`, `${c}.200`)(props), + color: mode('white', 'base.900')(props), + + _hover: { + bg: mode(`${c}.600`, `${c}.300`)(props), + borderColor: mode(`${c}.600`, `${c}.300`)(props), + }, + + _disabled: { + borderColor: mode('base.200', 'transparent')(props), + bg: mode('base.200', 'whiteAlpha.300')(props), + color: mode('base.500', 'whiteAlpha.500')(props), + }, + }, + + _indeterminate: { + bg: mode(`${c}.500`, `${c}.200`)(props), + borderColor: mode(`${c}.500`, `${c}.200`)(props), + color: mode('white', 'base.900')(props), + }, + + _disabled: { + bg: mode('base.100', 'whiteAlpha.100')(props), + borderColor: mode('base.100', 'transparent')(props), + }, + + _focusVisible: { + boxShadow: 'outline', + }, + + _invalid: { + borderColor: mode('red.500', 'red.300')(props), + }, + }; +}); + +const invokeAI = definePartsStyle((props) => ({ + control: invokeAIControl(props), +})); + +export const checkboxTheme = defineMultiStyleConfig({ + variants: { + invokeAI: invokeAI, + }, + defaultProps: { + variant: 'invokeAI', + colorScheme: 'accent', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/formLabel.ts b/invokeai/frontend/web/src/theme/components/formLabel.ts new file mode 100644 index 0000000000..d49fd0a36d --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/formLabel.ts @@ -0,0 +1,27 @@ +import { defineStyle, defineStyleConfig } from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; + +const invokeAI = defineStyle((props) => { + return { + fontSize: 'sm', + marginEnd: 0, + mb: 1, + fontWeight: '400', + transitionProperty: 'common', + transitionDuration: 'normal', + whiteSpace: 'nowrap', + _disabled: { + opacity: 0.4, + }, + color: mode('base.600', 'base.300')(props), + }; +}); + +export const formLabelTheme = defineStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/input.ts b/invokeai/frontend/web/src/theme/components/input.ts new file mode 100644 index 0000000000..167da7ef28 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/input.ts @@ -0,0 +1,22 @@ +import { inputAnatomy as parts } from '@chakra-ui/anatomy'; +import { createMultiStyleConfigHelpers } from '@chakra-ui/styled-system'; +import { getInputOutlineStyles } from '../util/getInputOutlineStyles'; + +const { definePartsStyle, defineMultiStyleConfig } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAI = definePartsStyle((props) => { + return { + field: getInputOutlineStyles(props), + }; +}); + +export const inputTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + size: 'sm', + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/menu.ts b/invokeai/frontend/web/src/theme/components/menu.ts new file mode 100644 index 0000000000..597e989953 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/menu.ts @@ -0,0 +1,44 @@ +import { menuAnatomy } from '@chakra-ui/anatomy'; +import { createMultiStyleConfigHelpers } from '@chakra-ui/react'; + +const { definePartsStyle, defineMultiStyleConfig } = + createMultiStyleConfigHelpers(menuAnatomy.keys); + +// define the base component styles +const invokeAI = definePartsStyle({ + // define the part you're going to style + button: { + // this will style the MenuButton component + fontWeight: '600', + bg: 'base.500', + color: 'base.200', + _hover: { + bg: 'base.600', + color: 'white', + }, + }, + list: { + zIndex: 9999, + bg: 'base.800', + }, + item: { + // this will style the MenuItem and MenuItemOption components + fontSize: 'sm', + bg: 'base.800', + _hover: { + bg: 'base.750', + }, + _focus: { + bg: 'base.700', + }, + }, +}); + +export const menuTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/modal.ts b/invokeai/frontend/web/src/theme/components/modal.ts new file mode 100644 index 0000000000..9e422c7704 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/modal.ts @@ -0,0 +1,55 @@ +import { modalAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; + +const { defineMultiStyleConfig, definePartsStyle } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAIOverlay = defineStyle({ + bg: 'blackAlpha.600', +}); + +const invokeAIDialogContainer = defineStyle({}); + +const invokeAIDialog = defineStyle((props) => { + return { + bg: mode('base.300', 'base.850')(props), + maxH: '80vh', + }; +}); + +const invokeAIHeader = defineStyle((props) => { + return { + fontWeight: '600', + fontSize: 'lg', + color: mode('base.700', 'base.200')(props), + }; +}); + +const invokeAICloseButton = defineStyle({}); + +const invokeAIBody = defineStyle({ + overflowY: 'scroll', +}); + +const invokeAIFooter = defineStyle({}); + +export const invokeAI = definePartsStyle((props) => ({ + overlay: invokeAIOverlay, + dialogContainer: invokeAIDialogContainer, + dialog: invokeAIDialog(props), + header: invokeAIHeader(props), + closeButton: invokeAICloseButton, + body: invokeAIBody, + footer: invokeAIFooter, +})); + +export const modalTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { variant: 'invokeAI', size: 'lg' }, +}); diff --git a/invokeai/frontend/web/src/theme/components/numberInput.ts b/invokeai/frontend/web/src/theme/components/numberInput.ts new file mode 100644 index 0000000000..9d7e773701 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/numberInput.ts @@ -0,0 +1,71 @@ +import { numberInputAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; +import { getInputOutlineStyles } from '../util/getInputOutlineStyles'; + +const { defineMultiStyleConfig, definePartsStyle } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAIRoot = defineStyle((_props) => { + return { + height: 8, + }; +}); + +const invokeAIField = defineStyle((props) => { + return { + border: 'none', + fontWeight: '600', + height: 'auto', + py: 1, + ps: 2, + pe: 6, + ...getInputOutlineStyles(props), + }; +}); + +const invokeAIStepperGroup = defineStyle((_props) => { + return { + display: 'flex', + }; +}); + +const invokeAIStepper = defineStyle((props) => { + return { + border: 'none', + // expand arrow hitbox + px: 2, + py: 0, + mx: -2, + my: 0, + + svg: { + color: mode('base.600', 'base.300')(props), + width: 2.5, + height: 2.5, + _hover: { + color: mode('base.900', 'base.50')(props), + }, + }, + }; +}); + +const invokeAI = definePartsStyle((props) => ({ + root: invokeAIRoot(props), + field: invokeAIField(props), + stepperGroup: invokeAIStepperGroup(props), + stepper: invokeAIStepper(props), +})); + +export const numberInputTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + size: 'sm', + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/popover.ts b/invokeai/frontend/web/src/theme/components/popover.ts new file mode 100644 index 0000000000..d6b5d316ac --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/popover.ts @@ -0,0 +1,42 @@ +import { popoverAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { cssVar } from '@chakra-ui/theme-tools'; +import { mode } from '@chakra-ui/theme-tools'; + +const { defineMultiStyleConfig, definePartsStyle } = + createMultiStyleConfigHelpers(parts.keys); + +const $popperBg = cssVar('popper-bg'); +const $arrowBg = cssVar('popper-arrow-bg'); +const $arrowShadowColor = cssVar('popper-arrow-shadow-color'); + +const invokeAIContent = defineStyle((props) => { + return { + [$arrowBg.variable]: `colors.base.800`, + [$popperBg.variable]: `colors.base.800`, + [$arrowShadowColor.variable]: `colors.base.600`, + minW: 'unset', + width: 'unset', + p: 4, + borderWidth: '2px', + borderStyle: 'solid', + borderColor: mode('base.500', 'base.600')(props), + bg: mode('base.200', 'base.800')(props), + }; +}); + +const invokeAI = definePartsStyle((props) => ({ + content: invokeAIContent(props), +})); + +export const popoverTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/progress.ts b/invokeai/frontend/web/src/theme/components/progress.ts new file mode 100644 index 0000000000..4d48830e06 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/progress.ts @@ -0,0 +1,40 @@ +import { progressAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; + +const { defineMultiStyleConfig, definePartsStyle } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAIFilledTrack = defineStyle((props) => ({ + bg: mode('accent.400', 'accent.600')(props), + transition: 'width 0.2s ease-in-out', + _indeterminate: { + bgGradient: `linear(to-r, transparent 0%, ${mode( + 'accent.400', + 'accent.600' + )(props)} 50%, transparent 100%);`, + }, +})); + +const invokeAITrack = defineStyle((props) => { + return { + bg: mode('base.300', 'base.800')(props), + }; +}); + +const invokeAI = definePartsStyle((props) => ({ + filledTrack: invokeAIFilledTrack(props), + track: invokeAITrack(props), +})); + +export const progressTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/scrollbar.ts b/invokeai/frontend/web/src/theme/components/scrollbar.ts new file mode 100644 index 0000000000..5128fb1cb8 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/scrollbar.ts @@ -0,0 +1,31 @@ +export const no_scrollbar = { + '::-webkit-scrollbar': { + display: 'none', + }, + scrollbarWidth: 'none', +}; + +export const scrollbar = { + scrollbarColor: 'accent.600 transparent', + scrollbarWidth: 'thick', + '::-webkit-scrollbar': { + width: '6px', // Vertical Scrollbar Width + height: '6px', // Horizontal Scrollbar Height + }, + '::-webkit-scrollbar-track': { + background: 'transparent', + }, + '::-webkit-scrollbar-thumb': { + background: 'accent.600', + borderRadius: '8px', + borderWidth: '4px', + borderColor: 'accent.600', + }, + '::-webkit-scrollbar-thumb:hover': { + background: 'accent.500', + borderColor: 'accent.500', + }, + '::-webkit-scrollbar-button': { + background: 'transaprent', + }, +}; diff --git a/invokeai/frontend/web/src/theme/components/select.ts b/invokeai/frontend/web/src/theme/components/select.ts new file mode 100644 index 0000000000..bbb438b4d0 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/select.ts @@ -0,0 +1,35 @@ +import { selectAnatomy as parts } from '@chakra-ui/anatomy'; +import { createMultiStyleConfigHelpers, defineStyle } from '@chakra-ui/react'; +import { getInputOutlineStyles } from '../util/getInputOutlineStyles'; +import { mode } from '@chakra-ui/theme-tools'; + +const { definePartsStyle, defineMultiStyleConfig } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAIIcon = defineStyle((props) => { + return { + color: mode('base.600', 'base.300')(props), + }; +}); + +const invokeAIField = defineStyle((props) => ({ + fontWeight: '600', + ...getInputOutlineStyles(props), +})); + +const invokeAI = definePartsStyle((props) => { + return { + field: invokeAIField(props), + icon: invokeAIIcon(props), + }; +}); + +export const selectTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + size: 'sm', + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/slider.ts b/invokeai/frontend/web/src/theme/components/slider.ts new file mode 100644 index 0000000000..1afb188712 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/slider.ts @@ -0,0 +1,53 @@ +import { sliderAnatomy as parts } from '@chakra-ui/anatomy'; +import { createMultiStyleConfigHelpers, defineStyle } from '@chakra-ui/react'; +import { mode } from '@chakra-ui/theme-tools'; + +const { definePartsStyle, defineMultiStyleConfig } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAITrack = defineStyle((props) => { + return { + bg: mode('base.300', 'base.400')(props), + h: 1.5, + }; +}); + +const invokeAIFilledTrack = defineStyle((props) => { + const { colorScheme: c } = props; + return { + bg: mode(`${c}.400`, `${c}.600`)(props), + h: 1.5, + }; +}); + +const invokeAIThumb = defineStyle((_props) => { + return { + w: 2, + h: 4, + }; +}); + +const invokeAIMark = defineStyle((props) => { + return { + fontSize: 'xs', + fontWeight: '500', + color: mode('base.800', 'base.200')(props), + mt: 2, + insetInlineStart: 'unset', + }; +}); + +const invokeAI = definePartsStyle((props) => ({ + track: invokeAITrack(props), + filledTrack: invokeAIFilledTrack(props), + thumb: invokeAIThumb(props), + mark: invokeAIMark(props), +})); + +export const sliderTheme = defineMultiStyleConfig({ + variants: { invokeAI }, + defaultProps: { + variant: 'invokeAI', + colorScheme: 'accent', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/switch.ts b/invokeai/frontend/web/src/theme/components/switch.ts new file mode 100644 index 0000000000..e39b4257b2 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/switch.ts @@ -0,0 +1,47 @@ +import { switchAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; + +const { defineMultiStyleConfig, definePartsStyle } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAITrack = defineStyle((props) => { + const { colorScheme: c } = props; + + return { + bg: mode(`base.400`, `base.600`)(props), + + _focusVisible: { + boxShadow: 'none', + }, + _checked: { + bg: mode(`${c}.400`, `${c}.600`)(props), + }, + }; +}); + +const invokeAIThumb = defineStyle((props) => { + const { colorScheme: c } = props; + + return { + bg: mode(`${c}.50`, `${c}.50`)(props), + }; +}); + +const invokeAI = definePartsStyle((props) => ({ + container: {}, + track: invokeAITrack(props), + thumb: invokeAIThumb(props), +})); + +export const switchTheme = defineMultiStyleConfig({ + variants: { invokeAI }, + defaultProps: { + size: 'md', + variant: 'invokeAI', + colorScheme: 'accent', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/tabs.ts b/invokeai/frontend/web/src/theme/components/tabs.ts new file mode 100644 index 0000000000..9cd991d8bf --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/tabs.ts @@ -0,0 +1,63 @@ +import { tabsAnatomy as parts } from '@chakra-ui/anatomy'; +import { + createMultiStyleConfigHelpers, + defineStyle, +} from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; + +const { defineMultiStyleConfig, definePartsStyle } = + createMultiStyleConfigHelpers(parts.keys); + +const invokeAIRoot = defineStyle((_props) => { + return { + display: 'flex', + columnGap: 4, + }; +}); + +const invokeAITab = defineStyle((_props) => ({})); + +const invokeAITablist = defineStyle((props) => ({ + display: 'flex', + flexDirection: 'column', + gap: 1, + color: mode('base.500', 'base.700')(props), + button: { + fontSize: 'sm', + padding: 2, + borderRadius: 'base', + _selected: { + bg: mode('accent.200', 'accent.700')(props), + color: mode('accent.800', 'accent.100')(props), + _hover: { + bg: mode('accent.300', 'accent.600')(props), + color: mode('accent.900', 'accent.50')(props), + }, + }, + _hover: { + bg: mode('base.300', 'base.600')(props), + color: mode('base.900', 'base.50')(props), + }, + }, +})); + +const invokeAITabpanel = defineStyle((_props) => ({ + padding: 0, + height: '100%', +})); + +const invokeAI = definePartsStyle((props) => ({ + root: invokeAIRoot(props), + tab: invokeAITab(props), + tablist: invokeAITablist(props), + tabpanel: invokeAITabpanel(props), +})); + +export const tabsTheme = defineMultiStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/text.ts b/invokeai/frontend/web/src/theme/components/text.ts new file mode 100644 index 0000000000..a485289366 --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/text.ts @@ -0,0 +1,12 @@ +import { defineStyle, defineStyleConfig } from '@chakra-ui/react'; +import { mode } from '@chakra-ui/theme-tools'; + +const subtext = defineStyle((props) => ({ + color: mode('base.700', 'base.400')(props), +})); + +export const textTheme = defineStyleConfig({ + variants: { + subtext, + }, +}); diff --git a/invokeai/frontend/web/src/theme/components/textarea.ts b/invokeai/frontend/web/src/theme/components/textarea.ts new file mode 100644 index 0000000000..85e6e37d3f --- /dev/null +++ b/invokeai/frontend/web/src/theme/components/textarea.ts @@ -0,0 +1,14 @@ +import { defineStyle, defineStyleConfig } from '@chakra-ui/react'; +import { getInputOutlineStyles } from '../util/getInputOutlineStyles'; + +const invokeAI = defineStyle((props) => getInputOutlineStyles(props)); + +export const textareaTheme = defineStyleConfig({ + variants: { + invokeAI, + }, + defaultProps: { + size: 'md', + variant: 'invokeAI', + }, +}); diff --git a/invokeai/frontend/web/src/theme/theme.ts b/invokeai/frontend/web/src/theme/theme.ts new file mode 100644 index 0000000000..40df156cdb --- /dev/null +++ b/invokeai/frontend/web/src/theme/theme.ts @@ -0,0 +1,80 @@ +import { ThemeOverride } from '@chakra-ui/react'; +import type { StyleFunctionProps } from '@chakra-ui/styled-system'; +import { mode } from '@chakra-ui/theme-tools'; +import { invokeAIThemeColors } from './colors/invokeAI'; +import { accordionTheme } from './components/accordion'; +import { buttonTheme } from './components/button'; +import { checkboxTheme } from './components/checkbox'; +import { formLabelTheme } from './components/formLabel'; +import { inputTheme } from './components/input'; +import { menuTheme } from './components/menu'; +import { modalTheme } from './components/modal'; +import { numberInputTheme } from './components/numberInput'; +import { popoverTheme } from './components/popover'; +import { progressTheme } from './components/progress'; +import { scrollbar } from './components/scrollbar'; +import { selectTheme } from './components/select'; +import { sliderTheme } from './components/slider'; +import { switchTheme } from './components/switch'; +import { tabsTheme } from './components/tabs'; +import { textTheme } from './components/text'; +import { textareaTheme } from './components/textarea'; + +export const theme: ThemeOverride = { + config: { + initialColorMode: 'dark', + useSystemColorMode: false, + cssVarPrefix: 'invokeai', + }, + styles: { + global: (props: StyleFunctionProps) => ({ + body: { + bg: mode('base.100', 'base.900')(props), + color: mode('base.800', 'base.50')(props), + overflow: 'hidden', + }, + ...scrollbar, + }), + }, + direction: 'ltr', + fonts: { + body: `'Inter', sans-serif`, + }, + shadows: { + light: { + accent: `0 0 10px 0 var(--invokeai-colors-accent-300)`, + accentHover: `0 0 10px 0 var(--invokeai-colors-accent-400)`, + ok: `0 0 7px var(--invokeai-colors-ok-600)`, + working: `0 0 7px var(--invokeai-colors-working-600)`, + error: `0 0 7px var(--invokeai-colors-error-600)`, + }, + dark: { + accent: `0 0 10px 0 var(--invokeai-colors-accent-600)`, + accentHover: `0 0 10px 0 var(--invokeai-colors-accent-500)`, + ok: `0 0 7px var(--invokeai-colors-ok-400)`, + working: `0 0 7px var(--invokeai-colors-working-400)`, + error: `0 0 7px var(--invokeai-colors-error-400)`, + }, + }, + colors: { + ...invokeAIThemeColors, + }, + components: { + Button: buttonTheme, // Button and IconButton + Input: inputTheme, + Textarea: textareaTheme, + Tabs: tabsTheme, + Progress: progressTheme, + Accordion: accordionTheme, + FormLabel: formLabelTheme, + Switch: switchTheme, + NumberInput: numberInputTheme, + Select: selectTheme, + Slider: sliderTheme, + Popover: popoverTheme, + Modal: modalTheme, + Checkbox: checkboxTheme, + Menu: menuTheme, + Text: textTheme, + }, +}; diff --git a/invokeai/frontend/web/src/theme/util/constants.ts b/invokeai/frontend/web/src/theme/util/constants.ts new file mode 100644 index 0000000000..85d9185f31 --- /dev/null +++ b/invokeai/frontend/web/src/theme/util/constants.ts @@ -0,0 +1,19 @@ +// Calc Values +export const APP_CUTOFF = '0px'; +export const APP_CONTENT_HEIGHT_CUTOFF = 'calc(70px + 1rem)'; // default: 7rem +export const APP_PADDING = 4; +export const PROGRESS_BAR_THICKNESS = 1.5; +export const APP_WIDTH = `calc(100vw - ${APP_CUTOFF})`; +export const APP_HEIGHT = `calc(100vh - ${PROGRESS_BAR_THICKNESS * 4}px)`; +export const APP_CONTENT_HEIGHT = `calc(100vh - ${APP_CONTENT_HEIGHT_CUTOFF})`; +export const APP_GALLERY_HEIGHT_PINNED = `calc(100vh - (${APP_CONTENT_HEIGHT_CUTOFF} + 6rem))`; +export const APP_GALLERY_HEIGHT = 'calc(100vw - 0.3rem + 5rem)'; +export const APP_GALLERY_POPOVER_HEIGHT = `calc(100vh - (${APP_CONTENT_HEIGHT_CUTOFF} + 6rem))`; +export const APP_METADATA_HEIGHT = `calc(100vh - (${APP_CONTENT_HEIGHT_CUTOFF} + 4.4rem))`; + +// do not touch ffs +export const APP_TEXT_TO_IMAGE_HEIGHT = + 'calc(100vh - 9.4375rem - 1.925rem - 1.15rem)'; + +// option bar +export const OPTIONS_BAR_MAX_WIDTH = '22.5rem'; diff --git a/invokeai/frontend/web/src/theme/util/generateColorPalette.ts b/invokeai/frontend/web/src/theme/util/generateColorPalette.ts new file mode 100644 index 0000000000..abd7939fa1 --- /dev/null +++ b/invokeai/frontend/web/src/theme/util/generateColorPalette.ts @@ -0,0 +1,80 @@ +type paletteSteps = { + 0: string; + 50: string; + 100: string; + 150: string; + 200: string; + 250: string; + 300: string; + 350: string; + 400: string; + 450: string; + 500: string; + 550: string; + 600: string; + 650: string; + 700: string; + 750: string; + 800: string; + 850: string; + 900: string; + 950: string; + 1000: string; +}; + +/** + * Add two numbers together + * @param {String | Number} hue Hue of the color (0-360) - Reds 0, Greens 120, Blues 240 + * @param {String | Number} saturation Saturation of the color (0-100) + * @param {boolean} light True to generate light color palette + */ +export function generateColorPalette( + hue: string | number, + saturation: string | number, + light = false +) { + hue = String(hue); + saturation = String(saturation); + + const colorSteps = Array.from({ length: 21 }, (_, i) => i * 50); + const lightnessSteps = [ + '0', + '5', + '10', + '15', + '20', + '25', + '30', + '35', + '40', + '45', + '50', + '55', + '59', + '64', + '68', + '73', + '77', + '82', + '86', + '95', + '100', + ]; + + const darkPalette: Partial = {}; + const lightPalette: Partial = {}; + + colorSteps.forEach((colorStep, index) => { + darkPalette[ + colorStep as keyof typeof darkPalette + ] = `hsl(${hue}, ${saturation}%, ${ + lightnessSteps[colorSteps.length - 1 - index] + }%)`; + + lightPalette[ + colorStep as keyof typeof lightPalette + ] = `hsl(${hue}, ${saturation}%, ${lightnessSteps[index]}%)`; + }); + + return light ? lightPalette : darkPalette; +} diff --git a/invokeai/frontend/web/src/theme/util/getInputOutlineStyles.ts b/invokeai/frontend/web/src/theme/util/getInputOutlineStyles.ts new file mode 100644 index 0000000000..9550df5863 --- /dev/null +++ b/invokeai/frontend/web/src/theme/util/getInputOutlineStyles.ts @@ -0,0 +1,40 @@ +import { mode, StyleFunctionProps } from '@chakra-ui/theme-tools'; + +export const getInputOutlineStyles = (props: StyleFunctionProps) => ({ + outline: 'none', + borderWidth: 2, + borderStyle: 'solid', + borderColor: mode('base.300', 'base.800')(props), + bg: mode('base.200', 'base.900')(props), + borderRadius: 'base', + color: mode('base.900', 'base.100')(props), + boxShadow: 'none', + _hover: { + borderColor: mode('base.500', 'base.600')(props), + }, + _focus: { + borderColor: mode('accent.600', 'accent.700')(props), + boxShadow: 'none', + _hover: { + borderColor: mode('accent.700', 'accent.600')(props), + }, + }, + _invalid: { + borderColor: mode('error.300', 'error.700')(props), + boxShadow: 'none', + _hover: { + borderColor: mode('error.500', 'error.600')(props), + }, + }, + _disabled: { + borderColor: mode('base.300', 'base.700')(props), + bg: mode('base.400', 'base.700')(props), + color: mode('base.600', 'base.400')(props), + _hover: { + borderColor: mode('base.300', 'base.700')(props), + }, + }, + _placeholder: { + color: mode('base.600', 'base.400')(props), + }, +}); diff --git a/invokeai/frontend/web/stats.html b/invokeai/frontend/web/stats.html index 1e7823a4ff..97ef4183ae 100644 --- a/invokeai/frontend/web/stats.html +++ b/invokeai/frontend/web/stats.html @@ -6157,7 +6157,7 @@ var drawChart = (function (exports) {