diff --git a/python/packages/devui/README.md b/python/packages/devui/README.md index 05fe813276..b368746ffe 100644 --- a/python/packages/devui/README.md +++ b/python/packages/devui/README.md @@ -102,12 +102,32 @@ agents/ └── .env # Optional: shared environment variables ``` +### Importing from External Modules + +If your agents import tools or utilities from sibling directories (e.g., `from tools.helpers import my_tool`), you must set `PYTHONPATH` to include the parent directory: + +```bash +# Project structure: +# backend/ +# ├── agents/ +# │ └── my_agent/ +# │ └── agent.py # contains: from tools.helpers import my_tool +# └── tools/ +# └── helpers.py + +# Run from project root with PYTHONPATH +cd backend +PYTHONPATH=. devui ./agents --port 8080 +``` + +Without `PYTHONPATH`, Python cannot find modules in sibling directories and DevUI will report an import error. + ## Viewing Telemetry (Otel Traces) in DevUI Agent Framework emits OpenTelemetry (Otel) traces for various operations. You can view these traces in DevUI by enabling tracing when starting the server. ```bash -devui ./agents --tracing framework +devui ./agents --tracing ``` ## OpenAI-Compatible API @@ -196,11 +216,12 @@ Options: --port, -p Port (default: 8080) --host Host (default: 127.0.0.1) --headless API only, no UI - --config YAML config file - --tracing none|framework|workflow|all + --no-open Don't automatically open browser + --tracing Enable OpenTelemetry tracing --reload Enable auto-reload --mode developer|user (default: developer) --auth Enable Bearer token authentication + --auth-token Custom authentication token ``` ### UI Modes diff --git a/python/packages/devui/agent_framework_devui/__init__.py b/python/packages/devui/agent_framework_devui/__init__.py index 9a480d170e..d80afd0c2d 100644 --- a/python/packages/devui/agent_framework_devui/__init__.py +++ b/python/packages/devui/agent_framework_devui/__init__.py @@ -185,9 +185,10 @@ def serve( os.environ["ENABLE_SENSITIVE_DATA"] = "true" logger.info("Set ENABLE_SENSITIVE_DATA=true for tracing") - if not os.environ.get("OTLP_ENDPOINT"): - os.environ["OTLP_ENDPOINT"] = "http://localhost:4317" - logger.info("Set OTLP_ENDPOINT=http://localhost:4317 for tracing") + # Note: We intentionally do NOT set a default OTLP_ENDPOINT here. + # If the user wants to export traces to an external collector, they + # should set OTLP_ENDPOINT explicitly. Otherwise, DevUI uses NoOp + # exporters to enable local trace capture without connection errors. # Create server with direct parameters server = DevServer( diff --git a/python/packages/devui/agent_framework_devui/_conversations.py b/python/packages/devui/agent_framework_devui/_conversations.py index 512b92f647..86db2172e1 100644 --- a/python/packages/devui/agent_framework_devui/_conversations.py +++ b/python/packages/devui/agent_framework_devui/_conversations.py @@ -176,6 +176,31 @@ async def list_conversations_by_metadata(self, metadata_filter: dict[str, str]) """ pass + @abstractmethod + def add_trace(self, conversation_id: str, trace_event: dict[str, Any]) -> None: + """Add a trace event to the conversation for context inspection. + + Traces capture execution metadata like token usage, timing, and LLM context + that isn't stored in the AgentThread but is useful for debugging. + + Args: + conversation_id: Conversation ID + trace_event: Trace event data (from ResponseTraceEvent.data) + """ + pass + + @abstractmethod + def get_traces(self, conversation_id: str) -> list[dict[str, Any]]: + """Get all trace events for a conversation. + + Args: + conversation_id: Conversation ID + + Returns: + List of trace event dicts, or empty list if not found + """ + pass + class InMemoryConversationStore(ConversationStore): """In-memory conversation storage wrapping AgentThread. @@ -215,6 +240,7 @@ def create_conversation( "metadata": metadata or {}, "created_at": created_at, "items": [], + "traces": [], # Trace events for context inspection (token usage, timing, etc.) } # Initialize item index for this conversation @@ -407,10 +433,20 @@ async def list_items( elif content_type == "function_result": # Function result - create separate ConversationItem call_id = getattr(content, "call_id", None) - # Output is stored in additional_properties - output = "" - if hasattr(content, "additional_properties"): - output = content.additional_properties.get("output", "") + # Output is stored in the 'result' field of FunctionResultContent + result_value = getattr(content, "result", None) + # Convert result to string (it could be dict, list, or other types) + if result_value is None: + output = "" + elif isinstance(result_value, str): + output = result_value + else: + import json + + try: + output = json.dumps(result_value) + except (TypeError, ValueError): + output = str(result_value) if call_id: function_results.append( @@ -556,6 +592,34 @@ def get_thread(self, conversation_id: str) -> AgentThread | None: conv_data = self._conversations.get(conversation_id) return conv_data["thread"] if conv_data else None + def add_trace(self, conversation_id: str, trace_event: dict[str, Any]) -> None: + """Add a trace event to the conversation for context inspection. + + Traces capture execution metadata like token usage, timing, and LLM context + that isn't stored in the AgentThread but is useful for debugging. + + Args: + conversation_id: Conversation ID + trace_event: Trace event data (from ResponseTraceEvent.data) + """ + conv_data = self._conversations.get(conversation_id) + if conv_data: + traces = conv_data.get("traces", []) + traces.append(trace_event) + conv_data["traces"] = traces + + def get_traces(self, conversation_id: str) -> list[dict[str, Any]]: + """Get all trace events for a conversation. + + Args: + conversation_id: Conversation ID + + Returns: + List of trace event dicts, or empty list if not found + """ + conv_data = self._conversations.get(conversation_id) + return conv_data.get("traces", []) if conv_data else [] + async def list_conversations_by_metadata(self, metadata_filter: dict[str, str]) -> list[Conversation]: """Filter conversations by metadata (e.g., agent_id).""" results = [] diff --git a/python/packages/devui/agent_framework_devui/_discovery.py b/python/packages/devui/agent_framework_devui/_discovery.py index a80993b788..9f8fcf0542 100644 --- a/python/packages/devui/agent_framework_devui/_discovery.py +++ b/python/packages/devui/agent_framework_devui/_discovery.py @@ -666,7 +666,16 @@ def _load_module_from_pattern(self, pattern: str) -> tuple[Any | None, Exception logger.debug(f"Successfully imported {pattern}") return module, None - except ModuleNotFoundError: + except ModuleNotFoundError as e: + # Distinguish between "module pattern doesn't exist" vs "module has import errors" + # If the missing module is the pattern itself, it's just not found (try next pattern) + # If the missing module is something else (a dependency), capture the error + missing_module = getattr(e, "name", None) + if missing_module and missing_module != pattern and not pattern.endswith(f".{missing_module}"): + # The module exists but has an import error (missing dependency) + logger.warning(f"Error importing {pattern}: {e}") + return None, e + # The module pattern itself doesn't exist - this is expected, try next pattern logger.debug(f"Import pattern {pattern} not found") return None, None except Exception as e: diff --git a/python/packages/devui/agent_framework_devui/_executor.py b/python/packages/devui/agent_framework_devui/_executor.py index be769cba09..c0f456dec0 100644 --- a/python/packages/devui/agent_framework_devui/_executor.py +++ b/python/packages/devui/agent_framework_devui/_executor.py @@ -89,10 +89,25 @@ def _setup_agent_framework_tracing(self) -> None: # Only configure if not already executed if not OBSERVABILITY_SETTINGS._executed_setup: - # Run the configure_otel_providers - # This ensures OTLP exporters are created even if env vars were set late - configure_otel_providers(enable_sensitive_data=True) - logger.info("Enabled Agent Framework observability") + # Get OTLP endpoint from standard env vars + otlp_endpoint = os.environ.get("OTEL_EXPORTER_OTLP_ENDPOINT") + + if otlp_endpoint: + # User provided an OTLP endpoint - use it + configure_otel_providers(enable_sensitive_data=True) + logger.info(f"Enabled Agent Framework observability with OTLP endpoint: {otlp_endpoint}") + else: + # No OTLP endpoint - use NoOp exporters to enable tracing without + # console spam or failed connection attempts. + # DevUI's SimpleTraceCollector will still capture spans via the + # TracerProvider's span processors. + from ._tracing import NoOpLogExporter, NoOpMetricExporter, NoOpSpanExporter + + configure_otel_providers( + enable_sensitive_data=True, + exporters=[NoOpSpanExporter(), NoOpLogExporter(), NoOpMetricExporter()], # type: ignore[list-item] + ) + logger.info("Enabled Agent Framework observability with local-only tracing") else: logger.debug("Agent Framework observability already configured") except Exception as e: @@ -100,6 +115,65 @@ def _setup_agent_framework_tracing(self) -> None: else: logger.debug("ENABLE_INSTRUMENTATION not set, skipping observability setup") + async def _ensure_mcp_connections(self, agent: Any) -> None: + """Ensure MCP tool connections are healthy before agent execution. + + This is a workaround for an Agent Framework bug where MCP tool connections + can become stale (underlying streams closed) but is_connected remains True. + This happens when HTTP streaming responses end and GeneratorExit propagates. + + This method detects stale connections and reconnects them. It's designed to + be a no-op once the Agent Framework fixes this issue upstream. + + Args: + agent: Agent object that may have MCP tools + """ + if not hasattr(agent, "_local_mcp_tools"): + return + + for mcp_tool in agent._local_mcp_tools: + if not getattr(mcp_tool, "is_connected", False): + continue + + tool_name = getattr(mcp_tool, "name", "unknown") + + try: + # Check if underlying write stream is closed + session = getattr(mcp_tool, "session", None) + if session is None: + continue + + write_stream = getattr(session, "_write_stream", None) + if write_stream is None: + continue + + # Detect stale connection: is_connected=True but stream is closed + is_closed = getattr(write_stream, "_closed", False) + if not is_closed: + continue # Connection is healthy + + # Stale connection detected - reconnect + logger.warning(f"MCP tool '{tool_name}' has stale connection (stream closed), reconnecting...") + + # Clean up old connection + try: + if hasattr(mcp_tool, "close"): + await mcp_tool.close() + except Exception as close_err: + logger.debug(f"Error closing stale MCP tool '{tool_name}': {close_err}") + # Force reset state + mcp_tool.is_connected = False + mcp_tool.session = None + + # Reconnect + if hasattr(mcp_tool, "connect"): + await mcp_tool.connect() + logger.info(f"MCP tool '{tool_name}' reconnected successfully") + + except Exception as e: + # If detection fails, log and continue - let it fail naturally during execution + logger.debug(f"Error checking MCP tool '{tool_name}' connection: {e}") + async def discover_entities(self) -> list[EntityInfo]: """Discover all available entities. @@ -192,11 +266,11 @@ async def execute_entity(self, entity_id: str, request: AgentFrameworkRequest) - logger.info(f"Executing {entity_info.type}: {entity_id}") - # Extract session_id from request for trace context - session_id = getattr(request.extra_body, "session_id", None) if request.extra_body else None + # Extract response_id from request for trace context (added by _server.py) + response_id = request.extra_body.get("response_id") if request.extra_body else None # Use simplified trace capture - with capture_traces(session_id=session_id, entity_id=entity_id) as trace_collector: + with capture_traces(response_id=response_id, entity_id=entity_id) as trace_collector: if entity_info.type == "agent": async for event in self._execute_agent(entity_obj, request, trace_collector): yield event @@ -260,6 +334,12 @@ async def _execute_agent( logger.debug(f"Executing agent with text input: {user_message[:100]}...") else: logger.debug(f"Executing agent with multimodal ChatMessage: {type(user_message)}") + + # Workaround for MCP tool stale connection bug (GitHub issue pending) + # When HTTP streaming ends, GeneratorExit can close MCP stdio streams + # but is_connected stays True. Detect and reconnect before execution. + await self._ensure_mcp_connections(agent) + # Check if agent supports streaming if hasattr(agent, "run_stream") and callable(agent.run_stream): # Use Agent Framework's native streaming with optional thread diff --git a/python/packages/devui/agent_framework_devui/_mapper.py b/python/packages/devui/agent_framework_devui/_mapper.py index 5adff1cd2f..c77e8c048d 100644 --- a/python/packages/devui/agent_framework_devui/_mapper.py +++ b/python/packages/devui/agent_framework_devui/_mapper.py @@ -225,27 +225,128 @@ async def aggregate_to_response(self, events: Sequence[Any], request: AgentFrame Final aggregated OpenAI response """ try: - # Extract text content from events - content_parts = [] + # Collect output items in order + output_items: list[Any] = [] + + # Track text content parts per message (keyed by item_id) + text_parts_by_message: dict[str, list[str]] = {} + + # Track function calls (keyed by call_id) to accumulate arguments + function_calls: dict[str, dict[str, Any]] = {} + + # Track function results (keyed by call_id) + function_results: dict[str, dict[str, Any]] = {} for event in events: - # Extract delta text from ResponseTextDeltaEvent - if hasattr(event, "delta") and hasattr(event, "type") and event.type == "response.output_text.delta": - content_parts.append(event.delta) - - # Combine content - full_content = "".join(content_parts) - - # Create proper OpenAI Response - response_output_text = ResponseOutputText(type="output_text", text=full_content, annotations=[]) - - response_output_message = ResponseOutputMessage( - type="message", - role="assistant", - content=[response_output_text], - id=f"msg_{uuid.uuid4().hex[:8]}", - status="completed", - ) + event_type = getattr(event, "type", None) + + # Handle text deltas - accumulate text per message + if event_type == "response.output_text.delta": + item_id = getattr(event, "item_id", "default") + if item_id not in text_parts_by_message: + text_parts_by_message[item_id] = [] + text_parts_by_message[item_id].append(event.delta) + + # Handle output_item.added events (function_call, message, etc.) + elif event_type == "response.output_item.added": + item = getattr(event, "item", None) + if item: + # Handle both object and dict formats + item_type = item.get("type") if isinstance(item, dict) else getattr(item, "type", None) + + # Track function calls to accumulate their arguments + if item_type == "function_call": + # Handle both object and dict formats + if isinstance(item, dict): + call_id = item.get("call_id") or item.get("id") + if call_id: + function_calls[call_id] = { + "id": item.get("id", call_id), + "call_id": call_id, + "name": item.get("name", ""), + "arguments": item.get("arguments", ""), + "type": "function_call", + "status": item.get("status", "completed"), + } + else: + call_id = getattr(item, "call_id", None) or getattr(item, "id", None) + if call_id: + function_calls[call_id] = { + "id": getattr(item, "id", call_id), + "call_id": call_id, + "name": getattr(item, "name", ""), + "arguments": getattr(item, "arguments", ""), + "type": "function_call", + "status": getattr(item, "status", "completed"), + } + + # Other output items (message, etc.) - track for later + elif item_type == "message": + # Messages will be built from text_parts_by_message + pass + + # Handle function call arguments delta - accumulate arguments + elif event_type == "response.function_call_arguments.delta": + item_id = getattr(event, "item_id", None) + delta = getattr(event, "delta", "") + # item_id for function calls is the call_id + if item_id and item_id in function_calls: + function_calls[item_id]["arguments"] += delta + + # Handle function result complete events + elif event_type == "response.function_result.complete": + call_id = getattr(event, "call_id", None) + if call_id: + function_results[call_id] = { + "type": "function_call_output", + "call_id": call_id, + "output": getattr(event, "output", ""), + "status": getattr(event, "status", "completed"), + } + + # Build output array in order: function_calls, then final message + + # Add function call items + for _call_id, fc_data in function_calls.items(): + output_items.append(ResponseFunctionToolCall(**fc_data)) + + # Note: function_call_output items are NOT added to output array + # In OpenAI's Responses API, function results are user inputs, not assistant outputs + # The function_results dict is kept for potential future use or debugging + # but we don't include them in the Response output + _ = function_results # Acknowledge but don't use + + # Build final text message from accumulated deltas + # Combine all text parts (usually there's just one message) + all_text_parts = [] + for _item_id, parts in text_parts_by_message.items(): + all_text_parts.extend(parts) + + full_content = "".join(all_text_parts) + + # Only add message if there's text content + if full_content: + response_output_text = ResponseOutputText(type="output_text", text=full_content, annotations=[]) + response_output_message = ResponseOutputMessage( + type="message", + role="assistant", + content=[response_output_text], + id=f"msg_{uuid.uuid4().hex[:8]}", + status="completed", + ) + output_items.append(response_output_message) + + # If no output items at all, create an empty message + if not output_items: + response_output_text = ResponseOutputText(type="output_text", text="", annotations=[]) + response_output_message = ResponseOutputMessage( + type="message", + role="assistant", + content=[response_output_text], + id=f"msg_{uuid.uuid4().hex[:8]}", + status="completed", + ) + output_items.append(response_output_message) # Get usage from accumulator (OpenAI standard) request_id = str(id(request)) @@ -278,7 +379,7 @@ async def aggregate_to_response(self, events: Sequence[Any], request: AgentFrame object="response", created_at=datetime.now().timestamp(), model=request.model or "devui", - output=[response_output_message], + output=output_items, usage=usage, parallel_tool_calls=False, tool_choice="none", @@ -797,11 +898,29 @@ async def _convert_workflow_event(self, event: Any, context: dict[str, Any]) -> if not text: # Fallback to string representation text = str(output_data) + elif isinstance(output_data, list): + # Handle list of ChatMessage objects (from Magentic yield_output([final_answer])) + text_parts = [] + for item in output_data: + if hasattr(item, "__class__") and item.__class__.__name__ == "ChatMessage": + item_text = getattr(item, "text", None) + if item_text: + text_parts.append(item_text) + else: + text_parts.append(str(item)) + elif isinstance(item, str): + text_parts.append(item) + else: + try: + text_parts.append(json.dumps(item, indent=2)) + except (TypeError, ValueError): + text_parts.append(str(item)) + text = "\n".join(text_parts) if text_parts else str(output_data) elif isinstance(output_data, str): # String output text = output_data else: - # Object/dict/list → JSON string + # Object/dict → JSON string try: text = json.dumps(output_data, indent=2) except (TypeError, ValueError): @@ -1081,275 +1200,6 @@ async def _convert_workflow_event(self, event: Any, context: dict[str, Any]) -> return [trace_event] - # Handle Magentic-specific events - if event_class == "MagenticAgentDeltaEvent": - agent_id = getattr(event, "agent_id", "unknown_agent") - text = getattr(event, "text", None) - - if text: - # Check if we're inside an executor - route to executor's item - # This prevents duplicate timeline entries (executor + inner agent) - current_executor_id = context.get("current_executor_id") - executor_item_key = f"exec_item_{current_executor_id}" if current_executor_id else None - - if executor_item_key and executor_item_key in context: - # Route delta to the executor's item instead of creating a new message item - item_id = context[executor_item_key] - - # Emit text delta event routed to the executor's item - return [ - ResponseTextDeltaEvent( - type="response.output_text.delta", - output_index=context.get("output_index", 0), - content_index=0, - item_id=item_id, - delta=text, - logprobs=[], - sequence_number=self._next_sequence(context), - ) - ] - - # Fallback: No executor context - create separate message item (original behavior) - # This handles cases where MagenticAgentDeltaEvent is emitted outside an executor - events = [] - - # Track Magentic agent messages separately from regular messages - # Use timestamp to ensure uniqueness for multiple runs of same agent - magentic_key = f"magentic_message_{agent_id}" - - # Check if this is the first delta from this agent (need to create message container) - if magentic_key not in context: - # Create a unique message ID for this agent's streaming session - message_id = f"msg_{agent_id}_{uuid4().hex[:8]}" - context[magentic_key] = message_id - context["output_index"] = context.get("output_index", -1) + 1 - - # Import required types for creating message containers - from openai.types.responses import ResponseOutputMessage, ResponseOutputText - from openai.types.responses.response_content_part_added_event import ( - ResponseContentPartAddedEvent, - ) - from openai.types.responses.response_output_item_added_event import ResponseOutputItemAddedEvent - - # Emit message output item (container for the agent's message) - # This matches what _convert_agent_update does for regular agents - events.append( - ResponseOutputItemAddedEvent( - type="response.output_item.added", - output_index=context["output_index"], - sequence_number=self._next_sequence(context), - item=ResponseOutputMessage( - type="message", - id=message_id, - role="assistant", - content=[], - status="in_progress", - # Add metadata to identify this as a Magentic agent message - metadata={"agent_id": agent_id, "source": "magentic"}, # type: ignore[call-arg] - ), - ) - ) - - # Add content part for text (establishes the text container) - events.append( - ResponseContentPartAddedEvent( - type="response.content_part.added", - output_index=context["output_index"], - content_index=0, - item_id=message_id, - sequence_number=self._next_sequence(context), - part=ResponseOutputText(type="output_text", text="", annotations=[]), - ) - ) - - # Get the message ID for this agent - message_id = context[magentic_key] - - # Emit text delta event using the message ID (matches regular agent behavior) - events.append( - ResponseTextDeltaEvent( - type="response.output_text.delta", - output_index=context["output_index"], - content_index=0, # Always 0 for single text content - item_id=message_id, - delta=text, - logprobs=[], - sequence_number=self._next_sequence(context), - ) - ) - return events - - # Handle function calls from Magentic agents - if getattr(event, "function_call_id", None) and getattr(event, "function_call_name", None): - # Handle function call initiation - function_call_id = getattr(event, "function_call_id", None) - function_call_name = getattr(event, "function_call_name", None) - function_call_arguments = getattr(event, "function_call_arguments", None) - - # Track function call for accumulating arguments - context["active_function_calls"][function_call_id] = { - "item_id": function_call_id, - "name": function_call_name, - "arguments_chunks": [], - } - - # Emit function call output item - return [ - ResponseOutputItemAddedEvent( - type="response.output_item.added", - item=ResponseFunctionToolCall( - id=function_call_id, - call_id=function_call_id, - name=function_call_name, - arguments=json.dumps(function_call_arguments) if function_call_arguments else "", - type="function_call", - status="in_progress", - ), - output_index=context["output_index"], - sequence_number=self._next_sequence(context), - ) - ] - - # For other non-text deltas, emit as trace for debugging - return [ - ResponseTraceEventComplete( - type="response.trace.completed", - data={ - "trace_type": "magentic_delta", - "agent_id": agent_id, - "function_call_id": getattr(event, "function_call_id", None), - "function_call_name": getattr(event, "function_call_name", None), - "function_result_id": getattr(event, "function_result_id", None), - "timestamp": datetime.now().isoformat(), - }, - span_id=f"magentic_delta_{uuid4().hex[:8]}", - item_id=context["item_id"], - output_index=context.get("output_index", 0), - sequence_number=self._next_sequence(context), - ) - ] - - if event_class == "MagenticAgentMessageEvent": - agent_id = getattr(event, "agent_id", "unknown_agent") - message = getattr(event, "message", None) - - # Check if we're inside an executor - if so, deltas were already routed there - # We don't need to emit a separate message completion event - current_executor_id = context.get("current_executor_id") - executor_item_key = f"exec_item_{current_executor_id}" if current_executor_id else None - - if executor_item_key and executor_item_key in context: - # Deltas were routed to executor item - no separate message item to complete - # The executor's output_item.done will mark completion - logger.debug( - f"MagenticAgentMessageEvent from {agent_id} - " - f"deltas routed to executor {current_executor_id}, skipping" - ) - return [] - - # Fallback: Handle case where we created a separate message item (no executor context) - magentic_key = f"magentic_message_{agent_id}" - - # Check if we were streaming for this agent - if magentic_key in context: - # Mark the streaming message as complete - message_id = context[magentic_key] - - # Import required types - from openai.types.responses import ResponseOutputMessage - from openai.types.responses.response_output_item_done_event import ResponseOutputItemDoneEvent - - # Extract text from ChatMessage for the completed message - text = None - if message and hasattr(message, "text"): - text = message.text - - # Emit output_item.done to mark message as complete - events = [ - ResponseOutputItemDoneEvent( - type="response.output_item.done", - output_index=context["output_index"], - sequence_number=self._next_sequence(context), - item=ResponseOutputMessage( - type="message", - id=message_id, - role="assistant", - content=[], # Content already streamed via deltas - status="completed", - metadata={"agent_id": agent_id, "source": "magentic"}, # type: ignore[call-arg] - ), - ) - ] - - # Clean up context for this agent - del context[magentic_key] - - logger.debug(f"MagenticAgentMessageEvent from {agent_id} marked streaming message as complete") - return events - # No streaming occurred, create a complete message (shouldn't happen normally) - # Extract text from ChatMessage - text = None - if message and hasattr(message, "text"): - text = message.text - - if text: - # Emit as output item for this agent - from openai.types.responses import ResponseOutputMessage, ResponseOutputText - from openai.types.responses.response_output_item_added_event import ResponseOutputItemAddedEvent - - context["output_index"] = context.get("output_index", -1) + 1 - - text_content = ResponseOutputText(type="output_text", text=text, annotations=[]) - - output_message = ResponseOutputMessage( - type="message", - id=f"msg_{agent_id}_{uuid4().hex[:8]}", - role="assistant", - content=[text_content], - status="completed", - metadata={"agent_id": agent_id, "source": "magentic"}, # type: ignore[call-arg] - ) - - logger.debug( - f"MagenticAgentMessageEvent from {agent_id} converted to output_item.added (non-streaming)" - ) - return [ - ResponseOutputItemAddedEvent( - type="response.output_item.added", - item=output_message, - output_index=context["output_index"], - sequence_number=self._next_sequence(context), - ) - ] - - if event_class == "MagenticOrchestratorMessageEvent": - orchestrator_id = getattr(event, "orchestrator_id", "orchestrator") - message = getattr(event, "message", None) - kind = getattr(event, "kind", "unknown") - - # Extract text from ChatMessage - text = None - if message and hasattr(message, "text"): - text = message.text - - # Emit as trace event for orchestrator messages (typically task ledger, instructions) - return [ - ResponseTraceEventComplete( - type="response.trace.completed", - data={ - "trace_type": "magentic_orchestrator", - "orchestrator_id": orchestrator_id, - "kind": kind, - "text": text or "", - "timestamp": datetime.now().isoformat(), - }, - span_id=f"magentic_orch_{uuid4().hex[:8]}", - item_id=context["item_id"], - output_index=context.get("output_index", 0), - sequence_number=self._next_sequence(context), - ) - ] - # For unknown/legacy events, still emit as workflow event for backward compatibility # Get event data and serialize if it's a SerializationMixin raw_event_data = getattr(event, "data", None) diff --git a/python/packages/devui/agent_framework_devui/_server.py b/python/packages/devui/agent_framework_devui/_server.py index b3a7c751b6..cdb8247967 100644 --- a/python/packages/devui/agent_framework_devui/_server.py +++ b/python/packages/devui/agent_framework_devui/_server.py @@ -748,6 +748,11 @@ async def create_response(request: AgentFrameworkRequest, raw_request: Request) response_id = f"resp_{uuid.uuid4().hex[:8]}" logger.info(f"[CANCELLATION] Creating response {response_id} for entity {entity_id}") + # Inject response_id into extra_body for trace context + if request.extra_body is None: + request.extra_body = {} + request.extra_body["response_id"] = response_id + return StreamingResponse( self._stream_with_cancellation(executor, request, response_id), media_type="text/event-stream", @@ -1000,10 +1005,16 @@ async def list_conversation_items( logger.warning(f"Unexpected item type: {type(item)}, converting to dict") serialized_items.append(dict(item)) + # Get stored traces for context inspection (DevUI extension) + traces = executor.conversation_store.get_traces(conversation_id) + return { "object": "list", "data": serialized_items, "has_more": has_more, + "metadata": { + "traces": traces, # Trace events for token usage, timing, LLM context + }, } except ValueError as e: raise HTTPException(status_code=404, detail=str(e)) from e @@ -1080,10 +1091,22 @@ async def _stream_execution( # Collect events for final response.completed event events = [] + # Get conversation_id for trace storage + conversation_id = request.get_conversation_id() + # Stream all events async for event in executor.execute_streaming(request): events.append(event) + # Store trace events for context inspection (persisted with conversation) + if conversation_id and hasattr(event, "type") and event.type == "response.trace.completed": + try: + trace_data = event.data if hasattr(event, "data") else None + if trace_data: + executor.conversation_store.add_trace(conversation_id, trace_data) + except Exception as e: + logger.debug(f"Failed to store trace event: {e}") + # IMPORTANT: Check model_dump_json FIRST because to_json() can have newlines (pretty-printing) # which breaks SSE format. model_dump_json() returns single-line JSON. if hasattr(event, "model_dump_json"): diff --git a/python/packages/devui/agent_framework_devui/_tracing.py b/python/packages/devui/agent_framework_devui/_tracing.py index 83abd2fcb7..777e788914 100644 --- a/python/packages/devui/agent_framework_devui/_tracing.py +++ b/python/packages/devui/agent_framework_devui/_tracing.py @@ -6,26 +6,94 @@ from collections.abc import Generator, Sequence from contextlib import contextmanager from datetime import datetime -from typing import Any +from typing import TYPE_CHECKING, Any +from opentelemetry.sdk._logs import ReadableLogRecord +from opentelemetry.sdk._logs.export import LogRecordExporter, LogRecordExportResult +from opentelemetry.sdk.metrics.export import MetricExporter, MetricExportResult from opentelemetry.sdk.trace.export import SpanExporter, SpanExportResult from .models import ResponseTraceEvent +if TYPE_CHECKING: + from opentelemetry.sdk.metrics.export import MetricsData + logger = logging.getLogger(__name__) +class NoOpSpanExporter(SpanExporter): + """A no-op span exporter that discards all spans. + + Used when tracing is enabled for local capture but no external + OTLP endpoint is configured. This prevents the default Console + exporter from spamming stdout. + """ + + def export(self, spans: Sequence[Any]) -> SpanExportResult: + """Discard spans and return success.""" + return SpanExportResult.SUCCESS + + def shutdown(self) -> None: + """No-op shutdown.""" + pass + + def force_flush(self, timeout_millis: int = 30000) -> bool: + """No-op flush.""" + return True + + +class NoOpLogExporter(LogRecordExporter): + """A no-op log exporter that discards all logs. + + Used when tracing is enabled for local capture but no external + OTLP endpoint is configured. + """ + + def export(self, batch: Sequence[ReadableLogRecord]) -> LogRecordExportResult: + """Discard logs and return success.""" + return LogRecordExportResult.SUCCESS + + def shutdown(self) -> None: + """No-op shutdown.""" + pass + + +class NoOpMetricExporter(MetricExporter): + """A no-op metric exporter that discards all metrics. + + Used when tracing is enabled for local capture but no external + OTLP endpoint is configured. + """ + + def export( + self, + metrics_data: "MetricsData", + timeout_millis: float = 10000, + **kwargs: Any, + ) -> MetricExportResult: + """Discard metrics and return success.""" + return MetricExportResult.SUCCESS + + def shutdown(self, timeout_millis: float = 30000, **kwargs: Any) -> None: + """No-op shutdown.""" + pass + + def force_flush(self, timeout_millis: float = 10000) -> bool: + """No-op flush.""" + return True + + class SimpleTraceCollector(SpanExporter): """Simple trace collector that captures spans for direct yielding.""" - def __init__(self, session_id: str | None = None, entity_id: str | None = None) -> None: + def __init__(self, response_id: str | None = None, entity_id: str | None = None) -> None: """Initialize trace collector. Args: - session_id: Session identifier for context + response_id: Response identifier for grouping traces by turn entity_id: Entity identifier for context """ - self.session_id = session_id + self.response_id = response_id self.entity_id = entity_id self.collected_events: list[ResponseTraceEvent] = [] @@ -93,7 +161,7 @@ def _convert_span_to_trace_event(self, span: Any) -> ResponseTraceEvent | None: "duration_ms": duration_ms, "attributes": dict(span.attributes) if span.attributes else {}, "status": str(span.status.status_code) if hasattr(span, "status") else "OK", - "session_id": self.session_id, + "response_id": self.response_id, "entity_id": self.entity_id, } @@ -121,18 +189,18 @@ def _convert_span_to_trace_event(self, span: Any) -> ResponseTraceEvent | None: @contextmanager def capture_traces( - session_id: str | None = None, entity_id: str | None = None + response_id: str | None = None, entity_id: str | None = None ) -> Generator[SimpleTraceCollector, None, None]: """Context manager to capture traces during execution. Args: - session_id: Session identifier for context + response_id: Response identifier for grouping traces by turn entity_id: Entity identifier for context Yields: SimpleTraceCollector instance to get trace events from """ - collector = SimpleTraceCollector(session_id, entity_id) + collector = SimpleTraceCollector(response_id, entity_id) try: from opentelemetry import trace @@ -146,7 +214,7 @@ def capture_traces( # Check if this is a real TracerProvider (not the default NoOpTracerProvider) if isinstance(provider, TracerProvider): provider.add_span_processor(processor) - logger.debug(f"Added trace collector to TracerProvider for session: {session_id}, entity: {entity_id}") + logger.debug(f"Added trace collector to TracerProvider for response: {response_id}, entity: {entity_id}") try: yield collector diff --git a/python/packages/devui/agent_framework_devui/ui/assets/index.css b/python/packages/devui/agent_framework_devui/ui/assets/index.css index df27c998b2..504bd04d6c 100644 --- a/python/packages/devui/agent_framework_devui/ui/assets/index.css +++ b/python/packages/devui/agent_framework_devui/ui/assets/index.css @@ -1 +1 @@ -/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-900:oklch(38.1% .176 304.987);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--drop-shadow-lg:0 4px 4px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-2{inset:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[30px\]{top:30px}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-24{bottom:calc(var(--spacing)*24)}.-left-2{left:calc(var(--spacing)*-2)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[18px\]{left:18px}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.container\!{width:100%!important}@media (min-width:40rem){.container\!{max-width:40rem!important}}@media (min-width:48rem){.container\!{max-width:48rem!important}}@media (min-width:64rem){.container\!{max-width:64rem!important}}@media (min-width:80rem){.container\!{max-width:80rem!important}}@media (min-width:96rem){.container\!{max-width:96rem!important}}.m-2{margin:calc(var(--spacing)*2)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-0{margin-left:calc(var(--spacing)*0)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.\!h-2{height:calc(var(--spacing)*2)!important}.h-0{height:calc(var(--spacing)*0)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-\[1\.2rem\]{height:1.2rem}.h-\[1px\]{height:1px}.h-\[85vh\]{height:85vh}.h-\[500px\]{height:500px}.h-\[calc\(100\%\+8px\)\]{height:calc(100% + 8px)}.h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.h-\[calc\(100vh-3\.7rem\)\]{height:calc(100vh - 3.7rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-20{max-height:calc(var(--spacing)*20)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[200px\]{max-height:200px}.max-h-\[400px\]{max-height:400px}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[36px\]{min-height:36px}.min-h-\[40px\]{min-height:40px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.\!w-2{width:calc(var(--spacing)*2)!important}.w-1{width:calc(var(--spacing)*1)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-\[1\.2rem\]{width:1.2rem}.w-\[1px\]{width:1px}.w-\[28rem\]{width:28rem}.w-\[90vw\]{width:90vw}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[80\%\]{max-width:80%}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.\!min-w-0{min-width:calc(var(--spacing)*0)!important}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[300px\]{min-width:300px}.min-w-\[400px\]{min-width:400px}.min-w-\[800px\]{min-width:800px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_auto_1fr_auto\]{grid-template-columns:auto auto 1fr auto}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-full{border-radius:3.40282e38px!important}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-gray-600{border-color:var(--color-gray-600)!important}.border-\[\#643FB2\]{border-color:#643fb2}.border-\[\#643FB2\]\/20{border-color:#643fb233}.border-\[\#643FB2\]\/30{border-color:#643fb24d}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-current\/30{border-color:currentColor}@supports (color:color-mix(in lab,red,red)){.border-current\/30{border-color:color-mix(in oklab,currentcolor 30%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.border-foreground\/5{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/5{border-color:color-mix(in oklab,var(--foreground)5%,transparent)}}.border-foreground\/10{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/10{border-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.border-foreground\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-500\/20{border-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.border-gray-500\/20{border-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.border-green-200{border-color:var(--color-green-200)}.border-green-500{border-color:var(--color-green-500)}.border-green-500\/20{border-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.border-green-500\/20{border-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-green-600\/20{border-color:#00a54433}@supports (color:color-mix(in lab,red,red)){.border-green-600\/20{border-color:color-mix(in oklab,var(--color-green-600)20%,transparent)}}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-300{border-color:var(--color-orange-300)}.border-orange-500{border-color:var(--color-orange-500)}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/20{border-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.border-orange-500\/40{border-color:#fe6e0066}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/40{border-color:color-mix(in oklab,var(--color-orange-500)40%,transparent)}}.border-orange-600\/20{border-color:#f0510033}@supports (color:color-mix(in lab,red,red)){.border-orange-600\/20{border-color:color-mix(in oklab,var(--color-orange-600)20%,transparent)}}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary)20%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[\#643FB2\]{background-color:#643fb2}.bg-\[\#643FB2\]\/10{background-color:#643fb21a}.bg-accent\/10{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--accent)10%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/80{background-color:#eff6ffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/80{background-color:color-mix(in oklab,var(--color-blue-50)80%,transparent)}}.bg-blue-50\/95{background-color:#eff6fff2}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/95{background-color:color-mix(in oklab,var(--color-blue-50)95%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-current{background-color:currentColor}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground\/5{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/5{background-color:color-mix(in oklab,var(--foreground)5%,transparent)}}.bg-foreground\/10{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500\/10{background-color:#6a72821a}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/10{background-color:color-mix(in oklab,var(--color-gray-500)10%,transparent)}}.bg-gray-900\/90{background-color:#101828e6}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/90{background-color:color-mix(in oklab,var(--color-gray-900)90%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-50\/50{background-color:#fff7ed80}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/50{background-color:color-mix(in oklab,var(--color-orange-50)50%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-100\/50{background-color:#ffedd580}@supports (color:color-mix(in lab,red,red)){.bg-orange-100\/50{background-color:color-mix(in oklab,var(--color-orange-100)50%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/5{background-color:#fe6e000d}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/5{background-color:color-mix(in oklab,var(--color-orange-500)5%,transparent)}}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/30{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/30{background-color:color-mix(in oklab,var(--primary)30%,transparent)}}.bg-primary\/40{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/40{background-color:color-mix(in oklab,var(--primary)40%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.fill-current{fill:currentColor}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#643FB2\]{color:#643fb2}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-blue-500\/80{color:#3080ffcc}@supports (color:color-mix(in lab,red,red)){.text-blue-500\/80{color:color-mix(in oklab,var(--color-blue-500)80%,transparent)}}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive,.text-destructive\/70{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/70{color:color-mix(in oklab,var(--destructive)70%,transparent)}}.text-destructive\/90{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/90{color:color-mix(in oklab,var(--destructive)90%,transparent)}}.text-foreground{color:var(--foreground)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,var(--muted-foreground)80%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[\#643FB2\]\/20{--tw-shadow-color:#643fb233}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#643FB2\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(47.4316% .069152 -.159147/.2) var(--tw-shadow-alpha),transparent)}}.shadow-green-500\/20{--tw-shadow-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-green-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-orange-500\/20{--tw-shadow-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.shadow-orange-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-orange-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-primary\/25{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/25{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--primary)25%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-red-500\/20{--tw-shadow-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-red-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-500{--tw-ring-color:var(--color-blue-500)}.ring-blue-500\/20{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.ring-blue-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-delay\:-0\.3s\]{animation-delay:-.3s}.\[animation-delay\:-0\.15s\]{animation-delay:-.15s}.fade-in{--tw-enter-opacity:0}.running{animation-play-state:running}.slide-in-from-bottom-2{--tw-enter-translate-y:calc(2*var(--spacing))}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media (hover:hover){.group-hover\:bg-primary:is(:where(.group):hover *){background-color:var(--primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-md:is(:where(.group):hover *){--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--primary)20%,transparent)var(--tw-shadow-alpha),transparent)}}}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-muted-foreground\/30:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/30:hover{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-orange-100:hover{background-color:var(--color-orange-100)}.hover\:bg-primary\/20:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive\/80:hover{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:text-destructive\/80:hover{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-orange-900:hover{color:var(--color-orange-900)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:w-64{width:calc(var(--spacing)*64)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-start-2{grid-column-start:2}.md\:inline{display:inline}.md\:max-w-2xl{max-width:var(--container-2xl)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-8{gap:calc(var(--spacing)*8)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:col-span-3{grid-column:span 3/span 3}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:max-w-5xl{max-width:var(--container-5xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.dark\:\!border-gray-500:is(.dark *){border-color:var(--color-gray-500)!important}.dark\:\!border-gray-600:is(.dark *){border-color:var(--color-gray-600)!important}.dark\:border-\[\#8B5CF6\]:is(.dark *){border-color:#8b5cf6}.dark\:border-\[\#8B5CF6\]\/20:is(.dark *){border-color:#8b5cf633}.dark\:border-\[\#8B5CF6\]\/30:is(.dark *){border-color:#8b5cf64d}.dark\:border-amber-800:is(.dark *){border-color:var(--color-amber-800)}.dark\:border-amber-900:is(.dark *){border-color:var(--color-amber-900)}.dark\:border-blue-400:is(.dark *){border-color:var(--color-blue-400)}.dark\:border-blue-500:is(.dark *){border-color:var(--color-blue-500)}.dark\:border-blue-700:is(.dark *){border-color:var(--color-blue-700)}.dark\:border-blue-800:is(.dark *){border-color:var(--color-blue-800)}.dark\:border-gray-500:is(.dark *){border-color:var(--color-gray-500)}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:border-gray-700:is(.dark *){border-color:var(--color-gray-700)}.dark\:border-green-400:is(.dark *){border-color:var(--color-green-400)}.dark\:border-green-800:is(.dark *){border-color:var(--color-green-800)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-orange-400:is(.dark *){border-color:var(--color-orange-400)}.dark\:border-orange-700:is(.dark *){border-color:var(--color-orange-700)}.dark\:border-orange-800:is(.dark *){border-color:var(--color-orange-800)}.dark\:border-red-400:is(.dark *){border-color:var(--color-red-400)}.dark\:border-red-800:is(.dark *){border-color:var(--color-red-800)}.dark\:\!bg-gray-800\/90:is(.dark *){background-color:#1e2939e6!important}@supports (color:color-mix(in lab,red,red)){.dark\:\!bg-gray-800\/90:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-800)90%,transparent)!important}}.dark\:bg-\[\#8B5CF6\]:is(.dark *){background-color:#8b5cf6}.dark\:bg-\[\#8B5CF6\]\/10:is(.dark *){background-color:#8b5cf61a}.dark\:bg-amber-950\/20:is(.dark *){background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-950)20%,transparent)}}.dark\:bg-amber-950\/50:is(.dark *){background-color:#46190180}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-950)50%,transparent)}}.dark\:bg-blue-500\/10:is(.dark *){background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.dark\:bg-blue-900:is(.dark *){background-color:var(--color-blue-900)}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark\:bg-blue-950\/20:is(.dark *){background-color:#16245633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)20%,transparent)}}.dark\:bg-blue-950\/40:is(.dark *){background-color:#16245666}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/40:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)40%,transparent)}}.dark\:bg-blue-950\/50:is(.dark *){background-color:#16245680}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)50%,transparent)}}.dark\:bg-blue-950\/95:is(.dark *){background-color:#162456f2}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/95:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)95%,transparent)}}.dark\:bg-card:is(.dark *){background-color:var(--card)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-foreground\/10:is(.dark *){background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-foreground\/10:is(.dark *){background-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.dark\:bg-gray-500:is(.dark *){background-color:var(--color-gray-500)}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-800\/90:is(.dark *){background-color:#1e2939e6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-800\/90:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-800)90%,transparent)}}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-gray-900\/30:is(.dark *){background-color:#1018284d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-900\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-900)30%,transparent)}}.dark\:bg-green-400:is(.dark *){background-color:var(--color-green-400)}.dark\:bg-green-500\/10:is(.dark *){background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.dark\:bg-green-900:is(.dark *){background-color:var(--color-green-900)}.dark\:bg-green-950:is(.dark *){background-color:var(--color-green-950)}.dark\:bg-green-950\/20:is(.dark *){background-color:#032e1533}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)20%,transparent)}}.dark\:bg-green-950\/50:is(.dark *){background-color:#032e1580}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)50%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-orange-400:is(.dark *){background-color:var(--color-orange-400)}.dark\:bg-orange-500\/10:is(.dark *){background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.dark\:bg-orange-900:is(.dark *){background-color:var(--color-orange-900)}.dark\:bg-orange-950:is(.dark *){background-color:var(--color-orange-950)}.dark\:bg-orange-950\/20:is(.dark *){background-color:#44130633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-950)20%,transparent)}}.dark\:bg-orange-950\/30:is(.dark *){background-color:#4413064d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-950)30%,transparent)}}.dark\:bg-orange-950\/50:is(.dark *){background-color:#44130680}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-950)50%,transparent)}}.dark\:bg-purple-900:is(.dark *){background-color:var(--color-purple-900)}.dark\:bg-red-400:is(.dark *){background-color:var(--color-red-400)}.dark\:bg-red-900:is(.dark *){background-color:var(--color-red-900)}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:bg-red-950\/20:is(.dark *){background-color:#46080933}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-red-950)20%,transparent)}}.dark\:text-\[\#8B5CF6\]:is(.dark *){color:#8b5cf6}.dark\:text-amber-100:is(.dark *){color:var(--color-amber-100)}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-amber-500:is(.dark *){color:var(--color-amber-500)}.dark\:text-blue-100:is(.dark *){color:var(--color-blue-100)}.dark\:text-blue-200:is(.dark *){color:var(--color-blue-200)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-blue-400\/70:is(.dark *){color:#54a2ffb3}@supports (color:color-mix(in lab,red,red)){.dark\:text-blue-400\/70:is(.dark *){color:color-mix(in oklab,var(--color-blue-400)70%,transparent)}}.dark\:text-blue-500:is(.dark *){color:var(--color-blue-500)}.dark\:text-gray-100:is(.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-green-100:is(.dark *){color:var(--color-green-100)}.dark\:text-green-200:is(.dark *){color:var(--color-green-200)}.dark\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-orange-100:is(.dark *){color:var(--color-orange-100)}.dark\:text-orange-200:is(.dark *){color:var(--color-orange-200)}.dark\:text-orange-300:is(.dark *){color:var(--color-orange-300)}.dark\:text-orange-400:is(.dark *){color:var(--color-orange-400)}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-red-200:is(.dark *){color:var(--color-red-200)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-yellow-400:is(.dark *){color:var(--color-yellow-400)}.dark\:opacity-30:is(.dark *){opacity:.3}@media (hover:hover){.dark\:hover\:border-gray-600:is(.dark *):hover{border-color:var(--color-gray-600)}.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-amber-950\/30:is(.dark *):hover{background-color:#4619014d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-amber-950\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-amber-950)30%,transparent)}}.dark\:hover\:bg-gray-800:is(.dark *):hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:bg-orange-950\/40:is(.dark *):hover{background-color:#44130666}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-orange-950\/40:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-orange-950)40%,transparent)}}.dark\:hover\:bg-red-900\/20:is(.dark *):hover{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-red-900\/20:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:hover\:text-orange-200:is(.dark *):hover{color:var(--color-orange-200)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(48% .18 290);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(62% .2 290);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.workflow-chat-view .border-green-200{border-color:var(--color-emerald-200)}.workflow-chat-view .bg-green-50{background-color:var(--color-emerald-50)}.workflow-chat-view .bg-green-100{background-color:var(--color-emerald-100)}.workflow-chat-view .text-green-600{color:var(--color-emerald-600)}.workflow-chat-view .text-green-700{color:var(--color-emerald-700)}.workflow-chat-view .text-green-800{color:var(--color-emerald-800)}.highlight-attention{animation:1s ease-out highlight-flash}@keyframes highlight-flash{0%{background-color:#fb923c4d;transform:scale(1.02)}to{background-color:#0000;transform:scale(1)}}.hil-waiting-glow{animation:2s infinite pulse-glow;box-shadow:0 0 #fb923c66,inset 0 0 0 1px #fb923c33}@keyframes pulse-glow{0%,to{box-shadow:0 0 #fb923c66,inset 0 0 0 1px #fb923c33}50%{box-shadow:0 0 20px 5px #fb923c33,inset 0 0 0 2px #fb923c4d}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))} +/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--drop-shadow-lg:0 4px 4px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-2{inset:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[30px\]{top:30px}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-24{bottom:calc(var(--spacing)*24)}.-left-2{left:calc(var(--spacing)*-2)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[18px\]{left:18px}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.container\!{width:100%!important}@media (min-width:40rem){.container\!{max-width:40rem!important}}@media (min-width:48rem){.container\!{max-width:48rem!important}}@media (min-width:64rem){.container\!{max-width:64rem!important}}@media (min-width:80rem){.container\!{max-width:80rem!important}}@media (min-width:96rem){.container\!{max-width:96rem!important}}.m-2{margin:calc(var(--spacing)*2)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-0{margin-left:calc(var(--spacing)*0)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.\!h-2{height:calc(var(--spacing)*2)!important}.h-0{height:calc(var(--spacing)*0)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-\[1\.2rem\]{height:1.2rem}.h-\[1px\]{height:1px}.h-\[85vh\]{height:85vh}.h-\[500px\]{height:500px}.h-\[calc\(100\%\+8px\)\]{height:calc(100% + 8px)}.h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.h-\[calc\(100vh-3\.7rem\)\]{height:calc(100vh - 3.7rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[200px\]{max-height:200px}.max-h-\[400px\]{max-height:400px}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[36px\]{min-height:36px}.min-h-\[40px\]{min-height:40px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.\!w-2{width:calc(var(--spacing)*2)!important}.w-1{width:calc(var(--spacing)*1)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-\[1\.2rem\]{width:1.2rem}.w-\[1px\]{width:1px}.w-\[28rem\]{width:28rem}.w-\[90vw\]{width:90vw}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[80\%\]{max-width:80%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[200px\]{max-width:200px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.\!min-w-0{min-width:calc(var(--spacing)*0)!important}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[1\.25rem\]{min-width:1.25rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[50px\]{min-width:50px}.min-w-\[80px\]{min-width:80px}.min-w-\[300px\]{min-width:300px}.min-w-\[400px\]{min-width:400px}.min-w-\[800px\]{min-width:800px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-bottom{transform-origin:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[auto_auto_1fr_auto\]{grid-template-columns:auto auto 1fr auto}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-full{border-radius:3.40282e38px!important}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-gray-600{border-color:var(--color-gray-600)!important}.border-\[\#643FB2\]{border-color:#643fb2}.border-\[\#643FB2\]\/20{border-color:#643fb233}.border-\[\#643FB2\]\/30{border-color:#643fb24d}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-current\/30{border-color:currentColor}@supports (color:color-mix(in lab,red,red)){.border-current\/30{border-color:color-mix(in oklab,currentcolor 30%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.border-foreground\/5{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/5{border-color:color-mix(in oklab,var(--foreground)5%,transparent)}}.border-foreground\/10{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/10{border-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.border-foreground\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-500\/20{border-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.border-gray-500\/20{border-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.border-green-200{border-color:var(--color-green-200)}.border-green-500{border-color:var(--color-green-500)}.border-green-500\/20{border-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.border-green-500\/20{border-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-green-600\/20{border-color:#00a54433}@supports (color:color-mix(in lab,red,red)){.border-green-600\/20{border-color:color-mix(in oklab,var(--color-green-600)20%,transparent)}}.border-input{border-color:var(--input)}.border-muted,.border-muted\/50{border-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.border-muted\/50{border-color:color-mix(in oklab,var(--muted)50%,transparent)}}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-300{border-color:var(--color-orange-300)}.border-orange-500{border-color:var(--color-orange-500)}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/20{border-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.border-orange-500\/40{border-color:#fe6e0066}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/40{border-color:color-mix(in oklab,var(--color-orange-500)40%,transparent)}}.border-orange-600\/20{border-color:#f0510033}@supports (color:color-mix(in lab,red,red)){.border-orange-600\/20{border-color:color-mix(in oklab,var(--color-orange-600)20%,transparent)}}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary)20%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[\#643FB2\]{background-color:#643fb2}.bg-\[\#643FB2\]\/10{background-color:#643fb21a}.bg-accent\/10{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--accent)10%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/80{background-color:#eff6ffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/80{background-color:color-mix(in oklab,var(--color-blue-50)80%,transparent)}}.bg-blue-50\/95{background-color:#eff6fff2}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/95{background-color:color-mix(in oklab,var(--color-blue-50)95%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-current{background-color:currentColor}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-foreground\/5{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/5{background-color:color-mix(in oklab,var(--foreground)5%,transparent)}}.bg-foreground\/10{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500\/10{background-color:#6a72821a}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/10{background-color:color-mix(in oklab,var(--color-gray-500)10%,transparent)}}.bg-gray-900\/90{background-color:#101828e6}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/90{background-color:color-mix(in oklab,var(--color-gray-900)90%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/20{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/20{background-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-50\/50{background-color:#fff7ed80}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/50{background-color:color-mix(in oklab,var(--color-orange-50)50%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-100\/50{background-color:#ffedd580}@supports (color:color-mix(in lab,red,red)){.bg-orange-100\/50{background-color:color-mix(in oklab,var(--color-orange-100)50%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/5{background-color:#fe6e000d}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/5{background-color:color-mix(in oklab,var(--color-orange-500)5%,transparent)}}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/30{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/30{background-color:color-mix(in oklab,var(--primary)30%,transparent)}}.bg-primary\/40{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/40{background-color:color-mix(in oklab,var(--primary)40%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.fill-current{fill:currentColor}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#643FB2\]{color:#643fb2}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-600\/80{color:#dd7400cc}@supports (color:color-mix(in lab,red,red)){.text-amber-600\/80{color:color-mix(in oklab,var(--color-amber-600)80%,transparent)}}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-blue-500\/80{color:#3080ffcc}@supports (color:color-mix(in lab,red,red)){.text-blue-500\/80{color:color-mix(in oklab,var(--color-blue-500)80%,transparent)}}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive,.text-destructive\/70{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/70{color:color-mix(in oklab,var(--destructive)70%,transparent)}}.text-destructive\/90{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/90{color:color-mix(in oklab,var(--destructive)90%,transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--foreground)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,var(--muted-foreground)80%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-800{color:var(--color-purple-800)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[\#643FB2\]\/20{--tw-shadow-color:#643fb233}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#643FB2\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(47.4316% .069152 -.159147/.2) var(--tw-shadow-alpha),transparent)}}.shadow-green-500\/20{--tw-shadow-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-green-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-orange-500\/20{--tw-shadow-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.shadow-orange-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-orange-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-primary\/25{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/25{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--primary)25%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-red-500\/20{--tw-shadow-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-red-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-500{--tw-ring-color:var(--color-blue-500)}.ring-blue-500\/20{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.ring-blue-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[animation-delay\:-0\.3s\]{animation-delay:-.3s}.\[animation-delay\:-0\.15s\]{animation-delay:-.15s}.fade-in{--tw-enter-opacity:0}.running{animation-play-state:running}.slide-in-from-bottom-2{--tw-enter-translate-y:calc(2*var(--spacing))}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media (hover:hover){.group-hover\:bg-primary:is(:where(.group):hover *){background-color:var(--primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-md:is(:where(.group):hover *){--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:shadow-primary\/20:is(:where(.group):hover *){--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--primary)20%,transparent)var(--tw-shadow-alpha),transparent)}}}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:scale-y-\[1\.15\]:hover{--tw-scale-y:1.15;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-muted-foreground\/30:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/30:hover{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/30:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-muted\/70:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/70:hover{background-color:color-mix(in oklab,var(--muted)70%,transparent)}}.hover\:bg-orange-100:hover{background-color:var(--color-orange-100)}.hover\:bg-primary\/20:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive\/80:hover{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:text-destructive\/80:hover{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-orange-900:hover{color:var(--color-orange-900)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:w-64{width:calc(var(--spacing)*64)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-start-2{grid-column-start:2}.md\:inline{display:inline}.md\:max-w-2xl{max-width:var(--container-2xl)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-8{gap:calc(var(--spacing)*8)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:col-span-3{grid-column:span 3/span 3}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:max-w-5xl{max-width:var(--container-5xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.dark\:\!border-gray-500:is(.dark *){border-color:var(--color-gray-500)!important}.dark\:\!border-gray-600:is(.dark *){border-color:var(--color-gray-600)!important}.dark\:border-\[\#8B5CF6\]:is(.dark *){border-color:#8b5cf6}.dark\:border-\[\#8B5CF6\]\/20:is(.dark *){border-color:#8b5cf633}.dark\:border-\[\#8B5CF6\]\/30:is(.dark *){border-color:#8b5cf64d}.dark\:border-amber-800:is(.dark *){border-color:var(--color-amber-800)}.dark\:border-amber-900:is(.dark *){border-color:var(--color-amber-900)}.dark\:border-blue-400:is(.dark *){border-color:var(--color-blue-400)}.dark\:border-blue-500:is(.dark *){border-color:var(--color-blue-500)}.dark\:border-blue-700:is(.dark *){border-color:var(--color-blue-700)}.dark\:border-blue-800:is(.dark *){border-color:var(--color-blue-800)}.dark\:border-gray-500:is(.dark *){border-color:var(--color-gray-500)}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:border-gray-700:is(.dark *){border-color:var(--color-gray-700)}.dark\:border-green-400:is(.dark *){border-color:var(--color-green-400)}.dark\:border-green-800:is(.dark *){border-color:var(--color-green-800)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-orange-400:is(.dark *){border-color:var(--color-orange-400)}.dark\:border-orange-700:is(.dark *){border-color:var(--color-orange-700)}.dark\:border-orange-800:is(.dark *){border-color:var(--color-orange-800)}.dark\:border-red-400:is(.dark *){border-color:var(--color-red-400)}.dark\:border-red-800:is(.dark *){border-color:var(--color-red-800)}.dark\:\!bg-gray-800\/90:is(.dark *){background-color:#1e2939e6!important}@supports (color:color-mix(in lab,red,red)){.dark\:\!bg-gray-800\/90:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-800)90%,transparent)!important}}.dark\:bg-\[\#8B5CF6\]:is(.dark *){background-color:#8b5cf6}.dark\:bg-\[\#8B5CF6\]\/10:is(.dark *){background-color:#8b5cf61a}.dark\:bg-amber-600:is(.dark *){background-color:var(--color-amber-600)}.dark\:bg-amber-950\/20:is(.dark *){background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-950)20%,transparent)}}.dark\:bg-amber-950\/50:is(.dark *){background-color:#46190180}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-950)50%,transparent)}}.dark\:bg-blue-500\/10:is(.dark *){background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.dark\:bg-blue-600:is(.dark *){background-color:var(--color-blue-600)}.dark\:bg-blue-900:is(.dark *){background-color:var(--color-blue-900)}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark\:bg-blue-950\/20:is(.dark *){background-color:#16245633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)20%,transparent)}}.dark\:bg-blue-950\/40:is(.dark *){background-color:#16245666}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/40:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)40%,transparent)}}.dark\:bg-blue-950\/50:is(.dark *){background-color:#16245680}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)50%,transparent)}}.dark\:bg-blue-950\/95:is(.dark *){background-color:#162456f2}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-950\/95:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)95%,transparent)}}.dark\:bg-card:is(.dark *){background-color:var(--card)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-emerald-600:is(.dark *){background-color:var(--color-emerald-600)}.dark\:bg-foreground\/10:is(.dark *){background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-foreground\/10:is(.dark *){background-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.dark\:bg-gray-500:is(.dark *){background-color:var(--color-gray-500)}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-800\/90:is(.dark *){background-color:#1e2939e6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-800\/90:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-800)90%,transparent)}}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-gray-900\/30:is(.dark *){background-color:#1018284d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-900\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-900)30%,transparent)}}.dark\:bg-green-400:is(.dark *){background-color:var(--color-green-400)}.dark\:bg-green-500\/10:is(.dark *){background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.dark\:bg-green-900:is(.dark *){background-color:var(--color-green-900)}.dark\:bg-green-950:is(.dark *){background-color:var(--color-green-950)}.dark\:bg-green-950\/20:is(.dark *){background-color:#032e1533}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)20%,transparent)}}.dark\:bg-green-950\/50:is(.dark *){background-color:#032e1580}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)50%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-orange-400:is(.dark *){background-color:var(--color-orange-400)}.dark\:bg-orange-500\/10:is(.dark *){background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.dark\:bg-orange-600:is(.dark *){background-color:var(--color-orange-600)}.dark\:bg-orange-900:is(.dark *){background-color:var(--color-orange-900)}.dark\:bg-orange-950:is(.dark *){background-color:var(--color-orange-950)}.dark\:bg-orange-950\/20:is(.dark *){background-color:#44130633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-950)20%,transparent)}}.dark\:bg-orange-950\/30:is(.dark *){background-color:#4413064d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-950)30%,transparent)}}.dark\:bg-orange-950\/50:is(.dark *){background-color:#44130680}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-950\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-950)50%,transparent)}}.dark\:bg-purple-600:is(.dark *){background-color:var(--color-purple-600)}.dark\:bg-purple-900:is(.dark *){background-color:var(--color-purple-900)}.dark\:bg-red-400:is(.dark *){background-color:var(--color-red-400)}.dark\:bg-red-900:is(.dark *){background-color:var(--color-red-900)}.dark\:bg-red-950:is(.dark *){background-color:var(--color-red-950)}.dark\:bg-red-950\/20:is(.dark *){background-color:#46080933}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-950\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-red-950)20%,transparent)}}.dark\:text-\[\#8B5CF6\]:is(.dark *){color:#8b5cf6}.dark\:text-amber-100:is(.dark *){color:var(--color-amber-100)}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-amber-400\/80:is(.dark *){color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-amber-400)80%,transparent)}}.dark\:text-amber-500:is(.dark *){color:var(--color-amber-500)}.dark\:text-blue-100:is(.dark *){color:var(--color-blue-100)}.dark\:text-blue-200:is(.dark *){color:var(--color-blue-200)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-blue-400\/70:is(.dark *){color:#54a2ffb3}@supports (color:color-mix(in lab,red,red)){.dark\:text-blue-400\/70:is(.dark *){color:color-mix(in oklab,var(--color-blue-400)70%,transparent)}}.dark\:text-blue-500:is(.dark *){color:var(--color-blue-500)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-gray-100:is(.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-green-100:is(.dark *){color:var(--color-green-100)}.dark\:text-green-200:is(.dark *){color:var(--color-green-200)}.dark\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-orange-100:is(.dark *){color:var(--color-orange-100)}.dark\:text-orange-200:is(.dark *){color:var(--color-orange-200)}.dark\:text-orange-300:is(.dark *){color:var(--color-orange-300)}.dark\:text-orange-400:is(.dark *){color:var(--color-orange-400)}.dark\:text-purple-200:is(.dark *){color:var(--color-purple-200)}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-red-200:is(.dark *){color:var(--color-red-200)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-yellow-400:is(.dark *){color:var(--color-yellow-400)}.dark\:opacity-30:is(.dark *){opacity:.3}@media (hover:hover){.dark\:hover\:border-gray-600:is(.dark *):hover{border-color:var(--color-gray-600)}.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-amber-950\/30:is(.dark *):hover{background-color:#4619014d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-amber-950\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-amber-950)30%,transparent)}}.dark\:hover\:bg-gray-800:is(.dark *):hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:bg-orange-950\/40:is(.dark *):hover{background-color:#44130666}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-orange-950\/40:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-orange-950)40%,transparent)}}.dark\:hover\:bg-red-900\/20:is(.dark *):hover{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-red-900\/20:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:hover\:text-orange-200:is(.dark *):hover{color:var(--color-orange-200)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(48% .18 290);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(62% .2 290);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.workflow-chat-view .border-green-200{border-color:var(--color-emerald-200)}.workflow-chat-view .bg-green-50{background-color:var(--color-emerald-50)}.workflow-chat-view .bg-green-100{background-color:var(--color-emerald-100)}.workflow-chat-view .text-green-600{color:var(--color-emerald-600)}.workflow-chat-view .text-green-700{color:var(--color-emerald-700)}.workflow-chat-view .text-green-800{color:var(--color-emerald-800)}.highlight-attention{animation:1s ease-out highlight-flash}@keyframes highlight-flash{0%{background-color:#fb923c4d;transform:scale(1.02)}to{background-color:#0000;transform:scale(1)}}.hil-waiting-glow{animation:2s infinite pulse-glow;box-shadow:0 0 #fb923c66,inset 0 0 0 1px #fb923c33}@keyframes pulse-glow{0%,to{box-shadow:0 0 #fb923c66,inset 0 0 0 1px #fb923c33}50%{box-shadow:0 0 20px 5px #fb923c33,inset 0 0 0 2px #fb923c4d}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))} diff --git a/python/packages/devui/agent_framework_devui/ui/assets/index.js b/python/packages/devui/agent_framework_devui/ui/assets/index.js index 1b05f27842..44836a5b86 100644 --- a/python/packages/devui/agent_framework_devui/ui/assets/index.js +++ b/python/packages/devui/agent_framework_devui/ui/assets/index.js @@ -1,4 +1,4 @@ -function yE(e, n) { for (var r = 0; r < n.length; r++) { const a = n[r]; if (typeof a != "string" && !Array.isArray(a)) { for (const l in a) if (l !== "default" && !(l in e)) { const c = Object.getOwnPropertyDescriptor(a, l); c && Object.defineProperty(e, l, c.get ? c : { enumerable: !0, get: () => a[l] }) } } } return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { value: "Module" })) } (function () { const n = document.createElement("link").relList; if (n && n.supports && n.supports("modulepreload")) return; for (const l of document.querySelectorAll('link[rel="modulepreload"]')) a(l); new MutationObserver(l => { for (const c of l) if (c.type === "childList") for (const d of c.addedNodes) d.tagName === "LINK" && d.rel === "modulepreload" && a(d) }).observe(document, { childList: !0, subtree: !0 }); function r(l) { const c = {}; return l.integrity && (c.integrity = l.integrity), l.referrerPolicy && (c.referrerPolicy = l.referrerPolicy), l.crossOrigin === "use-credentials" ? c.credentials = "include" : l.crossOrigin === "anonymous" ? c.credentials = "omit" : c.credentials = "same-origin", c } function a(l) { if (l.ep) return; l.ep = !0; const c = r(l); fetch(l.href, c) } })(); function yp(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e } var Gm = { exports: {} }, Bi = {};/** +function WE(e,n){for(var r=0;ra[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))a(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&a(d)}).observe(document,{childList:!0,subtree:!0});function r(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function a(l){if(l.ep)return;l.ep=!0;const c=r(l);fetch(l.href,c)}})();function Dp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ih={exports:{}},Fi={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ function yE(e, n) { for (var r = 0; r < n.length; r++) { const a = n[r]; if (typ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wy; function vE() { if (Wy) return Bi; Wy = 1; var e = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment"); function r(a, l, c) { var d = null; if (c !== void 0 && (d = "" + c), l.key !== void 0 && (d = "" + l.key), "key" in l) { c = {}; for (var f in l) f !== "key" && (c[f] = l[f]) } else c = l; return l = c.ref, { $$typeof: e, type: a, key: d, ref: l !== void 0 ? l : null, props: c } } return Bi.Fragment = n, Bi.jsx = r, Bi.jsxs = r, Bi } var Ky; function bE() { return Ky || (Ky = 1, Gm.exports = vE()), Gm.exports } var o = bE(), Xm = { exports: {} }, Ge = {};/** + */var pv;function KE(){if(pv)return Fi;pv=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(a,l,c){var d=null;if(c!==void 0&&(d=""+c),l.key!==void 0&&(d=""+l.key),"key"in l){c={};for(var f in l)f!=="key"&&(c[f]=l[f])}else c=l;return l=c.ref,{$$typeof:e,type:a,key:d,ref:l!==void 0?l:null,props:c}}return Fi.Fragment=n,Fi.jsx=r,Fi.jsxs=r,Fi}var gv;function QE(){return gv||(gv=1,ih.exports=KE()),ih.exports}var o=QE(),lh={exports:{}},Xe={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ function yE(e, n) { for (var r = 0; r < n.length; r++) { const a = n[r]; if (typ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Qy; function wE() { if (Qy) return Ge; Qy = 1; var e = Symbol.for("react.transitional.element"), n = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), a = Symbol.for("react.strict_mode"), l = Symbol.for("react.profiler"), c = Symbol.for("react.consumer"), d = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), m = Symbol.for("react.suspense"), h = Symbol.for("react.memo"), g = Symbol.for("react.lazy"), y = Symbol.iterator; function x(C) { return C === null || typeof C != "object" ? null : (C = y && C[y] || C["@@iterator"], typeof C == "function" ? C : null) } var b = { isMounted: function () { return !1 }, enqueueForceUpdate: function () { }, enqueueReplaceState: function () { }, enqueueSetState: function () { } }, S = Object.assign, N = {}; function j(C, $, Y) { this.props = C, this.context = $, this.refs = N, this.updater = Y || b } j.prototype.isReactComponent = {}, j.prototype.setState = function (C, $) { if (typeof C != "object" && typeof C != "function" && C != null) throw Error("takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, C, $, "setState") }, j.prototype.forceUpdate = function (C) { this.updater.enqueueForceUpdate(this, C, "forceUpdate") }; function _() { } _.prototype = j.prototype; function M(C, $, Y) { this.props = C, this.context = $, this.refs = N, this.updater = Y || b } var E = M.prototype = new _; E.constructor = M, S(E, j.prototype), E.isPureReactComponent = !0; var T = Array.isArray, R = { H: null, A: null, T: null, S: null, V: null }, D = Object.prototype.hasOwnProperty; function O(C, $, Y, V, W, fe) { return Y = fe.ref, { $$typeof: e, type: C, key: $, ref: Y !== void 0 ? Y : null, props: fe } } function B(C, $) { return O(C.type, $, void 0, void 0, void 0, C.props) } function q(C) { return typeof C == "object" && C !== null && C.$$typeof === e } function K(C) { var $ = { "=": "=0", ":": "=2" }; return "$" + C.replace(/[=:]/g, function (Y) { return $[Y] }) } var J = /\/+/g; function G(C, $) { return typeof C == "object" && C !== null && C.key != null ? K("" + C.key) : $.toString(36) } function Z() { } function P(C) { switch (C.status) { case "fulfilled": return C.value; case "rejected": throw C.reason; default: switch (typeof C.status == "string" ? C.then(Z, Z) : (C.status = "pending", C.then(function ($) { C.status === "pending" && (C.status = "fulfilled", C.value = $) }, function ($) { C.status === "pending" && (C.status = "rejected", C.reason = $) })), C.status) { case "fulfilled": return C.value; case "rejected": throw C.reason } }throw C } function U(C, $, Y, V, W) { var fe = typeof C; (fe === "undefined" || fe === "boolean") && (C = null); var ue = !1; if (C === null) ue = !0; else switch (fe) { case "bigint": case "string": case "number": ue = !0; break; case "object": switch (C.$$typeof) { case e: case n: ue = !0; break; case g: return ue = C._init, U(ue(C._payload), $, Y, V, W) } }if (ue) return W = W(C), ue = V === "" ? "." + G(C, 0) : V, T(W) ? (Y = "", ue != null && (Y = ue.replace(J, "$&/") + "/"), U(W, $, Y, "", function (ge) { return ge })) : W != null && (q(W) && (W = B(W, Y + (W.key == null || C && C.key === W.key ? "" : ("" + W.key).replace(J, "$&/") + "/") + ue)), $.push(W)), 1; ue = 0; var te = V === "" ? "." : V + ":"; if (T(C)) for (var ie = 0; ie < C.length; ie++)V = C[ie], fe = te + G(V, ie), ue += U(V, $, Y, fe, W); else if (ie = x(C), typeof ie == "function") for (C = ie.call(C), ie = 0; !(V = C.next()).done;)V = V.value, fe = te + G(V, ie++), ue += U(V, $, Y, fe, W); else if (fe === "object") { if (typeof C.then == "function") return U(P(C), $, Y, V, W); throw $ = String(C), Error("Objects are not valid as a React child (found: " + ($ === "[object Object]" ? "object with keys {" + Object.keys(C).join(", ") + "}" : $) + "). If you meant to render a collection of children, use an array instead.") } return ue } function k(C, $, Y) { if (C == null) return C; var V = [], W = 0; return U(C, V, "", "", function (fe) { return $.call(Y, fe, W++) }), V } function L(C) { if (C._status === -1) { var $ = C._result; $ = $(), $.then(function (Y) { (C._status === 0 || C._status === -1) && (C._status = 1, C._result = Y) }, function (Y) { (C._status === 0 || C._status === -1) && (C._status = 2, C._result = Y) }), C._status === -1 && (C._status = 0, C._result = $) } if (C._status === 1) return C._result.default; throw C._result } var I = typeof reportError == "function" ? reportError : function (C) { if (typeof window == "object" && typeof window.ErrorEvent == "function") { var $ = new window.ErrorEvent("error", { bubbles: !0, cancelable: !0, message: typeof C == "object" && C !== null && typeof C.message == "string" ? String(C.message) : String(C), error: C }); if (!window.dispatchEvent($)) return } else if (typeof process == "object" && typeof process.emit == "function") { process.emit("uncaughtException", C); return } console.error(C) }; function H() { } return Ge.Children = { map: k, forEach: function (C, $, Y) { k(C, function () { $.apply(this, arguments) }, Y) }, count: function (C) { var $ = 0; return k(C, function () { $++ }), $ }, toArray: function (C) { return k(C, function ($) { return $ }) || [] }, only: function (C) { if (!q(C)) throw Error("React.Children.only expected to receive a single React element child."); return C } }, Ge.Component = j, Ge.Fragment = r, Ge.Profiler = l, Ge.PureComponent = M, Ge.StrictMode = a, Ge.Suspense = m, Ge.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = R, Ge.__COMPILER_RUNTIME = { __proto__: null, c: function (C) { return R.H.useMemoCache(C) } }, Ge.cache = function (C) { return function () { return C.apply(null, arguments) } }, Ge.cloneElement = function (C, $, Y) { if (C == null) throw Error("The argument must be a React element, but you passed " + C + "."); var V = S({}, C.props), W = C.key, fe = void 0; if ($ != null) for (ue in $.ref !== void 0 && (fe = void 0), $.key !== void 0 && (W = "" + $.key), $) !D.call($, ue) || ue === "key" || ue === "__self" || ue === "__source" || ue === "ref" && $.ref === void 0 || (V[ue] = $[ue]); var ue = arguments.length - 2; if (ue === 1) V.children = Y; else if (1 < ue) { for (var te = Array(ue), ie = 0; ie < ue; ie++)te[ie] = arguments[ie + 2]; V.children = te } return O(C.type, W, void 0, void 0, fe, V) }, Ge.createContext = function (C) { return C = { $$typeof: d, _currentValue: C, _currentValue2: C, _threadCount: 0, Provider: null, Consumer: null }, C.Provider = C, C.Consumer = { $$typeof: c, _context: C }, C }, Ge.createElement = function (C, $, Y) { var V, W = {}, fe = null; if ($ != null) for (V in $.key !== void 0 && (fe = "" + $.key), $) D.call($, V) && V !== "key" && V !== "__self" && V !== "__source" && (W[V] = $[V]); var ue = arguments.length - 2; if (ue === 1) W.children = Y; else if (1 < ue) { for (var te = Array(ue), ie = 0; ie < ue; ie++)te[ie] = arguments[ie + 2]; W.children = te } if (C && C.defaultProps) for (V in ue = C.defaultProps, ue) W[V] === void 0 && (W[V] = ue[V]); return O(C, fe, void 0, void 0, null, W) }, Ge.createRef = function () { return { current: null } }, Ge.forwardRef = function (C) { return { $$typeof: f, render: C } }, Ge.isValidElement = q, Ge.lazy = function (C) { return { $$typeof: g, _payload: { _status: -1, _result: C }, _init: L } }, Ge.memo = function (C, $) { return { $$typeof: h, type: C, compare: $ === void 0 ? null : $ } }, Ge.startTransition = function (C) { var $ = R.T, Y = {}; R.T = Y; try { var V = C(), W = R.S; W !== null && W(Y, V), typeof V == "object" && V !== null && typeof V.then == "function" && V.then(H, I) } catch (fe) { I(fe) } finally { R.T = $ } }, Ge.unstable_useCacheRefresh = function () { return R.H.useCacheRefresh() }, Ge.use = function (C) { return R.H.use(C) }, Ge.useActionState = function (C, $, Y) { return R.H.useActionState(C, $, Y) }, Ge.useCallback = function (C, $) { return R.H.useCallback(C, $) }, Ge.useContext = function (C) { return R.H.useContext(C) }, Ge.useDebugValue = function () { }, Ge.useDeferredValue = function (C, $) { return R.H.useDeferredValue(C, $) }, Ge.useEffect = function (C, $, Y) { var V = R.H; if (typeof Y == "function") throw Error("useEffect CRUD overload is not enabled in this build of React."); return V.useEffect(C, $) }, Ge.useId = function () { return R.H.useId() }, Ge.useImperativeHandle = function (C, $, Y) { return R.H.useImperativeHandle(C, $, Y) }, Ge.useInsertionEffect = function (C, $) { return R.H.useInsertionEffect(C, $) }, Ge.useLayoutEffect = function (C, $) { return R.H.useLayoutEffect(C, $) }, Ge.useMemo = function (C, $) { return R.H.useMemo(C, $) }, Ge.useOptimistic = function (C, $) { return R.H.useOptimistic(C, $) }, Ge.useReducer = function (C, $, Y) { return R.H.useReducer(C, $, Y) }, Ge.useRef = function (C) { return R.H.useRef(C) }, Ge.useState = function (C) { return R.H.useState(C) }, Ge.useSyncExternalStore = function (C, $, Y) { return R.H.useSyncExternalStore(C, $, Y) }, Ge.useTransition = function () { return R.H.useTransition() }, Ge.version = "19.1.1", Ge } var Jy; function pl() { return Jy || (Jy = 1, Xm.exports = wE()), Xm.exports } var w = pl(); const xn = yp(w), Jb = yE({ __proto__: null, default: xn }, [w]); var Zm = { exports: {} }, Pi = {}, Wm = { exports: {} }, Km = {};/** + */var xv;function JE(){if(xv)return Xe;xv=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),d=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),y=Symbol.iterator;function x(C){return C===null||typeof C!="object"?null:(C=y&&C[y]||C["@@iterator"],typeof C=="function"?C:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,N={};function S(C,P,Y){this.props=C,this.context=P,this.refs=N,this.updater=Y||b}S.prototype.isReactComponent={},S.prototype.setState=function(C,P){if(typeof C!="object"&&typeof C!="function"&&C!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,C,P,"setState")},S.prototype.forceUpdate=function(C){this.updater.enqueueForceUpdate(this,C,"forceUpdate")};function _(){}_.prototype=S.prototype;function A(C,P,Y){this.props=C,this.context=P,this.refs=N,this.updater=Y||b}var E=A.prototype=new _;E.constructor=A,j(E,S.prototype),E.isPureReactComponent=!0;var M=Array.isArray,R={H:null,A:null,T:null,S:null,V:null},D=Object.prototype.hasOwnProperty;function O(C,P,Y,V,J,ce){return Y=ce.ref,{$$typeof:e,type:C,key:P,ref:Y!==void 0?Y:null,props:ce}}function H(C,P){return O(C.type,P,void 0,void 0,void 0,C.props)}function q(C){return typeof C=="object"&&C!==null&&C.$$typeof===e}function Z(C){var P={"=":"=0",":":"=2"};return"$"+C.replace(/[=:]/g,function(Y){return P[Y]})}var Q=/\/+/g;function G(C,P){return typeof C=="object"&&C!==null&&C.key!=null?Z(""+C.key):P.toString(36)}function ne(){}function U(C){switch(C.status){case"fulfilled":return C.value;case"rejected":throw C.reason;default:switch(typeof C.status=="string"?C.then(ne,ne):(C.status="pending",C.then(function(P){C.status==="pending"&&(C.status="fulfilled",C.value=P)},function(P){C.status==="pending"&&(C.status="rejected",C.reason=P)})),C.status){case"fulfilled":return C.value;case"rejected":throw C.reason}}throw C}function B(C,P,Y,V,J){var ce=typeof C;(ce==="undefined"||ce==="boolean")&&(C=null);var fe=!1;if(C===null)fe=!0;else switch(ce){case"bigint":case"string":case"number":fe=!0;break;case"object":switch(C.$$typeof){case e:case n:fe=!0;break;case g:return fe=C._init,B(fe(C._payload),P,Y,V,J)}}if(fe)return J=J(C),fe=V===""?"."+G(C,0):V,M(J)?(Y="",fe!=null&&(Y=fe.replace(Q,"$&/")+"/"),B(J,P,Y,"",function(ge){return ge})):J!=null&&(q(J)&&(J=H(J,Y+(J.key==null||C&&C.key===J.key?"":(""+J.key).replace(Q,"$&/")+"/")+fe)),P.push(J)),1;fe=0;var ee=V===""?".":V+":";if(M(C))for(var ie=0;ie>> 1, C = k[H]; if (0 < l(C, L)) k[H] = L, k[I] = C, I = H; else break e } } function r(k) { return k.length === 0 ? null : k[0] } function a(k) { if (k.length === 0) return null; var L = k[0], I = k.pop(); if (I !== L) { k[0] = I; e: for (var H = 0, C = k.length, $ = C >>> 1; H < $;) { var Y = 2 * (H + 1) - 1, V = k[Y], W = Y + 1, fe = k[W]; if (0 > l(V, I)) W < C && 0 > l(fe, V) ? (k[H] = fe, k[W] = I, H = W) : (k[H] = V, k[Y] = I, H = Y); else if (W < C && 0 > l(fe, I)) k[H] = fe, k[W] = I, H = W; else break e } } return L } function l(k, L) { var I = k.sortIndex - L.sortIndex; return I !== 0 ? I : k.id - L.id } if (e.unstable_now = void 0, typeof performance == "object" && typeof performance.now == "function") { var c = performance; e.unstable_now = function () { return c.now() } } else { var d = Date, f = d.now(); e.unstable_now = function () { return d.now() - f } } var m = [], h = [], g = 1, y = null, x = 3, b = !1, S = !1, N = !1, j = !1, _ = typeof setTimeout == "function" ? setTimeout : null, M = typeof clearTimeout == "function" ? clearTimeout : null, E = typeof setImmediate < "u" ? setImmediate : null; function T(k) { for (var L = r(h); L !== null;) { if (L.callback === null) a(h); else if (L.startTime <= k) a(h), L.sortIndex = L.expirationTime, n(m, L); else break; L = r(h) } } function R(k) { if (N = !1, T(k), !S) if (r(m) !== null) S = !0, D || (D = !0, G()); else { var L = r(h); L !== null && U(R, L.startTime - k) } } var D = !1, O = -1, B = 5, q = -1; function K() { return j ? !0 : !(e.unstable_now() - q < B) } function J() { if (j = !1, D) { var k = e.unstable_now(); q = k; var L = !0; try { e: { S = !1, N && (N = !1, M(O), O = -1), b = !0; var I = x; try { t: { for (T(k), y = r(m); y !== null && !(y.expirationTime > k && K());) { var H = y.callback; if (typeof H == "function") { y.callback = null, x = y.priorityLevel; var C = H(y.expirationTime <= k); if (k = e.unstable_now(), typeof C == "function") { y.callback = C, T(k), L = !0; break t } y === r(m) && a(m), T(k) } else a(m); y = r(m) } if (y !== null) L = !0; else { var $ = r(h); $ !== null && U(R, $.startTime - k), L = !1 } } break e } finally { y = null, x = I, b = !1 } L = void 0 } } finally { L ? G() : D = !1 } } } var G; if (typeof E == "function") G = function () { E(J) }; else if (typeof MessageChannel < "u") { var Z = new MessageChannel, P = Z.port2; Z.port1.onmessage = J, G = function () { P.postMessage(null) } } else G = function () { _(J, 0) }; function U(k, L) { O = _(function () { k(e.unstable_now()) }, L) } e.unstable_IdlePriority = 5, e.unstable_ImmediatePriority = 1, e.unstable_LowPriority = 4, e.unstable_NormalPriority = 3, e.unstable_Profiling = null, e.unstable_UserBlockingPriority = 2, e.unstable_cancelCallback = function (k) { k.callback = null }, e.unstable_forceFrameRate = function (k) { 0 > k || 125 < k ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : B = 0 < k ? Math.floor(1e3 / k) : 5 }, e.unstable_getCurrentPriorityLevel = function () { return x }, e.unstable_next = function (k) { switch (x) { case 1: case 2: case 3: var L = 3; break; default: L = x }var I = x; x = L; try { return k() } finally { x = I } }, e.unstable_requestPaint = function () { j = !0 }, e.unstable_runWithPriority = function (k, L) { switch (k) { case 1: case 2: case 3: case 4: case 5: break; default: k = 3 }var I = x; x = k; try { return L() } finally { x = I } }, e.unstable_scheduleCallback = function (k, L, I) { var H = e.unstable_now(); switch (typeof I == "object" && I !== null ? (I = I.delay, I = typeof I == "number" && 0 < I ? H + I : H) : I = H, k) { case 1: var C = -1; break; case 2: C = 250; break; case 5: C = 1073741823; break; case 4: C = 1e4; break; default: C = 5e3 }return C = I + C, k = { id: g++, callback: L, priorityLevel: k, startTime: I, expirationTime: C, sortIndex: -1 }, I > H ? (k.sortIndex = I, n(h, k), r(m) === null && k === r(h) && (N ? (M(O), O = -1) : N = !0, U(R, I - H))) : (k.sortIndex = C, n(m, k), S || b || (S = !0, D || (D = !0, G()))), k }, e.unstable_shouldYield = K, e.unstable_wrapCallback = function (k) { var L = x; return function () { var I = x; x = L; try { return k.apply(this, arguments) } finally { x = I } } } })(Km)), Km } var tv; function SE() { return tv || (tv = 1, Wm.exports = NE()), Wm.exports } var Qm = { exports: {} }, Wt = {};/** + */var vv;function eC(){return vv||(vv=1,(function(e){function n(k,L){var I=k.length;k.push(L);e:for(;0>>1,C=k[$];if(0>>1;$l(V,I))Jl(ce,V)?(k[$]=ce,k[J]=I,$=J):(k[$]=V,k[Y]=I,$=Y);else if(Jl(ce,I))k[$]=ce,k[J]=I,$=J;else break e}}return L}function l(k,L){var I=k.sortIndex-L.sortIndex;return I!==0?I:k.id-L.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var d=Date,f=d.now();e.unstable_now=function(){return d.now()-f}}var m=[],h=[],g=1,y=null,x=3,b=!1,j=!1,N=!1,S=!1,_=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function M(k){for(var L=r(h);L!==null;){if(L.callback===null)a(h);else if(L.startTime<=k)a(h),L.sortIndex=L.expirationTime,n(m,L);else break;L=r(h)}}function R(k){if(N=!1,M(k),!j)if(r(m)!==null)j=!0,D||(D=!0,G());else{var L=r(h);L!==null&&B(R,L.startTime-k)}}var D=!1,O=-1,H=5,q=-1;function Z(){return S?!0:!(e.unstable_now()-qk&&Z());){var $=y.callback;if(typeof $=="function"){y.callback=null,x=y.priorityLevel;var C=$(y.expirationTime<=k);if(k=e.unstable_now(),typeof C=="function"){y.callback=C,M(k),L=!0;break t}y===r(m)&&a(m),M(k)}else a(m);y=r(m)}if(y!==null)L=!0;else{var P=r(h);P!==null&&B(R,P.startTime-k),L=!1}}break e}finally{y=null,x=I,b=!1}L=void 0}}finally{L?G():D=!1}}}var G;if(typeof E=="function")G=function(){E(Q)};else if(typeof MessageChannel<"u"){var ne=new MessageChannel,U=ne.port2;ne.port1.onmessage=Q,G=function(){U.postMessage(null)}}else G=function(){_(Q,0)};function B(k,L){O=_(function(){k(e.unstable_now())},L)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(k){k.callback=null},e.unstable_forceFrameRate=function(k){0>k||125$?(k.sortIndex=I,n(h,k),r(m)===null&&k===r(h)&&(N?(A(O),O=-1):N=!0,B(R,I-$))):(k.sortIndex=C,n(m,k),j||b||(j=!0,D||(D=!0,G()))),k},e.unstable_shouldYield=Z,e.unstable_wrapCallback=function(k){var L=x;return function(){var I=x;x=L;try{return k.apply(this,arguments)}finally{x=I}}}})(dh)),dh}var bv;function tC(){return bv||(bv=1,uh.exports=eC()),uh.exports}var fh={exports:{}},Jt={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ function yE(e, n) { for (var r = 0; r < n.length; r++) { const a = n[r]; if (typ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var nv; function jE() { if (nv) return Wt; nv = 1; var e = pl(); function n(m) { var h = "https://react.dev/errors/" + m; if (1 < arguments.length) { h += "?args[]=" + encodeURIComponent(arguments[1]); for (var g = 2; g < arguments.length; g++)h += "&args[]=" + encodeURIComponent(arguments[g]) } return "Minified React error #" + m + "; visit " + h + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." } function r() { } var a = { d: { f: r, r: function () { throw Error(n(522)) }, D: r, C: r, L: r, m: r, X: r, S: r, M: r }, p: 0, findDOMNode: null }, l = Symbol.for("react.portal"); function c(m, h, g) { var y = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null; return { $$typeof: l, key: y == null ? null : "" + y, children: m, containerInfo: h, implementation: g } } var d = e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; function f(m, h) { if (m === "font") return ""; if (typeof h == "string") return h === "use-credentials" ? h : "" } return Wt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = a, Wt.createPortal = function (m, h) { var g = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null; if (!h || h.nodeType !== 1 && h.nodeType !== 9 && h.nodeType !== 11) throw Error(n(299)); return c(m, h, null, g) }, Wt.flushSync = function (m) { var h = d.T, g = a.p; try { if (d.T = null, a.p = 2, m) return m() } finally { d.T = h, a.p = g, a.d.f() } }, Wt.preconnect = function (m, h) { typeof m == "string" && (h ? (h = h.crossOrigin, h = typeof h == "string" ? h === "use-credentials" ? h : "" : void 0) : h = null, a.d.C(m, h)) }, Wt.prefetchDNS = function (m) { typeof m == "string" && a.d.D(m) }, Wt.preinit = function (m, h) { if (typeof m == "string" && h && typeof h.as == "string") { var g = h.as, y = f(g, h.crossOrigin), x = typeof h.integrity == "string" ? h.integrity : void 0, b = typeof h.fetchPriority == "string" ? h.fetchPriority : void 0; g === "style" ? a.d.S(m, typeof h.precedence == "string" ? h.precedence : void 0, { crossOrigin: y, integrity: x, fetchPriority: b }) : g === "script" && a.d.X(m, { crossOrigin: y, integrity: x, fetchPriority: b, nonce: typeof h.nonce == "string" ? h.nonce : void 0 }) } }, Wt.preinitModule = function (m, h) { if (typeof m == "string") if (typeof h == "object" && h !== null) { if (h.as == null || h.as === "script") { var g = f(h.as, h.crossOrigin); a.d.M(m, { crossOrigin: g, integrity: typeof h.integrity == "string" ? h.integrity : void 0, nonce: typeof h.nonce == "string" ? h.nonce : void 0 }) } } else h == null && a.d.M(m) }, Wt.preload = function (m, h) { if (typeof m == "string" && typeof h == "object" && h !== null && typeof h.as == "string") { var g = h.as, y = f(g, h.crossOrigin); a.d.L(m, g, { crossOrigin: y, integrity: typeof h.integrity == "string" ? h.integrity : void 0, nonce: typeof h.nonce == "string" ? h.nonce : void 0, type: typeof h.type == "string" ? h.type : void 0, fetchPriority: typeof h.fetchPriority == "string" ? h.fetchPriority : void 0, referrerPolicy: typeof h.referrerPolicy == "string" ? h.referrerPolicy : void 0, imageSrcSet: typeof h.imageSrcSet == "string" ? h.imageSrcSet : void 0, imageSizes: typeof h.imageSizes == "string" ? h.imageSizes : void 0, media: typeof h.media == "string" ? h.media : void 0 }) } }, Wt.preloadModule = function (m, h) { if (typeof m == "string") if (h) { var g = f(h.as, h.crossOrigin); a.d.m(m, { as: typeof h.as == "string" && h.as !== "script" ? h.as : void 0, crossOrigin: g, integrity: typeof h.integrity == "string" ? h.integrity : void 0 }) } else a.d.m(m) }, Wt.requestFormReset = function (m) { a.d.r(m) }, Wt.unstable_batchedUpdates = function (m, h) { return m(h) }, Wt.useFormState = function (m, h, g) { return d.H.useFormState(m, h, g) }, Wt.useFormStatus = function () { return d.H.useHostTransitionStatus() }, Wt.version = "19.1.1", Wt } var sv; function ew() { if (sv) return Qm.exports; sv = 1; function e() { if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) try { __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e) } catch (n) { console.error(n) } } return e(), Qm.exports = jE(), Qm.exports }/** + */var wv;function nC(){if(wv)return Jt;wv=1;var e=Nl();function n(m){var h="https://react.dev/errors/"+m;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),fh.exports=nC(),fh.exports}/** * @license React * react-dom-client.production.js * @@ -38,475 +38,424 @@ function yE(e, n) { for (var r = 0; r < n.length; r++) { const a = n[r]; if (typ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var rv; function _E() { - if (rv) return Pi; rv = 1; var e = SE(), n = pl(), r = ew(); function a(t) { var s = "https://react.dev/errors/" + t; if (1 < arguments.length) { s += "?args[]=" + encodeURIComponent(arguments[1]); for (var i = 2; i < arguments.length; i++)s += "&args[]=" + encodeURIComponent(arguments[i]) } return "Minified React error #" + t + "; visit " + s + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." } function l(t) { return !(!t || t.nodeType !== 1 && t.nodeType !== 9 && t.nodeType !== 11) } function c(t) { var s = t, i = t; if (t.alternate) for (; s.return;)s = s.return; else { t = s; do s = t, (s.flags & 4098) !== 0 && (i = s.return), t = s.return; while (t) } return s.tag === 3 ? i : null } function d(t) { if (t.tag === 13) { var s = t.memoizedState; if (s === null && (t = t.alternate, t !== null && (s = t.memoizedState)), s !== null) return s.dehydrated } return null } function f(t) { if (c(t) !== t) throw Error(a(188)) } function m(t) { var s = t.alternate; if (!s) { if (s = c(t), s === null) throw Error(a(188)); return s !== t ? null : t } for (var i = t, u = s; ;) { var p = i.return; if (p === null) break; var v = p.alternate; if (v === null) { if (u = p.return, u !== null) { i = u; continue } break } if (p.child === v.child) { for (v = p.child; v;) { if (v === i) return f(p), t; if (v === u) return f(p), s; v = v.sibling } throw Error(a(188)) } if (i.return !== u.return) i = p, u = v; else { for (var A = !1, z = p.child; z;) { if (z === i) { A = !0, i = p, u = v; break } if (z === u) { A = !0, u = p, i = v; break } z = z.sibling } if (!A) { for (z = v.child; z;) { if (z === i) { A = !0, i = v, u = p; break } if (z === u) { A = !0, u = v, i = p; break } z = z.sibling } if (!A) throw Error(a(189)) } } if (i.alternate !== u) throw Error(a(190)) } if (i.tag !== 3) throw Error(a(188)); return i.stateNode.current === i ? t : s } function h(t) { var s = t.tag; if (s === 5 || s === 26 || s === 27 || s === 6) return t; for (t = t.child; t !== null;) { if (s = h(t), s !== null) return s; t = t.sibling } return null } var g = Object.assign, y = Symbol.for("react.element"), x = Symbol.for("react.transitional.element"), b = Symbol.for("react.portal"), S = Symbol.for("react.fragment"), N = Symbol.for("react.strict_mode"), j = Symbol.for("react.profiler"), _ = Symbol.for("react.provider"), M = Symbol.for("react.consumer"), E = Symbol.for("react.context"), T = Symbol.for("react.forward_ref"), R = Symbol.for("react.suspense"), D = Symbol.for("react.suspense_list"), O = Symbol.for("react.memo"), B = Symbol.for("react.lazy"), q = Symbol.for("react.activity"), K = Symbol.for("react.memo_cache_sentinel"), J = Symbol.iterator; function G(t) { return t === null || typeof t != "object" ? null : (t = J && t[J] || t["@@iterator"], typeof t == "function" ? t : null) } var Z = Symbol.for("react.client.reference"); function P(t) { if (t == null) return null; if (typeof t == "function") return t.$$typeof === Z ? null : t.displayName || t.name || null; if (typeof t == "string") return t; switch (t) { case S: return "Fragment"; case j: return "Profiler"; case N: return "StrictMode"; case R: return "Suspense"; case D: return "SuspenseList"; case q: return "Activity" }if (typeof t == "object") switch (t.$$typeof) { case b: return "Portal"; case E: return (t.displayName || "Context") + ".Provider"; case M: return (t._context.displayName || "Context") + ".Consumer"; case T: var s = t.render; return t = t.displayName, t || (t = s.displayName || s.name || "", t = t !== "" ? "ForwardRef(" + t + ")" : "ForwardRef"), t; case O: return s = t.displayName || null, s !== null ? s : P(t.type) || "Memo"; case B: s = t._payload, t = t._init; try { return P(t(s)) } catch { } }return null } var U = Array.isArray, k = n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, L = r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, I = { pending: !1, data: null, method: null, action: null }, H = [], C = -1; function $(t) { return { current: t } } function Y(t) { 0 > C || (t.current = H[C], H[C] = null, C--) } function V(t, s) { C++, H[C] = t.current, t.current = s } var W = $(null), fe = $(null), ue = $(null), te = $(null); function ie(t, s) { switch (V(ue, s), V(fe, t), V(W, null), s.nodeType) { case 9: case 11: t = (t = s.documentElement) && (t = t.namespaceURI) ? jy(t) : 0; break; default: if (t = s.tagName, s = s.namespaceURI) s = jy(s), t = _y(s, t); else switch (t) { case "svg": t = 1; break; case "math": t = 2; break; default: t = 0 } }Y(W), V(W, t) } function ge() { Y(W), Y(fe), Y(ue) } function be(t) { t.memoizedState !== null && V(te, t); var s = W.current, i = _y(s, t.type); s !== i && (V(fe, t), V(W, i)) } function we(t) { fe.current === t && (Y(W), Y(fe)), te.current === t && (Y(te), zi._currentValue = I) } var ne = Object.prototype.hasOwnProperty, pe = e.unstable_scheduleCallback, he = e.unstable_cancelCallback, ee = e.unstable_shouldYield, ve = e.unstable_requestPaint, ye = e.unstable_now, Te = e.unstable_getCurrentPriorityLevel, je = e.unstable_ImmediatePriority, $e = e.unstable_UserBlockingPriority, it = e.unstable_NormalPriority, ze = e.unstable_LowPriority, Se = e.unstable_IdlePriority, Pe = e.log, Ee = e.unstable_setDisableYieldValue, He = null, Fe = null; function Nt(t) { if (typeof Pe == "function" && Ee(t), Fe && typeof Fe.setStrictMode == "function") try { Fe.setStrictMode(He, t) } catch { } } var yt = Math.clz32 ? Math.clz32 : xe, hs = Math.log, wo = Math.LN2; function xe(t) { return t >>>= 0, t === 0 ? 32 : 31 - (hs(t) / wo | 0) | 0 } var Re = 256, Ue = 4194304; function Et(t) { var s = t & 42; if (s !== 0) return s; switch (t & -t) { 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: return 64; case 128: return 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 t & 4194048; case 4194304: case 8388608: case 16777216: case 33554432: return t & 62914560; case 67108864: return 67108864; case 134217728: return 134217728; case 268435456: return 268435456; case 536870912: return 536870912; case 1073741824: return 0; default: return t } } function Dn(t, s, i) { var u = t.pendingLanes; if (u === 0) return 0; var p = 0, v = t.suspendedLanes, A = t.pingedLanes; t = t.warmLanes; var z = u & 134217727; return z !== 0 ? (u = z & ~v, u !== 0 ? p = Et(u) : (A &= z, A !== 0 ? p = Et(A) : i || (i = z & ~t, i !== 0 && (p = Et(i))))) : (z = u & ~v, z !== 0 ? p = Et(z) : A !== 0 ? p = Et(A) : i || (i = u & ~t, i !== 0 && (p = Et(i)))), p === 0 ? 0 : s !== 0 && s !== p && (s & v) === 0 && (v = p & -p, i = s & -s, v >= i || v === 32 && (i & 4194048) !== 0) ? s : p } function Le(t, s) { return (t.pendingLanes & ~(t.suspendedLanes & ~t.pingedLanes) & s) === 0 } function Ne(t, s) { switch (t) { case 1: case 2: case 4: case 8: case 64: return s + 250; case 16: case 32: 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 s + 5e3; case 4194304: case 8388608: case 16777216: case 33554432: return -1; case 67108864: case 134217728: case 268435456: case 536870912: case 1073741824: return -1; default: return -1 } } function lt() { var t = Re; return Re <<= 1, (Re & 4194048) === 0 && (Re = 256), t } function ot() { var t = Ue; return Ue <<= 1, (Ue & 62914560) === 0 && (Ue = 4194304), t } function At(t) { for (var s = [], i = 0; 31 > i; i++)s.push(t); return s } function en(t, s) { t.pendingLanes |= s, s !== 268435456 && (t.suspendedLanes = 0, t.pingedLanes = 0, t.warmLanes = 0) } function On(t, s, i, u, p, v) { var A = t.pendingLanes; t.pendingLanes = i, t.suspendedLanes = 0, t.pingedLanes = 0, t.warmLanes = 0, t.expiredLanes &= i, t.entangledLanes &= i, t.errorRecoveryDisabledLanes &= i, t.shellSuspendCounter = 0; var z = t.entanglements, F = t.expirationTimes, re = t.hiddenUpdates; for (i = A & ~i; 0 < i;) { var le = 31 - yt(i), me = 1 << le; z[le] = 0, F[le] = -1; var oe = re[le]; if (oe !== null) for (re[le] = null, le = 0; le < oe.length; le++) { var ae = oe[le]; ae !== null && (ae.lane &= -536870913) } i &= ~me } u !== 0 && Gn(t, u, 0), v !== 0 && p === 0 && t.tag !== 0 && (t.suspendedLanes |= v & ~(A & ~s)) } function Gn(t, s, i) { t.pendingLanes |= s, t.suspendedLanes &= ~s; var u = 31 - yt(s); t.entangledLanes |= s, t.entanglements[u] = t.entanglements[u] | 1073741824 | i & 4194090 } function La(t, s) { var i = t.entangledLanes |= s; for (t = t.entanglements; i;) { var u = 31 - yt(i), p = 1 << u; p & s | t[u] & s && (t[u] |= s), i &= ~p } } function Ha(t) { switch (t) { case 2: t = 1; break; case 8: t = 4; break; case 32: t = 16; break; 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: t = 128; break; case 268435456: t = 134217728; break; default: t = 0 }return t } function $a(t) { return t &= -t, 2 < t ? 8 < t ? (t & 134217727) !== 0 ? 32 : 268435456 : 8 : 2 } function Ml() { var t = L.p; return t !== 0 ? t : (t = window.event, t === void 0 ? 32 : qy(t.type)) } function Ld(t, s) { var i = L.p; try { return L.p = t, s() } finally { L.p = i } } var Xn = Math.random().toString(36).slice(2), Ht = "__reactFiber$" + Xn, Xt = "__reactProps$" + Xn, Fs = "__reactContainer$" + Xn, Ba = "__reactEvents$" + Xn, Hd = "__reactListeners$" + Xn, $d = "__reactHandles$" + Xn, Tl = "__reactResources$" + Xn, Or = "__reactMarker$" + Xn; function Pa(t) { delete t[Ht], delete t[Xt], delete t[Ba], delete t[Hd], delete t[$d] } function Ys(t) { var s = t[Ht]; if (s) return s; for (var i = t.parentNode; i;) { if (s = i[Fs] || i[Ht]) { if (i = s.alternate, s.child !== null || i !== null && i.child !== null) for (t = Ay(t); t !== null;) { if (i = t[Ht]) return i; t = Ay(t) } return s } t = i, i = t.parentNode } return null } function ps(t) { if (t = t[Ht] || t[Fs]) { var s = t.tag; if (s === 5 || s === 6 || s === 13 || s === 26 || s === 27 || s === 3) return t } return null } function Gs(t) { var s = t.tag; if (s === 5 || s === 26 || s === 27 || s === 6) return t.stateNode; throw Error(a(33)) } function gs(t) { var s = t[Tl]; return s || (s = t[Tl] = { hoistableStyles: new Map, hoistableScripts: new Map }), s } function Mt(t) { t[Or] = !0 } var Rl = new Set, Dl = {}; function xs(t, s) { Xs(t, s), Xs(t + "Capture", s) } function Xs(t, s) { for (Dl[t] = s, t = 0; t < s.length; t++)Rl.add(s[t]) } var Bd = RegExp("^[: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]*$"), Ua = {}, Ol = {}; function Pd(t) { return ne.call(Ol, t) ? !0 : ne.call(Ua, t) ? !1 : Bd.test(t) ? Ol[t] = !0 : (Ua[t] = !0, !1) } function No(t, s, i) { if (Pd(s)) if (i === null) t.removeAttribute(s); else { switch (typeof i) { case "undefined": case "function": case "symbol": t.removeAttribute(s); return; case "boolean": var u = s.toLowerCase().slice(0, 5); if (u !== "data-" && u !== "aria-") { t.removeAttribute(s); return } }t.setAttribute(s, "" + i) } } function So(t, s, i) { if (i === null) t.removeAttribute(s); else { switch (typeof i) { case "undefined": case "function": case "symbol": case "boolean": t.removeAttribute(s); return }t.setAttribute(s, "" + i) } } function zn(t, s, i, u) { if (u === null) t.removeAttribute(i); else { switch (typeof u) { case "undefined": case "function": case "symbol": case "boolean": t.removeAttribute(i); return }t.setAttributeNS(s, i, "" + u) } } var Va, zl; function ys(t) { - if (Va === void 0) try { throw Error() } catch (i) { - var s = i.stack.trim().match(/\n( *(at )?)/); Va = s && s[1] || "", zl = -1 < i.stack.indexOf(` - at`) ? " ()" : -1 < i.stack.indexOf("@") ? "@unknown:0:0" : "" - } return ` -`+ Va + t + zl - } var qa = !1; function Fa(t, s) { - if (!t || qa) return ""; qa = !0; var i = Error.prepareStackTrace; Error.prepareStackTrace = void 0; try { - var u = { DetermineComponentFrameRoot: function () { try { if (s) { var me = function () { throw Error() }; if (Object.defineProperty(me.prototype, "props", { set: function () { throw Error() } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(me, []) } catch (ae) { var oe = ae } Reflect.construct(t, [], me) } else { try { me.call() } catch (ae) { oe = ae } t.call(me.prototype) } } else { try { throw Error() } catch (ae) { oe = ae } (me = t()) && typeof me.catch == "function" && me.catch(function () { }) } } catch (ae) { if (ae && oe && typeof ae.stack == "string") return [ae.stack, oe.stack] } return [null, null] } }; u.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; var p = Object.getOwnPropertyDescriptor(u.DetermineComponentFrameRoot, "name"); p && p.configurable && Object.defineProperty(u.DetermineComponentFrameRoot, "name", { value: "DetermineComponentFrameRoot" }); var v = u.DetermineComponentFrameRoot(), A = v[0], z = v[1]; if (A && z) { - var F = A.split(` -`), re = z.split(` -`); for (p = u = 0; u < F.length && !F[u].includes("DetermineComponentFrameRoot");)u++; for (; p < re.length && !re[p].includes("DetermineComponentFrameRoot");)p++; if (u === F.length || p === re.length) for (u = F.length - 1, p = re.length - 1; 1 <= u && 0 <= p && F[u] !== re[p];)p--; for (; 1 <= u && 0 <= p; u--, p--)if (F[u] !== re[p]) { - if (u !== 1 || p !== 1) do if (u--, p--, 0 > p || F[u] !== re[p]) { - var le = ` -`+ F[u].replace(" at new ", " at "); return t.displayName && le.includes("") && (le = le.replace("", t.displayName)), le - } while (1 <= u && 0 <= p); break - } - } - } finally { qa = !1, Error.prepareStackTrace = i } return (i = t ? t.displayName || t.name : "") ? ys(i) : "" - } function Ud(t) { switch (t.tag) { case 26: case 27: case 5: return ys(t.type); case 16: return ys("Lazy"); case 13: return ys("Suspense"); case 19: return ys("SuspenseList"); case 0: case 15: return Fa(t.type, !1); case 11: return Fa(t.type.render, !1); case 1: return Fa(t.type, !0); case 31: return ys("Activity"); default: return "" } } function Il(t) { - try { var s = ""; do s += Ud(t), t = t.return; while (t); return s } catch (i) { - return ` -Error generating stack: `+ i.message + ` -`+ i.stack - } - } function tn(t) { switch (typeof t) { case "bigint": case "boolean": case "number": case "string": case "undefined": return t; case "object": return t; default: return "" } } function Ll(t) { var s = t.type; return (t = t.nodeName) && t.toLowerCase() === "input" && (s === "checkbox" || s === "radio") } function Vd(t) { var s = Ll(t) ? "checked" : "value", i = Object.getOwnPropertyDescriptor(t.constructor.prototype, s), u = "" + t[s]; if (!t.hasOwnProperty(s) && typeof i < "u" && typeof i.get == "function" && typeof i.set == "function") { var p = i.get, v = i.set; return Object.defineProperty(t, s, { configurable: !0, get: function () { return p.call(this) }, set: function (A) { u = "" + A, v.call(this, A) } }), Object.defineProperty(t, s, { enumerable: i.enumerable }), { getValue: function () { return u }, setValue: function (A) { u = "" + A }, stopTracking: function () { t._valueTracker = null, delete t[s] } } } } function jo(t) { t._valueTracker || (t._valueTracker = Vd(t)) } function Ya(t) { if (!t) return !1; var s = t._valueTracker; if (!s) return !0; var i = s.getValue(), u = ""; return t && (u = Ll(t) ? t.checked ? "true" : "false" : t.value), t = u, t !== i ? (s.setValue(t), !0) : !1 } function _o(t) { if (t = t || (typeof document < "u" ? document : void 0), typeof t > "u") return null; try { return t.activeElement || t.body } catch { return t.body } } var qd = /[\n"\\]/g; function nn(t) { return t.replace(qd, function (s) { return "\\" + s.charCodeAt(0).toString(16) + " " }) } function zr(t, s, i, u, p, v, A, z) { t.name = "", A != null && typeof A != "function" && typeof A != "symbol" && typeof A != "boolean" ? t.type = A : t.removeAttribute("type"), s != null ? A === "number" ? (s === 0 && t.value === "" || t.value != s) && (t.value = "" + tn(s)) : t.value !== "" + tn(s) && (t.value = "" + tn(s)) : A !== "submit" && A !== "reset" || t.removeAttribute("value"), s != null ? Ga(t, A, tn(s)) : i != null ? Ga(t, A, tn(i)) : u != null && t.removeAttribute("value"), p == null && v != null && (t.defaultChecked = !!v), p != null && (t.checked = p && typeof p != "function" && typeof p != "symbol"), z != null && typeof z != "function" && typeof z != "symbol" && typeof z != "boolean" ? t.name = "" + tn(z) : t.removeAttribute("name") } function Hl(t, s, i, u, p, v, A, z) { if (v != null && typeof v != "function" && typeof v != "symbol" && typeof v != "boolean" && (t.type = v), s != null || i != null) { if (!(v !== "submit" && v !== "reset" || s != null)) return; i = i != null ? "" + tn(i) : "", s = s != null ? "" + tn(s) : i, z || s === t.value || (t.value = s), t.defaultValue = s } u = u ?? p, u = typeof u != "function" && typeof u != "symbol" && !!u, t.checked = z ? t.checked : !!u, t.defaultChecked = !!u, A != null && typeof A != "function" && typeof A != "symbol" && typeof A != "boolean" && (t.name = A) } function Ga(t, s, i) { s === "number" && _o(t.ownerDocument) === t || t.defaultValue === "" + i || (t.defaultValue = "" + i) } function vs(t, s, i, u) { if (t = t.options, s) { s = {}; for (var p = 0; p < i.length; p++)s["$" + i[p]] = !0; for (i = 0; i < t.length; i++)p = s.hasOwnProperty("$" + t[i].value), t[i].selected !== p && (t[i].selected = p), p && u && (t[i].defaultSelected = !0) } else { for (i = "" + tn(i), s = null, p = 0; p < t.length; p++) { if (t[p].value === i) { t[p].selected = !0, u && (t[p].defaultSelected = !0); return } s !== null || t[p].disabled || (s = t[p]) } s !== null && (s.selected = !0) } } function Ng(t, s, i) { if (s != null && (s = "" + tn(s), s !== t.value && (t.value = s), i == null)) { t.defaultValue !== s && (t.defaultValue = s); return } t.defaultValue = i != null ? "" + tn(i) : "" } function Sg(t, s, i, u) { if (s == null) { if (u != null) { if (i != null) throw Error(a(92)); if (U(u)) { if (1 < u.length) throw Error(a(93)); u = u[0] } i = u } i == null && (i = ""), s = i } i = tn(s), t.defaultValue = i, u = t.textContent, u === i && u !== "" && u !== null && (t.value = u) } function Eo(t, s) { if (s) { var i = t.firstChild; if (i && i === t.lastChild && i.nodeType === 3) { i.nodeValue = s; return } } t.textContent = s } var pj = new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" ")); function jg(t, s, i) { var u = s.indexOf("--") === 0; i == null || typeof i == "boolean" || i === "" ? u ? t.setProperty(s, "") : s === "float" ? t.cssFloat = "" : t[s] = "" : u ? t.setProperty(s, i) : typeof i != "number" || i === 0 || pj.has(s) ? s === "float" ? t.cssFloat = i : t[s] = ("" + i).trim() : t[s] = i + "px" } function _g(t, s, i) { if (s != null && typeof s != "object") throw Error(a(62)); if (t = t.style, i != null) { for (var u in i) !i.hasOwnProperty(u) || s != null && s.hasOwnProperty(u) || (u.indexOf("--") === 0 ? t.setProperty(u, "") : u === "float" ? t.cssFloat = "" : t[u] = ""); for (var p in s) u = s[p], s.hasOwnProperty(p) && i[p] !== u && jg(t, p, u) } else for (var v in s) s.hasOwnProperty(v) && jg(t, v, s[v]) } function Fd(t) { if (t.indexOf("-") === -1) return !1; switch (t) { 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 gj = new Map([["acceptCharset", "accept-charset"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"], ["crossOrigin", "crossorigin"], ["accentHeight", "accent-height"], ["alignmentBaseline", "alignment-baseline"], ["arabicForm", "arabic-form"], ["baselineShift", "baseline-shift"], ["capHeight", "cap-height"], ["clipPath", "clip-path"], ["clipRule", "clip-rule"], ["colorInterpolation", "color-interpolation"], ["colorInterpolationFilters", "color-interpolation-filters"], ["colorProfile", "color-profile"], ["colorRendering", "color-rendering"], ["dominantBaseline", "dominant-baseline"], ["enableBackground", "enable-background"], ["fillOpacity", "fill-opacity"], ["fillRule", "fill-rule"], ["floodColor", "flood-color"], ["floodOpacity", "flood-opacity"], ["fontFamily", "font-family"], ["fontSize", "font-size"], ["fontSizeAdjust", "font-size-adjust"], ["fontStretch", "font-stretch"], ["fontStyle", "font-style"], ["fontVariant", "font-variant"], ["fontWeight", "font-weight"], ["glyphName", "glyph-name"], ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], ["glyphOrientationVertical", "glyph-orientation-vertical"], ["horizAdvX", "horiz-adv-x"], ["horizOriginX", "horiz-origin-x"], ["imageRendering", "image-rendering"], ["letterSpacing", "letter-spacing"], ["lightingColor", "lighting-color"], ["markerEnd", "marker-end"], ["markerMid", "marker-mid"], ["markerStart", "marker-start"], ["overlinePosition", "overline-position"], ["overlineThickness", "overline-thickness"], ["paintOrder", "paint-order"], ["panose-1", "panose-1"], ["pointerEvents", "pointer-events"], ["renderingIntent", "rendering-intent"], ["shapeRendering", "shape-rendering"], ["stopColor", "stop-color"], ["stopOpacity", "stop-opacity"], ["strikethroughPosition", "strikethrough-position"], ["strikethroughThickness", "strikethrough-thickness"], ["strokeDasharray", "stroke-dasharray"], ["strokeDashoffset", "stroke-dashoffset"], ["strokeLinecap", "stroke-linecap"], ["strokeLinejoin", "stroke-linejoin"], ["strokeMiterlimit", "stroke-miterlimit"], ["strokeOpacity", "stroke-opacity"], ["strokeWidth", "stroke-width"], ["textAnchor", "text-anchor"], ["textDecoration", "text-decoration"], ["textRendering", "text-rendering"], ["transformOrigin", "transform-origin"], ["underlinePosition", "underline-position"], ["underlineThickness", "underline-thickness"], ["unicodeBidi", "unicode-bidi"], ["unicodeRange", "unicode-range"], ["unitsPerEm", "units-per-em"], ["vAlphabetic", "v-alphabetic"], ["vHanging", "v-hanging"], ["vIdeographic", "v-ideographic"], ["vMathematical", "v-mathematical"], ["vectorEffect", "vector-effect"], ["vertAdvY", "vert-adv-y"], ["vertOriginX", "vert-origin-x"], ["vertOriginY", "vert-origin-y"], ["wordSpacing", "word-spacing"], ["writingMode", "writing-mode"], ["xmlnsXlink", "xmlns:xlink"], ["xHeight", "x-height"]]), xj = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i; function $l(t) { return xj.test("" + t) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : t } var Yd = null; function Gd(t) { return t = t.target || t.srcElement || window, t.correspondingUseElement && (t = t.correspondingUseElement), t.nodeType === 3 ? t.parentNode : t } var Co = null, ko = null; function Eg(t) { var s = ps(t); if (s && (t = s.stateNode)) { var i = t[Xt] || null; e: switch (t = s.stateNode, s.type) { case "input": if (zr(t, i.value, i.defaultValue, i.defaultValue, i.checked, i.defaultChecked, i.type, i.name), s = i.name, i.type === "radio" && s != null) { for (i = t; i.parentNode;)i = i.parentNode; for (i = i.querySelectorAll('input[name="' + nn("" + s) + '"][type="radio"]'), s = 0; s < i.length; s++) { var u = i[s]; if (u !== t && u.form === t.form) { var p = u[Xt] || null; if (!p) throw Error(a(90)); zr(u, p.value, p.defaultValue, p.defaultValue, p.checked, p.defaultChecked, p.type, p.name) } } for (s = 0; s < i.length; s++)u = i[s], u.form === t.form && Ya(u) } break e; case "textarea": Ng(t, i.value, i.defaultValue); break e; case "select": s = i.value, s != null && vs(t, !!i.multiple, s, !1) } } } var Xd = !1; function Cg(t, s, i) { if (Xd) return t(s, i); Xd = !0; try { var u = t(s); return u } finally { if (Xd = !1, (Co !== null || ko !== null) && (jc(), Co && (s = Co, t = ko, ko = Co = null, Eg(s), t))) for (s = 0; s < t.length; s++)Eg(t[s]) } } function Xa(t, s) { var i = t.stateNode; if (i === null) return null; var u = i[Xt] || null; if (u === null) return null; i = u[s]; e: switch (s) { case "onClick": case "onClickCapture": case "onDoubleClick": case "onDoubleClickCapture": case "onMouseDown": case "onMouseDownCapture": case "onMouseMove": case "onMouseMoveCapture": case "onMouseUp": case "onMouseUpCapture": case "onMouseEnter": (u = !u.disabled) || (t = t.type, u = !(t === "button" || t === "input" || t === "select" || t === "textarea")), t = !u; break e; default: t = !1 }if (t) return null; if (i && typeof i != "function") throw Error(a(231, s, typeof i)); return i } var bs = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), Zd = !1; if (bs) try { var Za = {}; Object.defineProperty(Za, "passive", { get: function () { Zd = !0 } }), window.addEventListener("test", Za, Za), window.removeEventListener("test", Za, Za) } catch { Zd = !1 } var Zs = null, Wd = null, Bl = null; function kg() { if (Bl) return Bl; var t, s = Wd, i = s.length, u, p = "value" in Zs ? Zs.value : Zs.textContent, v = p.length; for (t = 0; t < i && s[t] === p[t]; t++); var A = i - t; for (u = 1; u <= A && s[i - u] === p[v - u]; u++); return Bl = p.slice(t, 1 < u ? 1 - u : void 0) } function Pl(t) { var s = t.keyCode; return "charCode" in t ? (t = t.charCode, t === 0 && s === 13 && (t = 13)) : t = s, t === 10 && (t = 13), 32 <= t || t === 13 ? t : 0 } function Ul() { return !0 } function Ag() { return !1 } function sn(t) { function s(i, u, p, v, A) { this._reactName = i, this._targetInst = p, this.type = u, this.nativeEvent = v, this.target = A, this.currentTarget = null; for (var z in t) t.hasOwnProperty(z) && (i = t[z], this[z] = i ? i(v) : v[z]); return this.isDefaultPrevented = (v.defaultPrevented != null ? v.defaultPrevented : v.returnValue === !1) ? Ul : Ag, this.isPropagationStopped = Ag, this } return g(s.prototype, { preventDefault: function () { this.defaultPrevented = !0; var i = this.nativeEvent; i && (i.preventDefault ? i.preventDefault() : typeof i.returnValue != "unknown" && (i.returnValue = !1), this.isDefaultPrevented = Ul) }, stopPropagation: function () { var i = this.nativeEvent; i && (i.stopPropagation ? i.stopPropagation() : typeof i.cancelBubble != "unknown" && (i.cancelBubble = !0), this.isPropagationStopped = Ul) }, persist: function () { }, isPersistent: Ul }), s } var Ir = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function (t) { return t.timeStamp || Date.now() }, defaultPrevented: 0, isTrusted: 0 }, Vl = sn(Ir), Wa = g({}, Ir, { view: 0, detail: 0 }), yj = sn(Wa), Kd, Qd, Ka, ql = g({}, Wa, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: ef, button: 0, buttons: 0, relatedTarget: function (t) { return t.relatedTarget === void 0 ? t.fromElement === t.srcElement ? t.toElement : t.fromElement : t.relatedTarget }, movementX: function (t) { return "movementX" in t ? t.movementX : (t !== Ka && (Ka && t.type === "mousemove" ? (Kd = t.screenX - Ka.screenX, Qd = t.screenY - Ka.screenY) : Qd = Kd = 0, Ka = t), Kd) }, movementY: function (t) { return "movementY" in t ? t.movementY : Qd } }), Mg = sn(ql), vj = g({}, ql, { dataTransfer: 0 }), bj = sn(vj), wj = g({}, Wa, { relatedTarget: 0 }), Jd = sn(wj), Nj = g({}, Ir, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Sj = sn(Nj), jj = g({}, Ir, { clipboardData: function (t) { return "clipboardData" in t ? t.clipboardData : window.clipboardData } }), _j = sn(jj), Ej = g({}, Ir, { data: 0 }), Tg = sn(Ej), Cj = { Esc: "Escape", Spacebar: " ", Left: "ArrowLeft", Up: "ArrowUp", Right: "ArrowRight", Down: "ArrowDown", Del: "Delete", Win: "OS", Menu: "ContextMenu", Apps: "ContextMenu", Scroll: "ScrollLock", MozPrintableKey: "Unidentified" }, kj = { 8: "Backspace", 9: "Tab", 12: "Clear", 13: "Enter", 16: "Shift", 17: "Control", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Escape", 32: " ", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "ArrowLeft", 38: "ArrowUp", 39: "ArrowRight", 40: "ArrowDown", 45: "Insert", 46: "Delete", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 144: "NumLock", 145: "ScrollLock", 224: "Meta" }, Aj = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; function Mj(t) { var s = this.nativeEvent; return s.getModifierState ? s.getModifierState(t) : (t = Aj[t]) ? !!s[t] : !1 } function ef() { return Mj } var Tj = g({}, Wa, { key: function (t) { if (t.key) { var s = Cj[t.key] || t.key; if (s !== "Unidentified") return s } return t.type === "keypress" ? (t = Pl(t), t === 13 ? "Enter" : String.fromCharCode(t)) : t.type === "keydown" || t.type === "keyup" ? kj[t.keyCode] || "Unidentified" : "" }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: ef, charCode: function (t) { return t.type === "keypress" ? Pl(t) : 0 }, keyCode: function (t) { return t.type === "keydown" || t.type === "keyup" ? t.keyCode : 0 }, which: function (t) { return t.type === "keypress" ? Pl(t) : t.type === "keydown" || t.type === "keyup" ? t.keyCode : 0 } }), Rj = sn(Tj), Dj = g({}, ql, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Rg = sn(Dj), Oj = g({}, Wa, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: ef }), zj = sn(Oj), Ij = g({}, Ir, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Lj = sn(Ij), Hj = g({}, ql, { deltaX: function (t) { return "deltaX" in t ? t.deltaX : "wheelDeltaX" in t ? -t.wheelDeltaX : 0 }, deltaY: function (t) { return "deltaY" in t ? t.deltaY : "wheelDeltaY" in t ? -t.wheelDeltaY : "wheelDelta" in t ? -t.wheelDelta : 0 }, deltaZ: 0, deltaMode: 0 }), $j = sn(Hj), Bj = g({}, Ir, { newState: 0, oldState: 0 }), Pj = sn(Bj), Uj = [9, 13, 27, 32], tf = bs && "CompositionEvent" in window, Qa = null; bs && "documentMode" in document && (Qa = document.documentMode); var Vj = bs && "TextEvent" in window && !Qa, Dg = bs && (!tf || Qa && 8 < Qa && 11 >= Qa), Og = " ", zg = !1; function Ig(t, s) { switch (t) { case "keyup": return Uj.indexOf(s.keyCode) !== -1; case "keydown": return s.keyCode !== 229; case "keypress": case "mousedown": case "focusout": return !0; default: return !1 } } function Lg(t) { return t = t.detail, typeof t == "object" && "data" in t ? t.data : null } var Ao = !1; function qj(t, s) { switch (t) { case "compositionend": return Lg(s); case "keypress": return s.which !== 32 ? null : (zg = !0, Og); case "textInput": return t = s.data, t === Og && zg ? null : t; default: return null } } function Fj(t, s) { if (Ao) return t === "compositionend" || !tf && Ig(t, s) ? (t = kg(), Bl = Wd = Zs = null, Ao = !1, t) : null; switch (t) { case "paste": return null; case "keypress": if (!(s.ctrlKey || s.altKey || s.metaKey) || s.ctrlKey && s.altKey) { if (s.char && 1 < s.char.length) return s.char; if (s.which) return String.fromCharCode(s.which) } return null; case "compositionend": return Dg && s.locale !== "ko" ? null : s.data; default: return null } } var Yj = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 }; function Hg(t) { var s = t && t.nodeName && t.nodeName.toLowerCase(); return s === "input" ? !!Yj[t.type] : s === "textarea" } function $g(t, s, i, u) { Co ? ko ? ko.push(u) : ko = [u] : Co = u, s = Mc(s, "onChange"), 0 < s.length && (i = new Vl("onChange", "change", null, i, u), t.push({ event: i, listeners: s })) } var Ja = null, ei = null; function Gj(t) { vy(t, 0) } function Fl(t) { var s = Gs(t); if (Ya(s)) return t } function Bg(t, s) { if (t === "change") return s } var Pg = !1; if (bs) { var nf; if (bs) { var sf = "oninput" in document; if (!sf) { var Ug = document.createElement("div"); Ug.setAttribute("oninput", "return;"), sf = typeof Ug.oninput == "function" } nf = sf } else nf = !1; Pg = nf && (!document.documentMode || 9 < document.documentMode) } function Vg() { Ja && (Ja.detachEvent("onpropertychange", qg), ei = Ja = null) } function qg(t) { if (t.propertyName === "value" && Fl(ei)) { var s = []; $g(s, ei, t, Gd(t)), Cg(Gj, s) } } function Xj(t, s, i) { t === "focusin" ? (Vg(), Ja = s, ei = i, Ja.attachEvent("onpropertychange", qg)) : t === "focusout" && Vg() } function Zj(t) { if (t === "selectionchange" || t === "keyup" || t === "keydown") return Fl(ei) } function Wj(t, s) { if (t === "click") return Fl(s) } function Kj(t, s) { if (t === "input" || t === "change") return Fl(s) } function Qj(t, s) { return t === s && (t !== 0 || 1 / t === 1 / s) || t !== t && s !== s } var cn = typeof Object.is == "function" ? Object.is : Qj; function ti(t, s) { if (cn(t, s)) return !0; if (typeof t != "object" || t === null || typeof s != "object" || s === null) return !1; var i = Object.keys(t), u = Object.keys(s); if (i.length !== u.length) return !1; for (u = 0; u < i.length; u++) { var p = i[u]; if (!ne.call(s, p) || !cn(t[p], s[p])) return !1 } return !0 } function Fg(t) { for (; t && t.firstChild;)t = t.firstChild; return t } function Yg(t, s) { var i = Fg(t); t = 0; for (var u; i;) { if (i.nodeType === 3) { if (u = t + i.textContent.length, t <= s && u >= s) return { node: i, offset: s - t }; t = u } e: { for (; i;) { if (i.nextSibling) { i = i.nextSibling; break e } i = i.parentNode } i = void 0 } i = Fg(i) } } function Gg(t, s) { return t && s ? t === s ? !0 : t && t.nodeType === 3 ? !1 : s && s.nodeType === 3 ? Gg(t, s.parentNode) : "contains" in t ? t.contains(s) : t.compareDocumentPosition ? !!(t.compareDocumentPosition(s) & 16) : !1 : !1 } function Xg(t) { t = t != null && t.ownerDocument != null && t.ownerDocument.defaultView != null ? t.ownerDocument.defaultView : window; for (var s = _o(t.document); s instanceof t.HTMLIFrameElement;) { try { var i = typeof s.contentWindow.location.href == "string" } catch { i = !1 } if (i) t = s.contentWindow; else break; s = _o(t.document) } return s } function rf(t) { var s = t && t.nodeName && t.nodeName.toLowerCase(); return s && (s === "input" && (t.type === "text" || t.type === "search" || t.type === "tel" || t.type === "url" || t.type === "password") || s === "textarea" || t.contentEditable === "true") } var Jj = bs && "documentMode" in document && 11 >= document.documentMode, Mo = null, of = null, ni = null, af = !1; function Zg(t, s, i) { var u = i.window === i ? i.document : i.nodeType === 9 ? i : i.ownerDocument; af || Mo == null || Mo !== _o(u) || (u = Mo, "selectionStart" in u && rf(u) ? u = { start: u.selectionStart, end: u.selectionEnd } : (u = (u.ownerDocument && u.ownerDocument.defaultView || window).getSelection(), u = { anchorNode: u.anchorNode, anchorOffset: u.anchorOffset, focusNode: u.focusNode, focusOffset: u.focusOffset }), ni && ti(ni, u) || (ni = u, u = Mc(of, "onSelect"), 0 < u.length && (s = new Vl("onSelect", "select", null, s, i), t.push({ event: s, listeners: u }), s.target = Mo))) } function Lr(t, s) { var i = {}; return i[t.toLowerCase()] = s.toLowerCase(), i["Webkit" + t] = "webkit" + s, i["Moz" + t] = "moz" + s, i } var To = { animationend: Lr("Animation", "AnimationEnd"), animationiteration: Lr("Animation", "AnimationIteration"), animationstart: Lr("Animation", "AnimationStart"), transitionrun: Lr("Transition", "TransitionRun"), transitionstart: Lr("Transition", "TransitionStart"), transitioncancel: Lr("Transition", "TransitionCancel"), transitionend: Lr("Transition", "TransitionEnd") }, lf = {}, Wg = {}; bs && (Wg = document.createElement("div").style, "AnimationEvent" in window || (delete To.animationend.animation, delete To.animationiteration.animation, delete To.animationstart.animation), "TransitionEvent" in window || delete To.transitionend.transition); function Hr(t) { if (lf[t]) return lf[t]; if (!To[t]) return t; var s = To[t], i; for (i in s) if (s.hasOwnProperty(i) && i in Wg) return lf[t] = s[i]; return t } var Kg = Hr("animationend"), Qg = Hr("animationiteration"), Jg = Hr("animationstart"), e_ = Hr("transitionrun"), t_ = Hr("transitionstart"), n_ = Hr("transitioncancel"), ex = Hr("transitionend"), tx = new Map, cf = "abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "); cf.push("scrollEnd"); function In(t, s) { tx.set(t, s), xs(s, [t]) } var nx = new WeakMap; function Nn(t, s) { if (typeof t == "object" && t !== null) { var i = nx.get(t); return i !== void 0 ? i : (s = { value: t, source: s, stack: Il(s) }, nx.set(t, s), s) } return { value: t, source: s, stack: Il(s) } } var Sn = [], Ro = 0, uf = 0; function Yl() { for (var t = Ro, s = uf = Ro = 0; s < t;) { var i = Sn[s]; Sn[s++] = null; var u = Sn[s]; Sn[s++] = null; var p = Sn[s]; Sn[s++] = null; var v = Sn[s]; if (Sn[s++] = null, u !== null && p !== null) { var A = u.pending; A === null ? p.next = p : (p.next = A.next, A.next = p), u.pending = p } v !== 0 && sx(i, p, v) } } function Gl(t, s, i, u) { Sn[Ro++] = t, Sn[Ro++] = s, Sn[Ro++] = i, Sn[Ro++] = u, uf |= u, t.lanes |= u, t = t.alternate, t !== null && (t.lanes |= u) } function df(t, s, i, u) { return Gl(t, s, i, u), Xl(t) } function Do(t, s) { return Gl(t, null, null, s), Xl(t) } function sx(t, s, i) { t.lanes |= i; var u = t.alternate; u !== null && (u.lanes |= i); for (var p = !1, v = t.return; v !== null;)v.childLanes |= i, u = v.alternate, u !== null && (u.childLanes |= i), v.tag === 22 && (t = v.stateNode, t === null || t._visibility & 1 || (p = !0)), t = v, v = v.return; return t.tag === 3 ? (v = t.stateNode, p && s !== null && (p = 31 - yt(i), t = v.hiddenUpdates, u = t[p], u === null ? t[p] = [s] : u.push(s), s.lane = i | 536870912), v) : null } function Xl(t) { if (50 < Ci) throw Ci = 0, xm = null, Error(a(185)); for (var s = t.return; s !== null;)t = s, s = t.return; return t.tag === 3 ? t.stateNode : null } var Oo = {}; function s_(t, s, i, u) { this.tag = t, this.key = i, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.refCleanup = this.ref = null, this.pendingProps = s, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = u, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null } function un(t, s, i, u) { return new s_(t, s, i, u) } function ff(t) { return t = t.prototype, !(!t || !t.isReactComponent) } function ws(t, s) { var i = t.alternate; return i === null ? (i = un(t.tag, s, t.key, t.mode), i.elementType = t.elementType, i.type = t.type, i.stateNode = t.stateNode, i.alternate = t, t.alternate = i) : (i.pendingProps = s, i.type = t.type, i.flags = 0, i.subtreeFlags = 0, i.deletions = null), i.flags = t.flags & 65011712, i.childLanes = t.childLanes, i.lanes = t.lanes, i.child = t.child, i.memoizedProps = t.memoizedProps, i.memoizedState = t.memoizedState, i.updateQueue = t.updateQueue, s = t.dependencies, i.dependencies = s === null ? null : { lanes: s.lanes, firstContext: s.firstContext }, i.sibling = t.sibling, i.index = t.index, i.ref = t.ref, i.refCleanup = t.refCleanup, i } function rx(t, s) { t.flags &= 65011714; var i = t.alternate; return i === null ? (t.childLanes = 0, t.lanes = s, t.child = null, t.subtreeFlags = 0, t.memoizedProps = null, t.memoizedState = null, t.updateQueue = null, t.dependencies = null, t.stateNode = null) : (t.childLanes = i.childLanes, t.lanes = i.lanes, t.child = i.child, t.subtreeFlags = 0, t.deletions = null, t.memoizedProps = i.memoizedProps, t.memoizedState = i.memoizedState, t.updateQueue = i.updateQueue, t.type = i.type, s = i.dependencies, t.dependencies = s === null ? null : { lanes: s.lanes, firstContext: s.firstContext }), t } function Zl(t, s, i, u, p, v) { var A = 0; if (u = t, typeof t == "function") ff(t) && (A = 1); else if (typeof t == "string") A = oE(t, i, W.current) ? 26 : t === "html" || t === "head" || t === "body" ? 27 : 5; else e: switch (t) { case q: return t = un(31, i, s, p), t.elementType = q, t.lanes = v, t; case S: return $r(i.children, p, v, s); case N: A = 8, p |= 24; break; case j: return t = un(12, i, s, p | 2), t.elementType = j, t.lanes = v, t; case R: return t = un(13, i, s, p), t.elementType = R, t.lanes = v, t; case D: return t = un(19, i, s, p), t.elementType = D, t.lanes = v, t; default: if (typeof t == "object" && t !== null) switch (t.$$typeof) { case _: case E: A = 10; break e; case M: A = 9; break e; case T: A = 11; break e; case O: A = 14; break e; case B: A = 16, u = null; break e }A = 29, i = Error(a(130, t === null ? "null" : typeof t, "")), u = null }return s = un(A, i, s, p), s.elementType = t, s.type = u, s.lanes = v, s } function $r(t, s, i, u) { return t = un(7, t, u, s), t.lanes = i, t } function mf(t, s, i) { return t = un(6, t, null, s), t.lanes = i, t } function hf(t, s, i) { return s = un(4, t.children !== null ? t.children : [], t.key, s), s.lanes = i, s.stateNode = { containerInfo: t.containerInfo, pendingChildren: null, implementation: t.implementation }, s } var zo = [], Io = 0, Wl = null, Kl = 0, jn = [], _n = 0, Br = null, Ns = 1, Ss = ""; function Pr(t, s) { zo[Io++] = Kl, zo[Io++] = Wl, Wl = t, Kl = s } function ox(t, s, i) { jn[_n++] = Ns, jn[_n++] = Ss, jn[_n++] = Br, Br = t; var u = Ns; t = Ss; var p = 32 - yt(u) - 1; u &= ~(1 << p), i += 1; var v = 32 - yt(s) + p; if (30 < v) { var A = p - p % 5; v = (u & (1 << A) - 1).toString(32), u >>= A, p -= A, Ns = 1 << 32 - yt(s) + p | i << p | u, Ss = v + t } else Ns = 1 << v | i << p | u, Ss = t } function pf(t) { t.return !== null && (Pr(t, 1), ox(t, 1, 0)) } function gf(t) { for (; t === Wl;)Wl = zo[--Io], zo[Io] = null, Kl = zo[--Io], zo[Io] = null; for (; t === Br;)Br = jn[--_n], jn[_n] = null, Ss = jn[--_n], jn[_n] = null, Ns = jn[--_n], jn[_n] = null } var Kt = null, jt = null, at = !1, Ur = null, Zn = !1, xf = Error(a(519)); function Vr(t) { var s = Error(a(418, "")); throw oi(Nn(s, t)), xf } function ax(t) { var s = t.stateNode, i = t.type, u = t.memoizedProps; switch (s[Ht] = t, s[Xt] = u, i) { case "dialog": et("cancel", s), et("close", s); break; case "iframe": case "object": case "embed": et("load", s); break; case "video": case "audio": for (i = 0; i < Ai.length; i++)et(Ai[i], s); break; case "source": et("error", s); break; case "img": case "image": case "link": et("error", s), et("load", s); break; case "details": et("toggle", s); break; case "input": et("invalid", s), Hl(s, u.value, u.defaultValue, u.checked, u.defaultChecked, u.type, u.name, !0), jo(s); break; case "select": et("invalid", s); break; case "textarea": et("invalid", s), Sg(s, u.value, u.defaultValue, u.children), jo(s) }i = u.children, typeof i != "string" && typeof i != "number" && typeof i != "bigint" || s.textContent === "" + i || u.suppressHydrationWarning === !0 || Sy(s.textContent, i) ? (u.popover != null && (et("beforetoggle", s), et("toggle", s)), u.onScroll != null && et("scroll", s), u.onScrollEnd != null && et("scrollend", s), u.onClick != null && (s.onclick = Tc), s = !0) : s = !1, s || Vr(t) } function ix(t) { for (Kt = t.return; Kt;)switch (Kt.tag) { case 5: case 13: Zn = !1; return; case 27: case 3: Zn = !0; return; default: Kt = Kt.return } } function si(t) { if (t !== Kt) return !1; if (!at) return ix(t), at = !0, !1; var s = t.tag, i; if ((i = s !== 3 && s !== 27) && ((i = s === 5) && (i = t.type, i = !(i !== "form" && i !== "button") || Dm(t.type, t.memoizedProps)), i = !i), i && jt && Vr(t), ix(t), s === 13) { if (t = t.memoizedState, t = t !== null ? t.dehydrated : null, !t) throw Error(a(317)); e: { for (t = t.nextSibling, s = 0; t;) { if (t.nodeType === 8) if (i = t.data, i === "/$") { if (s === 0) { jt = Hn(t.nextSibling); break e } s-- } else i !== "$" && i !== "$!" && i !== "$?" || s++; t = t.nextSibling } jt = null } } else s === 27 ? (s = jt, dr(t.type) ? (t = Lm, Lm = null, jt = t) : jt = s) : jt = Kt ? Hn(t.stateNode.nextSibling) : null; return !0 } function ri() { jt = Kt = null, at = !1 } function lx() { var t = Ur; return t !== null && (an === null ? an = t : an.push.apply(an, t), Ur = null), t } function oi(t) { Ur === null ? Ur = [t] : Ur.push(t) } var yf = $(null), qr = null, js = null; function Ws(t, s, i) { V(yf, s._currentValue), s._currentValue = i } function _s(t) { t._currentValue = yf.current, Y(yf) } function vf(t, s, i) { for (; t !== null;) { var u = t.alternate; if ((t.childLanes & s) !== s ? (t.childLanes |= s, u !== null && (u.childLanes |= s)) : u !== null && (u.childLanes & s) !== s && (u.childLanes |= s), t === i) break; t = t.return } } function bf(t, s, i, u) { var p = t.child; for (p !== null && (p.return = t); p !== null;) { var v = p.dependencies; if (v !== null) { var A = p.child; v = v.firstContext; e: for (; v !== null;) { var z = v; v = p; for (var F = 0; F < s.length; F++)if (z.context === s[F]) { v.lanes |= i, z = v.alternate, z !== null && (z.lanes |= i), vf(v.return, i, t), u || (A = null); break e } v = z.next } } else if (p.tag === 18) { if (A = p.return, A === null) throw Error(a(341)); A.lanes |= i, v = A.alternate, v !== null && (v.lanes |= i), vf(A, i, t), A = null } else A = p.child; if (A !== null) A.return = p; else for (A = p; A !== null;) { if (A === t) { A = null; break } if (p = A.sibling, p !== null) { p.return = A.return, A = p; break } A = A.return } p = A } } function ai(t, s, i, u) { t = null; for (var p = s, v = !1; p !== null;) { if (!v) { if ((p.flags & 524288) !== 0) v = !0; else if ((p.flags & 262144) !== 0) break } if (p.tag === 10) { var A = p.alternate; if (A === null) throw Error(a(387)); if (A = A.memoizedProps, A !== null) { var z = p.type; cn(p.pendingProps.value, A.value) || (t !== null ? t.push(z) : t = [z]) } } else if (p === te.current) { if (A = p.alternate, A === null) throw Error(a(387)); A.memoizedState.memoizedState !== p.memoizedState.memoizedState && (t !== null ? t.push(zi) : t = [zi]) } p = p.return } t !== null && bf(s, t, i, u), s.flags |= 262144 } function Ql(t) { for (t = t.firstContext; t !== null;) { if (!cn(t.context._currentValue, t.memoizedValue)) return !0; t = t.next } return !1 } function Fr(t) { qr = t, js = null, t = t.dependencies, t !== null && (t.firstContext = null) } function Zt(t) { return cx(qr, t) } function Jl(t, s) { return qr === null && Fr(t), cx(t, s) } function cx(t, s) { var i = s._currentValue; if (s = { context: s, memoizedValue: i, next: null }, js === null) { if (t === null) throw Error(a(308)); js = s, t.dependencies = { lanes: 0, firstContext: s }, t.flags |= 524288 } else js = js.next = s; return i } var r_ = typeof AbortController < "u" ? AbortController : function () { var t = [], s = this.signal = { aborted: !1, addEventListener: function (i, u) { t.push(u) } }; this.abort = function () { s.aborted = !0, t.forEach(function (i) { return i() }) } }, o_ = e.unstable_scheduleCallback, a_ = e.unstable_NormalPriority, Ot = { $$typeof: E, Consumer: null, Provider: null, _currentValue: null, _currentValue2: null, _threadCount: 0 }; function wf() { return { controller: new r_, data: new Map, refCount: 0 } } function ii(t) { t.refCount--, t.refCount === 0 && o_(a_, function () { t.controller.abort() }) } var li = null, Nf = 0, Lo = 0, Ho = null; function i_(t, s) { if (li === null) { var i = li = []; Nf = 0, Lo = jm(), Ho = { status: "pending", value: void 0, then: function (u) { i.push(u) } } } return Nf++, s.then(ux, ux), s } function ux() { if (--Nf === 0 && li !== null) { Ho !== null && (Ho.status = "fulfilled"); var t = li; li = null, Lo = 0, Ho = null; for (var s = 0; s < t.length; s++)(0, t[s])() } } function l_(t, s) { var i = [], u = { status: "pending", value: null, reason: null, then: function (p) { i.push(p) } }; return t.then(function () { u.status = "fulfilled", u.value = s; for (var p = 0; p < i.length; p++)(0, i[p])(s) }, function (p) { for (u.status = "rejected", u.reason = p, p = 0; p < i.length; p++)(0, i[p])(void 0) }), u } var dx = k.S; k.S = function (t, s) { typeof s == "object" && s !== null && typeof s.then == "function" && i_(t, s), dx !== null && dx(t, s) }; var Yr = $(null); function Sf() { var t = Yr.current; return t !== null ? t : gt.pooledCache } function ec(t, s) { s === null ? V(Yr, Yr.current) : V(Yr, s.pool) } function fx() { var t = Sf(); return t === null ? null : { parent: Ot._currentValue, pool: t } } var ci = Error(a(460)), mx = Error(a(474)), tc = Error(a(542)), jf = { then: function () { } }; function hx(t) { return t = t.status, t === "fulfilled" || t === "rejected" } function nc() { } function px(t, s, i) { switch (i = t[i], i === void 0 ? t.push(s) : i !== s && (s.then(nc, nc), s = i), s.status) { case "fulfilled": return s.value; case "rejected": throw t = s.reason, xx(t), t; default: if (typeof s.status == "string") s.then(nc, nc); else { if (t = gt, t !== null && 100 < t.shellSuspendCounter) throw Error(a(482)); t = s, t.status = "pending", t.then(function (u) { if (s.status === "pending") { var p = s; p.status = "fulfilled", p.value = u } }, function (u) { if (s.status === "pending") { var p = s; p.status = "rejected", p.reason = u } }) } switch (s.status) { case "fulfilled": return s.value; case "rejected": throw t = s.reason, xx(t), t }throw ui = s, ci } } var ui = null; function gx() { if (ui === null) throw Error(a(459)); var t = ui; return ui = null, t } function xx(t) { if (t === ci || t === tc) throw Error(a(483)) } var Ks = !1; function _f(t) { t.updateQueue = { baseState: t.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, lanes: 0, hiddenCallbacks: null }, callbacks: null } } function Ef(t, s) { t = t.updateQueue, s.updateQueue === t && (s.updateQueue = { baseState: t.baseState, firstBaseUpdate: t.firstBaseUpdate, lastBaseUpdate: t.lastBaseUpdate, shared: t.shared, callbacks: null }) } function Qs(t) { return { lane: t, tag: 0, payload: null, callback: null, next: null } } function Js(t, s, i) { var u = t.updateQueue; if (u === null) return null; if (u = u.shared, (ct & 2) !== 0) { var p = u.pending; return p === null ? s.next = s : (s.next = p.next, p.next = s), u.pending = s, s = Xl(t), sx(t, null, i), s } return Gl(t, u, s, i), Xl(t) } function di(t, s, i) { if (s = s.updateQueue, s !== null && (s = s.shared, (i & 4194048) !== 0)) { var u = s.lanes; u &= t.pendingLanes, i |= u, s.lanes = i, La(t, i) } } function Cf(t, s) { var i = t.updateQueue, u = t.alternate; if (u !== null && (u = u.updateQueue, i === u)) { var p = null, v = null; if (i = i.firstBaseUpdate, i !== null) { do { var A = { lane: i.lane, tag: i.tag, payload: i.payload, callback: null, next: null }; v === null ? p = v = A : v = v.next = A, i = i.next } while (i !== null); v === null ? p = v = s : v = v.next = s } else p = v = s; i = { baseState: u.baseState, firstBaseUpdate: p, lastBaseUpdate: v, shared: u.shared, callbacks: u.callbacks }, t.updateQueue = i; return } t = i.lastBaseUpdate, t === null ? i.firstBaseUpdate = s : t.next = s, i.lastBaseUpdate = s } var kf = !1; function fi() { if (kf) { var t = Ho; if (t !== null) throw t } } function mi(t, s, i, u) { kf = !1; var p = t.updateQueue; Ks = !1; var v = p.firstBaseUpdate, A = p.lastBaseUpdate, z = p.shared.pending; if (z !== null) { p.shared.pending = null; var F = z, re = F.next; F.next = null, A === null ? v = re : A.next = re, A = F; var le = t.alternate; le !== null && (le = le.updateQueue, z = le.lastBaseUpdate, z !== A && (z === null ? le.firstBaseUpdate = re : z.next = re, le.lastBaseUpdate = F)) } if (v !== null) { var me = p.baseState; A = 0, le = re = F = null, z = v; do { var oe = z.lane & -536870913, ae = oe !== z.lane; if (ae ? (nt & oe) === oe : (u & oe) === oe) { oe !== 0 && oe === Lo && (kf = !0), le !== null && (le = le.next = { lane: 0, tag: z.tag, payload: z.payload, callback: null, next: null }); e: { var qe = t, Be = z; oe = s; var mt = i; switch (Be.tag) { case 1: if (qe = Be.payload, typeof qe == "function") { me = qe.call(mt, me, oe); break e } me = qe; break e; case 3: qe.flags = qe.flags & -65537 | 128; case 0: if (qe = Be.payload, oe = typeof qe == "function" ? qe.call(mt, me, oe) : qe, oe == null) break e; me = g({}, me, oe); break e; case 2: Ks = !0 } } oe = z.callback, oe !== null && (t.flags |= 64, ae && (t.flags |= 8192), ae = p.callbacks, ae === null ? p.callbacks = [oe] : ae.push(oe)) } else ae = { lane: oe, tag: z.tag, payload: z.payload, callback: z.callback, next: null }, le === null ? (re = le = ae, F = me) : le = le.next = ae, A |= oe; if (z = z.next, z === null) { if (z = p.shared.pending, z === null) break; ae = z, z = ae.next, ae.next = null, p.lastBaseUpdate = ae, p.shared.pending = null } } while (!0); le === null && (F = me), p.baseState = F, p.firstBaseUpdate = re, p.lastBaseUpdate = le, v === null && (p.shared.lanes = 0), ir |= A, t.lanes = A, t.memoizedState = me } } function yx(t, s) { if (typeof t != "function") throw Error(a(191, t)); t.call(s) } function vx(t, s) { var i = t.callbacks; if (i !== null) for (t.callbacks = null, t = 0; t < i.length; t++)yx(i[t], s) } var $o = $(null), sc = $(0); function bx(t, s) { t = Rs, V(sc, t), V($o, s), Rs = t | s.baseLanes } function Af() { V(sc, Rs), V($o, $o.current) } function Mf() { Rs = sc.current, Y($o), Y(sc) } var er = 0, Ze = null, dt = null, Tt = null, rc = !1, Bo = !1, Gr = !1, oc = 0, hi = 0, Po = null, c_ = 0; function Ct() { throw Error(a(321)) } function Tf(t, s) { if (s === null) return !1; for (var i = 0; i < s.length && i < t.length; i++)if (!cn(t[i], s[i])) return !1; return !0 } function Rf(t, s, i, u, p, v) { return er = v, Ze = s, s.memoizedState = null, s.updateQueue = null, s.lanes = 0, k.H = t === null || t.memoizedState === null ? s0 : r0, Gr = !1, v = i(u, p), Gr = !1, Bo && (v = Nx(s, i, u, p)), wx(t), v } function wx(t) { k.H = dc; var s = dt !== null && dt.next !== null; if (er = 0, Tt = dt = Ze = null, rc = !1, hi = 0, Po = null, s) throw Error(a(300)); t === null || $t || (t = t.dependencies, t !== null && Ql(t) && ($t = !0)) } function Nx(t, s, i, u) { Ze = t; var p = 0; do { if (Bo && (Po = null), hi = 0, Bo = !1, 25 <= p) throw Error(a(301)); if (p += 1, Tt = dt = null, t.updateQueue != null) { var v = t.updateQueue; v.lastEffect = null, v.events = null, v.stores = null, v.memoCache != null && (v.memoCache.index = 0) } k.H = g_, v = s(i, u) } while (Bo); return v } function u_() { var t = k.H, s = t.useState()[0]; return s = typeof s.then == "function" ? pi(s) : s, t = t.useState()[0], (dt !== null ? dt.memoizedState : null) !== t && (Ze.flags |= 1024), s } function Df() { var t = oc !== 0; return oc = 0, t } function Of(t, s, i) { s.updateQueue = t.updateQueue, s.flags &= -2053, t.lanes &= ~i } function zf(t) { if (rc) { for (t = t.memoizedState; t !== null;) { var s = t.queue; s !== null && (s.pending = null), t = t.next } rc = !1 } er = 0, Tt = dt = Ze = null, Bo = !1, hi = oc = 0, Po = null } function rn() { var t = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; return Tt === null ? Ze.memoizedState = Tt = t : Tt = Tt.next = t, Tt } function Rt() { if (dt === null) { var t = Ze.alternate; t = t !== null ? t.memoizedState : null } else t = dt.next; var s = Tt === null ? Ze.memoizedState : Tt.next; if (s !== null) Tt = s, dt = t; else { if (t === null) throw Ze.alternate === null ? Error(a(467)) : Error(a(310)); dt = t, t = { memoizedState: dt.memoizedState, baseState: dt.baseState, baseQueue: dt.baseQueue, queue: dt.queue, next: null }, Tt === null ? Ze.memoizedState = Tt = t : Tt = Tt.next = t } return Tt } function If() { return { lastEffect: null, events: null, stores: null, memoCache: null } } function pi(t) { var s = hi; return hi += 1, Po === null && (Po = []), t = px(Po, t, s), s = Ze, (Tt === null ? s.memoizedState : Tt.next) === null && (s = s.alternate, k.H = s === null || s.memoizedState === null ? s0 : r0), t } function ac(t) { if (t !== null && typeof t == "object") { if (typeof t.then == "function") return pi(t); if (t.$$typeof === E) return Zt(t) } throw Error(a(438, String(t))) } function Lf(t) { var s = null, i = Ze.updateQueue; if (i !== null && (s = i.memoCache), s == null) { var u = Ze.alternate; u !== null && (u = u.updateQueue, u !== null && (u = u.memoCache, u != null && (s = { data: u.data.map(function (p) { return p.slice() }), index: 0 }))) } if (s == null && (s = { data: [], index: 0 }), i === null && (i = If(), Ze.updateQueue = i), i.memoCache = s, i = s.data[s.index], i === void 0) for (i = s.data[s.index] = Array(t), u = 0; u < t; u++)i[u] = K; return s.index++, i } function Es(t, s) { return typeof s == "function" ? s(t) : s } function ic(t) { var s = Rt(); return Hf(s, dt, t) } function Hf(t, s, i) { var u = t.queue; if (u === null) throw Error(a(311)); u.lastRenderedReducer = i; var p = t.baseQueue, v = u.pending; if (v !== null) { if (p !== null) { var A = p.next; p.next = v.next, v.next = A } s.baseQueue = p = v, u.pending = null } if (v = t.baseState, p === null) t.memoizedState = v; else { s = p.next; var z = A = null, F = null, re = s, le = !1; do { var me = re.lane & -536870913; if (me !== re.lane ? (nt & me) === me : (er & me) === me) { var oe = re.revertLane; if (oe === 0) F !== null && (F = F.next = { lane: 0, revertLane: 0, action: re.action, hasEagerState: re.hasEagerState, eagerState: re.eagerState, next: null }), me === Lo && (le = !0); else if ((er & oe) === oe) { re = re.next, oe === Lo && (le = !0); continue } else me = { lane: 0, revertLane: re.revertLane, action: re.action, hasEagerState: re.hasEagerState, eagerState: re.eagerState, next: null }, F === null ? (z = F = me, A = v) : F = F.next = me, Ze.lanes |= oe, ir |= oe; me = re.action, Gr && i(v, me), v = re.hasEagerState ? re.eagerState : i(v, me) } else oe = { lane: me, revertLane: re.revertLane, action: re.action, hasEagerState: re.hasEagerState, eagerState: re.eagerState, next: null }, F === null ? (z = F = oe, A = v) : F = F.next = oe, Ze.lanes |= me, ir |= me; re = re.next } while (re !== null && re !== s); if (F === null ? A = v : F.next = z, !cn(v, t.memoizedState) && ($t = !0, le && (i = Ho, i !== null))) throw i; t.memoizedState = v, t.baseState = A, t.baseQueue = F, u.lastRenderedState = v } return p === null && (u.lanes = 0), [t.memoizedState, u.dispatch] } function $f(t) { var s = Rt(), i = s.queue; if (i === null) throw Error(a(311)); i.lastRenderedReducer = t; var u = i.dispatch, p = i.pending, v = s.memoizedState; if (p !== null) { i.pending = null; var A = p = p.next; do v = t(v, A.action), A = A.next; while (A !== p); cn(v, s.memoizedState) || ($t = !0), s.memoizedState = v, s.baseQueue === null && (s.baseState = v), i.lastRenderedState = v } return [v, u] } function Sx(t, s, i) { var u = Ze, p = Rt(), v = at; if (v) { if (i === void 0) throw Error(a(407)); i = i() } else i = s(); var A = !cn((dt || p).memoizedState, i); A && (p.memoizedState = i, $t = !0), p = p.queue; var z = Ex.bind(null, u, p, t); if (gi(2048, 8, z, [t]), p.getSnapshot !== s || A || Tt !== null && Tt.memoizedState.tag & 1) { if (u.flags |= 2048, Uo(9, lc(), _x.bind(null, u, p, i, s), null), gt === null) throw Error(a(349)); v || (er & 124) !== 0 || jx(u, s, i) } return i } function jx(t, s, i) { t.flags |= 16384, t = { getSnapshot: s, value: i }, s = Ze.updateQueue, s === null ? (s = If(), Ze.updateQueue = s, s.stores = [t]) : (i = s.stores, i === null ? s.stores = [t] : i.push(t)) } function _x(t, s, i, u) { s.value = i, s.getSnapshot = u, Cx(s) && kx(t) } function Ex(t, s, i) { return i(function () { Cx(s) && kx(t) }) } function Cx(t) { var s = t.getSnapshot; t = t.value; try { var i = s(); return !cn(t, i) } catch { return !0 } } function kx(t) { var s = Do(t, 2); s !== null && pn(s, t, 2) } function Bf(t) { var s = rn(); if (typeof t == "function") { var i = t; if (t = i(), Gr) { Nt(!0); try { i() } finally { Nt(!1) } } } return s.memoizedState = s.baseState = t, s.queue = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: Es, lastRenderedState: t }, s } function Ax(t, s, i, u) { return t.baseState = i, Hf(t, dt, typeof u == "function" ? u : Es) } function d_(t, s, i, u, p) { if (uc(t)) throw Error(a(485)); if (t = s.action, t !== null) { var v = { payload: p, action: t, next: null, isTransition: !0, status: "pending", value: null, reason: null, listeners: [], then: function (A) { v.listeners.push(A) } }; k.T !== null ? i(!0) : v.isTransition = !1, u(v), i = s.pending, i === null ? (v.next = s.pending = v, Mx(s, v)) : (v.next = i.next, s.pending = i.next = v) } } function Mx(t, s) { var i = s.action, u = s.payload, p = t.state; if (s.isTransition) { var v = k.T, A = {}; k.T = A; try { var z = i(p, u), F = k.S; F !== null && F(A, z), Tx(t, s, z) } catch (re) { Pf(t, s, re) } finally { k.T = v } } else try { v = i(p, u), Tx(t, s, v) } catch (re) { Pf(t, s, re) } } function Tx(t, s, i) { i !== null && typeof i == "object" && typeof i.then == "function" ? i.then(function (u) { Rx(t, s, u) }, function (u) { return Pf(t, s, u) }) : Rx(t, s, i) } function Rx(t, s, i) { s.status = "fulfilled", s.value = i, Dx(s), t.state = i, s = t.pending, s !== null && (i = s.next, i === s ? t.pending = null : (i = i.next, s.next = i, Mx(t, i))) } function Pf(t, s, i) { var u = t.pending; if (t.pending = null, u !== null) { u = u.next; do s.status = "rejected", s.reason = i, Dx(s), s = s.next; while (s !== u) } t.action = null } function Dx(t) { t = t.listeners; for (var s = 0; s < t.length; s++)(0, t[s])() } function Ox(t, s) { return s } function zx(t, s) { if (at) { var i = gt.formState; if (i !== null) { e: { var u = Ze; if (at) { if (jt) { t: { for (var p = jt, v = Zn; p.nodeType !== 8;) { if (!v) { p = null; break t } if (p = Hn(p.nextSibling), p === null) { p = null; break t } } v = p.data, p = v === "F!" || v === "F" ? p : null } if (p) { jt = Hn(p.nextSibling), u = p.data === "F!"; break e } } Vr(u) } u = !1 } u && (s = i[0]) } } return i = rn(), i.memoizedState = i.baseState = s, u = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: Ox, lastRenderedState: s }, i.queue = u, i = e0.bind(null, Ze, u), u.dispatch = i, u = Bf(!1), v = Yf.bind(null, Ze, !1, u.queue), u = rn(), p = { state: s, dispatch: null, action: t, pending: null }, u.queue = p, i = d_.bind(null, Ze, p, v, i), p.dispatch = i, u.memoizedState = t, [s, i, !1] } function Ix(t) { var s = Rt(); return Lx(s, dt, t) } function Lx(t, s, i) { if (s = Hf(t, s, Ox)[0], t = ic(Es)[0], typeof s == "object" && s !== null && typeof s.then == "function") try { var u = pi(s) } catch (A) { throw A === ci ? tc : A } else u = s; s = Rt(); var p = s.queue, v = p.dispatch; return i !== s.memoizedState && (Ze.flags |= 2048, Uo(9, lc(), f_.bind(null, p, i), null)), [u, v, t] } function f_(t, s) { t.action = s } function Hx(t) { var s = Rt(), i = dt; if (i !== null) return Lx(s, i, t); Rt(), s = s.memoizedState, i = Rt(); var u = i.queue.dispatch; return i.memoizedState = t, [s, u, !1] } function Uo(t, s, i, u) { return t = { tag: t, create: i, deps: u, inst: s, next: null }, s = Ze.updateQueue, s === null && (s = If(), Ze.updateQueue = s), i = s.lastEffect, i === null ? s.lastEffect = t.next = t : (u = i.next, i.next = t, t.next = u, s.lastEffect = t), t } function lc() { return { destroy: void 0, resource: void 0 } } function $x() { return Rt().memoizedState } function cc(t, s, i, u) { var p = rn(); u = u === void 0 ? null : u, Ze.flags |= t, p.memoizedState = Uo(1 | s, lc(), i, u) } function gi(t, s, i, u) { var p = Rt(); u = u === void 0 ? null : u; var v = p.memoizedState.inst; dt !== null && u !== null && Tf(u, dt.memoizedState.deps) ? p.memoizedState = Uo(s, v, i, u) : (Ze.flags |= t, p.memoizedState = Uo(1 | s, v, i, u)) } function Bx(t, s) { cc(8390656, 8, t, s) } function Px(t, s) { gi(2048, 8, t, s) } function Ux(t, s) { return gi(4, 2, t, s) } function Vx(t, s) { return gi(4, 4, t, s) } function qx(t, s) { if (typeof s == "function") { t = t(); var i = s(t); return function () { typeof i == "function" ? i() : s(null) } } if (s != null) return t = t(), s.current = t, function () { s.current = null } } function Fx(t, s, i) { i = i != null ? i.concat([t]) : null, gi(4, 4, qx.bind(null, s, t), i) } function Uf() { } function Yx(t, s) { var i = Rt(); s = s === void 0 ? null : s; var u = i.memoizedState; return s !== null && Tf(s, u[1]) ? u[0] : (i.memoizedState = [t, s], t) } function Gx(t, s) { var i = Rt(); s = s === void 0 ? null : s; var u = i.memoizedState; if (s !== null && Tf(s, u[1])) return u[0]; if (u = t(), Gr) { Nt(!0); try { t() } finally { Nt(!1) } } return i.memoizedState = [u, s], u } function Vf(t, s, i) { return i === void 0 || (er & 1073741824) !== 0 ? t.memoizedState = s : (t.memoizedState = i, t = W0(), Ze.lanes |= t, ir |= t, i) } function Xx(t, s, i, u) { return cn(i, s) ? i : $o.current !== null ? (t = Vf(t, i, u), cn(t, s) || ($t = !0), t) : (er & 42) === 0 ? ($t = !0, t.memoizedState = i) : (t = W0(), Ze.lanes |= t, ir |= t, s) } function Zx(t, s, i, u, p) { var v = L.p; L.p = v !== 0 && 8 > v ? v : 8; var A = k.T, z = {}; k.T = z, Yf(t, !1, s, i); try { var F = p(), re = k.S; if (re !== null && re(z, F), F !== null && typeof F == "object" && typeof F.then == "function") { var le = l_(F, u); xi(t, s, le, hn(t)) } else xi(t, s, u, hn(t)) } catch (me) { xi(t, s, { then: function () { }, status: "rejected", reason: me }, hn()) } finally { L.p = v, k.T = A } } function m_() { } function qf(t, s, i, u) { if (t.tag !== 5) throw Error(a(476)); var p = Wx(t).queue; Zx(t, p, s, I, i === null ? m_ : function () { return Kx(t), i(u) }) } function Wx(t) { var s = t.memoizedState; if (s !== null) return s; s = { memoizedState: I, baseState: I, baseQueue: null, queue: { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: Es, lastRenderedState: I }, next: null }; var i = {}; return s.next = { memoizedState: i, baseState: i, baseQueue: null, queue: { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: Es, lastRenderedState: i }, next: null }, t.memoizedState = s, t = t.alternate, t !== null && (t.memoizedState = s), s } function Kx(t) { var s = Wx(t).next.queue; xi(t, s, {}, hn()) } function Ff() { return Zt(zi) } function Qx() { return Rt().memoizedState } function Jx() { return Rt().memoizedState } function h_(t) { for (var s = t.return; s !== null;) { switch (s.tag) { case 24: case 3: var i = hn(); t = Qs(i); var u = Js(s, t, i); u !== null && (pn(u, s, i), di(u, s, i)), s = { cache: wf() }, t.payload = s; return }s = s.return } } function p_(t, s, i) { var u = hn(); i = { lane: u, revertLane: 0, action: i, hasEagerState: !1, eagerState: null, next: null }, uc(t) ? t0(s, i) : (i = df(t, s, i, u), i !== null && (pn(i, t, u), n0(i, s, u))) } function e0(t, s, i) { var u = hn(); xi(t, s, i, u) } function xi(t, s, i, u) { var p = { lane: u, revertLane: 0, action: i, hasEagerState: !1, eagerState: null, next: null }; if (uc(t)) t0(s, p); else { var v = t.alternate; if (t.lanes === 0 && (v === null || v.lanes === 0) && (v = s.lastRenderedReducer, v !== null)) try { var A = s.lastRenderedState, z = v(A, i); if (p.hasEagerState = !0, p.eagerState = z, cn(z, A)) return Gl(t, s, p, 0), gt === null && Yl(), !1 } catch { } finally { } if (i = df(t, s, p, u), i !== null) return pn(i, t, u), n0(i, s, u), !0 } return !1 } function Yf(t, s, i, u) { if (u = { lane: 2, revertLane: jm(), action: u, hasEagerState: !1, eagerState: null, next: null }, uc(t)) { if (s) throw Error(a(479)) } else s = df(t, i, u, 2), s !== null && pn(s, t, 2) } function uc(t) { var s = t.alternate; return t === Ze || s !== null && s === Ze } function t0(t, s) { Bo = rc = !0; var i = t.pending; i === null ? s.next = s : (s.next = i.next, i.next = s), t.pending = s } function n0(t, s, i) { if ((i & 4194048) !== 0) { var u = s.lanes; u &= t.pendingLanes, i |= u, s.lanes = i, La(t, i) } } var dc = { readContext: Zt, use: ac, useCallback: Ct, useContext: Ct, useEffect: Ct, useImperativeHandle: Ct, useLayoutEffect: Ct, useInsertionEffect: Ct, useMemo: Ct, useReducer: Ct, useRef: Ct, useState: Ct, useDebugValue: Ct, useDeferredValue: Ct, useTransition: Ct, useSyncExternalStore: Ct, useId: Ct, useHostTransitionStatus: Ct, useFormState: Ct, useActionState: Ct, useOptimistic: Ct, useMemoCache: Ct, useCacheRefresh: Ct }, s0 = { readContext: Zt, use: ac, useCallback: function (t, s) { return rn().memoizedState = [t, s === void 0 ? null : s], t }, useContext: Zt, useEffect: Bx, useImperativeHandle: function (t, s, i) { i = i != null ? i.concat([t]) : null, cc(4194308, 4, qx.bind(null, s, t), i) }, useLayoutEffect: function (t, s) { return cc(4194308, 4, t, s) }, useInsertionEffect: function (t, s) { cc(4, 2, t, s) }, useMemo: function (t, s) { var i = rn(); s = s === void 0 ? null : s; var u = t(); if (Gr) { Nt(!0); try { t() } finally { Nt(!1) } } return i.memoizedState = [u, s], u }, useReducer: function (t, s, i) { var u = rn(); if (i !== void 0) { var p = i(s); if (Gr) { Nt(!0); try { i(s) } finally { Nt(!1) } } } else p = s; return u.memoizedState = u.baseState = p, t = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: t, lastRenderedState: p }, u.queue = t, t = t.dispatch = p_.bind(null, Ze, t), [u.memoizedState, t] }, useRef: function (t) { var s = rn(); return t = { current: t }, s.memoizedState = t }, useState: function (t) { t = Bf(t); var s = t.queue, i = e0.bind(null, Ze, s); return s.dispatch = i, [t.memoizedState, i] }, useDebugValue: Uf, useDeferredValue: function (t, s) { var i = rn(); return Vf(i, t, s) }, useTransition: function () { var t = Bf(!1); return t = Zx.bind(null, Ze, t.queue, !0, !1), rn().memoizedState = t, [!1, t] }, useSyncExternalStore: function (t, s, i) { var u = Ze, p = rn(); if (at) { if (i === void 0) throw Error(a(407)); i = i() } else { if (i = s(), gt === null) throw Error(a(349)); (nt & 124) !== 0 || jx(u, s, i) } p.memoizedState = i; var v = { value: i, getSnapshot: s }; return p.queue = v, Bx(Ex.bind(null, u, v, t), [t]), u.flags |= 2048, Uo(9, lc(), _x.bind(null, u, v, i, s), null), i }, useId: function () { var t = rn(), s = gt.identifierPrefix; if (at) { var i = Ss, u = Ns; i = (u & ~(1 << 32 - yt(u) - 1)).toString(32) + i, s = "«" + s + "R" + i, i = oc++, 0 < i && (s += "H" + i.toString(32)), s += "»" } else i = c_++, s = "«" + s + "r" + i.toString(32) + "»"; return t.memoizedState = s }, useHostTransitionStatus: Ff, useFormState: zx, useActionState: zx, useOptimistic: function (t) { var s = rn(); s.memoizedState = s.baseState = t; var i = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: null, lastRenderedState: null }; return s.queue = i, s = Yf.bind(null, Ze, !0, i), i.dispatch = s, [t, s] }, useMemoCache: Lf, useCacheRefresh: function () { return rn().memoizedState = h_.bind(null, Ze) } }, r0 = { readContext: Zt, use: ac, useCallback: Yx, useContext: Zt, useEffect: Px, useImperativeHandle: Fx, useInsertionEffect: Ux, useLayoutEffect: Vx, useMemo: Gx, useReducer: ic, useRef: $x, useState: function () { return ic(Es) }, useDebugValue: Uf, useDeferredValue: function (t, s) { var i = Rt(); return Xx(i, dt.memoizedState, t, s) }, useTransition: function () { var t = ic(Es)[0], s = Rt().memoizedState; return [typeof t == "boolean" ? t : pi(t), s] }, useSyncExternalStore: Sx, useId: Qx, useHostTransitionStatus: Ff, useFormState: Ix, useActionState: Ix, useOptimistic: function (t, s) { var i = Rt(); return Ax(i, dt, t, s) }, useMemoCache: Lf, useCacheRefresh: Jx }, g_ = { readContext: Zt, use: ac, useCallback: Yx, useContext: Zt, useEffect: Px, useImperativeHandle: Fx, useInsertionEffect: Ux, useLayoutEffect: Vx, useMemo: Gx, useReducer: $f, useRef: $x, useState: function () { return $f(Es) }, useDebugValue: Uf, useDeferredValue: function (t, s) { var i = Rt(); return dt === null ? Vf(i, t, s) : Xx(i, dt.memoizedState, t, s) }, useTransition: function () { var t = $f(Es)[0], s = Rt().memoizedState; return [typeof t == "boolean" ? t : pi(t), s] }, useSyncExternalStore: Sx, useId: Qx, useHostTransitionStatus: Ff, useFormState: Hx, useActionState: Hx, useOptimistic: function (t, s) { var i = Rt(); return dt !== null ? Ax(i, dt, t, s) : (i.baseState = t, [t, i.queue.dispatch]) }, useMemoCache: Lf, useCacheRefresh: Jx }, Vo = null, yi = 0; function fc(t) { var s = yi; return yi += 1, Vo === null && (Vo = []), px(Vo, t, s) } function vi(t, s) { s = s.props.ref, t.ref = s !== void 0 ? s : null } function mc(t, s) { throw s.$$typeof === y ? Error(a(525)) : (t = Object.prototype.toString.call(s), Error(a(31, t === "[object Object]" ? "object with keys {" + Object.keys(s).join(", ") + "}" : t))) } function o0(t) { var s = t._init; return s(t._payload) } function a0(t) { function s(Q, X) { if (t) { var se = Q.deletions; se === null ? (Q.deletions = [X], Q.flags |= 16) : se.push(X) } } function i(Q, X) { if (!t) return null; for (; X !== null;)s(Q, X), X = X.sibling; return null } function u(Q) { for (var X = new Map; Q !== null;)Q.key !== null ? X.set(Q.key, Q) : X.set(Q.index, Q), Q = Q.sibling; return X } function p(Q, X) { return Q = ws(Q, X), Q.index = 0, Q.sibling = null, Q } function v(Q, X, se) { return Q.index = se, t ? (se = Q.alternate, se !== null ? (se = se.index, se < X ? (Q.flags |= 67108866, X) : se) : (Q.flags |= 67108866, X)) : (Q.flags |= 1048576, X) } function A(Q) { return t && Q.alternate === null && (Q.flags |= 67108866), Q } function z(Q, X, se, ce) { return X === null || X.tag !== 6 ? (X = mf(se, Q.mode, ce), X.return = Q, X) : (X = p(X, se), X.return = Q, X) } function F(Q, X, se, ce) { var Ce = se.type; return Ce === S ? le(Q, X, se.props.children, ce, se.key) : X !== null && (X.elementType === Ce || typeof Ce == "object" && Ce !== null && Ce.$$typeof === B && o0(Ce) === X.type) ? (X = p(X, se.props), vi(X, se), X.return = Q, X) : (X = Zl(se.type, se.key, se.props, null, Q.mode, ce), vi(X, se), X.return = Q, X) } function re(Q, X, se, ce) { return X === null || X.tag !== 4 || X.stateNode.containerInfo !== se.containerInfo || X.stateNode.implementation !== se.implementation ? (X = hf(se, Q.mode, ce), X.return = Q, X) : (X = p(X, se.children || []), X.return = Q, X) } function le(Q, X, se, ce, Ce) { return X === null || X.tag !== 7 ? (X = $r(se, Q.mode, ce, Ce), X.return = Q, X) : (X = p(X, se), X.return = Q, X) } function me(Q, X, se) { if (typeof X == "string" && X !== "" || typeof X == "number" || typeof X == "bigint") return X = mf("" + X, Q.mode, se), X.return = Q, X; if (typeof X == "object" && X !== null) { switch (X.$$typeof) { case x: return se = Zl(X.type, X.key, X.props, null, Q.mode, se), vi(se, X), se.return = Q, se; case b: return X = hf(X, Q.mode, se), X.return = Q, X; case B: var ce = X._init; return X = ce(X._payload), me(Q, X, se) }if (U(X) || G(X)) return X = $r(X, Q.mode, se, null), X.return = Q, X; if (typeof X.then == "function") return me(Q, fc(X), se); if (X.$$typeof === E) return me(Q, Jl(Q, X), se); mc(Q, X) } return null } function oe(Q, X, se, ce) { var Ce = X !== null ? X.key : null; if (typeof se == "string" && se !== "" || typeof se == "number" || typeof se == "bigint") return Ce !== null ? null : z(Q, X, "" + se, ce); if (typeof se == "object" && se !== null) { switch (se.$$typeof) { case x: return se.key === Ce ? F(Q, X, se, ce) : null; case b: return se.key === Ce ? re(Q, X, se, ce) : null; case B: return Ce = se._init, se = Ce(se._payload), oe(Q, X, se, ce) }if (U(se) || G(se)) return Ce !== null ? null : le(Q, X, se, ce, null); if (typeof se.then == "function") return oe(Q, X, fc(se), ce); if (se.$$typeof === E) return oe(Q, X, Jl(Q, se), ce); mc(Q, se) } return null } function ae(Q, X, se, ce, Ce) { if (typeof ce == "string" && ce !== "" || typeof ce == "number" || typeof ce == "bigint") return Q = Q.get(se) || null, z(X, Q, "" + ce, Ce); if (typeof ce == "object" && ce !== null) { switch (ce.$$typeof) { case x: return Q = Q.get(ce.key === null ? se : ce.key) || null, F(X, Q, ce, Ce); case b: return Q = Q.get(ce.key === null ? se : ce.key) || null, re(X, Q, ce, Ce); case B: var Ke = ce._init; return ce = Ke(ce._payload), ae(Q, X, se, ce, Ce) }if (U(ce) || G(ce)) return Q = Q.get(se) || null, le(X, Q, ce, Ce, null); if (typeof ce.then == "function") return ae(Q, X, se, fc(ce), Ce); if (ce.$$typeof === E) return ae(Q, X, se, Jl(X, ce), Ce); mc(X, ce) } return null } function qe(Q, X, se, ce) { for (var Ce = null, Ke = null, Oe = X, Ve = X = 0, Pt = null; Oe !== null && Ve < se.length; Ve++) { Oe.index > Ve ? (Pt = Oe, Oe = null) : Pt = Oe.sibling; var rt = oe(Q, Oe, se[Ve], ce); if (rt === null) { Oe === null && (Oe = Pt); break } t && Oe && rt.alternate === null && s(Q, Oe), X = v(rt, X, Ve), Ke === null ? Ce = rt : Ke.sibling = rt, Ke = rt, Oe = Pt } if (Ve === se.length) return i(Q, Oe), at && Pr(Q, Ve), Ce; if (Oe === null) { for (; Ve < se.length; Ve++)Oe = me(Q, se[Ve], ce), Oe !== null && (X = v(Oe, X, Ve), Ke === null ? Ce = Oe : Ke.sibling = Oe, Ke = Oe); return at && Pr(Q, Ve), Ce } for (Oe = u(Oe); Ve < se.length; Ve++)Pt = ae(Oe, Q, Ve, se[Ve], ce), Pt !== null && (t && Pt.alternate !== null && Oe.delete(Pt.key === null ? Ve : Pt.key), X = v(Pt, X, Ve), Ke === null ? Ce = Pt : Ke.sibling = Pt, Ke = Pt); return t && Oe.forEach(function (gr) { return s(Q, gr) }), at && Pr(Q, Ve), Ce } function Be(Q, X, se, ce) { if (se == null) throw Error(a(151)); for (var Ce = null, Ke = null, Oe = X, Ve = X = 0, Pt = null, rt = se.next(); Oe !== null && !rt.done; Ve++, rt = se.next()) { Oe.index > Ve ? (Pt = Oe, Oe = null) : Pt = Oe.sibling; var gr = oe(Q, Oe, rt.value, ce); if (gr === null) { Oe === null && (Oe = Pt); break } t && Oe && gr.alternate === null && s(Q, Oe), X = v(gr, X, Ve), Ke === null ? Ce = gr : Ke.sibling = gr, Ke = gr, Oe = Pt } if (rt.done) return i(Q, Oe), at && Pr(Q, Ve), Ce; if (Oe === null) { for (; !rt.done; Ve++, rt = se.next())rt = me(Q, rt.value, ce), rt !== null && (X = v(rt, X, Ve), Ke === null ? Ce = rt : Ke.sibling = rt, Ke = rt); return at && Pr(Q, Ve), Ce } for (Oe = u(Oe); !rt.done; Ve++, rt = se.next())rt = ae(Oe, Q, Ve, rt.value, ce), rt !== null && (t && rt.alternate !== null && Oe.delete(rt.key === null ? Ve : rt.key), X = v(rt, X, Ve), Ke === null ? Ce = rt : Ke.sibling = rt, Ke = rt); return t && Oe.forEach(function (xE) { return s(Q, xE) }), at && Pr(Q, Ve), Ce } function mt(Q, X, se, ce) { if (typeof se == "object" && se !== null && se.type === S && se.key === null && (se = se.props.children), typeof se == "object" && se !== null) { switch (se.$$typeof) { case x: e: { for (var Ce = se.key; X !== null;) { if (X.key === Ce) { if (Ce = se.type, Ce === S) { if (X.tag === 7) { i(Q, X.sibling), ce = p(X, se.props.children), ce.return = Q, Q = ce; break e } } else if (X.elementType === Ce || typeof Ce == "object" && Ce !== null && Ce.$$typeof === B && o0(Ce) === X.type) { i(Q, X.sibling), ce = p(X, se.props), vi(ce, se), ce.return = Q, Q = ce; break e } i(Q, X); break } else s(Q, X); X = X.sibling } se.type === S ? (ce = $r(se.props.children, Q.mode, ce, se.key), ce.return = Q, Q = ce) : (ce = Zl(se.type, se.key, se.props, null, Q.mode, ce), vi(ce, se), ce.return = Q, Q = ce) } return A(Q); case b: e: { for (Ce = se.key; X !== null;) { if (X.key === Ce) if (X.tag === 4 && X.stateNode.containerInfo === se.containerInfo && X.stateNode.implementation === se.implementation) { i(Q, X.sibling), ce = p(X, se.children || []), ce.return = Q, Q = ce; break e } else { i(Q, X); break } else s(Q, X); X = X.sibling } ce = hf(se, Q.mode, ce), ce.return = Q, Q = ce } return A(Q); case B: return Ce = se._init, se = Ce(se._payload), mt(Q, X, se, ce) }if (U(se)) return qe(Q, X, se, ce); if (G(se)) { if (Ce = G(se), typeof Ce != "function") throw Error(a(150)); return se = Ce.call(se), Be(Q, X, se, ce) } if (typeof se.then == "function") return mt(Q, X, fc(se), ce); if (se.$$typeof === E) return mt(Q, X, Jl(Q, se), ce); mc(Q, se) } return typeof se == "string" && se !== "" || typeof se == "number" || typeof se == "bigint" ? (se = "" + se, X !== null && X.tag === 6 ? (i(Q, X.sibling), ce = p(X, se), ce.return = Q, Q = ce) : (i(Q, X), ce = mf(se, Q.mode, ce), ce.return = Q, Q = ce), A(Q)) : i(Q, X) } return function (Q, X, se, ce) { try { yi = 0; var Ce = mt(Q, X, se, ce); return Vo = null, Ce } catch (Oe) { if (Oe === ci || Oe === tc) throw Oe; var Ke = un(29, Oe, null, Q.mode); return Ke.lanes = ce, Ke.return = Q, Ke } finally { } } } var qo = a0(!0), i0 = a0(!1), En = $(null), Wn = null; function tr(t) { var s = t.alternate; V(zt, zt.current & 1), V(En, t), Wn === null && (s === null || $o.current !== null || s.memoizedState !== null) && (Wn = t) } function l0(t) { if (t.tag === 22) { if (V(zt, zt.current), V(En, t), Wn === null) { var s = t.alternate; s !== null && s.memoizedState !== null && (Wn = t) } } else nr() } function nr() { V(zt, zt.current), V(En, En.current) } function Cs(t) { Y(En), Wn === t && (Wn = null), Y(zt) } var zt = $(0); function hc(t) { for (var s = t; s !== null;) { if (s.tag === 13) { var i = s.memoizedState; if (i !== null && (i = i.dehydrated, i === null || i.data === "$?" || Im(i))) return s } else if (s.tag === 19 && s.memoizedProps.revealOrder !== void 0) { if ((s.flags & 128) !== 0) return s } else if (s.child !== null) { s.child.return = s, s = s.child; continue } if (s === t) break; for (; s.sibling === null;) { if (s.return === null || s.return === t) return null; s = s.return } s.sibling.return = s.return, s = s.sibling } return null } function Gf(t, s, i, u) { s = t.memoizedState, i = i(u, s), i = i == null ? s : g({}, s, i), t.memoizedState = i, t.lanes === 0 && (t.updateQueue.baseState = i) } var Xf = { enqueueSetState: function (t, s, i) { t = t._reactInternals; var u = hn(), p = Qs(u); p.payload = s, i != null && (p.callback = i), s = Js(t, p, u), s !== null && (pn(s, t, u), di(s, t, u)) }, enqueueReplaceState: function (t, s, i) { t = t._reactInternals; var u = hn(), p = Qs(u); p.tag = 1, p.payload = s, i != null && (p.callback = i), s = Js(t, p, u), s !== null && (pn(s, t, u), di(s, t, u)) }, enqueueForceUpdate: function (t, s) { t = t._reactInternals; var i = hn(), u = Qs(i); u.tag = 2, s != null && (u.callback = s), s = Js(t, u, i), s !== null && (pn(s, t, i), di(s, t, i)) } }; function c0(t, s, i, u, p, v, A) { return t = t.stateNode, typeof t.shouldComponentUpdate == "function" ? t.shouldComponentUpdate(u, v, A) : s.prototype && s.prototype.isPureReactComponent ? !ti(i, u) || !ti(p, v) : !0 } function u0(t, s, i, u) { t = s.state, typeof s.componentWillReceiveProps == "function" && s.componentWillReceiveProps(i, u), typeof s.UNSAFE_componentWillReceiveProps == "function" && s.UNSAFE_componentWillReceiveProps(i, u), s.state !== t && Xf.enqueueReplaceState(s, s.state, null) } function Xr(t, s) { var i = s; if ("ref" in s) { i = {}; for (var u in s) u !== "ref" && (i[u] = s[u]) } if (t = t.defaultProps) { i === s && (i = g({}, i)); for (var p in t) i[p] === void 0 && (i[p] = t[p]) } return i } var pc = typeof reportError == "function" ? reportError : function (t) { if (typeof window == "object" && typeof window.ErrorEvent == "function") { var s = new window.ErrorEvent("error", { bubbles: !0, cancelable: !0, message: typeof t == "object" && t !== null && typeof t.message == "string" ? String(t.message) : String(t), error: t }); if (!window.dispatchEvent(s)) return } else if (typeof process == "object" && typeof process.emit == "function") { process.emit("uncaughtException", t); return } console.error(t) }; function d0(t) { pc(t) } function f0(t) { console.error(t) } function m0(t) { pc(t) } function gc(t, s) { try { var i = t.onUncaughtError; i(s.value, { componentStack: s.stack }) } catch (u) { setTimeout(function () { throw u }) } } function h0(t, s, i) { try { var u = t.onCaughtError; u(i.value, { componentStack: i.stack, errorBoundary: s.tag === 1 ? s.stateNode : null }) } catch (p) { setTimeout(function () { throw p }) } } function Zf(t, s, i) { return i = Qs(i), i.tag = 3, i.payload = { element: null }, i.callback = function () { gc(t, s) }, i } function p0(t) { return t = Qs(t), t.tag = 3, t } function g0(t, s, i, u) { var p = i.type.getDerivedStateFromError; if (typeof p == "function") { var v = u.value; t.payload = function () { return p(v) }, t.callback = function () { h0(s, i, u) } } var A = i.stateNode; A !== null && typeof A.componentDidCatch == "function" && (t.callback = function () { h0(s, i, u), typeof p != "function" && (lr === null ? lr = new Set([this]) : lr.add(this)); var z = u.stack; this.componentDidCatch(u.value, { componentStack: z !== null ? z : "" }) }) } function x_(t, s, i, u, p) { if (i.flags |= 32768, u !== null && typeof u == "object" && typeof u.then == "function") { if (s = i.alternate, s !== null && ai(s, i, p, !0), i = En.current, i !== null) { switch (i.tag) { case 13: return Wn === null ? vm() : i.alternate === null && _t === 0 && (_t = 3), i.flags &= -257, i.flags |= 65536, i.lanes = p, u === jf ? i.flags |= 16384 : (s = i.updateQueue, s === null ? i.updateQueue = new Set([u]) : s.add(u), wm(t, u, p)), !1; case 22: return i.flags |= 65536, u === jf ? i.flags |= 16384 : (s = i.updateQueue, s === null ? (s = { transitions: null, markerInstances: null, retryQueue: new Set([u]) }, i.updateQueue = s) : (i = s.retryQueue, i === null ? s.retryQueue = new Set([u]) : i.add(u)), wm(t, u, p)), !1 }throw Error(a(435, i.tag)) } return wm(t, u, p), vm(), !1 } if (at) return s = En.current, s !== null ? ((s.flags & 65536) === 0 && (s.flags |= 256), s.flags |= 65536, s.lanes = p, u !== xf && (t = Error(a(422), { cause: u }), oi(Nn(t, i)))) : (u !== xf && (s = Error(a(423), { cause: u }), oi(Nn(s, i))), t = t.current.alternate, t.flags |= 65536, p &= -p, t.lanes |= p, u = Nn(u, i), p = Zf(t.stateNode, u, p), Cf(t, p), _t !== 4 && (_t = 2)), !1; var v = Error(a(520), { cause: u }); if (v = Nn(v, i), Ei === null ? Ei = [v] : Ei.push(v), _t !== 4 && (_t = 2), s === null) return !0; u = Nn(u, i), i = s; do { switch (i.tag) { case 3: return i.flags |= 65536, t = p & -p, i.lanes |= t, t = Zf(i.stateNode, u, t), Cf(i, t), !1; case 1: if (s = i.type, v = i.stateNode, (i.flags & 128) === 0 && (typeof s.getDerivedStateFromError == "function" || v !== null && typeof v.componentDidCatch == "function" && (lr === null || !lr.has(v)))) return i.flags |= 65536, p &= -p, i.lanes |= p, p = p0(p), g0(p, t, i, u), Cf(i, p), !1 }i = i.return } while (i !== null); return !1 } var x0 = Error(a(461)), $t = !1; function Vt(t, s, i, u) { s.child = t === null ? i0(s, null, i, u) : qo(s, t.child, i, u) } function y0(t, s, i, u, p) { i = i.render; var v = s.ref; if ("ref" in u) { var A = {}; for (var z in u) z !== "ref" && (A[z] = u[z]) } else A = u; return Fr(s), u = Rf(t, s, i, A, v, p), z = Df(), t !== null && !$t ? (Of(t, s, p), ks(t, s, p)) : (at && z && pf(s), s.flags |= 1, Vt(t, s, u, p), s.child) } function v0(t, s, i, u, p) { if (t === null) { var v = i.type; return typeof v == "function" && !ff(v) && v.defaultProps === void 0 && i.compare === null ? (s.tag = 15, s.type = v, b0(t, s, v, u, p)) : (t = Zl(i.type, null, u, s, s.mode, p), t.ref = s.ref, t.return = s, s.child = t) } if (v = t.child, !sm(t, p)) { var A = v.memoizedProps; if (i = i.compare, i = i !== null ? i : ti, i(A, u) && t.ref === s.ref) return ks(t, s, p) } return s.flags |= 1, t = ws(v, u), t.ref = s.ref, t.return = s, s.child = t } function b0(t, s, i, u, p) { if (t !== null) { var v = t.memoizedProps; if (ti(v, u) && t.ref === s.ref) if ($t = !1, s.pendingProps = u = v, sm(t, p)) (t.flags & 131072) !== 0 && ($t = !0); else return s.lanes = t.lanes, ks(t, s, p) } return Wf(t, s, i, u, p) } function w0(t, s, i) { var u = s.pendingProps, p = u.children, v = t !== null ? t.memoizedState : null; if (u.mode === "hidden") { if ((s.flags & 128) !== 0) { if (u = v !== null ? v.baseLanes | i : i, t !== null) { for (p = s.child = t.child, v = 0; p !== null;)v = v | p.lanes | p.childLanes, p = p.sibling; s.childLanes = v & ~u } else s.childLanes = 0, s.child = null; return N0(t, s, u, i) } if ((i & 536870912) !== 0) s.memoizedState = { baseLanes: 0, cachePool: null }, t !== null && ec(s, v !== null ? v.cachePool : null), v !== null ? bx(s, v) : Af(), l0(s); else return s.lanes = s.childLanes = 536870912, N0(t, s, v !== null ? v.baseLanes | i : i, i) } else v !== null ? (ec(s, v.cachePool), bx(s, v), nr(), s.memoizedState = null) : (t !== null && ec(s, null), Af(), nr()); return Vt(t, s, p, i), s.child } function N0(t, s, i, u) { var p = Sf(); return p = p === null ? null : { parent: Ot._currentValue, pool: p }, s.memoizedState = { baseLanes: i, cachePool: p }, t !== null && ec(s, null), Af(), l0(s), t !== null && ai(t, s, u, !0), null } function xc(t, s) { var i = s.ref; if (i === null) t !== null && t.ref !== null && (s.flags |= 4194816); else { if (typeof i != "function" && typeof i != "object") throw Error(a(284)); (t === null || t.ref !== i) && (s.flags |= 4194816) } } function Wf(t, s, i, u, p) { return Fr(s), i = Rf(t, s, i, u, void 0, p), u = Df(), t !== null && !$t ? (Of(t, s, p), ks(t, s, p)) : (at && u && pf(s), s.flags |= 1, Vt(t, s, i, p), s.child) } function S0(t, s, i, u, p, v) { return Fr(s), s.updateQueue = null, i = Nx(s, u, i, p), wx(t), u = Df(), t !== null && !$t ? (Of(t, s, v), ks(t, s, v)) : (at && u && pf(s), s.flags |= 1, Vt(t, s, i, v), s.child) } function j0(t, s, i, u, p) { if (Fr(s), s.stateNode === null) { var v = Oo, A = i.contextType; typeof A == "object" && A !== null && (v = Zt(A)), v = new i(u, v), s.memoizedState = v.state !== null && v.state !== void 0 ? v.state : null, v.updater = Xf, s.stateNode = v, v._reactInternals = s, v = s.stateNode, v.props = u, v.state = s.memoizedState, v.refs = {}, _f(s), A = i.contextType, v.context = typeof A == "object" && A !== null ? Zt(A) : Oo, v.state = s.memoizedState, A = i.getDerivedStateFromProps, typeof A == "function" && (Gf(s, i, A, u), v.state = s.memoizedState), typeof i.getDerivedStateFromProps == "function" || typeof v.getSnapshotBeforeUpdate == "function" || typeof v.UNSAFE_componentWillMount != "function" && typeof v.componentWillMount != "function" || (A = v.state, typeof v.componentWillMount == "function" && v.componentWillMount(), typeof v.UNSAFE_componentWillMount == "function" && v.UNSAFE_componentWillMount(), A !== v.state && Xf.enqueueReplaceState(v, v.state, null), mi(s, u, v, p), fi(), v.state = s.memoizedState), typeof v.componentDidMount == "function" && (s.flags |= 4194308), u = !0 } else if (t === null) { v = s.stateNode; var z = s.memoizedProps, F = Xr(i, z); v.props = F; var re = v.context, le = i.contextType; A = Oo, typeof le == "object" && le !== null && (A = Zt(le)); var me = i.getDerivedStateFromProps; le = typeof me == "function" || typeof v.getSnapshotBeforeUpdate == "function", z = s.pendingProps !== z, le || typeof v.UNSAFE_componentWillReceiveProps != "function" && typeof v.componentWillReceiveProps != "function" || (z || re !== A) && u0(s, v, u, A), Ks = !1; var oe = s.memoizedState; v.state = oe, mi(s, u, v, p), fi(), re = s.memoizedState, z || oe !== re || Ks ? (typeof me == "function" && (Gf(s, i, me, u), re = s.memoizedState), (F = Ks || c0(s, i, F, u, oe, re, A)) ? (le || typeof v.UNSAFE_componentWillMount != "function" && typeof v.componentWillMount != "function" || (typeof v.componentWillMount == "function" && v.componentWillMount(), typeof v.UNSAFE_componentWillMount == "function" && v.UNSAFE_componentWillMount()), typeof v.componentDidMount == "function" && (s.flags |= 4194308)) : (typeof v.componentDidMount == "function" && (s.flags |= 4194308), s.memoizedProps = u, s.memoizedState = re), v.props = u, v.state = re, v.context = A, u = F) : (typeof v.componentDidMount == "function" && (s.flags |= 4194308), u = !1) } else { v = s.stateNode, Ef(t, s), A = s.memoizedProps, le = Xr(i, A), v.props = le, me = s.pendingProps, oe = v.context, re = i.contextType, F = Oo, typeof re == "object" && re !== null && (F = Zt(re)), z = i.getDerivedStateFromProps, (re = typeof z == "function" || typeof v.getSnapshotBeforeUpdate == "function") || typeof v.UNSAFE_componentWillReceiveProps != "function" && typeof v.componentWillReceiveProps != "function" || (A !== me || oe !== F) && u0(s, v, u, F), Ks = !1, oe = s.memoizedState, v.state = oe, mi(s, u, v, p), fi(); var ae = s.memoizedState; A !== me || oe !== ae || Ks || t !== null && t.dependencies !== null && Ql(t.dependencies) ? (typeof z == "function" && (Gf(s, i, z, u), ae = s.memoizedState), (le = Ks || c0(s, i, le, u, oe, ae, F) || t !== null && t.dependencies !== null && Ql(t.dependencies)) ? (re || typeof v.UNSAFE_componentWillUpdate != "function" && typeof v.componentWillUpdate != "function" || (typeof v.componentWillUpdate == "function" && v.componentWillUpdate(u, ae, F), typeof v.UNSAFE_componentWillUpdate == "function" && v.UNSAFE_componentWillUpdate(u, ae, F)), typeof v.componentDidUpdate == "function" && (s.flags |= 4), typeof v.getSnapshotBeforeUpdate == "function" && (s.flags |= 1024)) : (typeof v.componentDidUpdate != "function" || A === t.memoizedProps && oe === t.memoizedState || (s.flags |= 4), typeof v.getSnapshotBeforeUpdate != "function" || A === t.memoizedProps && oe === t.memoizedState || (s.flags |= 1024), s.memoizedProps = u, s.memoizedState = ae), v.props = u, v.state = ae, v.context = F, u = le) : (typeof v.componentDidUpdate != "function" || A === t.memoizedProps && oe === t.memoizedState || (s.flags |= 4), typeof v.getSnapshotBeforeUpdate != "function" || A === t.memoizedProps && oe === t.memoizedState || (s.flags |= 1024), u = !1) } return v = u, xc(t, s), u = (s.flags & 128) !== 0, v || u ? (v = s.stateNode, i = u && typeof i.getDerivedStateFromError != "function" ? null : v.render(), s.flags |= 1, t !== null && u ? (s.child = qo(s, t.child, null, p), s.child = qo(s, null, i, p)) : Vt(t, s, i, p), s.memoizedState = v.state, t = s.child) : t = ks(t, s, p), t } function _0(t, s, i, u) { return ri(), s.flags |= 256, Vt(t, s, i, u), s.child } var Kf = { dehydrated: null, treeContext: null, retryLane: 0, hydrationErrors: null }; function Qf(t) { return { baseLanes: t, cachePool: fx() } } function Jf(t, s, i) { return t = t !== null ? t.childLanes & ~i : 0, s && (t |= Cn), t } function E0(t, s, i) { var u = s.pendingProps, p = !1, v = (s.flags & 128) !== 0, A; if ((A = v) || (A = t !== null && t.memoizedState === null ? !1 : (zt.current & 2) !== 0), A && (p = !0, s.flags &= -129), A = (s.flags & 32) !== 0, s.flags &= -33, t === null) { if (at) { if (p ? tr(s) : nr(), at) { var z = jt, F; if (F = z) { e: { for (F = z, z = Zn; F.nodeType !== 8;) { if (!z) { z = null; break e } if (F = Hn(F.nextSibling), F === null) { z = null; break e } } z = F } z !== null ? (s.memoizedState = { dehydrated: z, treeContext: Br !== null ? { id: Ns, overflow: Ss } : null, retryLane: 536870912, hydrationErrors: null }, F = un(18, null, null, 0), F.stateNode = z, F.return = s, s.child = F, Kt = s, jt = null, F = !0) : F = !1 } F || Vr(s) } if (z = s.memoizedState, z !== null && (z = z.dehydrated, z !== null)) return Im(z) ? s.lanes = 32 : s.lanes = 536870912, null; Cs(s) } return z = u.children, u = u.fallback, p ? (nr(), p = s.mode, z = yc({ mode: "hidden", children: z }, p), u = $r(u, p, i, null), z.return = s, u.return = s, z.sibling = u, s.child = z, p = s.child, p.memoizedState = Qf(i), p.childLanes = Jf(t, A, i), s.memoizedState = Kf, u) : (tr(s), em(s, z)) } if (F = t.memoizedState, F !== null && (z = F.dehydrated, z !== null)) { if (v) s.flags & 256 ? (tr(s), s.flags &= -257, s = tm(t, s, i)) : s.memoizedState !== null ? (nr(), s.child = t.child, s.flags |= 128, s = null) : (nr(), p = u.fallback, z = s.mode, u = yc({ mode: "visible", children: u.children }, z), p = $r(p, z, i, null), p.flags |= 2, u.return = s, p.return = s, u.sibling = p, s.child = u, qo(s, t.child, null, i), u = s.child, u.memoizedState = Qf(i), u.childLanes = Jf(t, A, i), s.memoizedState = Kf, s = p); else if (tr(s), Im(z)) { if (A = z.nextSibling && z.nextSibling.dataset, A) var re = A.dgst; A = re, u = Error(a(419)), u.stack = "", u.digest = A, oi({ value: u, source: null, stack: null }), s = tm(t, s, i) } else if ($t || ai(t, s, i, !1), A = (i & t.childLanes) !== 0, $t || A) { if (A = gt, A !== null && (u = i & -i, u = (u & 42) !== 0 ? 1 : Ha(u), u = (u & (A.suspendedLanes | i)) !== 0 ? 0 : u, u !== 0 && u !== F.retryLane)) throw F.retryLane = u, Do(t, u), pn(A, t, u), x0; z.data === "$?" || vm(), s = tm(t, s, i) } else z.data === "$?" ? (s.flags |= 192, s.child = t.child, s = null) : (t = F.treeContext, jt = Hn(z.nextSibling), Kt = s, at = !0, Ur = null, Zn = !1, t !== null && (jn[_n++] = Ns, jn[_n++] = Ss, jn[_n++] = Br, Ns = t.id, Ss = t.overflow, Br = s), s = em(s, u.children), s.flags |= 4096); return s } return p ? (nr(), p = u.fallback, z = s.mode, F = t.child, re = F.sibling, u = ws(F, { mode: "hidden", children: u.children }), u.subtreeFlags = F.subtreeFlags & 65011712, re !== null ? p = ws(re, p) : (p = $r(p, z, i, null), p.flags |= 2), p.return = s, u.return = s, u.sibling = p, s.child = u, u = p, p = s.child, z = t.child.memoizedState, z === null ? z = Qf(i) : (F = z.cachePool, F !== null ? (re = Ot._currentValue, F = F.parent !== re ? { parent: re, pool: re } : F) : F = fx(), z = { baseLanes: z.baseLanes | i, cachePool: F }), p.memoizedState = z, p.childLanes = Jf(t, A, i), s.memoizedState = Kf, u) : (tr(s), i = t.child, t = i.sibling, i = ws(i, { mode: "visible", children: u.children }), i.return = s, i.sibling = null, t !== null && (A = s.deletions, A === null ? (s.deletions = [t], s.flags |= 16) : A.push(t)), s.child = i, s.memoizedState = null, i) } function em(t, s) { return s = yc({ mode: "visible", children: s }, t.mode), s.return = t, t.child = s } function yc(t, s) { return t = un(22, t, null, s), t.lanes = 0, t.stateNode = { _visibility: 1, _pendingMarkers: null, _retryCache: null, _transitions: null }, t } function tm(t, s, i) { return qo(s, t.child, null, i), t = em(s, s.pendingProps.children), t.flags |= 2, s.memoizedState = null, t } function C0(t, s, i) { t.lanes |= s; var u = t.alternate; u !== null && (u.lanes |= s), vf(t.return, s, i) } function nm(t, s, i, u, p) { var v = t.memoizedState; v === null ? t.memoizedState = { isBackwards: s, rendering: null, renderingStartTime: 0, last: u, tail: i, tailMode: p } : (v.isBackwards = s, v.rendering = null, v.renderingStartTime = 0, v.last = u, v.tail = i, v.tailMode = p) } function k0(t, s, i) { var u = s.pendingProps, p = u.revealOrder, v = u.tail; if (Vt(t, s, u.children, i), u = zt.current, (u & 2) !== 0) u = u & 1 | 2, s.flags |= 128; else { if (t !== null && (t.flags & 128) !== 0) e: for (t = s.child; t !== null;) { if (t.tag === 13) t.memoizedState !== null && C0(t, i, s); else if (t.tag === 19) C0(t, i, s); else if (t.child !== null) { t.child.return = t, t = t.child; continue } if (t === s) break e; for (; t.sibling === null;) { if (t.return === null || t.return === s) break e; t = t.return } t.sibling.return = t.return, t = t.sibling } u &= 1 } switch (V(zt, u), p) { case "forwards": for (i = s.child, p = null; i !== null;)t = i.alternate, t !== null && hc(t) === null && (p = i), i = i.sibling; i = p, i === null ? (p = s.child, s.child = null) : (p = i.sibling, i.sibling = null), nm(s, !1, p, i, v); break; case "backwards": for (i = null, p = s.child, s.child = null; p !== null;) { if (t = p.alternate, t !== null && hc(t) === null) { s.child = p; break } t = p.sibling, p.sibling = i, i = p, p = t } nm(s, !0, i, null, v); break; case "together": nm(s, !1, null, null, void 0); break; default: s.memoizedState = null }return s.child } function ks(t, s, i) { if (t !== null && (s.dependencies = t.dependencies), ir |= s.lanes, (i & s.childLanes) === 0) if (t !== null) { if (ai(t, s, i, !1), (i & s.childLanes) === 0) return null } else return null; if (t !== null && s.child !== t.child) throw Error(a(153)); if (s.child !== null) { for (t = s.child, i = ws(t, t.pendingProps), s.child = i, i.return = s; t.sibling !== null;)t = t.sibling, i = i.sibling = ws(t, t.pendingProps), i.return = s; i.sibling = null } return s.child } function sm(t, s) { return (t.lanes & s) !== 0 ? !0 : (t = t.dependencies, !!(t !== null && Ql(t))) } function y_(t, s, i) { switch (s.tag) { case 3: ie(s, s.stateNode.containerInfo), Ws(s, Ot, t.memoizedState.cache), ri(); break; case 27: case 5: be(s); break; case 4: ie(s, s.stateNode.containerInfo); break; case 10: Ws(s, s.type, s.memoizedProps.value); break; case 13: var u = s.memoizedState; if (u !== null) return u.dehydrated !== null ? (tr(s), s.flags |= 128, null) : (i & s.child.childLanes) !== 0 ? E0(t, s, i) : (tr(s), t = ks(t, s, i), t !== null ? t.sibling : null); tr(s); break; case 19: var p = (t.flags & 128) !== 0; if (u = (i & s.childLanes) !== 0, u || (ai(t, s, i, !1), u = (i & s.childLanes) !== 0), p) { if (u) return k0(t, s, i); s.flags |= 128 } if (p = s.memoizedState, p !== null && (p.rendering = null, p.tail = null, p.lastEffect = null), V(zt, zt.current), u) break; return null; case 22: case 23: return s.lanes = 0, w0(t, s, i); case 24: Ws(s, Ot, t.memoizedState.cache) }return ks(t, s, i) } function A0(t, s, i) { if (t !== null) if (t.memoizedProps !== s.pendingProps) $t = !0; else { if (!sm(t, i) && (s.flags & 128) === 0) return $t = !1, y_(t, s, i); $t = (t.flags & 131072) !== 0 } else $t = !1, at && (s.flags & 1048576) !== 0 && ox(s, Kl, s.index); switch (s.lanes = 0, s.tag) { case 16: e: { t = s.pendingProps; var u = s.elementType, p = u._init; if (u = p(u._payload), s.type = u, typeof u == "function") ff(u) ? (t = Xr(u, t), s.tag = 1, s = j0(null, s, u, t, i)) : (s.tag = 0, s = Wf(null, s, u, t, i)); else { if (u != null) { if (p = u.$$typeof, p === T) { s.tag = 11, s = y0(null, s, u, t, i); break e } else if (p === O) { s.tag = 14, s = v0(null, s, u, t, i); break e } } throw s = P(u) || u, Error(a(306, s, "")) } } return s; case 0: return Wf(t, s, s.type, s.pendingProps, i); case 1: return u = s.type, p = Xr(u, s.pendingProps), j0(t, s, u, p, i); case 3: e: { if (ie(s, s.stateNode.containerInfo), t === null) throw Error(a(387)); u = s.pendingProps; var v = s.memoizedState; p = v.element, Ef(t, s), mi(s, u, null, i); var A = s.memoizedState; if (u = A.cache, Ws(s, Ot, u), u !== v.cache && bf(s, [Ot], i, !0), fi(), u = A.element, v.isDehydrated) if (v = { element: u, isDehydrated: !1, cache: A.cache }, s.updateQueue.baseState = v, s.memoizedState = v, s.flags & 256) { s = _0(t, s, u, i); break e } else if (u !== p) { p = Nn(Error(a(424)), s), oi(p), s = _0(t, s, u, i); break e } else { switch (t = s.stateNode.containerInfo, t.nodeType) { case 9: t = t.body; break; default: t = t.nodeName === "HTML" ? t.ownerDocument.body : t }for (jt = Hn(t.firstChild), Kt = s, at = !0, Ur = null, Zn = !0, i = i0(s, null, u, i), s.child = i; i;)i.flags = i.flags & -3 | 4096, i = i.sibling } else { if (ri(), u === p) { s = ks(t, s, i); break e } Vt(t, s, u, i) } s = s.child } return s; case 26: return xc(t, s), t === null ? (i = Dy(s.type, null, s.pendingProps, null)) ? s.memoizedState = i : at || (i = s.type, t = s.pendingProps, u = Rc(ue.current).createElement(i), u[Ht] = s, u[Xt] = t, Ft(u, i, t), Mt(u), s.stateNode = u) : s.memoizedState = Dy(s.type, t.memoizedProps, s.pendingProps, t.memoizedState), null; case 27: return be(s), t === null && at && (u = s.stateNode = My(s.type, s.pendingProps, ue.current), Kt = s, Zn = !0, p = jt, dr(s.type) ? (Lm = p, jt = Hn(u.firstChild)) : jt = p), Vt(t, s, s.pendingProps.children, i), xc(t, s), t === null && (s.flags |= 4194304), s.child; case 5: return t === null && at && ((p = u = jt) && (u = Y_(u, s.type, s.pendingProps, Zn), u !== null ? (s.stateNode = u, Kt = s, jt = Hn(u.firstChild), Zn = !1, p = !0) : p = !1), p || Vr(s)), be(s), p = s.type, v = s.pendingProps, A = t !== null ? t.memoizedProps : null, u = v.children, Dm(p, v) ? u = null : A !== null && Dm(p, A) && (s.flags |= 32), s.memoizedState !== null && (p = Rf(t, s, u_, null, null, i), zi._currentValue = p), xc(t, s), Vt(t, s, u, i), s.child; case 6: return t === null && at && ((t = i = jt) && (i = G_(i, s.pendingProps, Zn), i !== null ? (s.stateNode = i, Kt = s, jt = null, t = !0) : t = !1), t || Vr(s)), null; case 13: return E0(t, s, i); case 4: return ie(s, s.stateNode.containerInfo), u = s.pendingProps, t === null ? s.child = qo(s, null, u, i) : Vt(t, s, u, i), s.child; case 11: return y0(t, s, s.type, s.pendingProps, i); case 7: return Vt(t, s, s.pendingProps, i), s.child; case 8: return Vt(t, s, s.pendingProps.children, i), s.child; case 12: return Vt(t, s, s.pendingProps.children, i), s.child; case 10: return u = s.pendingProps, Ws(s, s.type, u.value), Vt(t, s, u.children, i), s.child; case 9: return p = s.type._context, u = s.pendingProps.children, Fr(s), p = Zt(p), u = u(p), s.flags |= 1, Vt(t, s, u, i), s.child; case 14: return v0(t, s, s.type, s.pendingProps, i); case 15: return b0(t, s, s.type, s.pendingProps, i); case 19: return k0(t, s, i); case 31: return u = s.pendingProps, i = s.mode, u = { mode: u.mode, children: u.children }, t === null ? (i = yc(u, i), i.ref = s.ref, s.child = i, i.return = s, s = i) : (i = ws(t.child, u), i.ref = s.ref, s.child = i, i.return = s, s = i), s; case 22: return w0(t, s, i); case 24: return Fr(s), u = Zt(Ot), t === null ? (p = Sf(), p === null && (p = gt, v = wf(), p.pooledCache = v, v.refCount++, v !== null && (p.pooledCacheLanes |= i), p = v), s.memoizedState = { parent: u, cache: p }, _f(s), Ws(s, Ot, p)) : ((t.lanes & i) !== 0 && (Ef(t, s), mi(s, null, null, i), fi()), p = t.memoizedState, v = s.memoizedState, p.parent !== u ? (p = { parent: u, cache: u }, s.memoizedState = p, s.lanes === 0 && (s.memoizedState = s.updateQueue.baseState = p), Ws(s, Ot, u)) : (u = v.cache, Ws(s, Ot, u), u !== p.cache && bf(s, [Ot], i, !0))), Vt(t, s, s.pendingProps.children, i), s.child; case 29: throw s.pendingProps }throw Error(a(156, s.tag)) } function As(t) { t.flags |= 4 } function M0(t, s) { if (s.type !== "stylesheet" || (s.state.loading & 4) !== 0) t.flags &= -16777217; else if (t.flags |= 16777216, !Hy(s)) { if (s = En.current, s !== null && ((nt & 4194048) === nt ? Wn !== null : (nt & 62914560) !== nt && (nt & 536870912) === 0 || s !== Wn)) throw ui = jf, mx; t.flags |= 8192 } } function vc(t, s) { s !== null && (t.flags |= 4), t.flags & 16384 && (s = t.tag !== 22 ? ot() : 536870912, t.lanes |= s, Xo |= s) } function bi(t, s) { if (!at) switch (t.tailMode) { case "hidden": s = t.tail; for (var i = null; s !== null;)s.alternate !== null && (i = s), s = s.sibling; i === null ? t.tail = null : i.sibling = null; break; case "collapsed": i = t.tail; for (var u = null; i !== null;)i.alternate !== null && (u = i), i = i.sibling; u === null ? s || t.tail === null ? t.tail = null : t.tail.sibling = null : u.sibling = null } } function St(t) { var s = t.alternate !== null && t.alternate.child === t.child, i = 0, u = 0; if (s) for (var p = t.child; p !== null;)i |= p.lanes | p.childLanes, u |= p.subtreeFlags & 65011712, u |= p.flags & 65011712, p.return = t, p = p.sibling; else for (p = t.child; p !== null;)i |= p.lanes | p.childLanes, u |= p.subtreeFlags, u |= p.flags, p.return = t, p = p.sibling; return t.subtreeFlags |= u, t.childLanes = i, s } function v_(t, s, i) { var u = s.pendingProps; switch (gf(s), s.tag) { case 31: case 16: case 15: case 0: case 11: case 7: case 8: case 12: case 9: case 14: return St(s), null; case 1: return St(s), null; case 3: return i = s.stateNode, u = null, t !== null && (u = t.memoizedState.cache), s.memoizedState.cache !== u && (s.flags |= 2048), _s(Ot), ge(), i.pendingContext && (i.context = i.pendingContext, i.pendingContext = null), (t === null || t.child === null) && (si(s) ? As(s) : t === null || t.memoizedState.isDehydrated && (s.flags & 256) === 0 || (s.flags |= 1024, lx())), St(s), null; case 26: return i = s.memoizedState, t === null ? (As(s), i !== null ? (St(s), M0(s, i)) : (St(s), s.flags &= -16777217)) : i ? i !== t.memoizedState ? (As(s), St(s), M0(s, i)) : (St(s), s.flags &= -16777217) : (t.memoizedProps !== u && As(s), St(s), s.flags &= -16777217), null; case 27: we(s), i = ue.current; var p = s.type; if (t !== null && s.stateNode != null) t.memoizedProps !== u && As(s); else { if (!u) { if (s.stateNode === null) throw Error(a(166)); return St(s), null } t = W.current, si(s) ? ax(s) : (t = My(p, u, i), s.stateNode = t, As(s)) } return St(s), null; case 5: if (we(s), i = s.type, t !== null && s.stateNode != null) t.memoizedProps !== u && As(s); else { if (!u) { if (s.stateNode === null) throw Error(a(166)); return St(s), null } if (t = W.current, si(s)) ax(s); else { switch (p = Rc(ue.current), t) { case 1: t = p.createElementNS("http://www.w3.org/2000/svg", i); break; case 2: t = p.createElementNS("http://www.w3.org/1998/Math/MathML", i); break; default: switch (i) { case "svg": t = p.createElementNS("http://www.w3.org/2000/svg", i); break; case "math": t = p.createElementNS("http://www.w3.org/1998/Math/MathML", i); break; case "script": t = p.createElement("div"), t.innerHTML = "