From 3031c2ae3e29d5ee5665dce0420eabad0cca19b9 Mon Sep 17 00:00:00 2001 From: Martin Ziegler Date: Sat, 29 Nov 2025 12:09:58 +0100 Subject: [PATCH] Minor bugfixes --- backend/app/api/routes/archives.py | 13 ++ backend/app/api/routes/settings.py | 2 +- backend/app/api/routes/smart_plugs.py | 11 +- backend/app/main.py | 57 ++++++ backend/app/models/archive.py | 4 + backend/app/schemas/archive.py | 7 + backend/app/schemas/settings.py | 2 + backend/app/schemas/smart_plug.py | 14 ++ backend/app/services/tasmota.py | 38 ++++ frontend/src/api/client.ts | 18 ++ frontend/src/pages/ArchivesPage.tsx | 11 +- frontend/src/pages/PrintersPage.tsx | 10 +- frontend/src/pages/SettingsPage.tsx | 21 ++- frontend/src/pages/StatsPage.tsx | 25 ++- ...{index-BKGWUT04.css => index-C2KAUV7t.css} | 2 +- .../{index-8ml33qQA.js => index-DFJpXKHm.js} | 164 +++++++++--------- static/index.html | 4 +- 17 files changed, 307 insertions(+), 96 deletions(-) rename static/assets/{index-BKGWUT04.css => index-C2KAUV7t.css} (83%) rename static/assets/{index-8ml33qQA.js => index-DFJpXKHm.js} (74%) diff --git a/backend/app/api/routes/archives.py b/backend/app/api/routes/archives.py index 1d71f89bb..f58ebc6d0 100644 --- a/backend/app/api/routes/archives.py +++ b/backend/app/api/routes/archives.py @@ -208,6 +208,17 @@ async def get_archive_stats(db: AsyncSession = Depends(get_db)): for printer_key, accs in printer_accuracies.items(): accuracy_by_printer[printer_key] = round(sum(accs) / len(accs), 1) + # Energy totals + energy_kwh_result = await db.execute( + select(func.sum(PrintArchive.energy_kwh)) + ) + total_energy_kwh = energy_kwh_result.scalar() or 0 + + energy_cost_result = await db.execute( + select(func.sum(PrintArchive.energy_cost)) + ) + total_energy_cost = energy_cost_result.scalar() or 0 + return ArchiveStats( total_prints=total_prints, successful_prints=successful_prints, @@ -219,6 +230,8 @@ async def get_archive_stats(db: AsyncSession = Depends(get_db)): prints_by_printer=prints_by_printer, average_time_accuracy=average_accuracy, time_accuracy_by_printer=accuracy_by_printer if accuracy_by_printer else None, + total_energy_kwh=round(total_energy_kwh, 3), + total_energy_cost=round(total_energy_cost, 2), ) diff --git a/backend/app/api/routes/settings.py b/backend/app/api/routes/settings.py index 4c56c73cf..b9079fab8 100644 --- a/backend/app/api/routes/settings.py +++ b/backend/app/api/routes/settings.py @@ -48,7 +48,7 @@ async def get_settings(db: AsyncSession = Depends(get_db)): # Parse the value based on the expected type if setting.key in ["auto_archive", "save_thumbnails", "capture_finish_photo"]: settings_dict[setting.key] = setting.value.lower() == "true" - elif setting.key == "default_filament_cost": + elif setting.key in ["default_filament_cost", "energy_cost_per_kwh"]: settings_dict[setting.key] = float(setting.value) else: settings_dict[setting.key] = setting.value diff --git a/backend/app/api/routes/smart_plugs.py b/backend/app/api/routes/smart_plugs.py index 1fa782145..1f82fabc5 100644 --- a/backend/app/api/routes/smart_plugs.py +++ b/backend/app/api/routes/smart_plugs.py @@ -17,6 +17,7 @@ from backend.app.schemas.smart_plug import ( SmartPlugControl, SmartPlugStatus, SmartPlugTestConnection, + SmartPlugEnergy, ) from backend.app.services.tasmota import tasmota_service @@ -183,7 +184,7 @@ async def control_smart_plug( @router.get("/{plug_id}/status", response_model=SmartPlugStatus) async def get_plug_status(plug_id: int, db: AsyncSession = Depends(get_db)): - """Get current plug status from device.""" + """Get current plug status from device including energy data.""" result = await db.execute(select(SmartPlug).where(SmartPlug.id == plug_id)) plug = result.scalar_one_or_none() if not plug: @@ -197,10 +198,18 @@ async def get_plug_status(plug_id: int, db: AsyncSession = Depends(get_db)): plug.last_checked = datetime.utcnow() await db.commit() + # Fetch energy data if device is reachable + energy_data = None + if status["reachable"]: + energy = await tasmota_service.get_energy(plug) + if energy: + energy_data = SmartPlugEnergy(**energy) + return SmartPlugStatus( state=status["state"], reachable=status["reachable"], device_name=status.get("device_name"), + energy=energy_data, ) diff --git a/backend/app/main.py b/backend/app/main.py index c80b3fb84..ba9489fc2 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -28,11 +28,16 @@ from backend.app.services.bambu_mqtt import PrinterState from backend.app.services.archive import ArchiveService from backend.app.services.bambu_ftp import download_file_async from backend.app.services.smart_plug_manager import smart_plug_manager +from backend.app.services.tasmota import tasmota_service +from backend.app.models.smart_plug import SmartPlug # Track active prints: {(printer_id, filename): archive_id} _active_prints: dict[tuple[int, str], int] = {} +# Track starting energy for prints: {archive_id: starting_kwh} +_print_energy_start: dict[int, float] = {} + async def on_printer_status_change(printer_id: int, state: PrinterState): """Handle printer status changes - broadcast via WebSocket.""" @@ -183,6 +188,20 @@ async def on_print_start(printer_id: int, data: dict): logger.info(f"Created archive {archive.id} for {downloaded_filename}") + # Record starting energy from smart plug if available + try: + plug_result = await db.execute( + select(SmartPlug).where(SmartPlug.printer_id == printer_id) + ) + plug = plug_result.scalar_one_or_none() + if plug: + energy = await tasmota_service.get_energy(plug) + if energy and energy.get("total") is not None: + _print_energy_start[archive.id] = energy["total"] + logger.info(f"Recorded starting energy for archive {archive.id}: {energy['total']} kWh") + except Exception as e: + logger.warning(f"Failed to record starting energy: {e}") + await ws_manager.send_archive_created({ "id": archive.id, "printer_id": archive.printer_id, @@ -276,6 +295,44 @@ async def on_print_complete(printer_id: int, data: dict): "status": status, }) + # Calculate energy used for this print + try: + starting_kwh = _print_energy_start.pop(archive_id, None) + if starting_kwh is not None: + async with async_session() as db: + # Get smart plug for this printer + plug_result = await db.execute( + select(SmartPlug).where(SmartPlug.printer_id == printer_id) + ) + plug = plug_result.scalar_one_or_none() + + if plug: + energy = await tasmota_service.get_energy(plug) + if energy and energy.get("total") is not None: + ending_kwh = energy["total"] + energy_used = round(ending_kwh - starting_kwh, 4) + + # Get energy cost per kWh from settings (default to 0.15) + from backend.app.api.routes.settings import get_setting + energy_cost_per_kwh = await get_setting(db, "energy_cost_per_kwh") + cost_per_kwh = float(energy_cost_per_kwh) if energy_cost_per_kwh else 0.15 + energy_cost = round(energy_used * cost_per_kwh, 2) + + # Update archive with energy data + from backend.app.models.archive import PrintArchive + result = await db.execute( + select(PrintArchive).where(PrintArchive.id == archive_id) + ) + archive = result.scalar_one_or_none() + if archive: + archive.energy_kwh = energy_used + archive.energy_cost = energy_cost + await db.commit() + logger.info(f"Recorded energy for archive {archive_id}: {energy_used} kWh (${energy_cost})") + except Exception as e: + import logging + logging.getLogger(__name__).warning(f"Failed to calculate energy: {e}") + # Capture finish photo from printer camera try: async with async_session() as db: diff --git a/backend/app/models/archive.py b/backend/app/models/archive.py index 3e601ba9f..2961f4043 100644 --- a/backend/app/models/archive.py +++ b/backend/app/models/archive.py @@ -50,6 +50,10 @@ class PrintArchive(Base): photos: Mapped[list | None] = mapped_column(JSON) # List of photo filenames failure_reason: Mapped[str | None] = mapped_column(String(100)) # For failed prints + # Energy tracking + energy_kwh: Mapped[float | None] = mapped_column(Float) # Energy consumed in kWh + energy_cost: Mapped[float | None] = mapped_column(Float) # Cost of energy consumed + # Timestamps created_at: Mapped[datetime] = mapped_column( DateTime, server_default=func.now() diff --git a/backend/app/schemas/archive.py b/backend/app/schemas/archive.py index 70f29ca24..8dbadcc65 100644 --- a/backend/app/schemas/archive.py +++ b/backend/app/schemas/archive.py @@ -65,6 +65,10 @@ class ArchiveResponse(BaseModel): photos: list | None failure_reason: str | None + # Energy tracking + energy_kwh: float | None = None + energy_cost: float | None = None + created_at: datetime class Config: @@ -83,6 +87,9 @@ class ArchiveStats(BaseModel): # Time accuracy stats average_time_accuracy: float | None = None # Average across all prints with data time_accuracy_by_printer: dict | None = None # Per-printer accuracy + # Energy stats + total_energy_kwh: float = 0.0 + total_energy_cost: float = 0.0 class ProjectPageImage(BaseModel): diff --git a/backend/app/schemas/settings.py b/backend/app/schemas/settings.py index ad4099a5a..385176a60 100644 --- a/backend/app/schemas/settings.py +++ b/backend/app/schemas/settings.py @@ -9,6 +9,7 @@ class AppSettings(BaseModel): capture_finish_photo: bool = Field(default=True, description="Capture photo from printer camera when print completes") default_filament_cost: float = Field(default=25.0, description="Default filament cost per kg") currency: str = Field(default="USD", description="Currency for cost tracking") + energy_cost_per_kwh: float = Field(default=0.15, description="Electricity cost per kWh for energy tracking") class AppSettingsUpdate(BaseModel): @@ -19,3 +20,4 @@ class AppSettingsUpdate(BaseModel): capture_finish_photo: bool | None = None default_filament_cost: float | None = None currency: str | None = None + energy_cost_per_kwh: float | None = None diff --git a/backend/app/schemas/smart_plug.py b/backend/app/schemas/smart_plug.py index 97ded1acb..a45867919 100644 --- a/backend/app/schemas/smart_plug.py +++ b/backend/app/schemas/smart_plug.py @@ -50,10 +50,24 @@ class SmartPlugControl(BaseModel): action: Literal["on", "off", "toggle"] +class SmartPlugEnergy(BaseModel): + """Energy monitoring data from a smart plug.""" + power: float | None = None # Current watts + voltage: float | None = None # Volts + current: float | None = None # Amps + today: float | None = None # kWh used today + yesterday: float | None = None # kWh used yesterday + total: float | None = None # Total kWh + factor: float | None = None # Power factor (0-1) + apparent_power: float | None = None # VA + reactive_power: float | None = None # VAr + + class SmartPlugStatus(BaseModel): state: str | None = None # "ON", "OFF", or None if unreachable reachable: bool = True device_name: str | None = None + energy: SmartPlugEnergy | None = None # Energy data if available class SmartPlugTestConnection(BaseModel): diff --git a/backend/app/services/tasmota.py b/backend/app/services/tasmota.py index e069aea4f..d2981fb20 100644 --- a/backend/app/services/tasmota.py +++ b/backend/app/services/tasmota.py @@ -150,6 +150,44 @@ class TasmotaService: return success + async def get_energy(self, plug: "SmartPlug") -> dict | None: + """Get energy monitoring data from the plug. + + Returns dict with energy data or None if not available: + - power: Current power in watts + - voltage: Voltage in V + - current: Current in A + - today: Energy used today in kWh + - total: Total energy in kWh + - factor: Power factor (0-1) + """ + result = await self._send_command( + plug.ip_address, "Status 8", plug.username, plug.password + ) + + if result is None: + return None + + # Response format: {"StatusSNS":{"ENERGY":{...}}} + status_sns = result.get("StatusSNS", {}) + energy = status_sns.get("ENERGY") + + if not energy: + # Device doesn't have energy monitoring + return None + + return { + "power": energy.get("Power"), # Current watts + "voltage": energy.get("Voltage"), # Volts + "current": energy.get("Current"), # Amps + "today": energy.get("Today"), # kWh today + "yesterday": energy.get("Yesterday"), # kWh yesterday + "total": energy.get("Total"), # Total kWh + "factor": energy.get("Factor"), # Power factor + "apparent_power": energy.get("ApparentPower"), # VA + "reactive_power": energy.get("ReactivePower"), # VAr + } + async def test_connection( self, ip: str, diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts index 164e8411f..a49d094e4 100644 --- a/frontend/src/api/client.ts +++ b/frontend/src/api/client.ts @@ -114,6 +114,8 @@ export interface Archive { cost: number | null; photos: string[] | null; failure_reason: string | null; + energy_kwh: number | null; + energy_cost: number | null; created_at: string; } @@ -128,6 +130,8 @@ export interface ArchiveStats { prints_by_printer: Record; average_time_accuracy: number | null; time_accuracy_by_printer: Record | null; + total_energy_kwh: number; + total_energy_cost: number; } export interface BulkUploadResult { @@ -144,6 +148,7 @@ export interface AppSettings { capture_finish_photo: boolean; default_filament_cost: number; currency: string; + energy_cost_per_kwh: number; } export type AppSettingsUpdate = Partial; @@ -231,10 +236,23 @@ export interface SmartPlugUpdate { password?: string | null; } +export interface SmartPlugEnergy { + power: number | null; // Current watts + voltage: number | null; // Volts + current: number | null; // Amps + today: number | null; // kWh used today + yesterday: number | null; // kWh used yesterday + total: number | null; // Total kWh + factor: number | null; // Power factor (0-1) + apparent_power: number | null; // VA + reactive_power: number | null; // VAr +} + export interface SmartPlugStatus { state: string | null; reachable: boolean; device_name: string | null; + energy: SmartPlugEnergy | null; } export interface SmartPlugTestResult { diff --git a/frontend/src/pages/ArchivesPage.tsx b/frontend/src/pages/ArchivesPage.tsx index 95b64ac20..abe79c7c7 100644 --- a/frontend/src/pages/ArchivesPage.tsx +++ b/frontend/src/pages/ArchivesPage.tsx @@ -246,14 +246,15 @@ function ArchiveCard({ return ( onSelect(archive.id) : undefined} > {/* Selection checkbox */} {selectionMode && ( diff --git a/frontend/src/pages/PrintersPage.tsx b/frontend/src/pages/PrintersPage.tsx index a0f642132..03cd512e3 100644 --- a/frontend/src/pages/PrintersPage.tsx +++ b/frontend/src/pages/PrintersPage.tsx @@ -103,12 +103,12 @@ function PrinterCard({ printer, hideIfDisconnected }: { printer: Printer; hideIf queryFn: () => api.getSmartPlugByPrinter(printer.id), }); - // Fetch smart plug status if plug exists + // Fetch smart plug status if plug exists (faster refresh for energy monitoring) const { data: plugStatus } = useQuery({ queryKey: ['smartPlugStatus', smartPlug?.id], queryFn: () => smartPlug ? api.getSmartPlugStatus(smartPlug.id) : null, enabled: !!smartPlug, - refetchInterval: 30000, + refetchInterval: 10000, // 10 seconds for real-time power display }); // Determine if this card should be hidden @@ -366,6 +366,12 @@ function PrinterCard({ printer, hideIfDisconnected }: { printer: Printer; hideIf {plugStatus.state || '?'} )} + {/* Power consumption display */} + {plugStatus?.energy?.power != null && plugStatus.state === 'ON' && ( + + {plugStatus.energy.power}W + + )} {/* Spacer */} diff --git a/frontend/src/pages/SettingsPage.tsx b/frontend/src/pages/SettingsPage.tsx index 604d06292..31681cc7b 100644 --- a/frontend/src/pages/SettingsPage.tsx +++ b/frontend/src/pages/SettingsPage.tsx @@ -46,7 +46,8 @@ export function SettingsPage() { settings.save_thumbnails !== localSettings.save_thumbnails || settings.capture_finish_photo !== localSettings.capture_finish_photo || settings.default_filament_cost !== localSettings.default_filament_cost || - settings.currency !== localSettings.currency; + settings.currency !== localSettings.currency || + settings.energy_cost_per_kwh !== localSettings.energy_cost_per_kwh; setHasChanges(changed); } }, [settings, localSettings]); @@ -222,6 +223,24 @@ export function SettingsPage() { +
+ + + updateSetting('energy_cost_per_kwh', parseFloat(e.target.value) || 0) + } + className="w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none" + /> +

+ Used for tracking energy costs per print via smart plugs +

+
diff --git a/frontend/src/pages/StatsPage.tsx b/frontend/src/pages/StatsPage.tsx index 0b0d934fa..7c00a0b8e 100644 --- a/frontend/src/pages/StatsPage.tsx +++ b/frontend/src/pages/StatsPage.tsx @@ -7,6 +7,7 @@ import { DollarSign, Printer, Target, + Zap, } from 'lucide-react'; import { api } from '../api/client'; import { PrintCalendar } from '../components/PrintCalendar'; @@ -25,11 +26,13 @@ function QuickStatsWidget({ total_print_time_hours: number; total_filament_grams: number; total_cost: number; + total_energy_kwh: number; + total_energy_cost: number; } | undefined; currency: string; }) { return ( -
+
@@ -62,10 +65,28 @@ function QuickStatsWidget({
-

Total Cost

+

Filament Cost

{currency} {stats?.total_cost.toFixed(2) || '0.00'}

+
+
+ +
+
+

Energy Used

+

{stats?.total_energy_kwh.toFixed(2) || '0.00'} kWh

+
+
+
+
+ +
+
+

Energy Cost

+

{currency} {stats?.total_energy_cost.toFixed(2) || '0.00'}

+
+
); } diff --git a/static/assets/index-BKGWUT04.css b/static/assets/index-C2KAUV7t.css similarity index 83% rename from static/assets/index-BKGWUT04.css rename to static/assets/index-C2KAUV7t.css index f2b316988..4c356ccba 100644 --- a/static/assets/index-BKGWUT04.css +++ b/static/assets/index-C2KAUV7t.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@layer properties,theme,base,components,utilities;@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-300:oklch(80.8% .114 19.571);--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-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--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-wide:.025em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--aspect-video:16/9;--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);--color-bambu-green:#00ae42;--color-bambu-green-light:#00c64d;--color-bambu-green-dark:#009438;--color-bambu-dark:var(--bg-primary);--color-bambu-dark-secondary:var(--bg-secondary);--color-bambu-dark-tertiary:var(--bg-tertiary);--color-bambu-gray:var(--text-muted);--color-bambu-gray-light:var(--text-secondary);--color-bambu-gray-dark:var(--text-tertiary)}}@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}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);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}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[2px\]{top:2px}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-12{right:calc(var(--spacing)*12)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-2\.5{left:calc(var(--spacing)*2.5)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-12{left:calc(var(--spacing)*12)}.left-\[2px\]{left:2px}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-60{z-index:60}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-4{grid-column:span 4/span 4}.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}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.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-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.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\.5{margin-left:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-16{margin-left:calc(var(--spacing)*16)}.ml-64{margin-left:calc(var(--spacing)*64)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.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-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-28{height:calc(var(--spacing)*28)}.h-64{height:calc(var(--spacing)*64)}.h-\[80vh\]{height:80vh}.h-\[160px\]{height:160px}.h-full{height:100%}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[48px\]{min-height:48px}.min-h-\[120px\]{min-height:120px}.min-h-\[400px\]{min-height:400px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.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-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-28{width:calc(var(--spacing)*28)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-auto{width:auto}.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-\[90vw\]{max-width:90vw}.max-w-\[100px\]{max-width:100px}.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}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[80px\]{min-width:80px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-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)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.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-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.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)}.gap-8{gap:calc(var(--spacing)*8)}: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-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(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-bambu-dark-tertiary>:not(:last-child)){border-color:var(--color-bambu-dark-tertiary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-bambu-dark-tertiary{border-color:var(--color-bambu-dark-tertiary)}.border-bambu-green{border-color:var(--color-bambu-green)}.border-bambu-green\/50{border-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.border-bambu-green\/50{border-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500)30%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-bambu-dark{background-color:var(--color-bambu-dark)}.bg-bambu-dark-secondary{background-color:var(--color-bambu-dark-secondary)}.bg-bambu-dark-tertiary{background-color:var(--color-bambu-dark-tertiary)}.bg-bambu-dark\/30{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/30{background-color:color-mix(in oklab,var(--color-bambu-dark)30%,transparent)}}.bg-bambu-dark\/50{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/50{background-color:color-mix(in oklab,var(--color-bambu-dark)50%,transparent)}}.bg-bambu-dark\/80{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/80{background-color:color-mix(in oklab,var(--color-bambu-dark)80%,transparent)}}.bg-bambu-dark\/90{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/90{background-color:color-mix(in oklab,var(--color-bambu-dark)90%,transparent)}}.bg-bambu-gray\/20{background-color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-gray\/20{background-color:color-mix(in oklab,var(--color-bambu-gray)20%,transparent)}}.bg-bambu-green{background-color:var(--color-bambu-green)}.bg-bambu-green\/10{background-color:#00ae421a}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/10{background-color:color-mix(in oklab,var(--color-bambu-green)10%,transparent)}}.bg-bambu-green\/20{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/20{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.bg-bambu-green\/30{background-color:#00ae424d}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/30{background-color:color-mix(in oklab,var(--color-bambu-green)30%,transparent)}}.bg-bambu-green\/50{background-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/50{background-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.bg-bambu-green\/75{background-color:#00ae42bf}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/75{background-color:color-mix(in oklab,var(--color-bambu-green)75%,transparent)}}.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-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.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-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.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-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-purple-500\/80{background-color:#ac4bffcc}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/80{background-color:color-mix(in oklab,var(--color-purple-500)80%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.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-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-500\/30{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/30{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.fill-yellow-400{fill:var(--color-yellow-400)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.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-12{padding:calc(var(--spacing)*12)}.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-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.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-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-10{padding-left:calc(var(--spacing)*10)}.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}.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-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-pre-wrap{white-space:pre-wrap}.text-bambu-dark-tertiary{color:var(--color-bambu-dark-tertiary)}.text-bambu-gray{color:var(--color-bambu-gray)}.text-bambu-gray-light{color:var(--color-bambu-gray-light)}.text-bambu-gray\/30{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.text-bambu-gray\/30{color:color-mix(in oklab,var(--color-bambu-gray)30%,transparent)}}.text-bambu-green{color:var(--color-bambu-green)}.text-blue-400{color:var(--color-blue-400)}.text-green-400{color:var(--color-green-400)}.text-orange-400{color:var(--color-orange-400)}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.accent-bambu-green{accent-color:var(--color-bambu-green)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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)}.ring-1{--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)}.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)}.ring-bambu-green{--tw-ring-color:var(--color-bambu-green)}.ring-white{--tw-ring-color:var(--color-white)}.blur{--tw-blur:blur(8px);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-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-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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:bg-bambu-green:is(:where(.peer):checked~*){background-color:var(--color-bambu-green)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}@media(hover:hover){.hover\:border-bambu-gray:hover{border-color:var(--color-bambu-gray)}.hover\:border-bambu-green:hover{border-color:var(--color-bambu-green)}.hover\:border-white\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/40:hover{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\:bg-bambu-dark:hover{background-color:var(--color-bambu-dark)}.hover\:bg-bambu-dark-secondary:hover{background-color:var(--color-bambu-dark-secondary)}.hover\:bg-bambu-dark-tertiary:hover,.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)30%,transparent)}}.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)50%,transparent)}}.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)70%,transparent)}}.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)80%,transparent)}}.hover\:bg-bambu-gray-dark:hover{background-color:var(--color-bambu-gray-dark)}.hover\:bg-bambu-green-dark:hover{background-color:var(--color-bambu-green-dark)}.hover\:bg-bambu-green-light:hover{background-color:var(--color-bambu-green-light)}.hover\:bg-bambu-green\/20:hover{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-green\/20:hover{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.hover\:bg-black\/70:hover{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/70:hover{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.hover\:bg-black\/80:hover{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/80:hover{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.hover\:bg-red-400\/10:hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-400\/10:hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}}.focus\:border-bambu-green:focus{border-color:var(--color-bambu-green)}.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-bambu-gray:focus{--tw-ring-color:var(--color-bambu-gray)}.focus\:ring-bambu-green:focus{--tw-ring-color:var(--color-bambu-green)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.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\:ring-offset-bambu-dark:focus{--tw-ring-offset-color:var(--color-bambu-dark)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:w-4{width:calc(var(--spacing)*4)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-1\.5{padding:calc(var(--spacing)*1.5)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:64rem){.lg\:w-80{width:calc(var(--spacing)*80)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-bambu-green::-webkit-slider-thumb{background-color:var(--color-bambu-green)}}:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e5e5e5;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#6b6b6b;--text-tertiary:gray;--border-color:#d4d4d4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}.dark{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#3d3d3d;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:gray;--text-tertiary:#4a4a4a;--border-color:#3d3d3d}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;margin:0;transition:background-color .2s,color .2s}#root{min-height:100vh}.text-white{color:var(--text-primary)}.bg-bambu-dark,.bg-bambu-dark-secondary,.bg-bambu-dark-tertiary,.border-bambu-dark-tertiary{transition:background-color .2s,border-color .2s}@keyframes slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:.2s ease-out slide-in}@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-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-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-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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-divide-y-reverse:0;--tw-border-style:solid;--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-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-content:""}}} +@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@layer properties,theme,base,components,utilities;@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-300:oklch(80.8% .114 19.571);--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-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--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-wide:.025em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--aspect-video:16/9;--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);--color-bambu-green:#00ae42;--color-bambu-green-light:#00c64d;--color-bambu-green-dark:#009438;--color-bambu-dark:var(--bg-primary);--color-bambu-dark-secondary:var(--bg-secondary);--color-bambu-dark-tertiary:var(--bg-tertiary);--color-bambu-gray:var(--text-muted);--color-bambu-gray-light:var(--text-secondary);--color-bambu-gray-dark:var(--text-tertiary)}}@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}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);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}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[2px\]{top:2px}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-12{right:calc(var(--spacing)*12)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-2\.5{left:calc(var(--spacing)*2.5)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-12{left:calc(var(--spacing)*12)}.left-\[2px\]{left:2px}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-60{z-index:60}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-4{grid-column:span 4/span 4}.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}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.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-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.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\.5{margin-left:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-16{margin-left:calc(var(--spacing)*16)}.ml-64{margin-left:calc(var(--spacing)*64)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.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-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-28{height:calc(var(--spacing)*28)}.h-64{height:calc(var(--spacing)*64)}.h-\[80vh\]{height:80vh}.h-\[160px\]{height:160px}.h-full{height:100%}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[48px\]{min-height:48px}.min-h-\[120px\]{min-height:120px}.min-h-\[400px\]{min-height:400px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.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-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-28{width:calc(var(--spacing)*28)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-auto{width:auto}.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-\[90vw\]{max-width:90vw}.max-w-\[100px\]{max-width:100px}.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}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[80px\]{min-width:80px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-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)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.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-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.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)}.gap-8{gap:calc(var(--spacing)*8)}: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-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(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-bambu-dark-tertiary>:not(:last-child)){border-color:var(--color-bambu-dark-tertiary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-bambu-dark-tertiary{border-color:var(--color-bambu-dark-tertiary)}.border-bambu-green{border-color:var(--color-bambu-green)}.border-bambu-green\/50{border-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.border-bambu-green\/50{border-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500)30%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-bambu-dark{background-color:var(--color-bambu-dark)}.bg-bambu-dark-secondary{background-color:var(--color-bambu-dark-secondary)}.bg-bambu-dark-tertiary{background-color:var(--color-bambu-dark-tertiary)}.bg-bambu-dark\/30{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/30{background-color:color-mix(in oklab,var(--color-bambu-dark)30%,transparent)}}.bg-bambu-dark\/50{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/50{background-color:color-mix(in oklab,var(--color-bambu-dark)50%,transparent)}}.bg-bambu-dark\/80{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/80{background-color:color-mix(in oklab,var(--color-bambu-dark)80%,transparent)}}.bg-bambu-dark\/90{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/90{background-color:color-mix(in oklab,var(--color-bambu-dark)90%,transparent)}}.bg-bambu-gray\/20{background-color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-gray\/20{background-color:color-mix(in oklab,var(--color-bambu-gray)20%,transparent)}}.bg-bambu-green{background-color:var(--color-bambu-green)}.bg-bambu-green\/10{background-color:#00ae421a}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/10{background-color:color-mix(in oklab,var(--color-bambu-green)10%,transparent)}}.bg-bambu-green\/20{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/20{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.bg-bambu-green\/30{background-color:#00ae424d}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/30{background-color:color-mix(in oklab,var(--color-bambu-green)30%,transparent)}}.bg-bambu-green\/50{background-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/50{background-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.bg-bambu-green\/75{background-color:#00ae42bf}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/75{background-color:color-mix(in oklab,var(--color-bambu-green)75%,transparent)}}.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-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.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-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.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-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-purple-500\/80{background-color:#ac4bffcc}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/80{background-color:color-mix(in oklab,var(--color-purple-500)80%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.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-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-500\/30{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/30{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.fill-yellow-400{fill:var(--color-yellow-400)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.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-12{padding:calc(var(--spacing)*12)}.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-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.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-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-10{padding-left:calc(var(--spacing)*10)}.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}.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-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-pre-wrap{white-space:pre-wrap}.text-bambu-dark-tertiary{color:var(--color-bambu-dark-tertiary)}.text-bambu-gray{color:var(--color-bambu-gray)}.text-bambu-gray-light{color:var(--color-bambu-gray-light)}.text-bambu-gray\/30{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.text-bambu-gray\/30{color:color-mix(in oklab,var(--color-bambu-gray)30%,transparent)}}.text-bambu-green{color:var(--color-bambu-green)}.text-blue-400{color:var(--color-blue-400)}.text-green-400{color:var(--color-green-400)}.text-orange-400{color:var(--color-orange-400)}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.accent-bambu-green{accent-color:var(--color-bambu-green)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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)}.ring-1{--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)}.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)}.ring-bambu-green{--tw-ring-color:var(--color-bambu-green)}.ring-white{--tw-ring-color:var(--color-white)}.blur{--tw-blur:blur(8px);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-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-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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:bg-bambu-green:is(:where(.peer):checked~*){background-color:var(--color-bambu-green)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}@media(hover:hover){.hover\:border-bambu-gray:hover{border-color:var(--color-bambu-gray)}.hover\:border-bambu-green:hover{border-color:var(--color-bambu-green)}.hover\:border-white\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/40:hover{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\:bg-bambu-dark:hover{background-color:var(--color-bambu-dark)}.hover\:bg-bambu-dark-secondary:hover{background-color:var(--color-bambu-dark-secondary)}.hover\:bg-bambu-dark-tertiary:hover,.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)30%,transparent)}}.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)50%,transparent)}}.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)70%,transparent)}}.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)80%,transparent)}}.hover\:bg-bambu-gray-dark:hover{background-color:var(--color-bambu-gray-dark)}.hover\:bg-bambu-green-dark:hover{background-color:var(--color-bambu-green-dark)}.hover\:bg-bambu-green-light:hover{background-color:var(--color-bambu-green-light)}.hover\:bg-bambu-green\/20:hover{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-green\/20:hover{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.hover\:bg-black\/70:hover{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/70:hover{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.hover\:bg-black\/80:hover{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/80:hover{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.hover\:bg-red-400\/10:hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-400\/10:hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}}.focus\:border-bambu-green:focus{border-color:var(--color-bambu-green)}.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-bambu-gray:focus{--tw-ring-color:var(--color-bambu-gray)}.focus\:ring-bambu-green:focus{--tw-ring-color:var(--color-bambu-green)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.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\:ring-offset-bambu-dark:focus{--tw-ring-offset-color:var(--color-bambu-dark)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:w-4{width:calc(var(--spacing)*4)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-1\.5{padding:calc(var(--spacing)*1.5)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:64rem){.lg\:w-80{width:calc(var(--spacing)*80)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-bambu-green::-webkit-slider-thumb{background-color:var(--color-bambu-green)}}:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e5e5e5;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#6b6b6b;--text-tertiary:gray;--border-color:#d4d4d4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}.dark{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#3d3d3d;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:gray;--text-tertiary:#4a4a4a;--border-color:#3d3d3d}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;margin:0;transition:background-color .2s,color .2s}#root{min-height:100vh}.text-white{color:var(--text-primary)}.bg-bambu-dark,.bg-bambu-dark-secondary,.bg-bambu-dark-tertiary,.border-bambu-dark-tertiary{transition:background-color .2s,border-color .2s}@keyframes slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:.2s ease-out slide-in}@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-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-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-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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-divide-y-reverse:0;--tw-border-style:solid;--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-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-content:""}}} diff --git a/static/assets/index-8ml33qQA.js b/static/assets/index-DFJpXKHm.js similarity index 74% rename from static/assets/index-8ml33qQA.js rename to static/assets/index-DFJpXKHm.js index 17ce7ee66..24a8ffedb 100644 --- a/static/assets/index-8ml33qQA.js +++ b/static/assets/index-DFJpXKHm.js @@ -1,18 +1,18 @@ -function ree(t,e){for(var n=0;ni[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();var Zx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var OE={exports:{}},ig={};var zU;function aee(){if(zU)return ig;zU=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(i,r,a){var s=null;if(a!==void 0&&(s=""+a),r.key!==void 0&&(s=""+r.key),"key"in r){a={};for(var o in r)o!=="key"&&(a[o]=r[o])}else a=r;return r=a.ref,{$$typeof:t,type:i,key:s,ref:r!==void 0?r:null,props:a}}return ig.Fragment=e,ig.jsx=n,ig.jsxs=n,ig}var BU;function see(){return BU||(BU=1,OE.exports=aee()),OE.exports}var _=see(),kE={exports:{}},$t={};var jU;function oee(){if(jU)return $t;jU=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),p=Symbol.iterator;function m(H){return H===null||typeof H!="object"?null:(H=p&&H[p]||H["@@iterator"],typeof H=="function"?H:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,x={};function g(H,X,re){this.props=H,this.context=X,this.refs=x,this.updater=re||y}g.prototype.isReactComponent={},g.prototype.setState=function(H,X){if(typeof H!="object"&&typeof H!="function"&&H!=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,H,X,"setState")},g.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function M(){}M.prototype=g.prototype;function w(H,X,re){this.props=H,this.context=X,this.refs=x,this.updater=re||y}var E=w.prototype=new M;E.constructor=w,b(E,g.prototype),E.isPureReactComponent=!0;var A=Array.isArray;function N(){}var R={H:null,A:null,T:null,S:null},I=Object.prototype.hasOwnProperty;function P(H,X,re){var ce=re.ref;return{$$typeof:t,type:H,key:X,ref:ce!==void 0?ce:null,props:re}}function O(H,X){return P(H.type,X,H.props)}function B(H){return typeof H=="object"&&H!==null&&H.$$typeof===t}function U(H){var X={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(re){return X[re]})}var W=/\/+/g;function k(H,X){return typeof H=="object"&&H!==null&&H.key!=null?U(""+H.key):X.toString(36)}function $(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(N,N):(H.status="pending",H.then(function(X){H.status==="pending"&&(H.status="fulfilled",H.value=X)},function(X){H.status==="pending"&&(H.status="rejected",H.reason=X)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function q(H,X,re,ce,ye){var me=typeof H;(me==="undefined"||me==="boolean")&&(H=null);var be=!1;if(H===null)be=!0;else switch(me){case"bigint":case"string":case"number":be=!0;break;case"object":switch(H.$$typeof){case t:case e:be=!0;break;case d:return be=H._init,q(be(H._payload),X,re,ce,ye)}}if(be)return ye=ye(H),be=ce===""?"."+k(H,0):ce,A(ye)?(re="",be!=null&&(re=be.replace(W,"$&/")+"/"),q(ye,X,re,"",function(Ae){return Ae})):ye!=null&&(B(ye)&&(ye=O(ye,re+(ye.key==null||H&&H.key===ye.key?"":(""+ye.key).replace(W,"$&/")+"/")+be)),X.push(ye)),1;be=0;var De=ce===""?".":ce+":";if(A(H))for(var he=0;he>>1,se=q[Q];if(0>>1;Qr(re,K))cer(ye,re)?(q[Q]=ye,q[ce]=K,Q=ce):(q[Q]=re,q[X]=K,Q=X);else if(cer(ye,K))q[Q]=ye,q[ce]=K,Q=ce;else break e}}return G}function r(q,G){var K=q.sortIndex-G.sortIndex;return K!==0?K:q.id-G.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],c=[],d=1,f=null,p=3,m=!1,y=!1,b=!1,x=!1,g=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function E(q){for(var G=n(c);G!==null;){if(G.callback===null)i(c);else if(G.startTime<=q)i(c),G.sortIndex=G.expirationTime,e(l,G);else break;G=n(c)}}function A(q){if(b=!1,E(q),!y)if(n(l)!==null)y=!0,N||(N=!0,U());else{var G=n(c);G!==null&&$(A,G.startTime-q)}}var N=!1,R=-1,I=5,P=-1;function O(){return x?!0:!(t.unstable_now()-Pq&&O());){var Q=f.callback;if(typeof Q=="function"){f.callback=null,p=f.priorityLevel;var se=Q(f.expirationTime<=q);if(q=t.unstable_now(),typeof se=="function"){f.callback=se,E(q),G=!0;break t}f===n(l)&&i(l),E(q)}else i(l);f=n(l)}if(f!==null)G=!0;else{var H=n(c);H!==null&&$(A,H.startTime-q),G=!1}}break e}finally{f=null,p=K,m=!1}G=void 0}}finally{G?U():N=!1}}}var U;if(typeof w=="function")U=function(){w(B)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,k=W.port2;W.port1.onmessage=B,U=function(){k.postMessage(null)}}else U=function(){g(B,0)};function $(q,G){R=g(function(){q(t.unstable_now())},G)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(q){q.callback=null},t.unstable_forceFrameRate=function(q){0>q||125Q?(q.sortIndex=K,e(c,q),n(l)===null&&q===n(c)&&(b?(M(R),R=-1):b=!0,$(A,K-Q))):(q.sortIndex=se,e(l,q),y||m||(y=!0,N||(N=!0,U()))),q},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(q){var G=p;return function(){var K=p;p=G;try{return q.apply(this,arguments)}finally{p=K}}}})(UE)),UE}var GU;function uee(){return GU||(GU=1,IE.exports=cee()),IE.exports}var FE={exports:{}},Gr={};var $U;function dee(){if($U)return Gr;$U=1;var t=Gp();function e(l){var c="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),FE.exports=dee(),FE.exports}var qU;function fee(){if(qU)return rg;qU=1;var t=uee(),e=Gp(),n=RV();function i(u){var h="https://react.dev/errors/"+u;if(1se||(u.current=Q[se],Q[se]=null,se--)}function re(u,h){se++,Q[se]=u.current,u.current=h}var ce=H(null),ye=H(null),me=H(null),be=H(null);function De(u,h){switch(re(me,h),re(ye,u),re(ce,null),h.nodeType){case 9:case 11:u=(u=h.documentElement)&&(u=u.namespaceURI)?lU(u):0;break;default:if(u=h.tagName,h=h.namespaceURI)h=lU(h),u=cU(h,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}X(ce),re(ce,u)}function he(){X(ce),X(ye),X(me)}function Ae(u){u.memoizedState!==null&&re(be,u);var h=ce.current,v=cU(h,u.type);h!==v&&(re(ye,u),re(ce,v))}function Be(u){ye.current===u&&(X(ce),X(ye)),be.current===u&&(X(be),Qm._currentValue=K)}var le,ut;function z(u){if(le===void 0)try{throw Error()}catch(v){var h=v.stack.trim().match(/\n( *(at )?)/);le=h&&h[1]||"",ut=-1i[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();var Zx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var OE={exports:{}},ig={};var zU;function oee(){if(zU)return ig;zU=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(i,r,a){var s=null;if(a!==void 0&&(s=""+a),r.key!==void 0&&(s=""+r.key),"key"in r){a={};for(var o in r)o!=="key"&&(a[o]=r[o])}else a=r;return r=a.ref,{$$typeof:t,type:i,key:s,ref:r!==void 0?r:null,props:a}}return ig.Fragment=e,ig.jsx=n,ig.jsxs=n,ig}var BU;function lee(){return BU||(BU=1,OE.exports=oee()),OE.exports}var _=lee(),kE={exports:{}},$t={};var jU;function cee(){if(jU)return $t;jU=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),p=Symbol.iterator;function m(H){return H===null||typeof H!="object"?null:(H=p&&H[p]||H["@@iterator"],typeof H=="function"?H:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,x={};function g(H,K,re){this.props=H,this.context=K,this.refs=x,this.updater=re||y}g.prototype.isReactComponent={},g.prototype.setState=function(H,K){if(typeof H!="object"&&typeof H!="function"&&H!=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,H,K,"setState")},g.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function M(){}M.prototype=g.prototype;function w(H,K,re){this.props=H,this.context=K,this.refs=x,this.updater=re||y}var E=w.prototype=new M;E.constructor=w,b(E,g.prototype),E.isPureReactComponent=!0;var A=Array.isArray;function N(){}var R={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function P(H,K,re){var ce=re.ref;return{$$typeof:t,type:H,key:K,ref:ce!==void 0?ce:null,props:re}}function O(H,K){return P(H.type,K,H.props)}function B(H){return typeof H=="object"&&H!==null&&H.$$typeof===t}function U(H){var K={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(re){return K[re]})}var W=/\/+/g;function k(H,K){return typeof H=="object"&&H!==null&&H.key!=null?U(""+H.key):K.toString(36)}function G(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(N,N):(H.status="pending",H.then(function(K){H.status==="pending"&&(H.status="fulfilled",H.value=K)},function(K){H.status==="pending"&&(H.status="rejected",H.reason=K)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function q(H,K,re,ce,xe){var me=typeof H;(me==="undefined"||me==="boolean")&&(H=null);var ye=!1;if(H===null)ye=!0;else switch(me){case"bigint":case"string":case"number":ye=!0;break;case"object":switch(H.$$typeof){case t:case e:ye=!0;break;case d:return ye=H._init,q(ye(H._payload),K,re,ce,xe)}}if(ye)return xe=xe(H),ye=ce===""?"."+k(H,0):ce,A(xe)?(re="",ye!=null&&(re=ye.replace(W,"$&/")+"/"),q(xe,K,re,"",function(we){return we})):xe!=null&&(B(xe)&&(xe=O(xe,re+(xe.key==null||H&&H.key===xe.key?"":(""+xe.key).replace(W,"$&/")+"/")+ye)),K.push(xe)),1;ye=0;var De=ce===""?".":ce+":";if(A(H))for(var he=0;he>>1,se=q[Q];if(0>>1;Qr(re,Y))cer(xe,re)?(q[Q]=xe,q[ce]=Y,Q=ce):(q[Q]=re,q[K]=Y,Q=K);else if(cer(xe,Y))q[Q]=xe,q[ce]=Y,Q=ce;else break e}}return $}function r(q,$){var Y=q.sortIndex-$.sortIndex;return Y!==0?Y:q.id-$.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],c=[],d=1,f=null,p=3,m=!1,y=!1,b=!1,x=!1,g=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function E(q){for(var $=n(c);$!==null;){if($.callback===null)i(c);else if($.startTime<=q)i(c),$.sortIndex=$.expirationTime,e(l,$);else break;$=n(c)}}function A(q){if(b=!1,E(q),!y)if(n(l)!==null)y=!0,N||(N=!0,U());else{var $=n(c);$!==null&&G(A,$.startTime-q)}}var N=!1,R=-1,F=5,P=-1;function O(){return x?!0:!(t.unstable_now()-Pq&&O());){var Q=f.callback;if(typeof Q=="function"){f.callback=null,p=f.priorityLevel;var se=Q(f.expirationTime<=q);if(q=t.unstable_now(),typeof se=="function"){f.callback=se,E(q),$=!0;break t}f===n(l)&&i(l),E(q)}else i(l);f=n(l)}if(f!==null)$=!0;else{var H=n(c);H!==null&&G(A,H.startTime-q),$=!1}}break e}finally{f=null,p=Y,m=!1}$=void 0}}finally{$?U():N=!1}}}var U;if(typeof w=="function")U=function(){w(B)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,k=W.port2;W.port1.onmessage=B,U=function(){k.postMessage(null)}}else U=function(){g(B,0)};function G(q,$){R=g(function(){q(t.unstable_now())},$)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(q){q.callback=null},t.unstable_forceFrameRate=function(q){0>q||125Q?(q.sortIndex=Y,e(c,q),n(l)===null&&q===n(c)&&(b?(M(R),R=-1):b=!0,G(A,Y-Q))):(q.sortIndex=se,e(l,q),y||m||(y=!0,N||(N=!0,U()))),q},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(q){var $=p;return function(){var Y=p;p=$;try{return q.apply(this,arguments)}finally{p=Y}}}})(UE)),UE}var GU;function fee(){return GU||(GU=1,IE.exports=dee()),IE.exports}var FE={exports:{}},Gr={};var $U;function hee(){if($U)return Gr;$U=1;var t=Gp();function e(l){var c="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),FE.exports=hee(),FE.exports}var qU;function pee(){if(qU)return rg;qU=1;var t=fee(),e=Gp(),n=NV();function i(u){var h="https://react.dev/errors/"+u;if(1se||(u.current=Q[se],Q[se]=null,se--)}function re(u,h){se++,Q[se]=u.current,u.current=h}var ce=H(null),xe=H(null),me=H(null),ye=H(null);function De(u,h){switch(re(me,h),re(xe,u),re(ce,null),h.nodeType){case 9:case 11:u=(u=h.documentElement)&&(u=u.namespaceURI)?lU(u):0;break;default:if(u=h.tagName,h=h.namespaceURI)h=lU(h),u=cU(h,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}K(ce),re(ce,u)}function he(){K(ce),K(xe),K(me)}function we(u){u.memoizedState!==null&&re(ye,u);var h=ce.current,v=cU(h,u.type);h!==v&&(re(xe,u),re(ce,v))}function Be(u){xe.current===u&&(K(ce),K(xe)),ye.current===u&&(K(ye),Qm._currentValue=Y)}var le,ut;function z(u){if(le===void 0)try{throw Error()}catch(v){var h=v.stack.trim().match(/\n( *(at )?)/);le=h&&h[1]||"",ut=-1)":-1T||Se[S]!==ze[T]){var Je=` -`+Se[S].replace(" at new "," at ");return u.displayName&&Je.includes("")&&(Je=Je.replace("",u.displayName)),Je}while(1<=S&&0<=T);break}}}finally{V=!1,Error.prepareStackTrace=v}return(v=u?u.displayName||u.name:"")?z(v):""}function J(u,h){switch(u.tag){case 26:case 27:case 5:return z(u.type);case 16:return z("Lazy");case 13:return u.child!==h&&h!==null?z("Suspense Fallback"):z("Suspense");case 19:return z("SuspenseList");case 0:case 15:return ne(u.type,!1);case 11:return ne(u.type.render,!1);case 1:return ne(u.type,!0);case 31:return z("Activity");default:return""}}function ee(u){try{var h="",v=null;do h+=J(u,v),v=u,u=u.return;while(u);return h}catch(S){return` +`+le+u+ut}var V=!1;function ie(u,h){if(!u||V)return"";V=!0;var v=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var S={DetermineComponentFrameRoot:function(){try{if(h){var rt=function(){throw Error()};if(Object.defineProperty(rt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(rt,[])}catch(Ke){var Ve=Ke}Reflect.construct(u,[],rt)}else{try{rt.call()}catch(Ke){Ve=Ke}u.call(rt.prototype)}}else{try{throw Error()}catch(Ke){Ve=Ke}(rt=u())&&typeof rt.catch=="function"&&rt.catch(function(){})}}catch(Ke){if(Ke&&Ve&&typeof Ke.stack=="string")return[Ke.stack,Ve.stack]}return[null,null]}};S.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var T=Object.getOwnPropertyDescriptor(S.DetermineComponentFrameRoot,"name");T&&T.configurable&&Object.defineProperty(S.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var D=S.DetermineComponentFrameRoot(),j=D[0],ne=D[1];if(j&&ne){var _e=j.split(` +`),ze=ne.split(` +`);for(T=S=0;S<_e.length&&!_e[S].includes("DetermineComponentFrameRoot");)S++;for(;TT||_e[S]!==ze[T]){var Je=` +`+_e[S].replace(" at new "," at ");return u.displayName&&Je.includes("")&&(Je=Je.replace("",u.displayName)),Je}while(1<=S&&0<=T);break}}}finally{V=!1,Error.prepareStackTrace=v}return(v=u?u.displayName||u.name:"")?z(v):""}function J(u,h){switch(u.tag){case 26:case 27:case 5:return z(u.type);case 16:return z("Lazy");case 13:return u.child!==h&&h!==null?z("Suspense Fallback"):z("Suspense");case 19:return z("SuspenseList");case 0:case 15:return ie(u.type,!1);case 11:return ie(u.type.render,!1);case 1:return ie(u.type,!0);case 31:return z("Activity");default:return""}}function ee(u){try{var h="",v=null;do h+=J(u,v),v=u,u=u.return;while(u);return h}catch(S){return` Error generating stack: `+S.message+` -`+S.stack}}var ae=Object.prototype.hasOwnProperty,ie=t.unstable_scheduleCallback,we=t.unstable_cancelCallback,ve=t.unstable_shouldYield,F=t.unstable_requestPaint,L=t.unstable_now,Y=t.unstable_getCurrentPriorityLevel,pe=t.unstable_ImmediatePriority,xe=t.unstable_UserBlockingPriority,fe=t.unstable_NormalPriority,Ye=t.unstable_LowPriority,Le=t.unstable_IdlePriority,$e=t.log,rt=t.unstable_setDisableYieldValue,Ue=null,Pe=null;function dt(u){if(typeof $e=="function"&&rt(u),Pe&&typeof Pe.setStrictMode=="function")try{Pe.setStrictMode(Ue,u)}catch{}}var et=Math.clz32?Math.clz32:ue,Qe=Math.log,st=Math.LN2;function ue(u){return u>>>=0,u===0?32:31-(Qe(u)/st|0)|0}var tt=256,de=262144,ke=4194304;function Ee(u){var h=u&42;if(h!==0)return h;switch(u&-u){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:return u&261888;case 262144:case 524288:case 1048576:case 2097152:return u&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return u&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return u}}function ge(u,h,v){var S=u.pendingLanes;if(S===0)return 0;var T=0,D=u.suspendedLanes,j=u.pingedLanes;u=u.warmLanes;var te=S&134217727;return te!==0?(S=te&~D,S!==0?T=Ee(S):(j&=te,j!==0?T=Ee(j):v||(v=te&~u,v!==0&&(T=Ee(v))))):(te=S&~D,te!==0?T=Ee(te):j!==0?T=Ee(j):v||(v=S&~u,v!==0&&(T=Ee(v)))),T===0?0:h!==0&&h!==T&&(h&D)===0&&(D=T&-T,v=h&-h,D>=v||D===32&&(v&4194048)!==0)?h:T}function je(u,h){return(u.pendingLanes&~(u.suspendedLanes&~u.pingedLanes)&h)===0}function at(u,h){switch(u){case 1:case 2:case 4:case 8:case 64:return h+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 h+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 yt(){var u=ke;return ke<<=1,(ke&62914560)===0&&(ke=4194304),u}function Ct(u){for(var h=[],v=0;31>v;v++)h.push(u);return h}function tn(u,h){u.pendingLanes|=h,h!==268435456&&(u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0)}function Pt(u,h,v,S,T,D){var j=u.pendingLanes;u.pendingLanes=v,u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0,u.expiredLanes&=v,u.entangledLanes&=v,u.errorRecoveryDisabledLanes&=v,u.shellSuspendCounter=0;var te=u.entanglements,Se=u.expirationTimes,ze=u.hiddenUpdates;for(v=j&~v;0"u")return null;try{return u.activeElement||u.body}catch{return u.body}}var Mi=/[\n"\\]/g;function Sn(u){return u.replace(Mi,function(h){return"\\"+h.charCodeAt(0).toString(16)+" "})}function Ws(u,h,v,S,T,D,j,te){u.name="",j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?u.type=j:u.removeAttribute("type"),h!=null?j==="number"?(h===0&&u.value===""||u.value!=h)&&(u.value=""+rn(h)):u.value!==""+rn(h)&&(u.value=""+rn(h)):j!=="submit"&&j!=="reset"||u.removeAttribute("value"),h!=null?fr(u,j,rn(h)):v!=null?fr(u,j,rn(v)):S!=null&&u.removeAttribute("value"),T==null&&D!=null&&(u.defaultChecked=!!D),T!=null&&(u.checked=T&&typeof T!="function"&&typeof T!="symbol"),te!=null&&typeof te!="function"&&typeof te!="symbol"&&typeof te!="boolean"?u.name=""+rn(te):u.removeAttribute("name")}function Mn(u,h,v,S,T,D,j,te){if(D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"&&(u.type=D),h!=null||v!=null){if(!(D!=="submit"&&D!=="reset"||h!=null)){Gt(u);return}v=v!=null?""+rn(v):"",h=h!=null?""+rn(h):v,te||h===u.value||(u.value=h),u.defaultValue=h}S=S??T,S=typeof S!="function"&&typeof S!="symbol"&&!!S,u.checked=te?u.checked:!!S,u.defaultChecked=!!S,j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"&&(u.name=j),Gt(u)}function fr(u,h,v){h==="number"&&pi(u.ownerDocument)===u||u.defaultValue===""+v||(u.defaultValue=""+v)}function Ki(u,h,v,S){if(u=u.options,h){h={};for(var T=0;T"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ow=!1;if(Qo)try{var vm={};Object.defineProperty(vm,"passive",{get:function(){Ow=!0}}),window.addEventListener("test",vm,vm),window.removeEventListener("test",vm,vm)}catch{Ow=!1}var xc=null,kw=null,Vv=null;function ck(){if(Vv)return Vv;var u,h=kw,v=h.length,S,T="value"in xc?xc.value:xc.textContent,D=T.length;for(u=0;u=bm),mk=" ",gk=!1;function vk(u,h){switch(u){case"keyup":return AJ.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xk(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var kf=!1;function CJ(u,h){switch(u){case"compositionend":return xk(h);case"keypress":return h.which!==32?null:(gk=!0,mk);case"textInput":return u=h.data,u===mk&&gk?null:u;default:return null}}function RJ(u,h){if(kf)return u==="compositionend"||!zw&&vk(u,h)?(u=ck(),Vv=kw=xc=null,kf=!1,u):null;switch(u){case"paste":return null;case"keypress":if(!(h.ctrlKey||h.altKey||h.metaKey)||h.ctrlKey&&h.altKey){if(h.char&&1=h)return{node:v,offset:h-u};u=S}e:{for(;v;){if(v.nextSibling){v=v.nextSibling;break e}v=v.parentNode}v=void 0}v=Ak(v)}}function Ck(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?Ck(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function Rk(u){u=u!=null&&u.ownerDocument!=null&&u.ownerDocument.defaultView!=null?u.ownerDocument.defaultView:window;for(var h=pi(u.document);h instanceof u.HTMLIFrameElement;){try{var v=typeof h.contentWindow.location.href=="string"}catch{v=!1}if(v)u=h.contentWindow;else break;h=pi(u.document)}return h}function Hw(u){var h=u&&u.nodeName&&u.nodeName.toLowerCase();return h&&(h==="input"&&(u.type==="text"||u.type==="search"||u.type==="tel"||u.type==="url"||u.type==="password")||h==="textarea"||u.contentEditable==="true")}var UJ=Qo&&"documentMode"in document&&11>=document.documentMode,Lf=null,Vw=null,Mm=null,Gw=!1;function Nk(u,h,v){var S=v.window===v?v.document:v.nodeType===9?v:v.ownerDocument;Gw||Lf==null||Lf!==pi(S)||(S=Lf,"selectionStart"in S&&Hw(S)?S={start:S.selectionStart,end:S.selectionEnd}:(S=(S.ownerDocument&&S.ownerDocument.defaultView||window).getSelection(),S={anchorNode:S.anchorNode,anchorOffset:S.anchorOffset,focusNode:S.focusNode,focusOffset:S.focusOffset}),Mm&&wm(Mm,S)||(Mm=S,S=Ix(Vw,"onSelect"),0>=j,T-=j,bo=1<<32-et(h)+T|v<Xt?(dn=Nt,Nt=null):dn=Nt.sibling;var vn=Ve(Oe,Nt,Fe[Xt],nt);if(vn===null){Nt===null&&(Nt=dn);break}u&&Nt&&vn.alternate===null&&h(Oe,Nt),Te=D(vn,Te,Xt),gn===null?kt=vn:gn.sibling=vn,gn=vn,Nt=dn}if(Xt===Fe.length)return v(Oe,Nt),hn&&tl(Oe,Xt),kt;if(Nt===null){for(;XtXt?(dn=Nt,Nt=null):dn=Nt.sibling;var Bc=Ve(Oe,Nt,vn.value,nt);if(Bc===null){Nt===null&&(Nt=dn);break}u&&Nt&&Bc.alternate===null&&h(Oe,Nt),Te=D(Bc,Te,Xt),gn===null?kt=Bc:gn.sibling=Bc,gn=Bc,Nt=dn}if(vn.done)return v(Oe,Nt),hn&&tl(Oe,Xt),kt;if(Nt===null){for(;!vn.done;Xt++,vn=Fe.next())vn=it(Oe,vn.value,nt),vn!==null&&(Te=D(vn,Te,Xt),gn===null?kt=vn:gn.sibling=vn,gn=vn);return hn&&tl(Oe,Xt),kt}for(Nt=S(Nt);!vn.done;Xt++,vn=Fe.next())vn=Ke(Nt,Oe,Xt,vn.value,nt),vn!==null&&(u&&vn.alternate!==null&&Nt.delete(vn.key===null?Xt:vn.key),Te=D(vn,Te,Xt),gn===null?kt=vn:gn.sibling=vn,gn=vn);return u&&Nt.forEach(function(iee){return h(Oe,iee)}),hn&&tl(Oe,Xt),kt}function Dn(Oe,Te,Fe,nt){if(typeof Fe=="object"&&Fe!==null&&Fe.type===b&&Fe.key===null&&(Fe=Fe.props.children),typeof Fe=="object"&&Fe!==null){switch(Fe.$$typeof){case m:e:{for(var kt=Fe.key;Te!==null;){if(Te.key===kt){if(kt=Fe.type,kt===b){if(Te.tag===7){v(Oe,Te.sibling),nt=T(Te,Fe.props.children),nt.return=Oe,Oe=nt;break e}}else if(Te.elementType===kt||typeof kt=="object"&&kt!==null&&kt.$$typeof===I&&nd(kt)===Te.type){v(Oe,Te.sibling),nt=T(Te,Fe.props),Nm(nt,Fe),nt.return=Oe,Oe=nt;break e}v(Oe,Te);break}else h(Oe,Te);Te=Te.sibling}Fe.type===b?(nt=Zu(Fe.props.children,Oe.mode,nt,Fe.key),nt.return=Oe,Oe=nt):(nt=Qv(Fe.type,Fe.key,Fe.props,null,Oe.mode,nt),Nm(nt,Fe),nt.return=Oe,Oe=nt)}return j(Oe);case y:e:{for(kt=Fe.key;Te!==null;){if(Te.key===kt)if(Te.tag===4&&Te.stateNode.containerInfo===Fe.containerInfo&&Te.stateNode.implementation===Fe.implementation){v(Oe,Te.sibling),nt=T(Te,Fe.children||[]),nt.return=Oe,Oe=nt;break e}else{v(Oe,Te);break}else h(Oe,Te);Te=Te.sibling}nt=Zw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt}return j(Oe);case I:return Fe=nd(Fe),Dn(Oe,Te,Fe,nt)}if($(Fe))return Tt(Oe,Te,Fe,nt);if(U(Fe)){if(kt=U(Fe),typeof kt!="function")throw Error(i(150));return Fe=kt.call(Fe),Ft(Oe,Te,Fe,nt)}if(typeof Fe.then=="function")return Dn(Oe,Te,sx(Fe),nt);if(Fe.$$typeof===w)return Dn(Oe,Te,nx(Oe,Fe),nt);ox(Oe,Fe)}return typeof Fe=="string"&&Fe!==""||typeof Fe=="number"||typeof Fe=="bigint"?(Fe=""+Fe,Te!==null&&Te.tag===6?(v(Oe,Te.sibling),nt=T(Te,Fe),nt.return=Oe,Oe=nt):(v(Oe,Te),nt=Yw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt),j(Oe)):v(Oe,Te)}return function(Oe,Te,Fe,nt){try{Rm=0;var kt=Dn(Oe,Te,Fe,nt);return Wf=null,kt}catch(Nt){if(Nt===$f||Nt===rx)throw Nt;var gn=ja(29,Nt,null,Oe.mode);return gn.lanes=nt,gn.return=Oe,gn}finally{}}}var rd=Qk(!0),eL=Qk(!1),wc=!1;function cM(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function uM(u,h){u=u.updateQueue,h.updateQueue===u&&(h.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,callbacks:null})}function Mc(u){return{lane:u,tag:0,payload:null,callback:null,next:null}}function Ec(u,h,v){var S=u.updateQueue;if(S===null)return null;if(S=S.shared,(_n&2)!==0){var T=S.pending;return T===null?h.next=h:(h.next=T.next,T.next=h),S.pending=h,h=Jv(u),Uk(u,null,v),h}return Zv(u,S,h,v),Jv(u)}function Pm(u,h,v){if(h=h.updateQueue,h!==null&&(h=h.shared,(v&4194048)!==0)){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,jn(u,v)}}function dM(u,h){var v=u.updateQueue,S=u.alternate;if(S!==null&&(S=S.updateQueue,v===S)){var T=null,D=null;if(v=v.firstBaseUpdate,v!==null){do{var j={lane:v.lane,tag:v.tag,payload:v.payload,callback:null,next:null};D===null?T=D=j:D=D.next=j,v=v.next}while(v!==null);D===null?T=D=h:D=D.next=h}else T=D=h;v={baseState:S.baseState,firstBaseUpdate:T,lastBaseUpdate:D,shared:S.shared,callbacks:S.callbacks},u.updateQueue=v;return}u=v.lastBaseUpdate,u===null?v.firstBaseUpdate=h:u.next=h,v.lastBaseUpdate=h}var fM=!1;function Dm(){if(fM){var u=Gf;if(u!==null)throw u}}function Om(u,h,v,S){fM=!1;var T=u.updateQueue;wc=!1;var D=T.firstBaseUpdate,j=T.lastBaseUpdate,te=T.shared.pending;if(te!==null){T.shared.pending=null;var Se=te,ze=Se.next;Se.next=null,j===null?D=ze:j.next=ze,j=Se;var Je=u.alternate;Je!==null&&(Je=Je.updateQueue,te=Je.lastBaseUpdate,te!==j&&(te===null?Je.firstBaseUpdate=ze:te.next=ze,Je.lastBaseUpdate=Se))}if(D!==null){var it=T.baseState;j=0,Je=ze=Se=null,te=D;do{var Ve=te.lane&-536870913,Ke=Ve!==te.lane;if(Ke?(un&Ve)===Ve:(S&Ve)===Ve){Ve!==0&&Ve===Vf&&(fM=!0),Je!==null&&(Je=Je.next={lane:0,tag:te.tag,payload:te.payload,callback:null,next:null});e:{var Tt=u,Ft=te;Ve=h;var Dn=v;switch(Ft.tag){case 1:if(Tt=Ft.payload,typeof Tt=="function"){it=Tt.call(Dn,it,Ve);break e}it=Tt;break e;case 3:Tt.flags=Tt.flags&-65537|128;case 0:if(Tt=Ft.payload,Ve=typeof Tt=="function"?Tt.call(Dn,it,Ve):Tt,Ve==null)break e;it=f({},it,Ve);break e;case 2:wc=!0}}Ve=te.callback,Ve!==null&&(u.flags|=64,Ke&&(u.flags|=8192),Ke=T.callbacks,Ke===null?T.callbacks=[Ve]:Ke.push(Ve))}else Ke={lane:Ve,tag:te.tag,payload:te.payload,callback:te.callback,next:null},Je===null?(ze=Je=Ke,Se=it):Je=Je.next=Ke,j|=Ve;if(te=te.next,te===null){if(te=T.shared.pending,te===null)break;Ke=te,te=Ke.next,Ke.next=null,T.lastBaseUpdate=Ke,T.shared.pending=null}}while(!0);Je===null&&(Se=it),T.baseState=Se,T.firstBaseUpdate=ze,T.lastBaseUpdate=Je,D===null&&(T.shared.lanes=0),Nc|=j,u.lanes=j,u.memoizedState=it}}function tL(u,h){if(typeof u!="function")throw Error(i(191,u));u.call(h)}function nL(u,h){var v=u.callbacks;if(v!==null)for(u.callbacks=null,u=0;uD?D:8;var j=q.T,te={};q.T=te,PM(u,!1,h,v);try{var Se=T(),ze=q.S;if(ze!==null&&ze(te,Se),Se!==null&&typeof Se=="object"&&typeof Se.then=="function"){var Je=WJ(Se,S);Im(u,h,Je,Wa(u))}else Im(u,h,S,Wa(u))}catch(it){Im(u,h,{then:function(){},status:"rejected",reason:it},Wa())}finally{G.p=D,j!==null&&te.types!==null&&(j.types=te.types),q.T=j}}function JJ(){}function RM(u,h,v,S){if(u.tag!==5)throw Error(i(476));var T=kL(u).queue;OL(u,T,h,K,v===null?JJ:function(){return LL(u),v(S)})}function kL(u){var h=u.memoizedState;if(h!==null)return h;h={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:al,lastRenderedState:K},next:null};var v={};return h.next={memoizedState:v,baseState:v,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:al,lastRenderedState:v},next:null},u.memoizedState=h,u=u.alternate,u!==null&&(u.memoizedState=h),h}function LL(u){var h=kL(u);h.next===null&&(h=u.alternate.memoizedState),Im(u,h.next.queue,{},Wa())}function NM(){return Rr(Qm)}function IL(){return Ai().memoizedState}function UL(){return Ai().memoizedState}function QJ(u){for(var h=u.return;h!==null;){switch(h.tag){case 24:case 3:var v=Wa();u=Mc(v);var S=Ec(h,u,v);S!==null&&(Ma(S,h,v),Pm(S,h,v)),h={cache:aM()},u.payload=h;return}h=h.return}}function eQ(u,h,v){var S=Wa();v={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},vx(u)?zL(h,v):(v=Xw(u,h,v,S),v!==null&&(Ma(v,u,S),BL(v,h,S)))}function FL(u,h,v){var S=Wa();Im(u,h,v,S)}function Im(u,h,v,S){var T={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null};if(vx(u))zL(h,T);else{var D=u.alternate;if(u.lanes===0&&(D===null||D.lanes===0)&&(D=h.lastRenderedReducer,D!==null))try{var j=h.lastRenderedState,te=D(j,v);if(T.hasEagerState=!0,T.eagerState=te,Ba(te,j))return Zv(u,h,T,0),Hn===null&&Yv(),!1}catch{}finally{}if(v=Xw(u,h,T,S),v!==null)return Ma(v,u,S),BL(v,h,S),!0}return!1}function PM(u,h,v,S){if(S={lane:2,revertLane:cE(),gesture:null,action:S,hasEagerState:!1,eagerState:null,next:null},vx(u)){if(h)throw Error(i(479))}else h=Xw(u,v,S,2),h!==null&&Ma(h,u,2)}function vx(u){var h=u.alternate;return u===qt||h!==null&&h===qt}function zL(u,h){Xf=ux=!0;var v=u.pending;v===null?h.next=h:(h.next=v.next,v.next=h),u.pending=h}function BL(u,h,v){if((v&4194048)!==0){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,jn(u,v)}}var Um={readContext:Rr,use:hx,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useLayoutEffect:mi,useInsertionEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useSyncExternalStore:mi,useId:mi,useHostTransitionStatus:mi,useFormState:mi,useActionState:mi,useOptimistic:mi,useMemoCache:mi,useCacheRefresh:mi};Um.useEffectEvent=mi;var jL={readContext:Rr,use:hx,useCallback:function(u,h){return aa().memoizedState=[u,h===void 0?null:h],u},useContext:Rr,useEffect:ML,useImperativeHandle:function(u,h,v){v=v!=null?v.concat([u]):null,mx(4194308,4,CL.bind(null,h,u),v)},useLayoutEffect:function(u,h){return mx(4194308,4,u,h)},useInsertionEffect:function(u,h){mx(4,2,u,h)},useMemo:function(u,h){var v=aa();h=h===void 0?null:h;var S=u();if(ad){dt(!0);try{u()}finally{dt(!1)}}return v.memoizedState=[S,h],S},useReducer:function(u,h,v){var S=aa();if(v!==void 0){var T=v(h);if(ad){dt(!0);try{v(h)}finally{dt(!1)}}}else T=h;return S.memoizedState=S.baseState=T,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:T},S.queue=u,u=u.dispatch=eQ.bind(null,qt,u),[S.memoizedState,u]},useRef:function(u){var h=aa();return u={current:u},h.memoizedState=u},useState:function(u){u=MM(u);var h=u.queue,v=FL.bind(null,qt,h);return h.dispatch=v,[u.memoizedState,v]},useDebugValue:TM,useDeferredValue:function(u,h){var v=aa();return CM(v,u,h)},useTransition:function(){var u=MM(!1);return u=OL.bind(null,qt,u.queue,!0,!1),aa().memoizedState=u,[!1,u]},useSyncExternalStore:function(u,h,v){var S=qt,T=aa();if(hn){if(v===void 0)throw Error(i(407));v=v()}else{if(v=h(),Hn===null)throw Error(i(349));(un&127)!==0||lL(S,h,v)}T.memoizedState=v;var D={value:v,getSnapshot:h};return T.queue=D,ML(uL.bind(null,S,D,u),[u]),S.flags|=2048,Yf(9,{destroy:void 0},cL.bind(null,S,D,v,h),null),v},useId:function(){var u=aa(),h=Hn.identifierPrefix;if(hn){var v=_o,S=bo;v=(S&~(1<<32-et(S)-1)).toString(32)+v,h="_"+h+"R_"+v,v=dx++,0<\/script>",D=D.removeChild(D.firstChild);break;case"select":D=typeof S.is=="string"?j.createElement("select",{is:S.is}):j.createElement("select"),S.multiple?D.multiple=!0:S.size&&(D.size=S.size);break;default:D=typeof S.is=="string"?j.createElement(T,{is:S.is}):j.createElement(T)}}D[si]=h,D[wi]=S;e:for(j=h.child;j!==null;){if(j.tag===5||j.tag===6)D.appendChild(j.stateNode);else if(j.tag!==4&&j.tag!==27&&j.child!==null){j.child.return=j,j=j.child;continue}if(j===h)break e;for(;j.sibling===null;){if(j.return===null||j.return===h)break e;j=j.return}j.sibling.return=j.return,j=j.sibling}h.stateNode=D;e:switch(Pr(D,T,S),T){case"button":case"input":case"select":case"textarea":S=!!S.autoFocus;break e;case"img":S=!0;break e;default:S=!1}S&&ol(h)}}return Yn(h),$M(h,h.type,u===null?null:u.memoizedProps,h.pendingProps,v),null;case 6:if(u&&h.stateNode!=null)u.memoizedProps!==S&&ol(h);else{if(typeof S!="string"&&h.stateNode===null)throw Error(i(166));if(u=me.current,jf(h)){if(u=h.stateNode,v=h.memoizedProps,S=null,T=Cr,T!==null)switch(T.tag){case 27:case 5:S=T.memoizedProps}u[si]=h,u=!!(u.nodeValue===v||S!==null&&S.suppressHydrationWarning===!0||sU(u.nodeValue,v)),u||_c(h,!0)}else u=Ux(u).createTextNode(S),u[si]=h,h.stateNode=u}return Yn(h),null;case 31:if(v=h.memoizedState,u===null||u.memoizedState!==null){if(S=jf(h),v!==null){if(u===null){if(!S)throw Error(i(318));if(u=h.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(557));u[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),u=!1}else v=tM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=v),u=!0;if(!u)return h.flags&256?(Va(h),h):(Va(h),null);if((h.flags&128)!==0)throw Error(i(558))}return Yn(h),null;case 13:if(S=h.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(T=jf(h),S!==null&&S.dehydrated!==null){if(u===null){if(!T)throw Error(i(318));if(T=h.memoizedState,T=T!==null?T.dehydrated:null,!T)throw Error(i(317));T[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),T=!1}else T=tM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=T),T=!0;if(!T)return h.flags&256?(Va(h),h):(Va(h),null)}return Va(h),(h.flags&128)!==0?(h.lanes=v,h):(v=S!==null,u=u!==null&&u.memoizedState!==null,v&&(S=h.child,T=null,S.alternate!==null&&S.alternate.memoizedState!==null&&S.alternate.memoizedState.cachePool!==null&&(T=S.alternate.memoizedState.cachePool.pool),D=null,S.memoizedState!==null&&S.memoizedState.cachePool!==null&&(D=S.memoizedState.cachePool.pool),D!==T&&(S.flags|=2048)),v!==u&&v&&(h.child.flags|=8192),Sx(h,h.updateQueue),Yn(h),null);case 4:return he(),u===null&&hE(h.stateNode.containerInfo),Yn(h),null;case 10:return il(h.type),Yn(h),null;case 19:if(X(Ei),S=h.memoizedState,S===null)return Yn(h),null;if(T=(h.flags&128)!==0,D=S.rendering,D===null)if(T)zm(S,!1);else{if(gi!==0||u!==null&&(u.flags&128)!==0)for(u=h.child;u!==null;){if(D=cx(u),D!==null){for(h.flags|=128,zm(S,!1),u=D.updateQueue,h.updateQueue=u,Sx(h,u),h.subtreeFlags=0,u=v,v=h.child;v!==null;)Fk(v,u),v=v.sibling;return re(Ei,Ei.current&1|2),hn&&tl(h,S.treeForkCount),h.child}u=u.sibling}S.tail!==null&&L()>Tx&&(h.flags|=128,T=!0,zm(S,!1),h.lanes=4194304)}else{if(!T)if(u=cx(D),u!==null){if(h.flags|=128,T=!0,u=u.updateQueue,h.updateQueue=u,Sx(h,u),zm(S,!0),S.tail===null&&S.tailMode==="hidden"&&!D.alternate&&!hn)return Yn(h),null}else 2*L()-S.renderingStartTime>Tx&&v!==536870912&&(h.flags|=128,T=!0,zm(S,!1),h.lanes=4194304);S.isBackwards?(D.sibling=h.child,h.child=D):(u=S.last,u!==null?u.sibling=D:h.child=D,S.last=D)}return S.tail!==null?(u=S.tail,S.rendering=u,S.tail=u.sibling,S.renderingStartTime=L(),u.sibling=null,v=Ei.current,re(Ei,T?v&1|2:v&1),hn&&tl(h,S.treeForkCount),u):(Yn(h),null);case 22:case 23:return Va(h),pM(),S=h.memoizedState!==null,u!==null?u.memoizedState!==null!==S&&(h.flags|=8192):S&&(h.flags|=8192),S?(v&536870912)!==0&&(h.flags&128)===0&&(Yn(h),h.subtreeFlags&6&&(h.flags|=8192)):Yn(h),v=h.updateQueue,v!==null&&Sx(h,v.retryQueue),v=null,u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),S=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(S=h.memoizedState.cachePool.pool),S!==v&&(h.flags|=2048),u!==null&&X(td),null;case 24:return v=null,u!==null&&(v=u.memoizedState.cache),h.memoizedState.cache!==v&&(h.flags|=2048),il(Oi),Yn(h),null;case 25:return null;case 30:return null}throw Error(i(156,h.tag))}function aQ(u,h){switch(Qw(h),h.tag){case 1:return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return il(Oi),he(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 26:case 27:case 5:return Be(h),null;case 31:if(h.memoizedState!==null){if(Va(h),h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 13:if(Va(h),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return X(Ei),null;case 4:return he(),null;case 10:return il(h.type),null;case 22:case 23:return Va(h),pM(),u!==null&&X(td),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 24:return il(Oi),null;case 25:return null;default:return null}}function dI(u,h){switch(Qw(h),h.tag){case 3:il(Oi),he();break;case 26:case 27:case 5:Be(h);break;case 4:he();break;case 31:h.memoizedState!==null&&Va(h);break;case 13:Va(h);break;case 19:X(Ei);break;case 10:il(h.type);break;case 22:case 23:Va(h),pM(),u!==null&&X(td);break;case 24:il(Oi)}}function Bm(u,h){try{var v=h.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var T=S.next;v=T;do{if((v.tag&u)===u){S=void 0;var D=v.create,j=v.inst;S=D(),j.destroy=S}v=v.next}while(v!==T)}}catch(te){An(h,h.return,te)}}function Cc(u,h,v){try{var S=h.updateQueue,T=S!==null?S.lastEffect:null;if(T!==null){var D=T.next;S=D;do{if((S.tag&u)===u){var j=S.inst,te=j.destroy;if(te!==void 0){j.destroy=void 0,T=h;var Se=v,ze=te;try{ze()}catch(Je){An(T,Se,Je)}}}S=S.next}while(S!==D)}}catch(Je){An(h,h.return,Je)}}function fI(u){var h=u.updateQueue;if(h!==null){var v=u.stateNode;try{nL(h,v)}catch(S){An(u,u.return,S)}}}function hI(u,h,v){v.props=sd(u.type,u.memoizedProps),v.state=u.memoizedState;try{v.componentWillUnmount()}catch(S){An(u,h,S)}}function jm(u,h){try{var v=u.ref;if(v!==null){switch(u.tag){case 26:case 27:case 5:var S=u.stateNode;break;case 30:S=u.stateNode;break;default:S=u.stateNode}typeof v=="function"?u.refCleanup=v(S):v.current=S}}catch(T){An(u,h,T)}}function So(u,h){var v=u.ref,S=u.refCleanup;if(v!==null)if(typeof S=="function")try{S()}catch(T){An(u,h,T)}finally{u.refCleanup=null,u=u.alternate,u!=null&&(u.refCleanup=null)}else if(typeof v=="function")try{v(null)}catch(T){An(u,h,T)}else v.current=null}function pI(u){var h=u.type,v=u.memoizedProps,S=u.stateNode;try{e:switch(h){case"button":case"input":case"select":case"textarea":v.autoFocus&&S.focus();break e;case"img":v.src?S.src=v.src:v.srcSet&&(S.srcset=v.srcSet)}}catch(T){An(u,u.return,T)}}function WM(u,h,v){try{var S=u.stateNode;TQ(S,u.type,v,h),S[wi]=h}catch(T){An(u,u.return,T)}}function mI(u){return u.tag===5||u.tag===3||u.tag===26||u.tag===27&&Lc(u.type)||u.tag===4}function qM(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||mI(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.tag===27&&Lc(u.type)||u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function XM(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?(v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v).insertBefore(u,h):(h=v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v,h.appendChild(u),v=v._reactRootContainer,v!=null||h.onclick!==null||(h.onclick=Jo));else if(S!==4&&(S===27&&Lc(u.type)&&(v=u.stateNode,h=null),u=u.child,u!==null))for(XM(u,h,v),u=u.sibling;u!==null;)XM(u,h,v),u=u.sibling}function wx(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?v.insertBefore(u,h):v.appendChild(u);else if(S!==4&&(S===27&&Lc(u.type)&&(v=u.stateNode),u=u.child,u!==null))for(wx(u,h,v),u=u.sibling;u!==null;)wx(u,h,v),u=u.sibling}function gI(u){var h=u.stateNode,v=u.memoizedProps;try{for(var S=u.type,T=h.attributes;T.length;)h.removeAttributeNode(T[0]);Pr(h,S,v),h[si]=u,h[wi]=v}catch(D){An(u,u.return,D)}}var ll=!1,Ii=!1,KM=!1,vI=typeof WeakSet=="function"?WeakSet:Set,pr=null;function sQ(u,h){if(u=u.containerInfo,gE=Gx,u=Rk(u),Hw(u)){if("selectionStart"in u)var v={start:u.selectionStart,end:u.selectionEnd};else e:{v=(v=u.ownerDocument)&&v.defaultView||window;var S=v.getSelection&&v.getSelection();if(S&&S.rangeCount!==0){v=S.anchorNode;var T=S.anchorOffset,D=S.focusNode;S=S.focusOffset;try{v.nodeType,D.nodeType}catch{v=null;break e}var j=0,te=-1,Se=-1,ze=0,Je=0,it=u,Ve=null;t:for(;;){for(var Ke;it!==v||T!==0&&it.nodeType!==3||(te=j+T),it!==D||S!==0&&it.nodeType!==3||(Se=j+S),it.nodeType===3&&(j+=it.nodeValue.length),(Ke=it.firstChild)!==null;)Ve=it,it=Ke;for(;;){if(it===u)break t;if(Ve===v&&++ze===T&&(te=j),Ve===D&&++Je===S&&(Se=j),(Ke=it.nextSibling)!==null)break;it=Ve,Ve=it.parentNode}it=Ke}v=te===-1||Se===-1?null:{start:te,end:Se}}else v=null}v=v||{start:0,end:0}}else v=null;for(vE={focusedElem:u,selectionRange:v},Gx=!1,pr=h;pr!==null;)if(h=pr,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,pr=u;else for(;pr!==null;){switch(h=pr,D=h.alternate,u=h.flags,h.tag){case 0:if((u&4)!==0&&(u=h.updateQueue,u=u!==null?u.events:null,u!==null))for(v=0;v title"))),Pr(D,S,v),D[si]=u,Re(D),S=D;break e;case"link":var j=wU("link","href",T).get(S+(v.href||""));if(j){for(var te=0;teDn&&(j=Dn,Dn=Ft,Ft=j);var Oe=Tk(te,Ft),Te=Tk(te,Dn);if(Oe&&Te&&(Ke.rangeCount!==1||Ke.anchorNode!==Oe.node||Ke.anchorOffset!==Oe.offset||Ke.focusNode!==Te.node||Ke.focusOffset!==Te.offset)){var Fe=it.createRange();Fe.setStart(Oe.node,Oe.offset),Ke.removeAllRanges(),Ft>Dn?(Ke.addRange(Fe),Ke.extend(Te.node,Te.offset)):(Fe.setEnd(Te.node,Te.offset),Ke.addRange(Fe))}}}}for(it=[],Ke=te;Ke=Ke.parentNode;)Ke.nodeType===1&&it.push({element:Ke,left:Ke.scrollLeft,top:Ke.scrollTop});for(typeof te.focus=="function"&&te.focus(),te=0;tev?32:v,q.T=null,v=nE,nE=null;var D=Dc,j=hl;if(Yi=0,th=Dc=null,hl=0,(_n&6)!==0)throw Error(i(331));var te=_n;if(_n|=4,CI(D.current),EI(D,D.current,j,v),_n=te,qm(0,!1),Pe&&typeof Pe.onPostCommitFiberRoot=="function")try{Pe.onPostCommitFiberRoot(Ue,D)}catch{}return!0}finally{G.p=T,q.T=S,WI(u,h)}}function XI(u,h,v){h=us(v,h),h=LM(u.stateNode,h,2),u=Ec(u,h,2),u!==null&&(tn(u,2),wo(u))}function An(u,h,v){if(u.tag===3)XI(u,u,v);else for(;h!==null;){if(h.tag===3){XI(h,u,v);break}else if(h.tag===1){var S=h.stateNode;if(typeof h.type.getDerivedStateFromError=="function"||typeof S.componentDidCatch=="function"&&(Pc===null||!Pc.has(S))){u=us(v,u),v=KL(2),S=Ec(h,v,2),S!==null&&(YL(v,S,h,u),tn(S,2),wo(S));break}}h=h.return}}function sE(u,h,v){var S=u.pingCache;if(S===null){S=u.pingCache=new cQ;var T=new Set;S.set(h,T)}else T=S.get(h),T===void 0&&(T=new Set,S.set(h,T));T.has(v)||(JM=!0,T.add(v),u=pQ.bind(null,u,h,v),h.then(u,u))}function pQ(u,h,v){var S=u.pingCache;S!==null&&S.delete(h),u.pingedLanes|=u.suspendedLanes&v,u.warmLanes&=~v,Hn===u&&(un&v)===v&&(gi===4||gi===3&&(un&62914560)===un&&300>L()-Ax?(_n&2)===0&&nh(u,0):QM|=v,eh===un&&(eh=0)),wo(u)}function KI(u,h){h===0&&(h=yt()),u=Yu(u,h),u!==null&&(tn(u,h),wo(u))}function mQ(u){var h=u.memoizedState,v=0;h!==null&&(v=h.retryLane),KI(u,v)}function gQ(u,h){var v=0;switch(u.tag){case 31:case 13:var S=u.stateNode,T=u.memoizedState;T!==null&&(v=T.retryLane);break;case 19:S=u.stateNode;break;case 22:S=u.stateNode._retryCache;break;default:throw Error(i(314))}S!==null&&S.delete(h),KI(u,v)}function vQ(u,h){return ie(u,h)}var Ox=null,rh=null,oE=!1,kx=!1,lE=!1,kc=0;function wo(u){u!==rh&&u.next===null&&(rh===null?Ox=rh=u:rh=rh.next=u),kx=!0,oE||(oE=!0,yQ())}function qm(u,h){if(!lE&&kx){lE=!0;do for(var v=!1,S=Ox;S!==null;){if(u!==0){var T=S.pendingLanes;if(T===0)var D=0;else{var j=S.suspendedLanes,te=S.pingedLanes;D=(1<<31-et(42|u)+1)-1,D&=T&~(j&~te),D=D&201326741?D&201326741|1:D?D|2:0}D!==0&&(v=!0,QI(S,D))}else D=un,D=ge(S,S===Hn?D:0,S.cancelPendingCommit!==null||S.timeoutHandle!==-1),(D&3)===0||je(S,D)||(v=!0,QI(S,D));S=S.next}while(v);lE=!1}}function xQ(){YI()}function YI(){kx=oE=!1;var u=0;kc!==0&&RQ()&&(u=kc);for(var h=L(),v=null,S=Ox;S!==null;){var T=S.next,D=ZI(S,h);D===0?(S.next=null,v===null?Ox=T:v.next=T,T===null&&(rh=v)):(v=S,(u!==0||(D&3)!==0)&&(kx=!0)),S=T}Yi!==0&&Yi!==5||qm(u),kc!==0&&(kc=0)}function ZI(u,h){for(var v=u.suspendedLanes,S=u.pingedLanes,T=u.expirationTimes,D=u.pendingLanes&-62914561;0te)break;var Je=Se.transferSize,it=Se.initiatorType;Je&&oU(it)&&(Se=Se.responseEnd,j+=Je*(Se"u"?null:document;function yU(u,h,v){var S=ah;if(S&&typeof h=="string"&&h){var T=Sn(h);T='link[rel="'+u+'"][href="'+T+'"]',typeof v=="string"&&(T+='[crossorigin="'+v+'"]'),xU.has(T)||(xU.add(T),u={rel:u,crossOrigin:v,href:h},S.querySelector(T)===null&&(h=S.createElement("link"),Pr(h,"link",u),Re(h),S.head.appendChild(h)))}}function FQ(u){pl.D(u),yU("dns-prefetch",u,null)}function zQ(u,h){pl.C(u,h),yU("preconnect",u,h)}function BQ(u,h,v){pl.L(u,h,v);var S=ah;if(S&&u&&h){var T='link[rel="preload"][as="'+Sn(h)+'"]';h==="image"&&v&&v.imageSrcSet?(T+='[imagesrcset="'+Sn(v.imageSrcSet)+'"]',typeof v.imageSizes=="string"&&(T+='[imagesizes="'+Sn(v.imageSizes)+'"]')):T+='[href="'+Sn(u)+'"]';var D=T;switch(h){case"style":D=sh(u);break;case"script":D=oh(u)}gs.has(D)||(u=f({rel:"preload",href:h==="image"&&v&&v.imageSrcSet?void 0:u,as:h},v),gs.set(D,u),S.querySelector(T)!==null||h==="style"&&S.querySelector(Zm(D))||h==="script"&&S.querySelector(Jm(D))||(h=S.createElement("link"),Pr(h,"link",u),Re(h),S.head.appendChild(h)))}}function jQ(u,h){pl.m(u,h);var v=ah;if(v&&u){var S=h&&typeof h.as=="string"?h.as:"script",T='link[rel="modulepreload"][as="'+Sn(S)+'"][href="'+Sn(u)+'"]',D=T;switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":D=oh(u)}if(!gs.has(D)&&(u=f({rel:"modulepreload",href:u},h),gs.set(D,u),v.querySelector(T)===null)){switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(v.querySelector(Jm(D)))return}S=v.createElement("link"),Pr(S,"link",u),Re(S),v.head.appendChild(S)}}}function HQ(u,h,v){pl.S(u,h,v);var S=ah;if(S&&u){var T=Ne(S).hoistableStyles,D=sh(u);h=h||"default";var j=T.get(D);if(!j){var te={loading:0,preload:null};if(j=S.querySelector(Zm(D)))te.loading=5;else{u=f({rel:"stylesheet",href:u,"data-precedence":h},v),(v=gs.get(D))&&ME(u,v);var Se=j=S.createElement("link");Re(Se),Pr(Se,"link",u),Se._p=new Promise(function(ze,Je){Se.onload=ze,Se.onerror=Je}),Se.addEventListener("load",function(){te.loading|=1}),Se.addEventListener("error",function(){te.loading|=2}),te.loading|=4,zx(j,h,S)}j={type:"stylesheet",instance:j,count:1,state:te},T.set(D,j)}}}function VQ(u,h){pl.X(u,h);var v=ah;if(v&&u){var S=Ne(v).hoistableScripts,T=oh(u),D=S.get(T);D||(D=v.querySelector(Jm(T)),D||(u=f({src:u,async:!0},h),(h=gs.get(T))&&EE(u,h),D=v.createElement("script"),Re(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(T,D))}}function GQ(u,h){pl.M(u,h);var v=ah;if(v&&u){var S=Ne(v).hoistableScripts,T=oh(u),D=S.get(T);D||(D=v.querySelector(Jm(T)),D||(u=f({src:u,async:!0,type:"module"},h),(h=gs.get(T))&&EE(u,h),D=v.createElement("script"),Re(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(T,D))}}function bU(u,h,v,S){var T=(T=me.current)?Fx(T):null;if(!T)throw Error(i(446));switch(u){case"meta":case"title":return null;case"style":return typeof v.precedence=="string"&&typeof v.href=="string"?(h=sh(v.href),v=Ne(T).hoistableStyles,S=v.get(h),S||(S={type:"style",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};case"link":if(v.rel==="stylesheet"&&typeof v.href=="string"&&typeof v.precedence=="string"){u=sh(v.href);var D=Ne(T).hoistableStyles,j=D.get(u);if(j||(T=T.ownerDocument||T,j={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},D.set(u,j),(D=T.querySelector(Zm(u)))&&!D._p&&(j.instance=D,j.state.loading=5),gs.has(u)||(v={rel:"preload",as:"style",href:v.href,crossOrigin:v.crossOrigin,integrity:v.integrity,media:v.media,hrefLang:v.hrefLang,referrerPolicy:v.referrerPolicy},gs.set(u,v),D||$Q(T,u,v,j.state))),h&&S===null)throw Error(i(528,""));return j}if(h&&S!==null)throw Error(i(529,""));return null;case"script":return h=v.async,v=v.src,typeof v=="string"&&h&&typeof h!="function"&&typeof h!="symbol"?(h=oh(v),v=Ne(T).hoistableScripts,S=v.get(h),S||(S={type:"script",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,u))}}function sh(u){return'href="'+Sn(u)+'"'}function Zm(u){return'link[rel="stylesheet"]['+u+"]"}function _U(u){return f({},u,{"data-precedence":u.precedence,precedence:null})}function $Q(u,h,v,S){u.querySelector('link[rel="preload"][as="style"]['+h+"]")?S.loading=1:(h=u.createElement("link"),S.preload=h,h.addEventListener("load",function(){return S.loading|=1}),h.addEventListener("error",function(){return S.loading|=2}),Pr(h,"link",v),Re(h),u.head.appendChild(h))}function oh(u){return'[src="'+Sn(u)+'"]'}function Jm(u){return"script[async]"+u}function SU(u,h,v){if(h.count++,h.instance===null)switch(h.type){case"style":var S=u.querySelector('style[data-href~="'+Sn(v.href)+'"]');if(S)return h.instance=S,Re(S),S;var T=f({},v,{"data-href":v.href,"data-precedence":v.precedence,href:null,precedence:null});return S=(u.ownerDocument||u).createElement("style"),Re(S),Pr(S,"style",T),zx(S,v.precedence,u),h.instance=S;case"stylesheet":T=sh(v.href);var D=u.querySelector(Zm(T));if(D)return h.state.loading|=4,h.instance=D,Re(D),D;S=_U(v),(T=gs.get(T))&&ME(S,T),D=(u.ownerDocument||u).createElement("link"),Re(D);var j=D;return j._p=new Promise(function(te,Se){j.onload=te,j.onerror=Se}),Pr(D,"link",S),h.state.loading|=4,zx(D,v.precedence,u),h.instance=D;case"script":return D=oh(v.src),(T=u.querySelector(Jm(D)))?(h.instance=T,Re(T),T):(S=v,(T=gs.get(D))&&(S=f({},v),EE(S,T)),u=u.ownerDocument||u,T=u.createElement("script"),Re(T),Pr(T,"link",S),u.head.appendChild(T),h.instance=T);case"void":return null;default:throw Error(i(443,h.type))}else h.type==="stylesheet"&&(h.state.loading&4)===0&&(S=h.instance,h.state.loading|=4,zx(S,v.precedence,u));return h.instance}function zx(u,h,v){for(var S=v.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),T=S.length?S[S.length-1]:null,D=T,j=0;j title"):null)}function WQ(u,h,v){if(v===1||h.itemProp!=null)return!1;switch(u){case"meta":case"title":return!0;case"style":if(typeof h.precedence!="string"||typeof h.href!="string"||h.href==="")break;return!0;case"link":if(typeof h.rel!="string"||typeof h.href!="string"||h.href===""||h.onLoad||h.onError)break;switch(h.rel){case"stylesheet":return u=h.disabled,typeof h.precedence=="string"&&u==null;default:return!0}case"script":if(h.async&&typeof h.async!="function"&&typeof h.async!="symbol"&&!h.onLoad&&!h.onError&&h.src&&typeof h.src=="string")return!0}return!1}function EU(u){return!(u.type==="stylesheet"&&(u.state.loading&3)===0)}function qQ(u,h,v,S){if(v.type==="stylesheet"&&(typeof S.media!="string"||matchMedia(S.media).matches!==!1)&&(v.state.loading&4)===0){if(v.instance===null){var T=sh(S.href),D=h.querySelector(Zm(T));if(D){h=D._p,h!==null&&typeof h=="object"&&typeof h.then=="function"&&(u.count++,u=jx.bind(u),h.then(u,u)),v.state.loading|=4,v.instance=D,Re(D);return}D=h.ownerDocument||h,S=_U(S),(T=gs.get(T))&&ME(S,T),D=D.createElement("link"),Re(D);var j=D;j._p=new Promise(function(te,Se){j.onload=te,j.onerror=Se}),Pr(D,"link",S),v.instance=D}u.stylesheets===null&&(u.stylesheets=new Map),u.stylesheets.set(v,h),(h=v.state.preload)&&(v.state.loading&3)===0&&(u.count++,v=jx.bind(u),h.addEventListener("load",v),h.addEventListener("error",v))}}var AE=0;function XQ(u,h){return u.stylesheets&&u.count===0&&Vx(u,u.stylesheets),0AE?50:800)+h);return u.unsuspend=v,function(){u.unsuspend=null,clearTimeout(S),clearTimeout(T)}}:null}function jx(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Vx(this,this.stylesheets);else if(this.unsuspend){var u=this.unsuspend;this.unsuspend=null,u()}}}var Hx=null;function Vx(u,h){u.stylesheets=null,u.unsuspend!==null&&(u.count++,Hx=new Map,h.forEach(KQ,u),Hx=null,jx.call(u))}function KQ(u,h){if(!(h.state.loading&4)){var v=Hx.get(u);if(v)var S=v.get(null);else{v=new Map,Hx.set(u,v);for(var T=u.querySelectorAll("link[data-precedence],style[data-precedence]"),D=0;D"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),LE.exports=fee(),LE.exports}var pee=hee();var KU="popstate";function mee(t={}){function e(i,r){let{pathname:a,search:s,hash:o}=i.location;return b2("",{pathname:a,search:s,hash:o},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function n(i,r){return typeof r=="string"?r:l0(r)}return vee(e,n,null,t)}function li(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function po(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function gee(){return Math.random().toString(36).substring(2,10)}function YU(t,e){return{usr:t.state,key:t.key,idx:e}}function b2(t,e,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?$p(e):e,state:n,key:e&&e.key||i||gee()}}function l0({pathname:t="/",search:e="",hash:n=""}){return e&&e!=="?"&&(t+=e.charAt(0)==="?"?e:"?"+e),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function $p(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(e.search=t.substring(i),t=t.substring(0,i)),t&&(e.pathname=t)}return e}function vee(t,e,n,i={}){let{window:r=document.defaultView,v5Compat:a=!1}=i,s=r.history,o="POP",l=null,c=d();c==null&&(c=0,s.replaceState({...s.state,idx:c},""));function d(){return(s.state||{idx:null}).idx}function f(){o="POP";let x=d(),g=x==null?null:x-c;c=x,l&&l({action:o,location:b.location,delta:g})}function p(x,g){o="PUSH";let M=b2(b.location,x,g);c=d()+1;let w=YU(M,c),E=b.createHref(M);try{s.pushState(w,"",E)}catch(A){if(A instanceof DOMException&&A.name==="DataCloneError")throw A;r.location.assign(E)}a&&l&&l({action:o,location:b.location,delta:1})}function m(x,g){o="REPLACE";let M=b2(b.location,x,g);c=d();let w=YU(M,c),E=b.createHref(M);s.replaceState(w,"",E),a&&l&&l({action:o,location:b.location,delta:0})}function y(x){return xee(x)}let b={get action(){return o},get location(){return t(r,s)},listen(x){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(KU,f),l=x,()=>{r.removeEventListener(KU,f),l=null}},createHref(x){return e(r,x)},createURL:y,encodeLocation(x){let g=y(x);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:p,replace:m,go(x){return s.go(x)}};return b}function xee(t,e=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),li(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:l0(t);return i=i.replace(/ $/,"%20"),!e&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function NV(t,e,n="/"){return yee(t,e,n,!1)}function yee(t,e,n,i){let r=typeof e=="string"?$p(e):e,a=Jl(r.pathname||"/",n);if(a==null)return null;let s=PV(t);bee(s);let o=null;for(let l=0;o==null&&l{let d={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(i)&&l)return;li(d.relativePath.startsWith(i),`Absolute route path "${d.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(i.length)}let f=Gl([i,d.relativePath]),p=n.concat(d);s.children&&s.children.length>0&&(li(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),PV(s.children,e,p,f,l)),!(s.path==null&&!s.index)&&e.push({path:f,score:Tee(f,s.index),routesMeta:p})};return t.forEach((s,o)=>{if(s.path===""||!s.path?.includes("?"))a(s,o);else for(let l of DV(s.path))a(s,o,!0,l)}),e}function DV(t){let e=t.split("/");if(e.length===0)return[];let[n,...i]=e,r=n.endsWith("?"),a=n.replace(/\?$/,"");if(i.length===0)return r?[a,""]:[a];let s=DV(i.join("/")),o=[];return o.push(...s.map(l=>l===""?a:[a,l].join("/"))),r&&o.push(...s),o.map(l=>t.startsWith("/")&&l===""?"/":l)}function bee(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:Cee(e.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var _ee=/^:[\w-]+$/,See=3,wee=2,Mee=1,Eee=10,Aee=-2,ZU=t=>t==="*";function Tee(t,e){let n=t.split("/"),i=n.length;return n.some(ZU)&&(i+=Aee),e&&(i+=wee),n.filter(r=>!ZU(r)).reduce((r,a)=>r+(_ee.test(a)?See:a===""?Mee:Eee),i)}function Cee(t,e){return t.length===e.length&&t.slice(0,-1).every((i,r)=>i===e[r])?t[t.length-1]-e[e.length-1]:0}function Ree(t,e,n=!1){let{routesMeta:i}=t,r={},a="/",s=[];for(let o=0;o{if(d==="*"){let y=o[p]||"";s=a.slice(0,a.length-y.length).replace(/(.)\/+$/,"$1")}const m=o[p];return f&&!m?c[d]=void 0:c[d]=(m||"").replace(/%2F/g,"/"),c},{}),pathname:a,pathnameBase:s,pattern:t}}function Nee(t,e=!1,n=!0){po(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,o,l)=>(i.push({paramName:o,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),r+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?r+="\\/*$":t!==""&&t!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function Pee(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return po(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),t}}function Jl(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var Dee=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Oee=t=>Dee.test(t);function kee(t,e="/"){let{pathname:n,search:i="",hash:r=""}=typeof t=="string"?$p(t):t,a;if(n)if(Oee(n))a=n;else{if(n.includes("//")){let s=n;n=n.replace(/\/\/+/g,"/"),po(!1,`Pathnames cannot have embedded double slashes - normalizing ${s} -> ${n}`)}n.startsWith("/")?a=JU(n.substring(1),"/"):a=JU(n,e)}else a=e;return{pathname:a,search:Uee(i),hash:Fee(r)}}function JU(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(r=>{r===".."?n.length>1&&n.pop():r!=="."&&n.push(r)}),n.length>1?n.join("/"):"/"}function zE(t,e,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${e}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Lee(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function OV(t){let e=Lee(t);return e.map((n,i)=>i===e.length-1?n.pathname:n.pathnameBase)}function kV(t,e,n,i=!1){let r;typeof t=="string"?r=$p(t):(r={...t},li(!r.pathname||!r.pathname.includes("?"),zE("?","pathname","search",r)),li(!r.pathname||!r.pathname.includes("#"),zE("#","pathname","hash",r)),li(!r.search||!r.search.includes("#"),zE("#","search","hash",r)));let a=t===""||r.pathname==="",s=a?"/":r.pathname,o;if(s==null)o=n;else{let f=e.length-1;if(!i&&s.startsWith("..")){let p=s.split("/");for(;p[0]==="..";)p.shift(),f-=1;r.pathname=p.join("/")}o=f>=0?e[f]:"/"}let l=kee(r,o),c=s&&s!=="/"&&s.endsWith("/"),d=(a||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||d)&&(l.pathname+="/"),l}var Gl=t=>t.join("/").replace(/\/\/+/g,"/"),Iee=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Uee=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Fee=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function zee(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var LV=["POST","PUT","PATCH","DELETE"];new Set(LV);var Bee=["GET",...LV];new Set(Bee);var Wp=C.createContext(null);Wp.displayName="DataRouter";var rS=C.createContext(null);rS.displayName="DataRouterState";C.createContext(!1);var IV=C.createContext({isTransitioning:!1});IV.displayName="ViewTransition";var jee=C.createContext(new Map);jee.displayName="Fetchers";var Hee=C.createContext(null);Hee.displayName="Await";var Xo=C.createContext(null);Xo.displayName="Navigation";var ev=C.createContext(null);ev.displayName="Location";var Ko=C.createContext({outlet:null,matches:[],isDataRoute:!1});Ko.displayName="Route";var wN=C.createContext(null);wN.displayName="RouteError";function Vee(t,{relative:e}={}){li(tv(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=C.useContext(Xo),{hash:r,pathname:a,search:s}=nv(t,{relative:e}),o=a;return n!=="/"&&(o=a==="/"?n:Gl([n,a])),i.createHref({pathname:o,search:s,hash:r})}function tv(){return C.useContext(ev)!=null}function Ef(){return li(tv(),"useLocation() may be used only in the context of a component."),C.useContext(ev).location}var UV="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function FV(t){C.useContext(Xo).static||C.useLayoutEffect(t)}function zV(){let{isDataRoute:t}=C.useContext(Ko);return t?rte():Gee()}function Gee(){li(tv(),"useNavigate() may be used only in the context of a component.");let t=C.useContext(Wp),{basename:e,navigator:n}=C.useContext(Xo),{matches:i}=C.useContext(Ko),{pathname:r}=Ef(),a=JSON.stringify(OV(i)),s=C.useRef(!1);return FV(()=>{s.current=!0}),C.useCallback((l,c={})=>{if(po(s.current,UV),!s.current)return;if(typeof l=="number"){n.go(l);return}let d=kV(l,JSON.parse(a),r,c.relative==="path");t==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Gl([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,a,r,t])}var $ee=C.createContext(null);function Wee(t){let e=C.useContext(Ko).outlet;return C.useMemo(()=>e&&C.createElement($ee.Provider,{value:t},e),[e,t])}function nv(t,{relative:e}={}){let{matches:n}=C.useContext(Ko),{pathname:i}=Ef(),r=JSON.stringify(OV(n));return C.useMemo(()=>kV(t,JSON.parse(r),i,e==="path"),[t,r,i,e])}function qee(t,e){return BV(t,e)}function BV(t,e,n,i,r){li(tv(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=C.useContext(Xo),{matches:s}=C.useContext(Ko),o=s[s.length-1],l=o?o.params:{},c=o?o.pathname:"/",d=o?o.pathnameBase:"/",f=o&&o.route;{let M=f&&f.path||"";jV(c,!f||M.endsWith("*")||M.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${c}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. +`+S.stack}}var ae=Object.prototype.hasOwnProperty,Pe=t.unstable_scheduleCallback,Re=t.unstable_cancelCallback,te=t.unstable_shouldYield,I=t.unstable_requestPaint,L=t.unstable_now,X=t.unstable_getCurrentPriorityLevel,pe=t.unstable_ImmediatePriority,ve=t.unstable_UserBlockingPriority,fe=t.unstable_NormalPriority,Ye=t.unstable_LowPriority,Le=t.unstable_IdlePriority,qe=t.log,it=t.unstable_setDisableYieldValue,Ie=null,Ne=null;function dt(u){if(typeof qe=="function"&&it(u),Ne&&typeof Ne.setStrictMode=="function")try{Ne.setStrictMode(Ie,u)}catch{}}var et=Math.clz32?Math.clz32:ue,Qe=Math.log,st=Math.LN2;function ue(u){return u>>>=0,u===0?32:31-(Qe(u)/st|0)|0}var tt=256,de=262144,ke=4194304;function Me(u){var h=u&42;if(h!==0)return h;switch(u&-u){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:return u&261888;case 262144:case 524288:case 1048576:case 2097152:return u&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return u&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return u}}function ge(u,h,v){var S=u.pendingLanes;if(S===0)return 0;var T=0,D=u.suspendedLanes,j=u.pingedLanes;u=u.warmLanes;var ne=S&134217727;return ne!==0?(S=ne&~D,S!==0?T=Me(S):(j&=ne,j!==0?T=Me(j):v||(v=ne&~u,v!==0&&(T=Me(v))))):(ne=S&~D,ne!==0?T=Me(ne):j!==0?T=Me(j):v||(v=S&~u,v!==0&&(T=Me(v)))),T===0?0:h!==0&&h!==T&&(h&D)===0&&(D=T&-T,v=h&-h,D>=v||D===32&&(v&4194048)!==0)?h:T}function je(u,h){return(u.pendingLanes&~(u.suspendedLanes&~u.pingedLanes)&h)===0}function at(u,h){switch(u){case 1:case 2:case 4:case 8:case 64:return h+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 h+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 yt(){var u=ke;return ke<<=1,(ke&62914560)===0&&(ke=4194304),u}function Ct(u){for(var h=[],v=0;31>v;v++)h.push(u);return h}function tn(u,h){u.pendingLanes|=h,h!==268435456&&(u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0)}function Pt(u,h,v,S,T,D){var j=u.pendingLanes;u.pendingLanes=v,u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0,u.expiredLanes&=v,u.entangledLanes&=v,u.errorRecoveryDisabledLanes&=v,u.shellSuspendCounter=0;var ne=u.entanglements,_e=u.expirationTimes,ze=u.hiddenUpdates;for(v=j&~v;0"u")return null;try{return u.activeElement||u.body}catch{return u.body}}var Mi=/[\n"\\]/g;function Sn(u){return u.replace(Mi,function(h){return"\\"+h.charCodeAt(0).toString(16)+" "})}function Ws(u,h,v,S,T,D,j,ne){u.name="",j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?u.type=j:u.removeAttribute("type"),h!=null?j==="number"?(h===0&&u.value===""||u.value!=h)&&(u.value=""+rn(h)):u.value!==""+rn(h)&&(u.value=""+rn(h)):j!=="submit"&&j!=="reset"||u.removeAttribute("value"),h!=null?fr(u,j,rn(h)):v!=null?fr(u,j,rn(v)):S!=null&&u.removeAttribute("value"),T==null&&D!=null&&(u.defaultChecked=!!D),T!=null&&(u.checked=T&&typeof T!="function"&&typeof T!="symbol"),ne!=null&&typeof ne!="function"&&typeof ne!="symbol"&&typeof ne!="boolean"?u.name=""+rn(ne):u.removeAttribute("name")}function Mn(u,h,v,S,T,D,j,ne){if(D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"&&(u.type=D),h!=null||v!=null){if(!(D!=="submit"&&D!=="reset"||h!=null)){Gt(u);return}v=v!=null?""+rn(v):"",h=h!=null?""+rn(h):v,ne||h===u.value||(u.value=h),u.defaultValue=h}S=S??T,S=typeof S!="function"&&typeof S!="symbol"&&!!S,u.checked=ne?u.checked:!!S,u.defaultChecked=!!S,j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"&&(u.name=j),Gt(u)}function fr(u,h,v){h==="number"&&pi(u.ownerDocument)===u||u.defaultValue===""+v||(u.defaultValue=""+v)}function Ki(u,h,v,S){if(u=u.options,h){h={};for(var T=0;T"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ow=!1;if(Qo)try{var vm={};Object.defineProperty(vm,"passive",{get:function(){Ow=!0}}),window.addEventListener("test",vm,vm),window.removeEventListener("test",vm,vm)}catch{Ow=!1}var xc=null,kw=null,Vv=null;function ck(){if(Vv)return Vv;var u,h=kw,v=h.length,S,T="value"in xc?xc.value:xc.textContent,D=T.length;for(u=0;u=bm),mk=" ",gk=!1;function vk(u,h){switch(u){case"keyup":return CJ.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xk(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var kf=!1;function NJ(u,h){switch(u){case"compositionend":return xk(h);case"keypress":return h.which!==32?null:(gk=!0,mk);case"textInput":return u=h.data,u===mk&&gk?null:u;default:return null}}function PJ(u,h){if(kf)return u==="compositionend"||!zw&&vk(u,h)?(u=ck(),Vv=kw=xc=null,kf=!1,u):null;switch(u){case"paste":return null;case"keypress":if(!(h.ctrlKey||h.altKey||h.metaKey)||h.ctrlKey&&h.altKey){if(h.char&&1=h)return{node:v,offset:h-u};u=S}e:{for(;v;){if(v.nextSibling){v=v.nextSibling;break e}v=v.parentNode}v=void 0}v=Ak(v)}}function Ck(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?Ck(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function Rk(u){u=u!=null&&u.ownerDocument!=null&&u.ownerDocument.defaultView!=null?u.ownerDocument.defaultView:window;for(var h=pi(u.document);h instanceof u.HTMLIFrameElement;){try{var v=typeof h.contentWindow.location.href=="string"}catch{v=!1}if(v)u=h.contentWindow;else break;h=pi(u.document)}return h}function Hw(u){var h=u&&u.nodeName&&u.nodeName.toLowerCase();return h&&(h==="input"&&(u.type==="text"||u.type==="search"||u.type==="tel"||u.type==="url"||u.type==="password")||h==="textarea"||u.contentEditable==="true")}var zJ=Qo&&"documentMode"in document&&11>=document.documentMode,Lf=null,Vw=null,Mm=null,Gw=!1;function Nk(u,h,v){var S=v.window===v?v.document:v.nodeType===9?v:v.ownerDocument;Gw||Lf==null||Lf!==pi(S)||(S=Lf,"selectionStart"in S&&Hw(S)?S={start:S.selectionStart,end:S.selectionEnd}:(S=(S.ownerDocument&&S.ownerDocument.defaultView||window).getSelection(),S={anchorNode:S.anchorNode,anchorOffset:S.anchorOffset,focusNode:S.focusNode,focusOffset:S.focusOffset}),Mm&&wm(Mm,S)||(Mm=S,S=Ix(Vw,"onSelect"),0>=j,T-=j,bo=1<<32-et(h)+T|v<Xt?(dn=Nt,Nt=null):dn=Nt.sibling;var vn=Ve(Oe,Nt,Fe[Xt],nt);if(vn===null){Nt===null&&(Nt=dn);break}u&&Nt&&vn.alternate===null&&h(Oe,Nt),Ee=D(vn,Ee,Xt),gn===null?kt=vn:gn.sibling=vn,gn=vn,Nt=dn}if(Xt===Fe.length)return v(Oe,Nt),hn&&tl(Oe,Xt),kt;if(Nt===null){for(;XtXt?(dn=Nt,Nt=null):dn=Nt.sibling;var Bc=Ve(Oe,Nt,vn.value,nt);if(Bc===null){Nt===null&&(Nt=dn);break}u&&Nt&&Bc.alternate===null&&h(Oe,Nt),Ee=D(Bc,Ee,Xt),gn===null?kt=Bc:gn.sibling=Bc,gn=Bc,Nt=dn}if(vn.done)return v(Oe,Nt),hn&&tl(Oe,Xt),kt;if(Nt===null){for(;!vn.done;Xt++,vn=Fe.next())vn=rt(Oe,vn.value,nt),vn!==null&&(Ee=D(vn,Ee,Xt),gn===null?kt=vn:gn.sibling=vn,gn=vn);return hn&&tl(Oe,Xt),kt}for(Nt=S(Nt);!vn.done;Xt++,vn=Fe.next())vn=Ke(Nt,Oe,Xt,vn.value,nt),vn!==null&&(u&&vn.alternate!==null&&Nt.delete(vn.key===null?Xt:vn.key),Ee=D(vn,Ee,Xt),gn===null?kt=vn:gn.sibling=vn,gn=vn);return u&&Nt.forEach(function(aee){return h(Oe,aee)}),hn&&tl(Oe,Xt),kt}function Dn(Oe,Ee,Fe,nt){if(typeof Fe=="object"&&Fe!==null&&Fe.type===b&&Fe.key===null&&(Fe=Fe.props.children),typeof Fe=="object"&&Fe!==null){switch(Fe.$$typeof){case m:e:{for(var kt=Fe.key;Ee!==null;){if(Ee.key===kt){if(kt=Fe.type,kt===b){if(Ee.tag===7){v(Oe,Ee.sibling),nt=T(Ee,Fe.props.children),nt.return=Oe,Oe=nt;break e}}else if(Ee.elementType===kt||typeof kt=="object"&&kt!==null&&kt.$$typeof===F&&nd(kt)===Ee.type){v(Oe,Ee.sibling),nt=T(Ee,Fe.props),Nm(nt,Fe),nt.return=Oe,Oe=nt;break e}v(Oe,Ee);break}else h(Oe,Ee);Ee=Ee.sibling}Fe.type===b?(nt=Zu(Fe.props.children,Oe.mode,nt,Fe.key),nt.return=Oe,Oe=nt):(nt=Qv(Fe.type,Fe.key,Fe.props,null,Oe.mode,nt),Nm(nt,Fe),nt.return=Oe,Oe=nt)}return j(Oe);case y:e:{for(kt=Fe.key;Ee!==null;){if(Ee.key===kt)if(Ee.tag===4&&Ee.stateNode.containerInfo===Fe.containerInfo&&Ee.stateNode.implementation===Fe.implementation){v(Oe,Ee.sibling),nt=T(Ee,Fe.children||[]),nt.return=Oe,Oe=nt;break e}else{v(Oe,Ee);break}else h(Oe,Ee);Ee=Ee.sibling}nt=Zw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt}return j(Oe);case F:return Fe=nd(Fe),Dn(Oe,Ee,Fe,nt)}if(G(Fe))return Tt(Oe,Ee,Fe,nt);if(U(Fe)){if(kt=U(Fe),typeof kt!="function")throw Error(i(150));return Fe=kt.call(Fe),Ft(Oe,Ee,Fe,nt)}if(typeof Fe.then=="function")return Dn(Oe,Ee,sx(Fe),nt);if(Fe.$$typeof===w)return Dn(Oe,Ee,nx(Oe,Fe),nt);ox(Oe,Fe)}return typeof Fe=="string"&&Fe!==""||typeof Fe=="number"||typeof Fe=="bigint"?(Fe=""+Fe,Ee!==null&&Ee.tag===6?(v(Oe,Ee.sibling),nt=T(Ee,Fe),nt.return=Oe,Oe=nt):(v(Oe,Ee),nt=Yw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt),j(Oe)):v(Oe,Ee)}return function(Oe,Ee,Fe,nt){try{Rm=0;var kt=Dn(Oe,Ee,Fe,nt);return Wf=null,kt}catch(Nt){if(Nt===$f||Nt===rx)throw Nt;var gn=ja(29,Nt,null,Oe.mode);return gn.lanes=nt,gn.return=Oe,gn}finally{}}}var rd=Qk(!0),eL=Qk(!1),wc=!1;function cM(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function uM(u,h){u=u.updateQueue,h.updateQueue===u&&(h.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,callbacks:null})}function Mc(u){return{lane:u,tag:0,payload:null,callback:null,next:null}}function Ec(u,h,v){var S=u.updateQueue;if(S===null)return null;if(S=S.shared,(_n&2)!==0){var T=S.pending;return T===null?h.next=h:(h.next=T.next,T.next=h),S.pending=h,h=Jv(u),Uk(u,null,v),h}return Zv(u,S,h,v),Jv(u)}function Pm(u,h,v){if(h=h.updateQueue,h!==null&&(h=h.shared,(v&4194048)!==0)){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,jn(u,v)}}function dM(u,h){var v=u.updateQueue,S=u.alternate;if(S!==null&&(S=S.updateQueue,v===S)){var T=null,D=null;if(v=v.firstBaseUpdate,v!==null){do{var j={lane:v.lane,tag:v.tag,payload:v.payload,callback:null,next:null};D===null?T=D=j:D=D.next=j,v=v.next}while(v!==null);D===null?T=D=h:D=D.next=h}else T=D=h;v={baseState:S.baseState,firstBaseUpdate:T,lastBaseUpdate:D,shared:S.shared,callbacks:S.callbacks},u.updateQueue=v;return}u=v.lastBaseUpdate,u===null?v.firstBaseUpdate=h:u.next=h,v.lastBaseUpdate=h}var fM=!1;function Dm(){if(fM){var u=Gf;if(u!==null)throw u}}function Om(u,h,v,S){fM=!1;var T=u.updateQueue;wc=!1;var D=T.firstBaseUpdate,j=T.lastBaseUpdate,ne=T.shared.pending;if(ne!==null){T.shared.pending=null;var _e=ne,ze=_e.next;_e.next=null,j===null?D=ze:j.next=ze,j=_e;var Je=u.alternate;Je!==null&&(Je=Je.updateQueue,ne=Je.lastBaseUpdate,ne!==j&&(ne===null?Je.firstBaseUpdate=ze:ne.next=ze,Je.lastBaseUpdate=_e))}if(D!==null){var rt=T.baseState;j=0,Je=ze=_e=null,ne=D;do{var Ve=ne.lane&-536870913,Ke=Ve!==ne.lane;if(Ke?(un&Ve)===Ve:(S&Ve)===Ve){Ve!==0&&Ve===Vf&&(fM=!0),Je!==null&&(Je=Je.next={lane:0,tag:ne.tag,payload:ne.payload,callback:null,next:null});e:{var Tt=u,Ft=ne;Ve=h;var Dn=v;switch(Ft.tag){case 1:if(Tt=Ft.payload,typeof Tt=="function"){rt=Tt.call(Dn,rt,Ve);break e}rt=Tt;break e;case 3:Tt.flags=Tt.flags&-65537|128;case 0:if(Tt=Ft.payload,Ve=typeof Tt=="function"?Tt.call(Dn,rt,Ve):Tt,Ve==null)break e;rt=f({},rt,Ve);break e;case 2:wc=!0}}Ve=ne.callback,Ve!==null&&(u.flags|=64,Ke&&(u.flags|=8192),Ke=T.callbacks,Ke===null?T.callbacks=[Ve]:Ke.push(Ve))}else Ke={lane:Ve,tag:ne.tag,payload:ne.payload,callback:ne.callback,next:null},Je===null?(ze=Je=Ke,_e=rt):Je=Je.next=Ke,j|=Ve;if(ne=ne.next,ne===null){if(ne=T.shared.pending,ne===null)break;Ke=ne,ne=Ke.next,Ke.next=null,T.lastBaseUpdate=Ke,T.shared.pending=null}}while(!0);Je===null&&(_e=rt),T.baseState=_e,T.firstBaseUpdate=ze,T.lastBaseUpdate=Je,D===null&&(T.shared.lanes=0),Nc|=j,u.lanes=j,u.memoizedState=rt}}function tL(u,h){if(typeof u!="function")throw Error(i(191,u));u.call(h)}function nL(u,h){var v=u.callbacks;if(v!==null)for(u.callbacks=null,u=0;uD?D:8;var j=q.T,ne={};q.T=ne,PM(u,!1,h,v);try{var _e=T(),ze=q.S;if(ze!==null&&ze(ne,_e),_e!==null&&typeof _e=="object"&&typeof _e.then=="function"){var Je=XJ(_e,S);Im(u,h,Je,Wa(u))}else Im(u,h,S,Wa(u))}catch(rt){Im(u,h,{then:function(){},status:"rejected",reason:rt},Wa())}finally{$.p=D,j!==null&&ne.types!==null&&(j.types=ne.types),q.T=j}}function eQ(){}function RM(u,h,v,S){if(u.tag!==5)throw Error(i(476));var T=kL(u).queue;OL(u,T,h,Y,v===null?eQ:function(){return LL(u),v(S)})}function kL(u){var h=u.memoizedState;if(h!==null)return h;h={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:al,lastRenderedState:Y},next:null};var v={};return h.next={memoizedState:v,baseState:v,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:al,lastRenderedState:v},next:null},u.memoizedState=h,u=u.alternate,u!==null&&(u.memoizedState=h),h}function LL(u){var h=kL(u);h.next===null&&(h=u.alternate.memoizedState),Im(u,h.next.queue,{},Wa())}function NM(){return Rr(Qm)}function IL(){return Ai().memoizedState}function UL(){return Ai().memoizedState}function tQ(u){for(var h=u.return;h!==null;){switch(h.tag){case 24:case 3:var v=Wa();u=Mc(v);var S=Ec(h,u,v);S!==null&&(Ma(S,h,v),Pm(S,h,v)),h={cache:aM()},u.payload=h;return}h=h.return}}function nQ(u,h,v){var S=Wa();v={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},vx(u)?zL(h,v):(v=Xw(u,h,v,S),v!==null&&(Ma(v,u,S),BL(v,h,S)))}function FL(u,h,v){var S=Wa();Im(u,h,v,S)}function Im(u,h,v,S){var T={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null};if(vx(u))zL(h,T);else{var D=u.alternate;if(u.lanes===0&&(D===null||D.lanes===0)&&(D=h.lastRenderedReducer,D!==null))try{var j=h.lastRenderedState,ne=D(j,v);if(T.hasEagerState=!0,T.eagerState=ne,Ba(ne,j))return Zv(u,h,T,0),Hn===null&&Yv(),!1}catch{}finally{}if(v=Xw(u,h,T,S),v!==null)return Ma(v,u,S),BL(v,h,S),!0}return!1}function PM(u,h,v,S){if(S={lane:2,revertLane:cE(),gesture:null,action:S,hasEagerState:!1,eagerState:null,next:null},vx(u)){if(h)throw Error(i(479))}else h=Xw(u,v,S,2),h!==null&&Ma(h,u,2)}function vx(u){var h=u.alternate;return u===qt||h!==null&&h===qt}function zL(u,h){Xf=ux=!0;var v=u.pending;v===null?h.next=h:(h.next=v.next,v.next=h),u.pending=h}function BL(u,h,v){if((v&4194048)!==0){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,jn(u,v)}}var Um={readContext:Rr,use:hx,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useLayoutEffect:mi,useInsertionEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useSyncExternalStore:mi,useId:mi,useHostTransitionStatus:mi,useFormState:mi,useActionState:mi,useOptimistic:mi,useMemoCache:mi,useCacheRefresh:mi};Um.useEffectEvent=mi;var jL={readContext:Rr,use:hx,useCallback:function(u,h){return aa().memoizedState=[u,h===void 0?null:h],u},useContext:Rr,useEffect:ML,useImperativeHandle:function(u,h,v){v=v!=null?v.concat([u]):null,mx(4194308,4,CL.bind(null,h,u),v)},useLayoutEffect:function(u,h){return mx(4194308,4,u,h)},useInsertionEffect:function(u,h){mx(4,2,u,h)},useMemo:function(u,h){var v=aa();h=h===void 0?null:h;var S=u();if(ad){dt(!0);try{u()}finally{dt(!1)}}return v.memoizedState=[S,h],S},useReducer:function(u,h,v){var S=aa();if(v!==void 0){var T=v(h);if(ad){dt(!0);try{v(h)}finally{dt(!1)}}}else T=h;return S.memoizedState=S.baseState=T,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:T},S.queue=u,u=u.dispatch=nQ.bind(null,qt,u),[S.memoizedState,u]},useRef:function(u){var h=aa();return u={current:u},h.memoizedState=u},useState:function(u){u=MM(u);var h=u.queue,v=FL.bind(null,qt,h);return h.dispatch=v,[u.memoizedState,v]},useDebugValue:TM,useDeferredValue:function(u,h){var v=aa();return CM(v,u,h)},useTransition:function(){var u=MM(!1);return u=OL.bind(null,qt,u.queue,!0,!1),aa().memoizedState=u,[!1,u]},useSyncExternalStore:function(u,h,v){var S=qt,T=aa();if(hn){if(v===void 0)throw Error(i(407));v=v()}else{if(v=h(),Hn===null)throw Error(i(349));(un&127)!==0||lL(S,h,v)}T.memoizedState=v;var D={value:v,getSnapshot:h};return T.queue=D,ML(uL.bind(null,S,D,u),[u]),S.flags|=2048,Yf(9,{destroy:void 0},cL.bind(null,S,D,v,h),null),v},useId:function(){var u=aa(),h=Hn.identifierPrefix;if(hn){var v=_o,S=bo;v=(S&~(1<<32-et(S)-1)).toString(32)+v,h="_"+h+"R_"+v,v=dx++,0<\/script>",D=D.removeChild(D.firstChild);break;case"select":D=typeof S.is=="string"?j.createElement("select",{is:S.is}):j.createElement("select"),S.multiple?D.multiple=!0:S.size&&(D.size=S.size);break;default:D=typeof S.is=="string"?j.createElement(T,{is:S.is}):j.createElement(T)}}D[si]=h,D[wi]=S;e:for(j=h.child;j!==null;){if(j.tag===5||j.tag===6)D.appendChild(j.stateNode);else if(j.tag!==4&&j.tag!==27&&j.child!==null){j.child.return=j,j=j.child;continue}if(j===h)break e;for(;j.sibling===null;){if(j.return===null||j.return===h)break e;j=j.return}j.sibling.return=j.return,j=j.sibling}h.stateNode=D;e:switch(Pr(D,T,S),T){case"button":case"input":case"select":case"textarea":S=!!S.autoFocus;break e;case"img":S=!0;break e;default:S=!1}S&&ol(h)}}return Yn(h),$M(h,h.type,u===null?null:u.memoizedProps,h.pendingProps,v),null;case 6:if(u&&h.stateNode!=null)u.memoizedProps!==S&&ol(h);else{if(typeof S!="string"&&h.stateNode===null)throw Error(i(166));if(u=me.current,jf(h)){if(u=h.stateNode,v=h.memoizedProps,S=null,T=Cr,T!==null)switch(T.tag){case 27:case 5:S=T.memoizedProps}u[si]=h,u=!!(u.nodeValue===v||S!==null&&S.suppressHydrationWarning===!0||sU(u.nodeValue,v)),u||_c(h,!0)}else u=Ux(u).createTextNode(S),u[si]=h,h.stateNode=u}return Yn(h),null;case 31:if(v=h.memoizedState,u===null||u.memoizedState!==null){if(S=jf(h),v!==null){if(u===null){if(!S)throw Error(i(318));if(u=h.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(557));u[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),u=!1}else v=tM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=v),u=!0;if(!u)return h.flags&256?(Va(h),h):(Va(h),null);if((h.flags&128)!==0)throw Error(i(558))}return Yn(h),null;case 13:if(S=h.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(T=jf(h),S!==null&&S.dehydrated!==null){if(u===null){if(!T)throw Error(i(318));if(T=h.memoizedState,T=T!==null?T.dehydrated:null,!T)throw Error(i(317));T[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),T=!1}else T=tM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=T),T=!0;if(!T)return h.flags&256?(Va(h),h):(Va(h),null)}return Va(h),(h.flags&128)!==0?(h.lanes=v,h):(v=S!==null,u=u!==null&&u.memoizedState!==null,v&&(S=h.child,T=null,S.alternate!==null&&S.alternate.memoizedState!==null&&S.alternate.memoizedState.cachePool!==null&&(T=S.alternate.memoizedState.cachePool.pool),D=null,S.memoizedState!==null&&S.memoizedState.cachePool!==null&&(D=S.memoizedState.cachePool.pool),D!==T&&(S.flags|=2048)),v!==u&&v&&(h.child.flags|=8192),Sx(h,h.updateQueue),Yn(h),null);case 4:return he(),u===null&&hE(h.stateNode.containerInfo),Yn(h),null;case 10:return il(h.type),Yn(h),null;case 19:if(K(Ei),S=h.memoizedState,S===null)return Yn(h),null;if(T=(h.flags&128)!==0,D=S.rendering,D===null)if(T)zm(S,!1);else{if(gi!==0||u!==null&&(u.flags&128)!==0)for(u=h.child;u!==null;){if(D=cx(u),D!==null){for(h.flags|=128,zm(S,!1),u=D.updateQueue,h.updateQueue=u,Sx(h,u),h.subtreeFlags=0,u=v,v=h.child;v!==null;)Fk(v,u),v=v.sibling;return re(Ei,Ei.current&1|2),hn&&tl(h,S.treeForkCount),h.child}u=u.sibling}S.tail!==null&&L()>Tx&&(h.flags|=128,T=!0,zm(S,!1),h.lanes=4194304)}else{if(!T)if(u=cx(D),u!==null){if(h.flags|=128,T=!0,u=u.updateQueue,h.updateQueue=u,Sx(h,u),zm(S,!0),S.tail===null&&S.tailMode==="hidden"&&!D.alternate&&!hn)return Yn(h),null}else 2*L()-S.renderingStartTime>Tx&&v!==536870912&&(h.flags|=128,T=!0,zm(S,!1),h.lanes=4194304);S.isBackwards?(D.sibling=h.child,h.child=D):(u=S.last,u!==null?u.sibling=D:h.child=D,S.last=D)}return S.tail!==null?(u=S.tail,S.rendering=u,S.tail=u.sibling,S.renderingStartTime=L(),u.sibling=null,v=Ei.current,re(Ei,T?v&1|2:v&1),hn&&tl(h,S.treeForkCount),u):(Yn(h),null);case 22:case 23:return Va(h),pM(),S=h.memoizedState!==null,u!==null?u.memoizedState!==null!==S&&(h.flags|=8192):S&&(h.flags|=8192),S?(v&536870912)!==0&&(h.flags&128)===0&&(Yn(h),h.subtreeFlags&6&&(h.flags|=8192)):Yn(h),v=h.updateQueue,v!==null&&Sx(h,v.retryQueue),v=null,u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),S=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(S=h.memoizedState.cachePool.pool),S!==v&&(h.flags|=2048),u!==null&&K(td),null;case 24:return v=null,u!==null&&(v=u.memoizedState.cache),h.memoizedState.cache!==v&&(h.flags|=2048),il(Oi),Yn(h),null;case 25:return null;case 30:return null}throw Error(i(156,h.tag))}function oQ(u,h){switch(Qw(h),h.tag){case 1:return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return il(Oi),he(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 26:case 27:case 5:return Be(h),null;case 31:if(h.memoizedState!==null){if(Va(h),h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 13:if(Va(h),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return K(Ei),null;case 4:return he(),null;case 10:return il(h.type),null;case 22:case 23:return Va(h),pM(),u!==null&&K(td),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 24:return il(Oi),null;case 25:return null;default:return null}}function dI(u,h){switch(Qw(h),h.tag){case 3:il(Oi),he();break;case 26:case 27:case 5:Be(h);break;case 4:he();break;case 31:h.memoizedState!==null&&Va(h);break;case 13:Va(h);break;case 19:K(Ei);break;case 10:il(h.type);break;case 22:case 23:Va(h),pM(),u!==null&&K(td);break;case 24:il(Oi)}}function Bm(u,h){try{var v=h.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var T=S.next;v=T;do{if((v.tag&u)===u){S=void 0;var D=v.create,j=v.inst;S=D(),j.destroy=S}v=v.next}while(v!==T)}}catch(ne){An(h,h.return,ne)}}function Cc(u,h,v){try{var S=h.updateQueue,T=S!==null?S.lastEffect:null;if(T!==null){var D=T.next;S=D;do{if((S.tag&u)===u){var j=S.inst,ne=j.destroy;if(ne!==void 0){j.destroy=void 0,T=h;var _e=v,ze=ne;try{ze()}catch(Je){An(T,_e,Je)}}}S=S.next}while(S!==D)}}catch(Je){An(h,h.return,Je)}}function fI(u){var h=u.updateQueue;if(h!==null){var v=u.stateNode;try{nL(h,v)}catch(S){An(u,u.return,S)}}}function hI(u,h,v){v.props=sd(u.type,u.memoizedProps),v.state=u.memoizedState;try{v.componentWillUnmount()}catch(S){An(u,h,S)}}function jm(u,h){try{var v=u.ref;if(v!==null){switch(u.tag){case 26:case 27:case 5:var S=u.stateNode;break;case 30:S=u.stateNode;break;default:S=u.stateNode}typeof v=="function"?u.refCleanup=v(S):v.current=S}}catch(T){An(u,h,T)}}function So(u,h){var v=u.ref,S=u.refCleanup;if(v!==null)if(typeof S=="function")try{S()}catch(T){An(u,h,T)}finally{u.refCleanup=null,u=u.alternate,u!=null&&(u.refCleanup=null)}else if(typeof v=="function")try{v(null)}catch(T){An(u,h,T)}else v.current=null}function pI(u){var h=u.type,v=u.memoizedProps,S=u.stateNode;try{e:switch(h){case"button":case"input":case"select":case"textarea":v.autoFocus&&S.focus();break e;case"img":v.src?S.src=v.src:v.srcSet&&(S.srcset=v.srcSet)}}catch(T){An(u,u.return,T)}}function WM(u,h,v){try{var S=u.stateNode;RQ(S,u.type,v,h),S[wi]=h}catch(T){An(u,u.return,T)}}function mI(u){return u.tag===5||u.tag===3||u.tag===26||u.tag===27&&Lc(u.type)||u.tag===4}function qM(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||mI(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.tag===27&&Lc(u.type)||u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function XM(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?(v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v).insertBefore(u,h):(h=v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v,h.appendChild(u),v=v._reactRootContainer,v!=null||h.onclick!==null||(h.onclick=Jo));else if(S!==4&&(S===27&&Lc(u.type)&&(v=u.stateNode,h=null),u=u.child,u!==null))for(XM(u,h,v),u=u.sibling;u!==null;)XM(u,h,v),u=u.sibling}function wx(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?v.insertBefore(u,h):v.appendChild(u);else if(S!==4&&(S===27&&Lc(u.type)&&(v=u.stateNode),u=u.child,u!==null))for(wx(u,h,v),u=u.sibling;u!==null;)wx(u,h,v),u=u.sibling}function gI(u){var h=u.stateNode,v=u.memoizedProps;try{for(var S=u.type,T=h.attributes;T.length;)h.removeAttributeNode(T[0]);Pr(h,S,v),h[si]=u,h[wi]=v}catch(D){An(u,u.return,D)}}var ll=!1,Ii=!1,KM=!1,vI=typeof WeakSet=="function"?WeakSet:Set,pr=null;function lQ(u,h){if(u=u.containerInfo,gE=Gx,u=Rk(u),Hw(u)){if("selectionStart"in u)var v={start:u.selectionStart,end:u.selectionEnd};else e:{v=(v=u.ownerDocument)&&v.defaultView||window;var S=v.getSelection&&v.getSelection();if(S&&S.rangeCount!==0){v=S.anchorNode;var T=S.anchorOffset,D=S.focusNode;S=S.focusOffset;try{v.nodeType,D.nodeType}catch{v=null;break e}var j=0,ne=-1,_e=-1,ze=0,Je=0,rt=u,Ve=null;t:for(;;){for(var Ke;rt!==v||T!==0&&rt.nodeType!==3||(ne=j+T),rt!==D||S!==0&&rt.nodeType!==3||(_e=j+S),rt.nodeType===3&&(j+=rt.nodeValue.length),(Ke=rt.firstChild)!==null;)Ve=rt,rt=Ke;for(;;){if(rt===u)break t;if(Ve===v&&++ze===T&&(ne=j),Ve===D&&++Je===S&&(_e=j),(Ke=rt.nextSibling)!==null)break;rt=Ve,Ve=rt.parentNode}rt=Ke}v=ne===-1||_e===-1?null:{start:ne,end:_e}}else v=null}v=v||{start:0,end:0}}else v=null;for(vE={focusedElem:u,selectionRange:v},Gx=!1,pr=h;pr!==null;)if(h=pr,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,pr=u;else for(;pr!==null;){switch(h=pr,D=h.alternate,u=h.flags,h.tag){case 0:if((u&4)!==0&&(u=h.updateQueue,u=u!==null?u.events:null,u!==null))for(v=0;v title"))),Pr(D,S,v),D[si]=u,Te(D),S=D;break e;case"link":var j=wU("link","href",T).get(S+(v.href||""));if(j){for(var ne=0;neDn&&(j=Dn,Dn=Ft,Ft=j);var Oe=Tk(ne,Ft),Ee=Tk(ne,Dn);if(Oe&&Ee&&(Ke.rangeCount!==1||Ke.anchorNode!==Oe.node||Ke.anchorOffset!==Oe.offset||Ke.focusNode!==Ee.node||Ke.focusOffset!==Ee.offset)){var Fe=rt.createRange();Fe.setStart(Oe.node,Oe.offset),Ke.removeAllRanges(),Ft>Dn?(Ke.addRange(Fe),Ke.extend(Ee.node,Ee.offset)):(Fe.setEnd(Ee.node,Ee.offset),Ke.addRange(Fe))}}}}for(rt=[],Ke=ne;Ke=Ke.parentNode;)Ke.nodeType===1&&rt.push({element:Ke,left:Ke.scrollLeft,top:Ke.scrollTop});for(typeof ne.focus=="function"&&ne.focus(),ne=0;nev?32:v,q.T=null,v=nE,nE=null;var D=Dc,j=hl;if(Yi=0,th=Dc=null,hl=0,(_n&6)!==0)throw Error(i(331));var ne=_n;if(_n|=4,CI(D.current),EI(D,D.current,j,v),_n=ne,qm(0,!1),Ne&&typeof Ne.onPostCommitFiberRoot=="function")try{Ne.onPostCommitFiberRoot(Ie,D)}catch{}return!0}finally{$.p=T,q.T=S,WI(u,h)}}function XI(u,h,v){h=us(v,h),h=LM(u.stateNode,h,2),u=Ec(u,h,2),u!==null&&(tn(u,2),wo(u))}function An(u,h,v){if(u.tag===3)XI(u,u,v);else for(;h!==null;){if(h.tag===3){XI(h,u,v);break}else if(h.tag===1){var S=h.stateNode;if(typeof h.type.getDerivedStateFromError=="function"||typeof S.componentDidCatch=="function"&&(Pc===null||!Pc.has(S))){u=us(v,u),v=KL(2),S=Ec(h,v,2),S!==null&&(YL(v,S,h,u),tn(S,2),wo(S));break}}h=h.return}}function sE(u,h,v){var S=u.pingCache;if(S===null){S=u.pingCache=new dQ;var T=new Set;S.set(h,T)}else T=S.get(h),T===void 0&&(T=new Set,S.set(h,T));T.has(v)||(JM=!0,T.add(v),u=gQ.bind(null,u,h,v),h.then(u,u))}function gQ(u,h,v){var S=u.pingCache;S!==null&&S.delete(h),u.pingedLanes|=u.suspendedLanes&v,u.warmLanes&=~v,Hn===u&&(un&v)===v&&(gi===4||gi===3&&(un&62914560)===un&&300>L()-Ax?(_n&2)===0&&nh(u,0):QM|=v,eh===un&&(eh=0)),wo(u)}function KI(u,h){h===0&&(h=yt()),u=Yu(u,h),u!==null&&(tn(u,h),wo(u))}function vQ(u){var h=u.memoizedState,v=0;h!==null&&(v=h.retryLane),KI(u,v)}function xQ(u,h){var v=0;switch(u.tag){case 31:case 13:var S=u.stateNode,T=u.memoizedState;T!==null&&(v=T.retryLane);break;case 19:S=u.stateNode;break;case 22:S=u.stateNode._retryCache;break;default:throw Error(i(314))}S!==null&&S.delete(h),KI(u,v)}function yQ(u,h){return Pe(u,h)}var Ox=null,rh=null,oE=!1,kx=!1,lE=!1,kc=0;function wo(u){u!==rh&&u.next===null&&(rh===null?Ox=rh=u:rh=rh.next=u),kx=!0,oE||(oE=!0,_Q())}function qm(u,h){if(!lE&&kx){lE=!0;do for(var v=!1,S=Ox;S!==null;){if(u!==0){var T=S.pendingLanes;if(T===0)var D=0;else{var j=S.suspendedLanes,ne=S.pingedLanes;D=(1<<31-et(42|u)+1)-1,D&=T&~(j&~ne),D=D&201326741?D&201326741|1:D?D|2:0}D!==0&&(v=!0,QI(S,D))}else D=un,D=ge(S,S===Hn?D:0,S.cancelPendingCommit!==null||S.timeoutHandle!==-1),(D&3)===0||je(S,D)||(v=!0,QI(S,D));S=S.next}while(v);lE=!1}}function bQ(){YI()}function YI(){kx=oE=!1;var u=0;kc!==0&&PQ()&&(u=kc);for(var h=L(),v=null,S=Ox;S!==null;){var T=S.next,D=ZI(S,h);D===0?(S.next=null,v===null?Ox=T:v.next=T,T===null&&(rh=v)):(v=S,(u!==0||(D&3)!==0)&&(kx=!0)),S=T}Yi!==0&&Yi!==5||qm(u),kc!==0&&(kc=0)}function ZI(u,h){for(var v=u.suspendedLanes,S=u.pingedLanes,T=u.expirationTimes,D=u.pendingLanes&-62914561;0ne)break;var Je=_e.transferSize,rt=_e.initiatorType;Je&&oU(rt)&&(_e=_e.responseEnd,j+=Je*(_e"u"?null:document;function yU(u,h,v){var S=ah;if(S&&typeof h=="string"&&h){var T=Sn(h);T='link[rel="'+u+'"][href="'+T+'"]',typeof v=="string"&&(T+='[crossorigin="'+v+'"]'),xU.has(T)||(xU.add(T),u={rel:u,crossOrigin:v,href:h},S.querySelector(T)===null&&(h=S.createElement("link"),Pr(h,"link",u),Te(h),S.head.appendChild(h)))}}function BQ(u){pl.D(u),yU("dns-prefetch",u,null)}function jQ(u,h){pl.C(u,h),yU("preconnect",u,h)}function HQ(u,h,v){pl.L(u,h,v);var S=ah;if(S&&u&&h){var T='link[rel="preload"][as="'+Sn(h)+'"]';h==="image"&&v&&v.imageSrcSet?(T+='[imagesrcset="'+Sn(v.imageSrcSet)+'"]',typeof v.imageSizes=="string"&&(T+='[imagesizes="'+Sn(v.imageSizes)+'"]')):T+='[href="'+Sn(u)+'"]';var D=T;switch(h){case"style":D=sh(u);break;case"script":D=oh(u)}gs.has(D)||(u=f({rel:"preload",href:h==="image"&&v&&v.imageSrcSet?void 0:u,as:h},v),gs.set(D,u),S.querySelector(T)!==null||h==="style"&&S.querySelector(Zm(D))||h==="script"&&S.querySelector(Jm(D))||(h=S.createElement("link"),Pr(h,"link",u),Te(h),S.head.appendChild(h)))}}function VQ(u,h){pl.m(u,h);var v=ah;if(v&&u){var S=h&&typeof h.as=="string"?h.as:"script",T='link[rel="modulepreload"][as="'+Sn(S)+'"][href="'+Sn(u)+'"]',D=T;switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":D=oh(u)}if(!gs.has(D)&&(u=f({rel:"modulepreload",href:u},h),gs.set(D,u),v.querySelector(T)===null)){switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(v.querySelector(Jm(D)))return}S=v.createElement("link"),Pr(S,"link",u),Te(S),v.head.appendChild(S)}}}function GQ(u,h,v){pl.S(u,h,v);var S=ah;if(S&&u){var T=Ce(S).hoistableStyles,D=sh(u);h=h||"default";var j=T.get(D);if(!j){var ne={loading:0,preload:null};if(j=S.querySelector(Zm(D)))ne.loading=5;else{u=f({rel:"stylesheet",href:u,"data-precedence":h},v),(v=gs.get(D))&&ME(u,v);var _e=j=S.createElement("link");Te(_e),Pr(_e,"link",u),_e._p=new Promise(function(ze,Je){_e.onload=ze,_e.onerror=Je}),_e.addEventListener("load",function(){ne.loading|=1}),_e.addEventListener("error",function(){ne.loading|=2}),ne.loading|=4,zx(j,h,S)}j={type:"stylesheet",instance:j,count:1,state:ne},T.set(D,j)}}}function $Q(u,h){pl.X(u,h);var v=ah;if(v&&u){var S=Ce(v).hoistableScripts,T=oh(u),D=S.get(T);D||(D=v.querySelector(Jm(T)),D||(u=f({src:u,async:!0},h),(h=gs.get(T))&&EE(u,h),D=v.createElement("script"),Te(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(T,D))}}function WQ(u,h){pl.M(u,h);var v=ah;if(v&&u){var S=Ce(v).hoistableScripts,T=oh(u),D=S.get(T);D||(D=v.querySelector(Jm(T)),D||(u=f({src:u,async:!0,type:"module"},h),(h=gs.get(T))&&EE(u,h),D=v.createElement("script"),Te(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(T,D))}}function bU(u,h,v,S){var T=(T=me.current)?Fx(T):null;if(!T)throw Error(i(446));switch(u){case"meta":case"title":return null;case"style":return typeof v.precedence=="string"&&typeof v.href=="string"?(h=sh(v.href),v=Ce(T).hoistableStyles,S=v.get(h),S||(S={type:"style",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};case"link":if(v.rel==="stylesheet"&&typeof v.href=="string"&&typeof v.precedence=="string"){u=sh(v.href);var D=Ce(T).hoistableStyles,j=D.get(u);if(j||(T=T.ownerDocument||T,j={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},D.set(u,j),(D=T.querySelector(Zm(u)))&&!D._p&&(j.instance=D,j.state.loading=5),gs.has(u)||(v={rel:"preload",as:"style",href:v.href,crossOrigin:v.crossOrigin,integrity:v.integrity,media:v.media,hrefLang:v.hrefLang,referrerPolicy:v.referrerPolicy},gs.set(u,v),D||qQ(T,u,v,j.state))),h&&S===null)throw Error(i(528,""));return j}if(h&&S!==null)throw Error(i(529,""));return null;case"script":return h=v.async,v=v.src,typeof v=="string"&&h&&typeof h!="function"&&typeof h!="symbol"?(h=oh(v),v=Ce(T).hoistableScripts,S=v.get(h),S||(S={type:"script",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,u))}}function sh(u){return'href="'+Sn(u)+'"'}function Zm(u){return'link[rel="stylesheet"]['+u+"]"}function _U(u){return f({},u,{"data-precedence":u.precedence,precedence:null})}function qQ(u,h,v,S){u.querySelector('link[rel="preload"][as="style"]['+h+"]")?S.loading=1:(h=u.createElement("link"),S.preload=h,h.addEventListener("load",function(){return S.loading|=1}),h.addEventListener("error",function(){return S.loading|=2}),Pr(h,"link",v),Te(h),u.head.appendChild(h))}function oh(u){return'[src="'+Sn(u)+'"]'}function Jm(u){return"script[async]"+u}function SU(u,h,v){if(h.count++,h.instance===null)switch(h.type){case"style":var S=u.querySelector('style[data-href~="'+Sn(v.href)+'"]');if(S)return h.instance=S,Te(S),S;var T=f({},v,{"data-href":v.href,"data-precedence":v.precedence,href:null,precedence:null});return S=(u.ownerDocument||u).createElement("style"),Te(S),Pr(S,"style",T),zx(S,v.precedence,u),h.instance=S;case"stylesheet":T=sh(v.href);var D=u.querySelector(Zm(T));if(D)return h.state.loading|=4,h.instance=D,Te(D),D;S=_U(v),(T=gs.get(T))&&ME(S,T),D=(u.ownerDocument||u).createElement("link"),Te(D);var j=D;return j._p=new Promise(function(ne,_e){j.onload=ne,j.onerror=_e}),Pr(D,"link",S),h.state.loading|=4,zx(D,v.precedence,u),h.instance=D;case"script":return D=oh(v.src),(T=u.querySelector(Jm(D)))?(h.instance=T,Te(T),T):(S=v,(T=gs.get(D))&&(S=f({},v),EE(S,T)),u=u.ownerDocument||u,T=u.createElement("script"),Te(T),Pr(T,"link",S),u.head.appendChild(T),h.instance=T);case"void":return null;default:throw Error(i(443,h.type))}else h.type==="stylesheet"&&(h.state.loading&4)===0&&(S=h.instance,h.state.loading|=4,zx(S,v.precedence,u));return h.instance}function zx(u,h,v){for(var S=v.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),T=S.length?S[S.length-1]:null,D=T,j=0;j title"):null)}function XQ(u,h,v){if(v===1||h.itemProp!=null)return!1;switch(u){case"meta":case"title":return!0;case"style":if(typeof h.precedence!="string"||typeof h.href!="string"||h.href==="")break;return!0;case"link":if(typeof h.rel!="string"||typeof h.href!="string"||h.href===""||h.onLoad||h.onError)break;switch(h.rel){case"stylesheet":return u=h.disabled,typeof h.precedence=="string"&&u==null;default:return!0}case"script":if(h.async&&typeof h.async!="function"&&typeof h.async!="symbol"&&!h.onLoad&&!h.onError&&h.src&&typeof h.src=="string")return!0}return!1}function EU(u){return!(u.type==="stylesheet"&&(u.state.loading&3)===0)}function KQ(u,h,v,S){if(v.type==="stylesheet"&&(typeof S.media!="string"||matchMedia(S.media).matches!==!1)&&(v.state.loading&4)===0){if(v.instance===null){var T=sh(S.href),D=h.querySelector(Zm(T));if(D){h=D._p,h!==null&&typeof h=="object"&&typeof h.then=="function"&&(u.count++,u=jx.bind(u),h.then(u,u)),v.state.loading|=4,v.instance=D,Te(D);return}D=h.ownerDocument||h,S=_U(S),(T=gs.get(T))&&ME(S,T),D=D.createElement("link"),Te(D);var j=D;j._p=new Promise(function(ne,_e){j.onload=ne,j.onerror=_e}),Pr(D,"link",S),v.instance=D}u.stylesheets===null&&(u.stylesheets=new Map),u.stylesheets.set(v,h),(h=v.state.preload)&&(v.state.loading&3)===0&&(u.count++,v=jx.bind(u),h.addEventListener("load",v),h.addEventListener("error",v))}}var AE=0;function YQ(u,h){return u.stylesheets&&u.count===0&&Vx(u,u.stylesheets),0AE?50:800)+h);return u.unsuspend=v,function(){u.unsuspend=null,clearTimeout(S),clearTimeout(T)}}:null}function jx(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Vx(this,this.stylesheets);else if(this.unsuspend){var u=this.unsuspend;this.unsuspend=null,u()}}}var Hx=null;function Vx(u,h){u.stylesheets=null,u.unsuspend!==null&&(u.count++,Hx=new Map,h.forEach(ZQ,u),Hx=null,jx.call(u))}function ZQ(u,h){if(!(h.state.loading&4)){var v=Hx.get(u);if(v)var S=v.get(null);else{v=new Map,Hx.set(u,v);for(var T=u.querySelectorAll("link[data-precedence],style[data-precedence]"),D=0;D"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),LE.exports=pee(),LE.exports}var gee=mee();var KU="popstate";function vee(t={}){function e(i,r){let{pathname:a,search:s,hash:o}=i.location;return b2("",{pathname:a,search:s,hash:o},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function n(i,r){return typeof r=="string"?r:l0(r)}return yee(e,n,null,t)}function li(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function po(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function xee(){return Math.random().toString(36).substring(2,10)}function YU(t,e){return{usr:t.state,key:t.key,idx:e}}function b2(t,e,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?$p(e):e,state:n,key:e&&e.key||i||xee()}}function l0({pathname:t="/",search:e="",hash:n=""}){return e&&e!=="?"&&(t+=e.charAt(0)==="?"?e:"?"+e),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function $p(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(e.search=t.substring(i),t=t.substring(0,i)),t&&(e.pathname=t)}return e}function yee(t,e,n,i={}){let{window:r=document.defaultView,v5Compat:a=!1}=i,s=r.history,o="POP",l=null,c=d();c==null&&(c=0,s.replaceState({...s.state,idx:c},""));function d(){return(s.state||{idx:null}).idx}function f(){o="POP";let x=d(),g=x==null?null:x-c;c=x,l&&l({action:o,location:b.location,delta:g})}function p(x,g){o="PUSH";let M=b2(b.location,x,g);c=d()+1;let w=YU(M,c),E=b.createHref(M);try{s.pushState(w,"",E)}catch(A){if(A instanceof DOMException&&A.name==="DataCloneError")throw A;r.location.assign(E)}a&&l&&l({action:o,location:b.location,delta:1})}function m(x,g){o="REPLACE";let M=b2(b.location,x,g);c=d();let w=YU(M,c),E=b.createHref(M);s.replaceState(w,"",E),a&&l&&l({action:o,location:b.location,delta:0})}function y(x){return bee(x)}let b={get action(){return o},get location(){return t(r,s)},listen(x){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(KU,f),l=x,()=>{r.removeEventListener(KU,f),l=null}},createHref(x){return e(r,x)},createURL:y,encodeLocation(x){let g=y(x);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:p,replace:m,go(x){return s.go(x)}};return b}function bee(t,e=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),li(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:l0(t);return i=i.replace(/ $/,"%20"),!e&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function PV(t,e,n="/"){return _ee(t,e,n,!1)}function _ee(t,e,n,i){let r=typeof e=="string"?$p(e):e,a=Jl(r.pathname||"/",n);if(a==null)return null;let s=DV(t);See(s);let o=null;for(let l=0;o==null&&l{let d={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(i)&&l)return;li(d.relativePath.startsWith(i),`Absolute route path "${d.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(i.length)}let f=Gl([i,d.relativePath]),p=n.concat(d);s.children&&s.children.length>0&&(li(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),DV(s.children,e,p,f,l)),!(s.path==null&&!s.index)&&e.push({path:f,score:Ree(f,s.index),routesMeta:p})};return t.forEach((s,o)=>{if(s.path===""||!s.path?.includes("?"))a(s,o);else for(let l of OV(s.path))a(s,o,!0,l)}),e}function OV(t){let e=t.split("/");if(e.length===0)return[];let[n,...i]=e,r=n.endsWith("?"),a=n.replace(/\?$/,"");if(i.length===0)return r?[a,""]:[a];let s=OV(i.join("/")),o=[];return o.push(...s.map(l=>l===""?a:[a,l].join("/"))),r&&o.push(...s),o.map(l=>t.startsWith("/")&&l===""?"/":l)}function See(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:Nee(e.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var wee=/^:[\w-]+$/,Mee=3,Eee=2,Aee=1,Tee=10,Cee=-2,ZU=t=>t==="*";function Ree(t,e){let n=t.split("/"),i=n.length;return n.some(ZU)&&(i+=Cee),e&&(i+=Eee),n.filter(r=>!ZU(r)).reduce((r,a)=>r+(wee.test(a)?Mee:a===""?Aee:Tee),i)}function Nee(t,e){return t.length===e.length&&t.slice(0,-1).every((i,r)=>i===e[r])?t[t.length-1]-e[e.length-1]:0}function Pee(t,e,n=!1){let{routesMeta:i}=t,r={},a="/",s=[];for(let o=0;o{if(d==="*"){let y=o[p]||"";s=a.slice(0,a.length-y.length).replace(/(.)\/+$/,"$1")}const m=o[p];return f&&!m?c[d]=void 0:c[d]=(m||"").replace(/%2F/g,"/"),c},{}),pathname:a,pathnameBase:s,pattern:t}}function Dee(t,e=!1,n=!0){po(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,o,l)=>(i.push({paramName:o,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),r+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?r+="\\/*$":t!==""&&t!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function Oee(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return po(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),t}}function Jl(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var kee=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Lee=t=>kee.test(t);function Iee(t,e="/"){let{pathname:n,search:i="",hash:r=""}=typeof t=="string"?$p(t):t,a;if(n)if(Lee(n))a=n;else{if(n.includes("//")){let s=n;n=n.replace(/\/\/+/g,"/"),po(!1,`Pathnames cannot have embedded double slashes - normalizing ${s} -> ${n}`)}n.startsWith("/")?a=JU(n.substring(1),"/"):a=JU(n,e)}else a=e;return{pathname:a,search:zee(i),hash:Bee(r)}}function JU(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(r=>{r===".."?n.length>1&&n.pop():r!=="."&&n.push(r)}),n.length>1?n.join("/"):"/"}function zE(t,e,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${e}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Uee(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function kV(t){let e=Uee(t);return e.map((n,i)=>i===e.length-1?n.pathname:n.pathnameBase)}function LV(t,e,n,i=!1){let r;typeof t=="string"?r=$p(t):(r={...t},li(!r.pathname||!r.pathname.includes("?"),zE("?","pathname","search",r)),li(!r.pathname||!r.pathname.includes("#"),zE("#","pathname","hash",r)),li(!r.search||!r.search.includes("#"),zE("#","search","hash",r)));let a=t===""||r.pathname==="",s=a?"/":r.pathname,o;if(s==null)o=n;else{let f=e.length-1;if(!i&&s.startsWith("..")){let p=s.split("/");for(;p[0]==="..";)p.shift(),f-=1;r.pathname=p.join("/")}o=f>=0?e[f]:"/"}let l=Iee(r,o),c=s&&s!=="/"&&s.endsWith("/"),d=(a||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||d)&&(l.pathname+="/"),l}var Gl=t=>t.join("/").replace(/\/\/+/g,"/"),Fee=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),zee=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Bee=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function jee(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var IV=["POST","PUT","PATCH","DELETE"];new Set(IV);var Hee=["GET",...IV];new Set(Hee);var Wp=C.createContext(null);Wp.displayName="DataRouter";var rS=C.createContext(null);rS.displayName="DataRouterState";C.createContext(!1);var UV=C.createContext({isTransitioning:!1});UV.displayName="ViewTransition";var Vee=C.createContext(new Map);Vee.displayName="Fetchers";var Gee=C.createContext(null);Gee.displayName="Await";var Xo=C.createContext(null);Xo.displayName="Navigation";var ev=C.createContext(null);ev.displayName="Location";var Ko=C.createContext({outlet:null,matches:[],isDataRoute:!1});Ko.displayName="Route";var wN=C.createContext(null);wN.displayName="RouteError";function $ee(t,{relative:e}={}){li(tv(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=C.useContext(Xo),{hash:r,pathname:a,search:s}=nv(t,{relative:e}),o=a;return n!=="/"&&(o=a==="/"?n:Gl([n,a])),i.createHref({pathname:o,search:s,hash:r})}function tv(){return C.useContext(ev)!=null}function Ef(){return li(tv(),"useLocation() may be used only in the context of a component."),C.useContext(ev).location}var FV="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function zV(t){C.useContext(Xo).static||C.useLayoutEffect(t)}function BV(){let{isDataRoute:t}=C.useContext(Ko);return t?ste():Wee()}function Wee(){li(tv(),"useNavigate() may be used only in the context of a component.");let t=C.useContext(Wp),{basename:e,navigator:n}=C.useContext(Xo),{matches:i}=C.useContext(Ko),{pathname:r}=Ef(),a=JSON.stringify(kV(i)),s=C.useRef(!1);return zV(()=>{s.current=!0}),C.useCallback((l,c={})=>{if(po(s.current,FV),!s.current)return;if(typeof l=="number"){n.go(l);return}let d=LV(l,JSON.parse(a),r,c.relative==="path");t==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Gl([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,a,r,t])}var qee=C.createContext(null);function Xee(t){let e=C.useContext(Ko).outlet;return C.useMemo(()=>e&&C.createElement(qee.Provider,{value:t},e),[e,t])}function nv(t,{relative:e}={}){let{matches:n}=C.useContext(Ko),{pathname:i}=Ef(),r=JSON.stringify(kV(n));return C.useMemo(()=>LV(t,JSON.parse(r),i,e==="path"),[t,r,i,e])}function Kee(t,e){return jV(t,e)}function jV(t,e,n,i,r){li(tv(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=C.useContext(Xo),{matches:s}=C.useContext(Ko),o=s[s.length-1],l=o?o.params:{},c=o?o.pathname:"/",d=o?o.pathnameBase:"/",f=o&&o.route;{let M=f&&f.path||"";HV(c,!f||M.endsWith("*")||M.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${c}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let p=Ef(),m;if(e){let M=typeof e=="string"?$p(e):e;li(d==="/"||M.pathname?.startsWith(d),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${M.pathname}" was given in the \`location\` prop.`),m=M}else m=p;let y=m.pathname||"/",b=y;if(d!=="/"){let M=d.replace(/^\//,"").split("/");b="/"+y.replace(/^\//,"").split("/").slice(M.length).join("/")}let x=NV(t,{pathname:b});po(f||x!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),po(x==null||x[x.length-1].route.element!==void 0||x[x.length-1].route.Component!==void 0||x[x.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let g=Jee(x&&x.map(M=>Object.assign({},M,{params:Object.assign({},l,M.params),pathname:Gl([d,a.encodeLocation?a.encodeLocation(M.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:M.pathname]),pathnameBase:M.pathnameBase==="/"?d:Gl([d,a.encodeLocation?a.encodeLocation(M.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:M.pathnameBase])})),s,n,i,r);return e&&g?C.createElement(ev.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...m},navigationType:"POP"}},g):g}function Xee(){let t=ite(),e=zee(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,i="rgba(200,200,200, 0.5)",r={padding:"0.5rem",backgroundColor:i},a={padding:"2px 4px",backgroundColor:i},s=null;return console.error("Error handled by React Router default ErrorBoundary:",t),s=C.createElement(C.Fragment,null,C.createElement("p",null,"💿 Hey developer 👋"),C.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",C.createElement("code",{style:a},"ErrorBoundary")," or"," ",C.createElement("code",{style:a},"errorElement")," prop on your route.")),C.createElement(C.Fragment,null,C.createElement("h2",null,"Unexpected Application Error!"),C.createElement("h3",{style:{fontStyle:"italic"}},e),n?C.createElement("pre",{style:r},n):null,s)}var Kee=C.createElement(Xee,null),Yee=class extends C.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,e){return e.location!==t.location||e.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:e.error,location:e.location,revalidation:t.revalidation||e.revalidation}}componentDidCatch(t,e){this.props.onError?this.props.onError(t,e):console.error("React Router caught the following error during render",t)}render(){return this.state.error!==void 0?C.createElement(Ko.Provider,{value:this.props.routeContext},C.createElement(wN.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Zee({routeContext:t,match:e,children:n}){let i=C.useContext(Wp);return i&&i.static&&i.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=e.route.id),C.createElement(Ko.Provider,{value:t},n)}function Jee(t,e=[],n=null,i=null,r=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(e.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let a=t,s=n?.errors;if(s!=null){let d=a.findIndex(f=>f.route.id&&s?.[f.route.id]!==void 0);li(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),a=a.slice(0,Math.min(a.length,d+1))}let o=!1,l=-1;if(n)for(let d=0;d=0?a=a.slice(0,l+1):a=[a[0]];break}}}let c=n&&i?(d,f)=>{i(d,{location:n.location,params:n.matches?.[0]?.params??{},errorInfo:f})}:void 0;return a.reduceRight((d,f,p)=>{let m,y=!1,b=null,x=null;n&&(m=s&&f.route.id?s[f.route.id]:void 0,b=f.route.errorElement||Kee,o&&(l<0&&p===0?(jV("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),y=!0,x=null):l===p&&(y=!0,x=f.route.hydrateFallbackElement||null)));let g=e.concat(a.slice(0,p+1)),M=()=>{let w;return m?w=b:y?w=x:f.route.Component?w=C.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,C.createElement(Zee,{match:f,routeContext:{outlet:d,matches:g,isDataRoute:n!=null},children:w})};return n&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?C.createElement(Yee,{location:n.location,revalidation:n.revalidation,component:b,error:m,children:M(),routeContext:{outlet:null,matches:g,isDataRoute:!0},onError:c}):M()},null)}function MN(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qee(t){let e=C.useContext(Wp);return li(e,MN(t)),e}function ete(t){let e=C.useContext(rS);return li(e,MN(t)),e}function tte(t){let e=C.useContext(Ko);return li(e,MN(t)),e}function EN(t){let e=tte(t),n=e.matches[e.matches.length-1];return li(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function nte(){return EN("useRouteId")}function ite(){let t=C.useContext(wN),e=ete("useRouteError"),n=EN("useRouteError");return t!==void 0?t:e.errors?.[n]}function rte(){let{router:t}=Qee("useNavigate"),e=EN("useNavigate"),n=C.useRef(!1);return FV(()=>{n.current=!0}),C.useCallback(async(r,a={})=>{po(n.current,UV),n.current&&(typeof r=="number"?t.navigate(r):await t.navigate(r,{fromRouteId:e,...a}))},[t,e])}var QU={};function jV(t,e,n){!e&&!QU[t]&&(QU[t]=!0,po(!1,n))}C.memo(ate);function ate({routes:t,future:e,state:n,unstable_onError:i}){return BV(t,void 0,n,i,e)}function ste(t){return Wee(t.context)}function _d(t){li(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function ote({basename:t="/",children:e=null,location:n,navigationType:i="POP",navigator:r,static:a=!1}){li(!tv(),"You cannot render a inside another . You should never have more than one in your app.");let s=t.replace(/^\/*/,"/"),o=C.useMemo(()=>({basename:s,navigator:r,static:a,future:{}}),[s,r,a]);typeof n=="string"&&(n=$p(n));let{pathname:l="/",search:c="",hash:d="",state:f=null,key:p="default"}=n,m=C.useMemo(()=>{let y=Jl(l,s);return y==null?null:{location:{pathname:y,search:c,hash:d,state:f,key:p},navigationType:i}},[s,l,c,d,f,p,i]);return po(m!=null,` is not able to match the URL "${l}${c}${d}" because it does not start with the basename, so the won't render anything.`),m==null?null:C.createElement(Xo.Provider,{value:o},C.createElement(ev.Provider,{children:e,value:m}))}function lte({children:t,location:e}){return qee(_2(t),e)}function _2(t,e=[]){let n=[];return C.Children.forEach(t,(i,r)=>{if(!C.isValidElement(i))return;let a=[...e,r];if(i.type===C.Fragment){n.push.apply(n,_2(i.props.children,a));return}li(i.type===_d,`[${typeof i.type=="string"?i.type:i.type.name}] is not a component. All component children of must be a or `),li(!i.props.index||!i.props.children,"An index route cannot have child routes.");let s={id:i.props.id||a.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,middleware:i.props.middleware,loader:i.props.loader,action:i.props.action,hydrateFallbackElement:i.props.hydrateFallbackElement,HydrateFallback:i.props.HydrateFallback,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.hasErrorBoundary===!0||i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(s.children=_2(i.props.children,a)),n.push(s)}),n}var Nb="get",Pb="application/x-www-form-urlencoded";function aS(t){return t!=null&&typeof t.tagName=="string"}function cte(t){return aS(t)&&t.tagName.toLowerCase()==="button"}function ute(t){return aS(t)&&t.tagName.toLowerCase()==="form"}function dte(t){return aS(t)&&t.tagName.toLowerCase()==="input"}function fte(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function hte(t,e){return t.button===0&&(!e||e==="_self")&&!fte(t)}var Jx=null;function pte(){if(Jx===null)try{new FormData(document.createElement("form"),0),Jx=!1}catch{Jx=!0}return Jx}var mte=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function BE(t){return t!=null&&!mte.has(t)?(po(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Pb}"`),null):t}function gte(t,e){let n,i,r,a,s;if(ute(t)){let o=t.getAttribute("action");i=o?Jl(o,e):null,n=t.getAttribute("method")||Nb,r=BE(t.getAttribute("enctype"))||Pb,a=new FormData(t)}else if(cte(t)||dte(t)&&(t.type==="submit"||t.type==="image")){let o=t.form;if(o==null)throw new Error('Cannot submit a