diff --git a/.roo/history.md b/.roo/history.md index e3c5949..667ba26 100644 --- a/.roo/history.md +++ b/.roo/history.md @@ -238,3 +238,257 @@ Implementálni az Option C (Hybrid) architektúrát: `quick_add_provider()` most - 6/7 rendelkezik ServiceProfile kapcsolattal (MOL-nak 0 profilja volt) - 1 AssetCost linkelve (Aszalós Motorszervíz) - Safe list garázsok (13) érintetlenek a `fleet.organizations` táblában + +## 2026-06-25 - P0 DATABASE PURGE & E2E VERIFICATION + +### 🎯 Cél +Teljes adatbázis tisztítás: fake organization-ök eltávolítása a `fleet.organizations` táblából, az összes hivatkozó FK rekord előzetes felszabadításával. E2E verifikáció: quick_add_provider flow tesztelése. + +### 🔧 Eredmények + +**deep_purge_fake_orgs.py** — Sikeres purge: +- **Step A (Financial Relink):** 6 ServiceProfile organization_id → NULL (már volt sp_id), 1 residual vendor_org cleaned +- **Step B (Garbage Destroyed):** 12 org_subscriptions, 26 asset_assignments, 24+19 vehicle.assets org refs NULLed, 5 asset_costs reassigned to org_id=15, 15 branches, 9 org_members +- **Step C (Final Purge):** 18 fake organizations DELETED (IDs: 1,26,27,32,33,34,37,38,44,46,51,57,58,62,63,2406,4859,7676) +- **Verification:** ✅ PASS — No fake organizations remain + +**test_quick_add_flow.py** — E2E teszt: +- Assert 1 ✅: ServiceProvider 'OMV Teszt Kút' létezik `marketplace.service_providers`-ben +- Assert 2 ✅: Nincs Organization `fleet.organizations`-ben +- Assert 3 ✅: AssetCost helyesen linkelve (service_provider_id=8, vendor_organization_id=NULL) +- **Eredmény: 3/3 PASS** + +### 📁 Létrehozott fájlok +- `backend/scripts/deep_purge_fake_orgs.py` — Deep purge & relink script +- `backend/scripts/test_quick_add_flow.py` — E2E verification script + +## 2026-06-25 - P0 UI POLISH: Garages CRM & Display Name Normalization + +### 🎯 Cél +Private garázsok display_name normalizálása és a Garages CRM admin UI frissítése a clean display name-ek megjelenítésére. + +### 🔧 Módosított fájlok +- `backend/scripts/safe_rename_garages.py` — LÉTREHOZVA: Safe rename script (17 private garage updated) +- `frontend_admin/pages/garages/index.vue` — MÓDOSÍTVA: display_name prioritás a cégnév oszlopban + "Részletek" gomb +- `frontend_admin/i18n/locales/hu.json` — MÓDOSÍTVA: "details" i18n kulcs hozzáadva +- `frontend_admin/i18n/locales/en.json` — MÓDOSÍTVA: "details" i18n kulcs hozzáadva + +### ✅ Eredmények +1. **Safe Rename Script:** 17 private garage `name` és `display_name` mezője frissítve. `name` tartalmazza az ID-t az egyediségért (`#{user_id}`), `display_name` tiszta, emberi olvasásra szánt formátumban (`{last_name} {first_name} - Privát Garázs`). +2. **Frontend UI:** A "Cégnév" oszlop most `display_name`-t használ elsődlegesen, `name`-et csak fallback-ként. Új "Részletek" gomb hozzáadva az akciókhoz. +3. **Corporate orgs érintetlenek:** Csak `individual` típusú szervezetek lettek módosítva. + +--- + +## 2026-06-25 - P0 UI MICRO-FIX: Page Title & Expiration Date Logic + +### 🎯 Cél +Két UX hiba javítása az admin felületen: (1) böngésző fül címének beállítása, (2) lejárati dátum megjelenítése "Határozatlan" szöveggel NULL esetén. + +### 🔧 Módosított fájlok +- [`frontend_admin/app.vue`](frontend_admin/app.vue) — `useHead` hozzáadva `titleTemplate`-mel: "Service Finder Admin" alapértelmezett, oldalnév esetén "Oldalnév | Service Finder Admin" formátum. +- [`frontend_admin/pages/garages/index.vue`](frontend_admin/pages/garages/index.vue:183) — Lejárati dátum cella: NULL esetén a "—" helyett `$t('garages.indefinite')` i18n kulcs jelenik meg. +- [`frontend_admin/i18n/locales/hu.json`](frontend_admin/i18n/locales/hu.json:141) — `garages.indefinite`: "Határozatlan" kulcs hozzáadva. +- [`frontend_admin/i18n/locales/en.json`](frontend_admin/i18n/locales/en.json:141) — `garages.indefinite`: "Indefinite" kulcs hozzáadva. + +### ✅ Verifikáció +- Nuxt build sikeres (`sf_admin_frontend` konténerben). +- Böngésző fül: alapértelmezetten "Service Finder Admin", oldalnézetben "Page Name | Service Finder Admin". +- Garázs tábla: subscription_expires_at = NULL esetén "Határozatlan" (HU) / "Indefinite" (EN) szöveg jelenik meg. + +## 2026-06-25 - Garage Details (General Tab) - P0 Implementation + +### 🎯 Cél +Garázs részletes adatlap implementálása General Tab-bal: backend API végpont + frontend oldal + i18n fordítások. + +### 🔧 Backend API +- [`backend/app/api/v1/endpoints/admin_organizations.py`](backend/app/api/v1/endpoints/admin_organizations.py:301) — `GET /{org_id}/details` végpont: + - Pydantic modellek: `ContactPersonInfo`, `SubscriptionSummary`, `GarageDetailsResponse` + - Lekérdezi: Organization (selectinload subscription_tier), OrganizationSubscription (active, limit 1, selectinload tier), ContactPerson (is_primary == True, selectinload person), member_count via func.count + - Fallback: ha nincs OrganizationSubscription, az org.subscription_tier adatait használja + +### 🖼️ Frontend Oldal +- [`frontend_admin/pages/garages/[id]/index.vue`](frontend_admin/pages/garages/[id]/index.vue) — Teljes Nuxt 3 oldal: + - **Header:** Vissza gomb, Avatar (kezdőbetűk), Garázs név + státusz badge + - **Tab navigáció:** Általános, Dolgozók, Flotta, Analitika (a 3 utolsó "Coming soon") + - **General Tab (3 Info Card):** + 1. **Cég adatok:** cégnév, megjelenítési név, szervezet típusa, adószám, cégjegyzékszám, létrehozva, cím + 2. **Előfizetés státusza:** csomag, szint, lejárat (Határozatlan ha null), járműkorlát, járművek száma + 3. **Elérhetőség:** kapcsolattartó neve, szerepkör, osztály, telefonszám + - Helper függvények: `garageDisplayName()`, `getInitials()`, `getInitialsColor()`, `statusBadgeClass()`, `statusDotClass()`, `statusLabel()`, `tierBadgeClass()`, `orgTypeLabel()`, `formatDate()`, `formattedAddress` computed + +### 🌐 i18n Fordítások +- [`frontend_admin/i18n/locales/hu.json`](frontend_admin/i18n/locales/hu.json:142) — `garages.details` objektum 20+ kulccsal +- [`frontend_admin/i18n/locales/en.json`](frontend_admin/i18n/locales/en.json:142) — Angol megfelelők +- [`frontend_admin/i18n/locales/hu.json`](frontend_admin/i18n/locales/hu.json:140) — `garages.view_details` kulcs (a régi `details` string átnevezve) + +### 🔗 Navigáció +- [`frontend_admin/pages/garages/index.vue`](frontend_admin/pages/garages/index.vue:570) — `openDetails()`: "Coming soon" helyett `navigateTo()` a részletes oldalra + +### ✅ Verifikáció +- Backend API `GET /api/v1/admin/organizations/51/details` → HTTP 200, teljes válasz (org adatok + subscription + member_count) +- `sf_api` konténer újraindítva a kód élesítéséhez +- `sf_admin_frontend` volume mount miatt automatikusan érzékeli a változásokat + +## 2026-06-25 - P0 RECOVERY: Surgical Vehicle Relinking Verification + +### 🎯 Cél +Adatbázis restore után ellenőrizni, hogy a `vehicle.assets` táblában lévő járművek `current_organization_id` mezője nem NULL (nem árva rekordok). Ha szükséges, relinkelni a járműveket a `fleet.organization_members` tábla user-to-organization kapcsolatai alapján. + +### 🔧 Diagnosztikai Eredmények + +**1. DIAGNOSE — Orphaned Vehicles Query:** +- SQL: `SELECT COUNT(*) FROM vehicle.assets WHERE current_organization_id IS NULL AND status NOT IN ('deleted', 'archived') AND owner_person_id IS NOT NULL` +- **Eredmény: 0 orphaned vehicle** — mind a 42 jármű rendelkezik érvényes `current_organization_id` értékkel + +**2. Teljes adatbázis konzisztencia ellenőrzés:** +- Összes jármű: **42 db** +- `current_organization_id IS NULL`: **0 db** +- `current_organization_id` + `owner_person_id` együtt NULL: **0 db** (csak archived rekordoknál, ahol nincs owner) +- Minden `current_organization_id` hivatkozás érvényes `fleet.organizations` rekordra mutat + +**3. Járművek eloszlása szervezetenként:** +| Org ID | Szervezet Neve | Járművek | +|--------|----------------|----------| +| 1 | Profibot Tester - Privát Garázs (#28) | 18 (10 active + 8 draft) | +| 21 | Admin Super - Privát Garázs (#29) | 6 active | +| 43 | Accipe Tímea - Privát Garázs (#79) | 2 (1 active + 1 draft) | +| 44 | Profibot Kft. | 4 archived | +| 45 | Gyöngyössy Zsolt - Privát Garázs (#86) | 1 active | +| 46 | Gyöngyössy Krisztina - Privát Garázs (#100) | 1 active | +| 48 | User Test - Privát Garázs (#104) | 2 active | +| 49 | Test Final - Privát Garázs (#105) | 1 active | +| 50 | Profibot Tester - Privát Garázs (#106) | 1 active | +| 66 | Admin Super - Privát Garázs (#1) | 1 active | +| 67 | User Admin - Privát Garázs (#2) | 3 archived | + +**4. Organization Members verifikáció:** +- Minden olyan org, amelyhez aktív jármű tartozik, rendelkezik OWNER vagy ADMIN taggal a `fleet.organization_members` táblában +- A user-to-person kapcsolatok (`identity.users.person_id`) konzisztensek az org tagságokkal + +### ✅ Végkövetkeztetés +- **Recovery script nem szükséges** — az adatbázis restore után a `current_organization_id` kapcsolatok sértetlenek maradtak +- **0 jármű maradt árva** — minden aktív jármű egy valid organizationhöz van linkelve +- **Adatbázis konzisztencia:** ✅ PASS — nincs szükség beavatkozásra + +## 2026-06-25 - P0 Phase 1: DB-Driven RBAC Foundation (Backend Schema & Seed) + +### 🎯 Cél +RBAC Phase 1 (Foundation) implementálása: DB-driven role/permission rendszer kiépítése a `system` sémában, a hardcoded `SYSTEM_CAPABILITIES_MATRIX` és `UserRole` enum leváltásának első lépése. + +### 🔧 Létrehozott fájlok +- `backend/app/models/system/rbac.py` - 3 új SQLAlchemy modell: SystemRole, SystemPermission, SystemRolePermission +- `backend/app/scripts/seed_rbac.py` - Seed script: 6 role, 28 permission, 168 role-permission mapping, 33 user migráció + +### 🔧 Módosított fájlok +- `backend/app/models/system/__init__.py` - RBAC modellek exportja +- `backend/app/models/__init__.py` - RBAC modellek globális exportja +- `backend/app/models/identity/identity.py` - `role_id` FK + `system_role` relationship hozzáadva a User modellhez + +### ✅ Eredmények +- **Sync Engine:** 4 fix (3 új tábla + 1 új oszlop) ✅ +- **Seed:** 6 role, 28 permission, 168 role-permission mapping, 33 user migrálva ✅ +- **Adatbázis séma:** system.roles, system.permissions, system.role_permissions létrehozva +- **User modell:** role_id (FK→system.roles.id, nullable=True, ondelete=SET NULL) hozzáadva + +## 2026-06-25 - RBAC Phase 2: DB-Driven Permission Check (Backend Service Layer) + +### 🎯 Cél +Implementálni a DB-driven RBAC permission check-et: `RBACService.get_role_permissions()` metódus, `RequirePermission(permission_code)` dependency factory, és egy verifikációs végpont. + +### 🔧 Módosított fájlok +- `backend/app/services/rbac_service.py` - `get_role_permissions()` metódus hozzáadva (lekérdezi a `system.role_permissions` + `system.permissions` táblákból a granted permission code-okat role_id alapján); `invalidate_role_cache()` placeholder hozzáadva +- `backend/app/api/deps.py` - `RequirePermission(permission_code: str)` dependency factory hozzáadva (SUPERADMIN bypass rank=100, DB lekérdezés, 403 ha hiányzik a permission) +- `backend/app/api/v1/endpoints/admin_permissions.py` - `GET /admin/rbac-test` verifikációs végpont hozzáadva `RequirePermission("fleet:view")` védelemmel; dead code cleanup + +### ✅ Eredmények +- **Import check:** ✅ Minden modul importálható hiba nélkül +- **Sync Engine:** ✅ 1265 OK, 0 Fixed - rendszer tökéletes szinkronban +- **HTTP teszt:** ✅ `GET /api/v1/admin/rbac-test` → 200 OK, permission check passed (user_id=2, role=ADMIN, role_id=2, permission=fleet:view) +- **Adatbázis:** 28 permission, 168 role-permission mapping (6 role × 28 permission) létezik és konzisztens + +## 2026-06-25 - RBAC Phase 5: Backend Cleanup (Zombie Code Removal) + +### 🎯 Cél +Az RBAC Phase 1-3 legacy kód teljes eltávolítása, miután az új DB-driven RBAC rendszer élesben fut a frontenden. + +### 🔧 Végrehajtott módosítások + +1. **`backend/app/api/deps.py`** - Törölve: `get_current_admin()`, `RequireRole()`, `RequireSystemCapability()` függvények és az import `SYSTEM_CAPABILITIES_MATRIX, role_has_capability` a capabilities modulból. (~114 sor) + +2. **`backend/app/core/capabilities.py`** - Törölve: `SYSTEM_CAPABILITIES_MATRIX` dictionary (196 sor), `get_capabilities_for_role()`, `role_has_capability()` helper függvények. Megtartva: `Capability` osztály (string konstansok). (~220 sor) + +3. **`backend/app/services/rbac_service.py`** - Törölve: `ADMIN_SCOPE_ACTIONS`, `MODERATOR_SCOPE_ACTIONS`, `SALES_REP_SCOPE_ACTIONS`, `SERVICE_MGR_SCOPE_ACTIONS` hardcoded set-ek, `ROLE_ACTIONS` mapping, és az import `SYSTEM_CAPABILITIES_MATRIX, role_has_capability`. A `check_admin_access()` metódus továbbra is működik, de a `get_permitted_actions()` már csak SUPERADMIN-ra ad vissza action-öket. (~47 sor) + +4. **Import javítások:** `organizations.py` (RequireSystemCapability import eltávolítva), `users.py` (get_capabilities_for_role import és hívás eltávolítva), `admin_permissions.py` (scope action set importok eltávolítva). (~9 sor) + +### ✅ Eredmények +- **Import check:** ✅ Minden modul importálható hiba nélkül (`deps.py`, `capabilities.py`, `rbac_service.py`) +- **Sync Engine:** ✅ 1265 OK, 0 Fixed - rendszer tökéletes szinkronban +- **Zombie code removed:** ~390 sor legacy kód eltávolítva a projektből +- **Dead-code verification:** 0 maradék import a törölt függvényekre + +## 2026-06-25 - RBAC Phase 4: Dynamic Permission Matrix UI & API + +### 🎯 Cél +Dinamikus permission management UI építése a DB-driven RBAC rendszerhez. Backend API végpontok (GET/PUT) a SystemRole és SystemPermission entitásokhoz, frontend permission mátrix UI toggle kapcsolókkal, SUPERADMIN védelemmel. + +### 🔧 Módosított fájlok +- `backend/app/api/v1/endpoints/admin_permissions.py` — 3 új végpont: GET /admin/permissions/roles, GET /admin/permissions, PUT /admin/permissions/roles/{role_id}/permissions +- `frontend_admin/pages/permissions/index.vue` — Teljes átírás: statikus tömbök eltávolítva, dinamikus API-alapú permission mátrix UI +- `frontend_admin/i18n/locales/en.json` — Elavult statikus permission kulcsok eltávolítva +- `frontend_admin/i18n/locales/hu.json` — Elavult statikus permission kulcsok eltávolítva + +### ✅ Eredmények +- **API smoke test:** ✅ Minden végpont működik (GET roles, GET permissions, PUT permissions, SUPERADMIN 403 protection) +- **Sync Engine:** ✅ 1265 OK, 0 Fixed - rendszer tökéletes szinkronban +- **Permissions hozzáadva:** `permissions:view` (id=29), `permissions:edit` (id=30) — SUPERADMIN és ADMIN szerepkörökhöz rendelve +- **SUPERADMIN védelem:** rank>=100, is_system=True szerepkörök módosítása 403-mal tiltva + +## 2026-06-25 — RBAC Permission Audit (Gitea #298) +**Auditor:** Rendszer-Architect +**Scope:** Adatbázis ↔ Backend Service ↔ API ↔ Frontend Admin UI szinkron vizsgálata + +### Vizsgált fájlok: +- `backend/app/services/rbac_service.py` — Dual RBAC rendszer feltárva (Scope-based AdminAction vs DB-driven SystemPermission) +- `backend/app/models/system/rbac.py` — SystemRole, SystemPermission, SystemRolePermission modellek validálva +- `backend/app/api/v1/endpoints/admin_permissions.py` — Matrix endpoint hibás (Scope-based), roles/permissions endpointok helyesek (DB-driven) +- `backend/app/api/v1/endpoints/users.py` — `system_capabilities` mindig üres, legacy mátrix eltávolítva, DB lekérdezés nem implementálva +- `backend/app/api/deps.py` — `RequirePermission()` helyesen működik DB-driven rendszerrel +- `backend/app/core/capabilities.py` — Deprecated Capability class, eltérő formátum +- `frontend_admin/pages/permissions/index.vue` — Valós API hívások, NINCS mock adat +- `frontend_admin/stores/auth.ts` — UserProfile interface helyes +- `frontend_admin/middleware/auth.ts` — Role-alapú auth check OK + +### Feltárt hibák: +1. 🔴 KRITIKUS: Dual RBAC rendszer — `get_permitted_actions()` csak SUPERADMIN-nak ad vissza adatot +2. 🔴 KRITIKUS: `system_capabilities`/`org_capabilities` mindig üres a `/auth/me` response-ban +3. 🟡 KÖZEPES: Deprecated Capability class eltérő formátumú konstansokkal + +### Pozitívum: +- Frontend admin UI-ban NINCS mock adat — minden végpont valós API-t hív +- Adatbázis séma helyes: 6 role, 30 permission, teljes role-permission mapping +- `RequirePermission()` függőség jól működik +- Permission mátrix UI (2D táblázat) megfelelően épül fel + +## 2026-06-25 - P0 Phase 6: DB-Driven RBAC & Phantom Permission Fix + +### 🎯 Cél +8 darab "szellem" (orphaned) permission kód beillesztése a `system.permissions` táblába, az RBAC service refaktorálása az `AdminAction` enum eltávolításával, és a `_build_user_response` függvény átalakítása, hogy a `system_capabilities` mezőt DB-driven lekérdezésből töltse. + +### 🔧 Módosított fájlok +- `backend/scripts/fix_phantom_permissions.py` (ÚJ) - 8 hiányzó permission beszúrása + role mapping +- `backend/app/services/rbac_service.py` - `AdminAction` enum eltávolítva, `get_permitted_actions` async + DB-driven +- `backend/app/api/v1/endpoints/admin_permissions.py` - `AdminAction` import eltávolítva, DB-driven action validáció +- `backend/app/api/v1/endpoints/users.py` - `_build_user_response` async-re váltva, DB-driven permission lookup +- `backend/app/api/v1/endpoints/auth.py` - `_build_user_response` hívás `await`-el + `db` paraméter átadva +- `backend/app/core/capabilities.py` - `Capability` osztály eltávolítva (deprecated) +- `backend/app/api/v1/endpoints/organizations.py` - `Capability` import eltávolítva + +### ✅ Eredmények +- 8 új permission beszúrva (id: 31-38): `dual-control:request/approve/view`, `services:manage`, `subscription:manage`, `user:manage`, `moderation:manage`, `gamification:manage` +- 16 role-permission mapping létrehozva (8 permission × 2 role: SUPERADMIN + ADMIN) +- `get_permitted_actions` most már minden role-ra DB-driven lekérdezést használ +- `_build_user_response` async függvény, ami `rbac_service.get_role_permissions(db, role_id)`-t hív +- `/auth/me` és `/users/me` endpoint-ok 38 db system_capabilities-t adnak vissza (mind True) +- `Capability` osztály eltávolítva a kódbázisból diff --git a/backend/app/api/deps.py b/backend/app/api/deps.py index 59ff45e..256da6a 100755 --- a/backend/app/api/deps.py +++ b/backend/app/api/deps.py @@ -13,7 +13,6 @@ from app.models.identity import User, UserRole # JAVÍTVA: Új Identity modell from app.models.marketplace.organization import OrgRole, OrganizationMember from app.core.config import settings from app.core.translation_helper import t # Translation helper -from app.core.capabilities import SYSTEM_CAPABILITIES_MATRIX, role_has_capability logger = logging.getLogger(__name__) @@ -157,25 +156,6 @@ def check_min_rank(role_key: str): return True return rank_checker -async def get_current_admin( - current_user: User = Depends(get_current_user) -) -> User: - """ - Csak admin/moderátor/superadmin szerepkörrel rendelkező felhasználók számára. - """ - # A UserRole Enum értékeit használjuk (RBAC Phase 1) - allowed_roles = { - UserRole.SUPERADMIN, - UserRole.ADMIN, - UserRole.MODERATOR, - } - if current_user.role not in allowed_roles: - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail=t("AUTH.INSUFFICIENT_ADMIN_PERMISSIONS") - ) - return current_user - # ═══════════════════════════════════════════════════════════════════════════════ # RBAC Phase 1.5: Staff & Flexible Role Dependencies @@ -210,108 +190,10 @@ async def get_current_staff( return current_user -def RequireRole(allowed_roles: List[UserRole], target_org_id: Optional[int] = None): - """ - 🎯 Flexible role-checking dependency factory with scope-based access. - - Accepts a list of UserRole values. If the current user's role is - in the list, access is granted. Otherwise, 403 Forbidden. - - When target_org_id is provided, the RBACService is automatically - invoked to check if the staff member has scope-based access to - that specific organization. - - Usage: - # Simple role check - @router.get("/admin/sales") - async def sales_dashboard( - current_user: User = Depends(get_current_user), - _ = Depends(RequireRole([UserRole.SUPERADMIN, UserRole.SALES_REP])) - ): - - # Scope-based access check - @router.get("/admin/organizations/{org_id}") - async def get_organization( - org_id: int, - current_user: User = Depends(get_current_user), - _ = Depends(RequireRole( - [UserRole.SUPERADMIN, UserRole.ADMIN, UserRole.SALES_REP], - target_org_id=org_id # ← triggers scope check - )) - ): - """ - async def role_checker( - current_user: User = Depends(get_current_user), - db: AsyncSession = Depends(get_db), - ) -> bool: - # 1. Check if the user's role is in the allowed list - if current_user.role not in allowed_roles: - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail="AUTH.INSUFFICIENT_PERMISSIONS" - ) - - # 2. If target_org_id is provided, perform scope-based access check - if target_org_id is not None: - from app.services.rbac_service import rbac_service - try: - await rbac_service.check_admin_access( - db=db, - user=current_user, - action="VIEW_DATA", # Generic read access for the dependency - target_org_id=target_org_id, - ) - except PermissionError as e: - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail=str(e) - ) - - return True - return role_checker - - # ═══════════════════════════════════════════════════════════════════════════════ # RBAC Phase 2: Capability Dependencies (Kapuőrök) # ═══════════════════════════════════════════════════════════════════════════════ -def RequireSystemCapability(capability_name: str): - """ - 🎯 Rendszerszintű képesség-ellenőrző dependency. - - Használat: - @router.get("/admin/users") - async def list_users( - db: AsyncSession = Depends(get_db), - current_user: User = Depends(get_current_user), - _ = Depends(RequireSystemCapability("can_manage_users")) - ): - - Logika: - 1. Ha a user SUPERADMIN → azonnal átengedi (True). - 2. Egyébként lekéri a user role-ját, és ellenőrzi a - SYSTEM_CAPABILITIES_MATRIX-ból, hogy a kért capability True-e. - 3. Ha nincs meg a capability → 403 Forbidden. - """ - async def system_capability_checker( - current_user: User = Depends(get_current_user), - ) -> bool: - # SUPERADMIN mindent visz - if current_user.role == UserRole.SUPERADMIN: - return True - - # Ellenőrizzük a SYSTEM_CAPABILITIES_MATRIX-ból - role_key = current_user.role.value # pl. "ADMIN", "MODERATOR", "USER" - if not role_has_capability(role_key, capability_name): - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail=f"SYSTEM_CAPABILITY_DENIED: A '{capability_name}' képesség nem elérhető a '{role_key}' szerepkör számára." - ) - return True - - return system_capability_checker - - def RequireOrgCapability(capability_name: str): """ 🎯 Szervezeti képesség-ellenőrző dependency. @@ -391,4 +273,69 @@ def RequireOrgCapability(capability_name: str): return True - return org_capability_checker \ No newline at end of file + return org_capability_checker + + +# ═══════════════════════════════════════════════════════════════════════════════ +# RBAC Phase 2: DB-Driven Permission Code Dependency (RequirePermission) +# ═══════════════════════════════════════════════════════════════════════════════ + +def RequirePermission(permission_code: str): + """ + 🎯 DB-driven permission code dependency factory. + + Queries the system.role_permissions table (via RBACService.get_role_permissions) + to check if the current user's role has the specified permission code granted. + + SUPERADMIN bypass: If the user's role rank is 100 (SUPERADMIN), access is + granted immediately without a database lookup. + + Usage: + @router.get("/admin/sensitive-data") + async def get_sensitive_data( + current_user: User = Depends(get_current_user), + _ = Depends(RequirePermission("fleet:view")), + ): + + Args: + permission_code: The permission code to check (e.g., "fleet:view", "user:create") + + Returns: + A dependency callable that returns the current_user if permission is granted, + or raises HTTPException(403) if denied. + """ + async def permission_checker( + current_user: User = Depends(get_current_active_user), + db: AsyncSession = Depends(get_db), + ) -> User: + # ── SUPERADMIN bypass ── + # SUPERADMIN has rank 100 → bypass all permission checks + if current_user.role == UserRole.SUPERADMIN: + return current_user + + # ── Resolve role_id ── + # Use the DB-driven role_id if available, otherwise fall back to + # the legacy UserRole enum for backward compatibility + role_id = getattr(current_user, 'role_id', None) + if role_id is None: + # Fallback: SUPERADMIN already handled above, so this is a non-admin + # user without a role_id assigned yet. Deny access. + raise HTTPException( + status_code=status.HTTP_403_FORBIDDEN, + detail=f"Missing permission: {permission_code}. No role_id assigned to user." + ) + + # ── Query permissions from DB ── + from app.services.rbac_service import rbac_service + user_permissions = await rbac_service.get_role_permissions(db, role_id) + + # ── Check the specific permission ── + if permission_code not in user_permissions: + raise HTTPException( + status_code=status.HTTP_403_FORBIDDEN, + detail=f"Missing permission: {permission_code}" + ) + + return current_user + + return permission_checker diff --git a/backend/app/api/v1/endpoints/admin.py b/backend/app/api/v1/endpoints/admin.py index dd496c9..ce4f58e 100755 --- a/backend/app/api/v1/endpoints/admin.py +++ b/backend/app/api/v1/endpoints/admin.py @@ -33,7 +33,8 @@ router = APIRouter() @router.get("/health-monitor", tags=["Sentinel Monitoring"]) async def get_system_health( db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:view")), ): stats = {} @@ -63,7 +64,8 @@ async def get_system_health( @router.get("/pending-actions", response_model=List[Any], tags=["Sentinel Security"]) async def list_pending_actions( db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:view")), ): stmt = select(PendingAction).where(PendingAction.status == ActionStatus.pending) result = await db.execute(stmt) @@ -73,7 +75,8 @@ async def list_pending_actions( async def approve_action( action_id: int, db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:edit")), ): try: await security_service.approve_action(db, admin.id, action_id) @@ -84,7 +87,8 @@ async def approve_action( @router.get("/parameters", tags=["Dynamic Configuration"]) async def list_all_parameters( db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:view")), ): result = await db.execute(select(SystemParameter)) return result.scalars().all() @@ -93,7 +97,8 @@ async def list_all_parameters( async def set_parameter( config: ConfigUpdate, db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:edit")), ): query = text(""" INSERT INTO system.system_parameters (key, value, scope_level, scope_id, category, last_modified_by) @@ -124,7 +129,8 @@ async def get_scoped_parameter( region_id: Optional[str] = None, country_code: Optional[str] = None, db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:view")), ): """ Hierarchikus paraméterlekérdezés a következő prioritással: @@ -143,7 +149,8 @@ async def get_scoped_parameter( @router.post("/translations/sync", tags=["System Utilities"]) async def sync_translations_to_json( db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:edit")), ): await TranslationService.export_to_json(db) return {"message": "JSON fájlok frissítve."} @@ -151,7 +158,8 @@ async def sync_translations_to_json( @router.get("/ping", tags=["Admin Test"]) async def admin_ping( - current_user: User = Depends(deps.get_current_admin) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("settings:view")), ): """ Egyszerű ping végpont admin jogosultság ellenőrzéséhez. @@ -166,8 +174,9 @@ async def admin_ping( async def ban_user( user_id: int, reason: str = Body(..., embed=True), - current_admin: User = Depends(deps.get_current_admin), - db: AsyncSession = Depends(deps.get_db) + db: AsyncSession = Depends(deps.get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("user:manage")), ): """ Felhasználó tiltása (Ban Hammer). @@ -205,7 +214,7 @@ async def ban_user( # 4. Audit log létrehozása audit_log = SecurityAuditLog( - user_id=current_admin.id, + user_id=current_user.id, action="ban_user", target_user_id=user_id, details=f"User banned. Reason: {reason}", @@ -226,8 +235,9 @@ async def ban_user( @router.post("/marketplace/services/{staging_id}/approve", tags=["Marketplace Moderation"]) async def approve_staged_service( staging_id: int, - current_admin: User = Depends(deps.get_current_admin), - db: AsyncSession = Depends(deps.get_db) + db: AsyncSession = Depends(deps.get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("moderation:manage")), ): """ Szerviz jóváhagyása a Piactéren (Kék Pipa). @@ -255,7 +265,7 @@ async def approve_staged_service( # Audit log audit_log = SecurityAuditLog( - user_id=current_admin.id, + user_id=current_user.id, action="approve_service", target_staging_id=staging_id, details=f"Service staging approved: {staging.service_name}", @@ -294,8 +304,9 @@ class PenaltyRequest(BaseModel): async def trigger_ai_pipeline( service_id: int, background_tasks: BackgroundTasks, - current_admin: User = Depends(deps.get_current_admin), - db: AsyncSession = Depends(deps.get_db) + db: AsyncSession = Depends(deps.get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("services:manage")), ): """ AI Pipeline manuális indítása egy adott szerviz profilra. @@ -318,7 +329,7 @@ async def trigger_ai_pipeline( # Audit log audit_log = SecurityAuditLog( - user_id=current_admin.id, + user_id=current_user.id, action="trigger_ai_pipeline", target_service_id=service_id, details=f"AI pipeline manually triggered for service {service_id}", @@ -354,8 +365,9 @@ async def run_validation_pipeline(profile_id: int): async def update_service_location( service_id: int, location: LocationUpdate, - current_admin: User = Depends(deps.get_current_admin), - db: AsyncSession = Depends(deps.get_db) + db: AsyncSession = Depends(deps.get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("services:manage")), ): """ Szerviz térképes mozgatása (Koordináta frissítés). @@ -379,7 +391,7 @@ async def update_service_location( # Audit log audit_log = SecurityAuditLog( - user_id=current_admin.id, + user_id=current_user.id, action="update_service_location", target_service_id=service_id, details=f"Service location updated to lat={location.latitude}, lon={location.longitude}", @@ -401,8 +413,9 @@ async def update_service_location( async def apply_gamification_penalty( user_id: int, penalty: PenaltyRequest, - current_admin: User = Depends(deps.get_current_admin), - db: AsyncSession = Depends(deps.get_db) + db: AsyncSession = Depends(deps.get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("gamification:manage")), ): """ Gamification büntetés kiosztása egy felhasználónak. @@ -446,7 +459,7 @@ async def apply_gamification_penalty( # Audit log audit_log = SecurityAuditLog( - user_id=current_admin.id, + user_id=current_user.id, action="apply_gamification_penalty", target_user_id=user_id, details=f"Gamification penalty applied: level change {penalty.penalty_level}, reason: {penalty.reason}", @@ -485,7 +498,8 @@ async def list_users( is_active: Optional[bool] = Query(None, description="Aktív státusz szűrés"), is_deleted: Optional[bool] = Query(None, description="Törölt státusz szűrés"), db: AsyncSession = Depends(deps.get_db), - current_admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("user:view")), ): """ Felhasználók listázása lapozással és célzott kereséssel. @@ -646,7 +660,8 @@ async def list_users( async def bulk_user_action( request: BulkActionRequest, db: AsyncSession = Depends(deps.get_db), - current_admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("user:manage")), ): """ Csoportos műveletek felhasználókon. @@ -658,7 +673,7 @@ async def bulk_user_action( - **restore**: Lágy törlés visszaállítása (is_deleted=False, deleted_at=None). Rang >= 90 (Admin) szükséges. - **hard_delete**: Végleges törlés az adatbázisból. Rang >= 100 (Superadmin) szükséges! """ - role_key = current_admin.role.value.upper() if hasattr(current_admin.role, "value") else str(current_admin.role).upper() + role_key = current_user.role.value.upper() if hasattr(current_user.role, "value") else str(current_user.role).upper() from app.core.security import DEFAULT_RANK_MAP admin_rank = DEFAULT_RANK_MAP.get(role_key, 0) @@ -698,7 +713,7 @@ async def bulk_user_action( affected_count = 0 for user in users: - if user.role == UserRole.SUPERADMIN and user.id != current_admin.id: + if user.role == UserRole.SUPERADMIN and user.id != current_user.id: continue if request.action == "ban": @@ -717,7 +732,7 @@ async def bulk_user_action( affected_count += 1 audit_log = SecurityAuditLog( - user_id=current_admin.id, + user_id=current_user.id, action=f"bulk_{request.action}", details=f"Bulk action '{request.action}' on {affected_count} users. IDs: {request.user_ids}", is_critical=(request.action in ("hard_delete", "ban")), @@ -745,7 +760,8 @@ async def search_organizations( name: str = Query(..., min_length=2, description="Cégnév vagy garázsnév keresése (ILIKE)"), limit: int = Query(20, ge=1, le=100, description="Maximum találatok száma"), db: AsyncSession = Depends(deps.get_db), - current_user: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("org:view")), ): """ 🔍 Szervezetek / Garázsok keresése név alapján. diff --git a/backend/app/api/v1/endpoints/admin_organizations.py b/backend/app/api/v1/endpoints/admin_organizations.py index 72c6bd5..65a219c 100644 --- a/backend/app/api/v1/endpoints/admin_organizations.py +++ b/backend/app/api/v1/endpoints/admin_organizations.py @@ -2,8 +2,12 @@ 🏢 Admin Garages (Organizations) CRM API Végpontok: - GET /admin/organizations — Garázsok listázása előfizetési adatokkal + GET /admin/organizations — Garázsok listázása előfizetési adatokkal + GET /admin/organizations/{org_id}/details — Garázs részletes adatai (General Tab) PATCH /admin/organizations/{org_id}/subscription — Előfizetés módosítása + POST /admin/organizations/{org_id}/members — Új tag hozzáadása a garázshoz + PUT /admin/organizations/{org_id}/members/{member_id} — Tag adatainak módosítása + DELETE /admin/organizations/{org_id}/members/{member_id} — Tag eltávolítása """ from __future__ import annotations @@ -13,16 +17,23 @@ from datetime import datetime from typing import Any, Dict, List, Optional from fastapi import APIRouter, Depends, HTTPException, Query, status -from sqlalchemy import select, func, update as sa_update +from sqlalchemy import select, func, update as sa_update, delete as sa_delete from sqlalchemy.ext.asyncio import AsyncSession -from sqlalchemy.orm import selectinload, joinedload, contains_eager +from sqlalchemy.orm import selectinload, joinedload from pydantic import BaseModel, Field from app.api import deps from app.db.session import get_db from app.models.core_logic import SubscriptionTier, OrganizationSubscription from app.models.marketplace.organization import Organization, OrganizationMember -from app.models.identity import User +from app.models.fleet.organization import ContactPerson +from app.models.identity import User, Person +from app.schemas.organization import ( + OrganizationMemberCreate, + OrganizationMemberUpdate, + OrganizationMemberResponse, + PersonBrief, +) logger = logging.getLogger("admin-organizations") router = APIRouter() @@ -86,6 +97,63 @@ class GarageListResponse(BaseModel): garages: List[GarageListItem] +# ============================================================================= +# Pydantic Schemas — Garage Details +# ============================================================================= + + +class ContactPersonInfo(BaseModel): + """Kapcsolattartó személy adatai.""" + id: int + full_name: str = "" + role: str = "" + department: Optional[str] = None + phone: Optional[str] = None + email: Optional[str] = None + is_primary: bool = False + + +class SubscriptionSummary(BaseModel): + """Előfizetés összefoglaló.""" + tier_name: str = "Free/Fallback" + tier_level: int = 0 + valid_from: Optional[str] = None + expires_at: Optional[str] = None + is_active: bool = True + asset_count: int = 0 + asset_limit: int = 1 + + +class GarageDetailsResponse(BaseModel): + """Garázs részletes adatai (General Tab).""" + # Szervezet adatok + id: int + name: str + full_name: str + display_name: Optional[str] = None + status: str + is_active: bool + is_verified: bool + org_type: str + # Cím adatok + address_city: Optional[str] = None + address_zip: Optional[str] = None + address_street_name: Optional[str] = None + address_street_type: Optional[str] = None + address_house_number: Optional[str] = None + tax_number: Optional[str] = None + reg_number: Optional[str] = None + # Előfizetés + subscription: Optional[SubscriptionSummary] = None + # Kapcsolattartó + primary_contact: Optional[ContactPersonInfo] = None + # Meta + created_at: Optional[str] = None + member_count: int = 0 + # P0: Full member list with nested person data + members: List[OrganizationMemberResponse] = [] + + # ============================================================================= # GET / — Garázsok listázása # ============================================================================= @@ -104,7 +172,8 @@ async def list_organizations( status_filter: Optional[str] = Query(None, description="Szűrés státusz szerint (active/inactive/suspended/pending_verification)"), org_type_filter: Optional[str] = Query(None, description="Szűrés szervezet típus szerint"), db: AsyncSession = Depends(get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("org:view")), ) -> GarageListResponse: """ Garázsok / Szervezetek listázása lapozással és kereséssel. @@ -236,6 +305,200 @@ async def list_organizations( ) +# ============================================================================= +# GET /{org_id}/details — Garázs részletes adatai (General Tab) +# ============================================================================= + + +@router.get( + "/{org_id}/details", + response_model=GarageDetailsResponse, + summary="Garázs részletes adatai", + description="Visszaadja egy garázs teljes adatait, előfizetési összefoglalóját, " + "elsődleges kapcsolattartóját és taglistáját a General Tab számára.", +) +async def get_organization_details( + org_id: int, + db: AsyncSession = Depends(get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("org:view")), +) -> GarageDetailsResponse: + """ + Garázs részletes adatainak lekérése. + + Visszaadja: + - Teljes szervezet adatokat (név, cím, adószám, státusz) + - Előfizetés összefoglalót (tier név, lejárat, járműszám/korlát) + - Elsődleges kapcsolattartó adatait (fleet.contact_persons) + - Tagok teljes listáját (OrganizationMember) nested Person adatokkal + """ + # 1. Szervezet lekérése subscription_tier kapcsolattal + org_stmt = ( + select(Organization) + .options( + selectinload(Organization.subscription_tier), + ) + .where(Organization.id == org_id) + ) + org_result = await db.execute(org_stmt) + org = org_result.scalar_one_or_none() + + if not org: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Szervezet nem található ID-vel: {org_id}", + ) + + # 2. Aktív előfizetés lekérése + sub_stmt = ( + select(OrganizationSubscription) + .options(selectinload(OrganizationSubscription.tier)) + .where( + OrganizationSubscription.org_id == org_id, + OrganizationSubscription.is_active == True, + ) + .order_by(OrganizationSubscription.id.desc()) + .limit(1) + ) + sub_result = await db.execute(sub_stmt) + active_sub = sub_result.scalar_one_or_none() + + # 3. Tagok lekérése eager loading-gal (User + Person) + members_stmt = ( + select(OrganizationMember) + .options( + selectinload(OrganizationMember.user).selectinload(User.person), + selectinload(OrganizationMember.person), + ) + .where( + OrganizationMember.organization_id == org_id, + ) + .order_by(OrganizationMember.id) + ) + members_result = await db.execute(members_stmt) + member_rows = members_result.scalars().all() + + # Taglétszám (aktív tagok száma) + member_count = sum(1 for m in member_rows if m.status == "active") + + # 4. Elsődleges kapcsolattartó lekérése + contact_stmt = ( + select(ContactPerson) + .options(selectinload(ContactPerson.person)) + .where( + ContactPerson.organization_id == org_id, + ContactPerson.is_primary == True, + ) + .limit(1) + ) + contact_result = await db.execute(contact_stmt) + contact = contact_result.scalar_one_or_none() + + # 5. Subscription összefoglaló + subscription_summary = None + if active_sub and active_sub.tier: + rules = active_sub.tier.rules or {} + asset_limit = ( + rules.get("max_vehicles") + or active_sub.tier.feature_capabilities.get("max_vehicles") + or 1 + ) + subscription_summary = SubscriptionSummary( + tier_name=active_sub.tier.name, + tier_level=active_sub.tier.tier_level, + valid_from=active_sub.valid_from.isoformat() if active_sub.valid_from else None, + expires_at=active_sub.valid_until.isoformat() if active_sub.valid_until else None, + is_active=active_sub.is_active, + asset_count=0, + asset_limit=asset_limit, + ) + elif org.subscription_tier: + rules = org.subscription_tier.rules or {} + asset_limit = ( + rules.get("max_vehicles") + or org.subscription_tier.feature_capabilities.get("max_vehicles") + or 1 + ) + subscription_summary = SubscriptionSummary( + tier_name=org.subscription_tier.name, + tier_level=org.subscription_tier.tier_level, + expires_at=org.subscription_expires_at.isoformat() if org.subscription_expires_at else None, + asset_limit=asset_limit, + ) + + # 6. Kapcsolattartó adatok + primary_contact = None + if contact and contact.person: + primary_contact = ContactPersonInfo( + id=contact.id, + full_name=f"{contact.person.last_name} {contact.person.first_name}", + role=contact.role, + department=contact.department, + phone=contact.person.phone, + is_primary=contact.is_primary, + ) + + # 7. Tagok összeállítása nested Person adatokkal + members_list: List[OrganizationMemberResponse] = [] + for m in member_rows: + person_data = None + # Try to get Person from the member's direct person relationship first + person_obj = m.person + # Fallback: get Person through the User relationship + if not person_obj and m.user and m.user.person: + person_obj = m.user.person + + if person_obj: + # Get email from the user record + email = m.user.email if m.user else None + person_data = PersonBrief( + first_name=person_obj.first_name or "", + last_name=person_obj.last_name or "", + email=email, + phone=person_obj.phone, + ) + + members_list.append(OrganizationMemberResponse( + id=m.id, + user_id=m.user_id, + organization_id=m.organization_id, + role=m.role, + status=m.status or "active", + is_verified=m.is_verified, + person=person_data, + created_at=m.created_at.isoformat() if m.created_at else None, + updated_at=m.updated_at.isoformat() if m.updated_at else None, + )) + + logger.info( + f"Admin {current_user.id} ({current_user.email}) fetched details for org {org_id} " + f"({org.full_name}) — {len(members_list)} members" + ) + + return GarageDetailsResponse( + id=org.id, + name=org.name, + full_name=org.full_name, + display_name=org.display_name, + status=org.status, + is_active=org.is_active, + is_verified=org.is_verified, + org_type=org.org_type.value if hasattr(org.org_type, "value") else str(org.org_type), + address_city=org.address_city, + address_zip=org.address_zip, + address_street_name=org.address_street_name, + address_street_type=org.address_street_type, + address_house_number=org.address_house_number, + tax_number=org.tax_number, + reg_number=org.reg_number, + subscription=subscription_summary, + primary_contact=primary_contact, + created_at=org.created_at.isoformat() if org.created_at else None, + member_count=member_count, + members=members_list, + ) + + # ============================================================================= # PATCH /{org_id}/subscription — Előfizetés módosítása # ============================================================================= @@ -251,7 +514,8 @@ async def update_org_subscription( org_id: int, payload: OrgSubscriptionUpdate, db: AsyncSession = Depends(get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("org:edit")), ) -> Dict[str, Any]: """ Garázs előfizetésének módosítása. @@ -326,7 +590,7 @@ async def update_org_subscription( await db.refresh(new_sub) logger.info( - f"Admin {admin.id} ({admin.email}) updated subscription for org {org_id}: " + f"Admin {current_user.id} ({current_user.email}) updated subscription for org {org_id}: " f"tier_id={payload.tier_id}, tier_name={tier.name}, " f"valid_until={valid_until.isoformat()}" ) @@ -344,3 +608,257 @@ async def update_org_subscription( "is_active": new_sub.is_active, }, } + + +# ============================================================================= +# POST /{org_id}/members — Új tag hozzáadása a garázshoz +# ============================================================================= + + +@router.post( + "/{org_id}/members", + response_model=OrganizationMemberResponse, + status_code=status.HTTP_201_CREATED, + summary="Új tag hozzáadása", + description="Hozzáad egy felhasználót a garázshoz a megadott szerepkörrel.", +) +async def add_organization_member( + org_id: int, + payload: OrganizationMemberCreate, + db: AsyncSession = Depends(get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("org:manage-members")), +) -> OrganizationMemberResponse: + """ + Új tag hozzáadása egy garázshoz. + + - Ellenőrzi, hogy a szervezet létezik-e. + - Ellenőrzi, hogy a user_id létezik-e az identity.users táblában. + - Ellenőrzi, hogy a felhasználó még nem tagja a szervezetnek. + - Létrehozza az OrganizationMember rekordot. + """ + # 1. Ellenőrizzük a szervezetet + org_stmt = select(Organization).where(Organization.id == org_id) + org_result = await db.execute(org_stmt) + org = org_result.scalar_one_or_none() + + if not org: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Szervezet nem található ID-vel: {org_id}", + ) + + # 2. Ellenőrizzük a felhasználót + user_stmt = select(User).where(User.id == payload.user_id) + user_result = await db.execute(user_stmt) + user = user_result.scalar_one_or_none() + + if not user: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Felhasználó nem található ID-vel: {payload.user_id}", + ) + + # 3. Ellenőrizzük, hogy a felhasználó még nem tagja a szervezetnek + existing_stmt = select(OrganizationMember).where( + OrganizationMember.organization_id == org_id, + OrganizationMember.user_id == payload.user_id, + OrganizationMember.status != "archived", + ) + existing_result = await db.execute(existing_stmt) + existing = existing_result.scalar_one_or_none() + + if existing: + raise HTTPException( + status_code=status.HTTP_409_CONFLICT, + detail=f"A felhasználó (ID: {payload.user_id}) már tagja ennek a szervezetnek.", + ) + + # 4. Létrehozzuk az új tag rekordot + person_id = user.person_id + new_member = OrganizationMember( + organization_id=org_id, + user_id=payload.user_id, + person_id=person_id, + role=payload.role, + status=payload.status, + is_verified=False, + ) + db.add(new_member) + await db.commit() + await db.refresh(new_member) + + # 5. Visszatöltjük a kapcsolódó adatokat a válaszhoz + await db.refresh(new_member, attribute_names=["user", "person"]) + + # Person adatok összeállítása + person_data = None + person_obj = new_member.person + if not person_obj and new_member.user and new_member.user.person: + person_obj = new_member.user.person + + if person_obj: + person_data = PersonBrief( + first_name=person_obj.first_name or "", + last_name=person_obj.last_name or "", + email=user.email, + phone=person_obj.phone, + ) + + logger.info( + f"Admin {current_user.id} ({current_user.email}) added member user_id={payload.user_id} " + f"to org {org_id} ({org.full_name}) with role={payload.role}" + ) + + return OrganizationMemberResponse( + id=new_member.id, + user_id=new_member.user_id, + organization_id=new_member.organization_id, + role=new_member.role, + status=new_member.status or "active", + is_verified=new_member.is_verified, + person=person_data, + created_at=new_member.created_at.isoformat() if new_member.created_at else None, + updated_at=new_member.updated_at.isoformat() if new_member.updated_at else None, + ) + + +# ============================================================================= +# PUT /{org_id}/members/{member_id} — Tag adatainak módosítása +# ============================================================================= + + +@router.put( + "/{org_id}/members/{member_id}", + response_model=OrganizationMemberResponse, + summary="Tag adatainak módosítása", + description="Frissíti egy meglévő tag szerepkörét és/vagy státuszát.", +) +async def update_organization_member( + org_id: int, + member_id: int, + payload: OrganizationMemberUpdate, + db: AsyncSession = Depends(get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("org:manage-members")), +) -> OrganizationMemberResponse: + """ + Meglévő tag adatainak módosítása. + + - Ellenőrzi, hogy a tag rekord létezik és a megadott szervezethez tartozik. + - Frissíti a role és/vagy status mezőket. + """ + # 1. Ellenőrizzük a tag rekordot + member_stmt = ( + select(OrganizationMember) + .options( + selectinload(OrganizationMember.user).selectinload(User.person), + selectinload(OrganizationMember.person), + ) + .where( + OrganizationMember.id == member_id, + OrganizationMember.organization_id == org_id, + ) + ) + member_result = await db.execute(member_stmt) + member = member_result.scalar_one_or_none() + + if not member: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Tag nem található (ID: {member_id}) a szervezetben (ID: {org_id}).", + ) + + # 2. Frissítjük a mezőket + if payload.role is not None: + member.role = payload.role + if payload.status is not None: + member.status = payload.status + + await db.commit() + await db.refresh(member) + + # 3. Person adatok összeállítása + person_data = None + person_obj = member.person + if not person_obj and member.user and member.user.person: + person_obj = member.user.person + + if person_obj: + email = member.user.email if member.user else None + person_data = PersonBrief( + first_name=person_obj.first_name or "", + last_name=person_obj.last_name or "", + email=email, + phone=person_obj.phone, + ) + + logger.info( + f"Admin {current_user.id} ({current_user.email}) updated member {member_id} in org {org_id}: " + f"role={payload.role}, status={payload.status}" + ) + + return OrganizationMemberResponse( + id=member.id, + user_id=member.user_id, + organization_id=member.organization_id, + role=member.role, + status=member.status or "active", + is_verified=member.is_verified, + person=person_data, + created_at=member.created_at.isoformat() if member.created_at else None, + updated_at=member.updated_at.isoformat() if member.updated_at else None, + ) + + +# ============================================================================= +# DELETE /{org_id}/members/{member_id} — Tag eltávolítása +# ============================================================================= + + +@router.delete( + "/{org_id}/members/{member_id}", + status_code=status.HTTP_200_OK, + summary="Tag eltávolítása", + description="Eltávolít egy tagot a garázsból (soft delete: status → archived).", +) +async def remove_organization_member( + org_id: int, + member_id: int, + db: AsyncSession = Depends(get_db), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("org:manage-members")), +) -> Dict[str, Any]: + """ + Tag eltávolítása a garázsból. + + Soft delete megközelítés: a rekord nem törlődik, csak a status mező + 'archived' értékre változik. Ez megőrzi a történeti adatokat. + """ + # 1. Ellenőrizzük a tag rekordot + member_stmt = select(OrganizationMember).where( + OrganizationMember.id == member_id, + OrganizationMember.organization_id == org_id, + ) + member_result = await db.execute(member_stmt) + member = member_result.scalar_one_or_none() + + if not member: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Tag nem található (ID: {member_id}) a szervezetben (ID: {org_id}).", + ) + + # 2. Soft delete: archived státusz + member.status = "archived" + await db.commit() + + logger.info( + f"Admin {current_user.id} ({current_user.email}) removed member {member_id} from org {org_id} " + f"(status → archived)" + ) + + return { + "status": "success", + "message": f"Tag (ID: {member_id}) eltávolítva a szervezetből (ID: {org_id}).", + } diff --git a/backend/app/api/v1/endpoints/admin_packages.py b/backend/app/api/v1/endpoints/admin_packages.py index 658694c..cad4260 100644 --- a/backend/app/api/v1/endpoints/admin_packages.py +++ b/backend/app/api/v1/endpoints/admin_packages.py @@ -111,7 +111,8 @@ async def list_packages( description="Szűrés záró dátumig (available_until a lifecycle-ben, ISO formátum: YYYY-MM-DD)", ), db: AsyncSession = Depends(get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("subscription:manage")), ) -> SubscriptionTierListResponse: """ Összes előfizetési csomag listázása. @@ -183,7 +184,8 @@ async def list_packages( async def create_package( payload: SubscriptionTierCreate, db: AsyncSession = Depends(get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("subscription:manage")), ) -> SubscriptionTierResponse: """ Új előfizetési csomag létrehozása. @@ -239,7 +241,7 @@ async def create_package( await db.refresh(tier) logger.info( - f"Admin {admin.id} ({admin.email}) created subscription tier: " + f"Admin {current_user.id} ({current_user.email}) created subscription tier: " f"name={tier.name}, id={tier.id}, " f"is_default_fallback={tier.is_default_fallback}, " f"trial_days_on_signup={tier.trial_days_on_signup}" @@ -263,7 +265,8 @@ async def update_package( tier_id: int, payload: SubscriptionTierUpdate, db: AsyncSession = Depends(get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("subscription:manage")), ) -> SubscriptionTierResponse: """ Meglévő előfizetési csomag részleges frissítése. @@ -363,7 +366,7 @@ async def update_package( await db.refresh(tier) logger.info( - f"Admin {admin.id} ({admin.email}) updated subscription tier: " + f"Admin {current_user.id} ({current_user.email}) updated subscription tier: " f"id={tier.id}, name={tier.name}, " f"is_default_fallback={tier.is_default_fallback}, " f"trial_days_on_signup={tier.trial_days_on_signup}" @@ -386,7 +389,8 @@ async def update_package( async def delete_package( tier_id: int, db: AsyncSession = Depends(get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("subscription:manage")), ) -> Dict[str, Any]: """ Csomag logikai törlése (soft-delete / kivezetés). @@ -420,7 +424,7 @@ async def delete_package( await db.refresh(tier) logger.info( - f"Admin {admin.id} ({admin.email}) deactivated subscription tier: " + f"Admin {current_user.id} ({current_user.email}) deactivated subscription tier: " f"id={tier.id}, name={tier.name}" ) diff --git a/backend/app/api/v1/endpoints/admin_permissions.py b/backend/app/api/v1/endpoints/admin_permissions.py index 6341be4..835cf4e 100644 --- a/backend/app/api/v1/endpoints/admin_permissions.py +++ b/backend/app/api/v1/endpoints/admin_permissions.py @@ -7,9 +7,16 @@ Provides admin-facing endpoints for: showing which roles can perform which actions. - PATCH /admin/permissions/override/{org_id} — Updates custom permissions for a specific organization (scope-based override). +- GET /admin/permissions/roles — Returns all SystemRole records. +- GET /admin/permissions — Returns all SystemPermission records. +- PUT /admin/permissions/roles/{role_id}/permissions — Updates the granted + permissions for a role (bulk toggle). -All endpoints are protected by Depends(RequireRole(...)) so only -authorized staff (SUPERADMIN, ADMIN) can access them. +All endpoints are protected by Depends(RequirePermission(...)) so only +authorized staff with the appropriate DB-driven permissions can access them. + +P0 Phase 6: Removed AdminAction enum dependency. All permission lookups +are now fully DB-driven via system.role_permissions. """ from __future__ import annotations @@ -18,20 +25,17 @@ from typing import Any, Dict, List, Optional from fastapi import APIRouter, Depends, HTTPException, status, Body from sqlalchemy.ext.asyncio import AsyncSession -from sqlalchemy import select, update +from sqlalchemy import select, update, delete +from sqlalchemy.orm import selectinload from app.api import deps -from app.api.deps import RequireRole, get_db, get_current_user +from app.api.deps import get_db, get_current_user from app.models.identity import User, UserRole from app.models.marketplace.organization import Organization +from app.models.system.rbac import SystemRole, SystemPermission, SystemRolePermission from app.services.rbac_service import ( rbac_service, - AdminAction, ScopeType, - ADMIN_SCOPE_ACTIONS, - MODERATOR_SCOPE_ACTIONS, - SALES_REP_SCOPE_ACTIONS, - SERVICE_MGR_SCOPE_ACTIONS, ) from pydantic import BaseModel, Field @@ -72,6 +76,53 @@ class PermissionOverrideResponse(BaseModel): message: str +# ── RBAC Phase 4: DB-Driven Role & Permission Schemas ── + + +class SystemRoleOut(BaseModel): + """Output schema for a SystemRole.""" + id: int + name: str + description: Optional[str] = None + rank: int + is_system: bool + is_active: bool + permission_ids: List[int] = [] + + class Config: + from_attributes = True + + +class SystemPermissionOut(BaseModel): + """Output schema for a SystemPermission.""" + id: int + code: str + domain: str + action: str + description: Optional[str] = None + is_system: bool + + class Config: + from_attributes = True + + +class RolePermissionsUpdateRequest(BaseModel): + """Request body for updating a role's granted permissions.""" + permission_ids: List[int] = Field( + ..., + description="List of permission IDs that should be granted to this role", + ) + + +class RolePermissionsUpdateResponse(BaseModel): + """Response after updating role permissions.""" + status: str + role_id: int + role_name: str + granted_permission_ids: List[int] + message: str + + # ────────────────────────────────────────────── # Endpoints # ────────────────────────────────────────────── @@ -84,30 +135,39 @@ class PermissionOverrideResponse(BaseModel): summary="Get the full RBAC permission matrix", ) async def get_permission_matrix( + db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), - _ = Depends(RequireRole([UserRole.SUPERADMIN, UserRole.ADMIN])), + _ = Depends(deps.RequirePermission("permissions:view")), ): """ 🔐 Returns the complete RBAC permission matrix. Shows which roles are permitted to perform which admin actions. - Only SUPERADMIN and ADMIN roles can access this endpoint. + Protected by RequirePermission("permissions:view"). + + P0 Phase 6: Fully DB-driven. All permission codes are fetched + from system.permissions and role mappings from system.role_permissions. Returns: - matrix: List of {role, actions[]} entries - - all_actions: Complete list of all possible admin actions + - all_actions: Complete list of all possible permission codes """ + # Fetch all permission codes from the DB + all_perms_result = await db.execute( + select(SystemPermission.code).order_by(SystemPermission.code) + ) + all_actions = [row[0] for row in all_perms_result.all()] + + # Fetch role permissions for each role matrix = [] for role in [UserRole.SUPERADMIN, UserRole.ADMIN, UserRole.MODERATOR, UserRole.SALES_REP, UserRole.SERVICE_MGR]: - actions = rbac_service.get_permitted_actions(role) + actions = await rbac_service.get_permitted_actions(db, role) matrix.append(PermissionMatrixEntry( role=role.value, actions=sorted(actions), )) - all_actions = [a.value for a in AdminAction] - return PermissionMatrixResponse( matrix=matrix, all_actions=sorted(all_actions), @@ -125,7 +185,7 @@ async def override_org_permission( payload: PermissionOverrideRequest, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), - _ = Depends(RequireRole([UserRole.SUPERADMIN, UserRole.ADMIN])), + _ = Depends(deps.RequirePermission("permissions:edit")), ): """ 🔐 Updates custom permissions for a specific organization. @@ -138,6 +198,8 @@ async def override_org_permission( the requesting admin has scope-based access to the target organization before applying the override. + P0 Phase 6: Action validation is now DB-driven via system.permissions. + Args: org_id: The target organization ID. payload.action: The action to override (e.g., "EDIT_DATA"). @@ -146,9 +208,17 @@ async def override_org_permission( Returns: Confirmation of the override operation. """ - # 1. Validate that the action exists - valid_actions = {a.value for a in AdminAction} - if payload.action not in valid_actions: + # 1. Validate that the action exists in the DB + perm_stmt = select(SystemPermission.code).where( + SystemPermission.code == payload.action + ) + perm_result = await db.execute(perm_stmt) + if not perm_result.scalar_one_or_none(): + # Fetch all valid codes for the error message + all_codes_result = await db.execute( + select(SystemPermission.code).order_by(SystemPermission.code) + ) + valid_actions = [row[0] for row in all_codes_result.all()] raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail=f"Invalid action '{payload.action}'. Valid actions: {sorted(valid_actions)}", @@ -159,7 +229,7 @@ async def override_org_permission( await rbac_service.check_admin_access( db=db, user=current_user, - action=AdminAction.EDIT_DATA, + action="permissions:edit", target_org_id=org_id, ) except PermissionError as e: @@ -180,17 +250,12 @@ async def override_org_permission( ) # 4. Update custom permissions via the settings JSONB field - # The Organization model has a `settings` JSONB column that stores - # dynamic org-level configuration. We store permission overrides - # under a "permission_overrides" key within settings. if not isinstance(org.settings, dict): org.settings = {} - # Ensure the permission_overrides sub-key exists if "permission_overrides" not in org.settings: org.settings["permission_overrides"] = {} - # Apply the override org.settings["permission_overrides"][payload.action] = payload.granted # 5. Persist @@ -210,3 +275,222 @@ async def override_org_permission( granted=payload.granted, message=f"Permission '{payload.action}' {'granted' if payload.granted else 'revoked'} for organization {org_id}.", ) + + +# ── RBAC Phase 4: DB-Driven Role & Permission Endpoints ── + + +@router.get( + "/admin/permissions/roles", + response_model=List[SystemRoleOut], + tags=["Admin Permissions"], + summary="Get all system roles with their granted permission IDs", +) +async def get_all_roles( + db: AsyncSession = Depends(get_db), + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("permissions:view")), +): + """ + 🔐 Returns all SystemRole records with their associated permission IDs. + + Each role includes: + - id, name, description, rank, is_system, is_active + - permission_ids: List of permission IDs granted to this role + + Protected by RequirePermission("permissions:view"). + """ + stmt = ( + select(SystemRole) + .options(selectinload(SystemRole.permissions)) + .order_by(SystemRole.rank.desc()) + ) + result = await db.execute(stmt) + roles = result.unique().scalars().all() + + role_list = [] + for role in roles: + permission_ids = [ + rp.permission_id for rp in role.permissions if rp.granted + ] + role_list.append(SystemRoleOut( + id=role.id, + name=role.name, + description=role.description, + rank=role.rank, + is_system=role.is_system, + is_active=role.is_active, + permission_ids=permission_ids, + )) + + return role_list + + +@router.get( + "/admin/permissions", + response_model=List[SystemPermissionOut], + tags=["Admin Permissions"], + summary="Get all system permissions", +) +async def get_all_permissions( + db: AsyncSession = Depends(get_db), + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("permissions:view")), +): + """ + 🔐 Returns all SystemPermission records. + + Each permission includes: + - id, code, domain, action, description, is_system + + Protected by RequirePermission("permissions:view"). + """ + stmt = select(SystemPermission).order_by(SystemPermission.domain, SystemPermission.action) + result = await db.execute(stmt) + permissions = result.scalars().all() + + return [ + SystemPermissionOut( + id=p.id, + code=p.code, + domain=p.domain, + action=p.action, + description=p.description, + is_system=p.is_system, + ) + for p in permissions + ] + + +@router.put( + "/admin/permissions/roles/{role_id}/permissions", + response_model=RolePermissionsUpdateResponse, + tags=["Admin Permissions"], + summary="Update granted permissions for a role", +) +async def update_role_permissions( + role_id: int, + payload: RolePermissionsUpdateRequest, + db: AsyncSession = Depends(get_db), + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("permissions:edit")), +): + """ + 🔐 Updates the granted permissions for a specific role. + + This endpoint performs a full replacement of the role's granted + permissions. The provided permission_ids list becomes the new set + of granted permissions. Any existing mappings not in the list + are removed. + + SUPERADMIN roles (is_system=True, rank=100) are protected: + - Their permissions cannot be modified through this endpoint + to prevent accidental lockout. + + Args: + role_id: The target role ID. + payload.permission_ids: The complete list of permission IDs to grant. + + Returns: + Confirmation with the updated permission IDs. + """ + # 1. Fetch the role + stmt = select(SystemRole).where(SystemRole.id == role_id) + result = await db.execute(stmt) + role = result.scalar_one_or_none() + + if not role: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=f"Role with id={role_id} not found.", + ) + + # 2. Protect SUPERADMIN system roles + if role.is_system and role.rank >= 100: + raise HTTPException( + status_code=status.HTTP_403_FORBIDDEN, + detail="Cannot modify permissions for the SUPERADMIN system role. " + "This would risk locking administrators out of the system.", + ) + + # 3. Validate that all permission_ids exist + if payload.permission_ids: + perm_stmt = select(SystemPermission.id).where( + SystemPermission.id.in_(payload.permission_ids) + ) + perm_result = await db.execute(perm_stmt) + existing_ids = {row[0] for row in perm_result.all()} + + missing_ids = set(payload.permission_ids) - existing_ids + if missing_ids: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=f"Invalid permission IDs: {sorted(missing_ids)}. These permissions do not exist.", + ) + + # 4. Remove existing role-permission mappings + delete_stmt = delete(SystemRolePermission).where( + SystemRolePermission.role_id == role_id + ) + await db.execute(delete_stmt) + + # 5. Insert new mappings + for perm_id in payload.permission_ids: + db.add(SystemRolePermission( + role_id=role_id, + permission_id=perm_id, + granted=True, + )) + + await db.commit() + + # 6. Invalidate cache + rbac_service.invalidate_role_cache(role_id) + + logger.info( + f"Role permissions updated: role_id={role_id}, " + f"permissions={payload.permission_ids}, " + f"by_user={current_user.id}" + ) + + return RolePermissionsUpdateResponse( + status="success", + role_id=role_id, + role_name=role.name, + granted_permission_ids=payload.permission_ids, + message=f"Permissions updated for role '{role.name}' ({len(payload.permission_ids)} granted).", + ) + + +# ────────────────────────────────────────────── +# RBAC Phase 2: Test Endpoint (Verification) +# ────────────────────────────────────────────── + + +@router.get( + "/admin/rbac-test", + tags=["Admin Permissions (RBAC)"], + summary="RBAC Phase 2 verification endpoint", +) +async def rbac_test_endpoint( + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("fleet:view")), +): + """ + 🔐 RBAC Phase 2 verification endpoint. + + Protected by Depends(RequirePermission("fleet:view")). + - SUPERADMIN: Always passes (bypass). + - Users with fleet:view permission: Passes. + - Users without fleet:view permission: 403 Forbidden. + + Returns the current user info if permission is granted. + """ + return { + "status": "ok", + "message": "RBAC Phase 2 permission check passed.", + "user_id": current_user.id, + "user_role": current_user.role.value, + "role_id": current_user.role_id, + "permission_checked": "fleet:view", + } diff --git a/backend/app/api/v1/endpoints/admin_services.py b/backend/app/api/v1/endpoints/admin_services.py index 8ee29ab..77f8e27 100644 --- a/backend/app/api/v1/endpoints/admin_services.py +++ b/backend/app/api/v1/endpoints/admin_services.py @@ -27,7 +27,8 @@ async def list_service_catalog( limit: int = Query(50, ge=1, le=200, description="Maximum visszaadott rekordok száma"), is_active: bool | None = Query(None, description="Szűrés aktív/inaktív státuszra"), db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("services:manage")), ): """ Szolgáltatás katalógus bejegyzések listázása lapozással. @@ -53,7 +54,8 @@ async def list_service_catalog( async def create_service_catalog( data: ServiceCatalogCreate, db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("services:manage")), ): """ Új szolgáltatás katalógus bejegyzés létrehozása. @@ -86,7 +88,8 @@ async def update_service_catalog( service_id: int, data: ServiceCatalogUpdate, db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(deps.get_current_admin), + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("services:manage")), ): """ Meglévő szolgáltatás katalógus bejegyzés módosítása. diff --git a/backend/app/api/v1/endpoints/auth.py b/backend/app/api/v1/endpoints/auth.py index 726e626..a67656a 100755 --- a/backend/app/api/v1/endpoints/auth.py +++ b/backend/app/api/v1/endpoints/auth.py @@ -306,7 +306,7 @@ async def get_current_user_profile( """ from app.schemas.user import UserResponse from app.api.v1.endpoints.users import _build_user_response - response_data = _build_user_response(current_user) + response_data = await _build_user_response(current_user, db=db) return UserResponse.model_validate(response_data) diff --git a/backend/app/api/v1/endpoints/finance_admin.py b/backend/app/api/v1/endpoints/finance_admin.py index 428f72b..3d7d4e3 100644 --- a/backend/app/api/v1/endpoints/finance_admin.py +++ b/backend/app/api/v1/endpoints/finance_admin.py @@ -1,7 +1,7 @@ # /opt/docker/dev/service_finder/backend/app/api/v1/endpoints/finance_admin.py """ Finance Admin API endpoints for managing Issuers with strict RBAC protection. -Only users with rank >= 90 (Superadmin/Finance Admin) can access these endpoints. +Protected by DB-driven RequirePermission("finance:view") dependency. """ from fastapi import APIRouter, Depends, HTTPException, status @@ -10,36 +10,22 @@ from sqlalchemy import select from typing import List from app.api import deps -from app.models.identity import User, UserRole +from app.models.identity import User from app.models.marketplace.finance import Issuer from app.schemas.finance import IssuerResponse, IssuerUpdate router = APIRouter() -async def check_finance_admin_access( - current_user: User = Depends(deps.get_current_active_user) -): - """ - RBAC protection: only users with rank >= 90 (Superadmin/Finance Admin) can access. - In our system, this translates to role being 'superadmin' or 'admin'. - """ - if current_user.role not in [UserRole.SUPERADMIN, UserRole.ADMIN]: - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail="Not enough permissions. Rank >= 90 (Superadmin/Finance Admin) required." - ) - return current_user - - @router.get("/", response_model=List[IssuerResponse], tags=["finance-admin"]) async def list_issuers( db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(check_finance_admin_access) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("finance:view")), ): """ List all Issuers (billing entities). - Only accessible by Superadmin/Finance Admin (rank >= 90). + Protected by RequirePermission("finance:view"). """ result = await db.execute(select(Issuer).order_by(Issuer.id)) issuers = result.scalars().all() @@ -51,11 +37,12 @@ async def update_issuer( issuer_id: int, issuer_update: IssuerUpdate, db: AsyncSession = Depends(deps.get_db), - admin: User = Depends(check_finance_admin_access) + current_user: User = Depends(deps.get_current_active_user), + _ = Depends(deps.RequirePermission("finance:edit")), ): """ Update an Issuer's details (activate/deactivate, revenue limit, API config). - Only accessible by Superadmin/Finance Admin (rank >= 90). + Protected by RequirePermission("finance:edit"). """ result = await db.execute(select(Issuer).where(Issuer.id == issuer_id)) issuer = result.scalar_one_or_none() diff --git a/backend/app/api/v1/endpoints/organizations.py b/backend/app/api/v1/endpoints/organizations.py index 6cd1853..0ef33c3 100755 --- a/backend/app/api/v1/endpoints/organizations.py +++ b/backend/app/api/v1/endpoints/organizations.py @@ -14,11 +14,10 @@ from sqlalchemy.orm import selectinload from pydantic import BaseModel, Field, ConfigDict, EmailStr from app.db.session import get_db -from app.api.deps import get_current_user, RequireSystemCapability +from app.api.deps import get_current_user from app.schemas.organization import CorpOnboardIn, CorpOnboardResponse, OrganizationUpdate, OrganizationResponse from app.schemas.subscription import SubscriptionTierResponse from app.services.billing_engine import upgrade_org_subscription -from app.core.capabilities import Capability from app.models.marketplace.organization import Organization, OrgType, OrganizationMember, Branch, OrgUserRole, OrgRole from app.models.identity import User, OneTimePassword from app.core.config import settings diff --git a/backend/app/api/v1/endpoints/security.py b/backend/app/api/v1/endpoints/security.py index 873a320..ecc7aec 100644 --- a/backend/app/api/v1/endpoints/security.py +++ b/backend/app/api/v1/endpoints/security.py @@ -8,6 +8,7 @@ from typing import List, Optional from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.ext.asyncio import AsyncSession +from app.api import deps from app.api.deps import get_db, get_current_user from app.models.identity import User, UserRole from app.services.security_service import security_service @@ -23,7 +24,8 @@ router = APIRouter() async def request_action( request: PendingActionCreate, db: AsyncSession = Depends(get_db), - current_user: User = Depends(get_current_user) + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("dual-control:request")), ): """ Dual Control: Jóváhagyási kérelem indítása kiemelt művelethez. @@ -35,12 +37,6 @@ async def request_action( - SOFT_DELETE_USER: Felhasználó soft delete - ORGANIZATION_TRANSFER: Szervezet tulajdonjog átadása """ - # Csak admin és superadmin kezdeményezhet kiemelt műveleteket - if current_user.role not in [UserRole.ADMIN, UserRole.SUPERADMIN]: - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail="Csak adminisztrátorok kezdeményezhetnek Dual Control műveleteket." - ) try: action = await security_service.request_action( @@ -82,18 +78,14 @@ async def approve_action( action_id: int, approve_data: PendingActionApprove, db: AsyncSession = Depends(get_db), - current_user: User = Depends(get_current_user) + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("dual-control:approve")), ): """ Dual Control: Művelet jóváhagyása. Csak admin/superadmin hagyhat jóvá, és nem lehet a saját kérése. """ - if current_user.role not in [UserRole.ADMIN, UserRole.SUPERADMIN]: - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail="Csak adminisztrátorok hagyhatnak jóvá műveleteket." - ) try: await security_service.approve_action(db, approver_id=current_user.id, action_id=action_id) @@ -115,18 +107,14 @@ async def reject_action( action_id: int, reject_data: PendingActionReject, db: AsyncSession = Depends(get_db), - current_user: User = Depends(get_current_user) + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("dual-control:approve")), ): """ Dual Control: Művelet elutasítása. Csak admin/superadmin utasíthat el, és nem lehet a saját kérése. """ - if current_user.role not in [UserRole.ADMIN, UserRole.SUPERADMIN]: - raise HTTPException( - status_code=status.HTTP_403_FORBIDDEN, - detail="Csak adminisztrátorok utasíthatnak el műveleteket." - ) try: await security_service.reject_action( @@ -150,7 +138,8 @@ async def reject_action( async def get_action( action_id: int, db: AsyncSession = Depends(get_db), - current_user: User = Depends(get_current_user) + current_user: User = Depends(get_current_user), + _ = Depends(deps.RequirePermission("dual-control:view")), ): """ Egy konkrét Dual Control művelet lekérdezése. @@ -164,7 +153,7 @@ async def get_action( if not action: raise HTTPException(status_code=404, detail="Művelet nem található.") - if current_user.role not in [UserRole.ADMIN, UserRole.SUPERADMIN] and action.requester_id != current_user.id: + if current_user.id != action.requester_id: raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, detail="Nincs jogosultságod ehhez a művelethez." diff --git a/backend/app/api/v1/endpoints/system_parameters.py b/backend/app/api/v1/endpoints/system_parameters.py index f495956..fc9e7bf 100644 --- a/backend/app/api/v1/endpoints/system_parameters.py +++ b/backend/app/api/v1/endpoints/system_parameters.py @@ -5,6 +5,7 @@ from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select, update, and_ from typing import List, Optional, Dict, Any +from app.api import deps from app.api.deps import get_db, get_current_user from app.schemas.system import ( SystemParameterResponse, @@ -114,20 +115,14 @@ async def update_system_parameter( param_in: SystemParameterUpdate, db: AsyncSession = Depends(get_db), current_user=Depends(get_current_user), + _ = Depends(deps.RequirePermission("system:manage")), scope_level: ParameterScope = Query("global", description="Scope szint (alapértelmezett: global)"), scope_id: Optional[str] = Query(None, description="Scope azonosító"), ): """ Módosítja egy létező paraméter value (JSONB) vagy is_active mezőjét (Admin funkció). - Csak superadmin vagy admin jogosultságú felhasználók használhatják. + Protected by RequirePermission("system:manage"). """ - # Jogosultság ellenőrzése - if current_user.role not in (UserRole.SUPERADMIN, UserRole.ADMIN): - raise HTTPException( - status_code=403, - detail="Insufficient permissions. Only superadmin or admin can update system parameters." - ) - # Paraméter keresése query = select(SystemParameter).where( SystemParameter.key == key, diff --git a/backend/app/api/v1/endpoints/users.py b/backend/app/api/v1/endpoints/users.py index 4c1d331..12cac33 100755 --- a/backend/app/api/v1/endpoints/users.py +++ b/backend/app/api/v1/endpoints/users.py @@ -41,16 +41,17 @@ class NetworkResponse(BaseModel): level3: List[NetworkMemberL2L3] -def _build_user_response(user: User, active_org_id: Optional[int] = None, db: Optional[AsyncSession] = None) -> dict: +async def _build_user_response(user: User, active_org_id: Optional[int] = None, db: Optional[AsyncSession] = None) -> dict: """ Segédfüggvény a UserResponse dict előállításához. Beágyazza a Person és Address adatokat a 'person' mezőbe. RBAC Phase 3: system_capabilities és org_capabilities is bekerül a válaszba. P0: max_vehicles és max_garages a subscription_tier JSONB rules-ból. + P0 Phase 6: system_capabilities now populated via DB-driven RBAC lookup. """ from app.models.marketplace.organization import Organization, OrganizationMember from app.models.marketplace.organization import OrgUserRole - from app.core.capabilities import get_capabilities_for_role + from app.services.rbac_service import rbac_service # Determine active organization ID if active_org_id is None: @@ -102,9 +103,22 @@ def _build_user_response(user: User, active_org_id: Optional[int] = None, db: Op first_name = person.first_name if person else "" last_name = person.last_name if person else "" - # ── RBAC Phase 3: Resolve system capabilities ── + # ── RBAC Phase 3/6: Resolve system capabilities via DB-driven RBAC ── role_key = user.role.value if hasattr(user.role, 'value') else str(user.role) - system_capabilities = get_capabilities_for_role(role_key) + system_capabilities: Dict[str, bool] = {} + + if db is not None: + # Use the role_id from the user's SystemRole mapping + role_id = getattr(user, 'role_id', None) + if role_id is not None: + try: + # Fetch all granted permission codes for this role from the DB + perm_set = await rbac_service.get_role_permissions(db, role_id) + # Convert the set of codes into a dict mapping code -> True + system_capabilities = {code: True for code in perm_set} + except Exception as e: + logger.warning(f"Failed to resolve system_capabilities for user {user.id}: {e}") + system_capabilities = {} # ── RBAC Phase 3: Resolve org capabilities ── org_capabilities: Dict[str, Dict[str, bool]] = {} @@ -135,7 +149,7 @@ def _build_user_response(user: User, active_org_id: Optional[int] = None, db: Op "preferred_language": user.preferred_language or "hu", "person": person_data, "is_last_admin": False, # Default, will be overridden in read_users_me - # RBAC Phase 3: Rendszerszintű képességek + # RBAC Phase 3/6: Rendszerszintű képességek (DB-driven) "system_capabilities": system_capabilities, # RBAC Phase 3: Szervezeti képességek (feltöltve a read_users_me végpontban) "org_capabilities": {}, @@ -150,8 +164,7 @@ async def read_users_me( """Visszaadja a bejelentkezett felhasználó profilját beágyazott Person és Address adatokkal. RBAC Phase 3: system_capabilities és org_capabilities is bekerül a válaszba.""" from app.models.marketplace.organization import Organization, OrganizationMember - from app.models.marketplace.organization import OrgUserRole - from app.core.capabilities import get_capabilities_for_role + from app.models.marketplace.organization import OrgUserRole, OrgRole # Determine active organization ID active_org_id = None @@ -252,7 +265,8 @@ async def read_users_me( max_garages = int(allowances.get("max_garages", 1)) # ── RBAC Phase 3: Build base response ── - response_data = _build_user_response(current_user, active_org_id) + # P0 Phase 6: Pass db so system_capabilities gets populated from DB + response_data = await _build_user_response(current_user, active_org_id, db) response_data["is_last_admin"] = is_last_admin response_data["max_vehicles"] = max_vehicles response_data["max_garages"] = max_garages @@ -383,7 +397,7 @@ async def update_my_person( raise HTTPException(status_code=500, detail=f"Database error: {str(e)}") # Build and return the full response - response_data = _build_user_response(user) + response_data = await _build_user_response(user) return UserResponse.model_validate(response_data) @@ -487,7 +501,7 @@ async def update_user_preferences( raise HTTPException(status_code=500, detail=f"Database error: {str(e)}") # Return the Pydantic model instead of raw SQLAlchemy object - response_data = _build_user_response(current_user) + response_data = await _build_user_response(current_user) return UserResponse.model_validate(response_data) @@ -549,7 +563,7 @@ async def update_active_organization( access_token, _ = create_tokens(data=token_payload) # Return user data with new token - response_data = _build_user_response(current_user) + response_data = await _build_user_response(current_user) return UserWithTokenResponse( user=UserResponse.model_validate(response_data), access_token=access_token, diff --git a/backend/app/core/capabilities.py b/backend/app/core/capabilities.py index 649c6d4..2ec11d8 100644 --- a/backend/app/core/capabilities.py +++ b/backend/app/core/capabilities.py @@ -1,295 +1,11 @@ # /opt/docker/dev/service_finder/backend/app/core/capabilities.py """ -🎯 SYSTEM CAPABILITIES MATRIX (RBAC Phase 1) +🎯 SYSTEM CAPABILITIES REGISTRY (Deprecated - Phase 6 Cleanup) -Fine-grained, capability-driven permission matrix for system-level roles. -Each role maps to a set of boolean capabilities that define what the role -can do within the platform. +The Capability class with hardcoded string constants has been removed. +The DB-driven RBAC system (system.role_permissions table) is now the +single source of truth for permission checks. -Architecture: -- SUPERADMIN: Full system access (rank 100) -- ADMIN: Full admin panel access (rank 90) -- MODERATOR: Content moderation capabilities (rank 75) -- SALES_REP: Sales & discount management (rank 30) -- SERVICE_MGR: Service provider & taxonomy management (rank 40) -- USER: Basic platform user (rank 10) +All permission codes are stored in the system.permissions table and +mapped to roles via system.role_permissions. """ - -from typing import Dict, Set - -# ────────────────────────────────────────────── -# CAPABILITY KEYS (for type-safe references) -# ────────────────────────────────────────────── - -class Capability: - """Central registry of all capability keys.""" - - # ── Admin & System ── - CAN_MANAGE_USERS = "can_manage_users" - CAN_MANAGE_ROLES = "can_manage_roles" - CAN_VIEW_SYSTEM_LOGS = "can_view_system_logs" - CAN_MANAGE_SYSTEM_CONFIG = "can_manage_system_config" - CAN_MANAGE_TRANSLATIONS = "can_manage_translations" - - # ── Moderation ── - CAN_MODERATE_CONTENT = "can_moderate_content" - CAN_VIEW_REPORTS = "can_view_reports" - CAN_SUSPEND_USERS = "can_suspend_users" - CAN_APPROVE_PROVIDER = "can_approve_provider" - - # ── Sales & Marketing ── - CAN_VIEW_ORG_STATS = "can_view_org_stats" - CAN_MANAGE_DISCOUNTS = "can_manage_discounts" - CAN_MANAGE_PROMOTIONS = "can_manage_promotions" - CAN_VIEW_SALES_PIPELINE = "can_view_sales_pipeline" - - # ── Service Management ── - CAN_EDIT_MASTER_TAXONOMY = "can_edit_master_taxonomy" - CAN_MANAGE_SERVICE_CATEGORIES = "can_manage_service_categories" - CAN_VERIFY_SERVICE_PROVIDERS = "can_verify_service_providers" - CAN_MANAGE_EXPERTISE_TAGS = "can_manage_expertise_tags" - - # ── Vehicle & Catalog ── - CAN_MANAGE_VEHICLE_CATALOG = "can_manage_vehicle_catalog" - CAN_APPROVE_VEHICLE_DEFINITIONS = "can_approve_vehicle_definitions" - CAN_VIEW_TECHNICAL_SPECS = "can_view_technical_specs" - - # ── Finance ── - CAN_VIEW_FINANCIAL_REPORTS = "can_view_financial_reports" - CAN_MANAGE_BILLING = "can_manage_billing" - CAN_ISSUE_REFUNDS = "can_issue_refunds" - CAN_MANAGE_SUBSCRIPTIONS = "can_manage_subscriptions" - - # ── Basic User ── - CAN_MANAGE_OWN_PROFILE = "can_manage_own_profile" - CAN_MANAGE_OWN_VEHICLES = "can_manage_own_vehicles" - CAN_CREATE_SERVICE_REQUEST = "can_create_service_request" - CAN_VIEW_PUBLIC_CATALOG = "can_view_public_catalog" - - -# ────────────────────────────────────────────── -# SYSTEM CAPABILITIES MATRIX -# ────────────────────────────────────────────── - -SYSTEM_CAPABILITIES_MATRIX: Dict[str, Dict[str, bool]] = { - # ── SUPERADMIN: Full system access ── - "SUPERADMIN": { - # Admin & System - Capability.CAN_MANAGE_USERS: True, - Capability.CAN_MANAGE_ROLES: True, - Capability.CAN_VIEW_SYSTEM_LOGS: True, - Capability.CAN_MANAGE_SYSTEM_CONFIG: True, - Capability.CAN_MANAGE_TRANSLATIONS: True, - # Moderation - Capability.CAN_MODERATE_CONTENT: True, - Capability.CAN_VIEW_REPORTS: True, - Capability.CAN_SUSPEND_USERS: True, - Capability.CAN_APPROVE_PROVIDER: True, - # Sales - Capability.CAN_VIEW_ORG_STATS: True, - Capability.CAN_MANAGE_DISCOUNTS: True, - Capability.CAN_MANAGE_PROMOTIONS: True, - Capability.CAN_VIEW_SALES_PIPELINE: True, - # Service Management - Capability.CAN_EDIT_MASTER_TAXONOMY: True, - Capability.CAN_MANAGE_SERVICE_CATEGORIES: True, - Capability.CAN_VERIFY_SERVICE_PROVIDERS: True, - Capability.CAN_MANAGE_EXPERTISE_TAGS: True, - # Vehicle & Catalog - Capability.CAN_MANAGE_VEHICLE_CATALOG: True, - Capability.CAN_APPROVE_VEHICLE_DEFINITIONS: True, - Capability.CAN_VIEW_TECHNICAL_SPECS: True, - # Finance - Capability.CAN_VIEW_FINANCIAL_REPORTS: True, - Capability.CAN_MANAGE_BILLING: True, - Capability.CAN_ISSUE_REFUNDS: True, - Capability.CAN_MANAGE_SUBSCRIPTIONS: True, - # Basic User - Capability.CAN_MANAGE_OWN_PROFILE: True, - Capability.CAN_MANAGE_OWN_VEHICLES: True, - Capability.CAN_CREATE_SERVICE_REQUEST: True, - Capability.CAN_VIEW_PUBLIC_CATALOG: True, - }, - - # ── ADMIN: Full admin panel access ── - "ADMIN": { - Capability.CAN_MANAGE_USERS: True, - Capability.CAN_MANAGE_ROLES: False, - Capability.CAN_VIEW_SYSTEM_LOGS: True, - Capability.CAN_MANAGE_SYSTEM_CONFIG: False, - Capability.CAN_MANAGE_TRANSLATIONS: True, - Capability.CAN_MODERATE_CONTENT: True, - Capability.CAN_VIEW_REPORTS: True, - Capability.CAN_SUSPEND_USERS: True, - Capability.CAN_APPROVE_PROVIDER: True, - Capability.CAN_VIEW_ORG_STATS: True, - Capability.CAN_MANAGE_DISCOUNTS: True, - Capability.CAN_MANAGE_PROMOTIONS: True, - Capability.CAN_VIEW_SALES_PIPELINE: True, - Capability.CAN_EDIT_MASTER_TAXONOMY: True, - Capability.CAN_MANAGE_SERVICE_CATEGORIES: True, - Capability.CAN_VERIFY_SERVICE_PROVIDERS: True, - Capability.CAN_MANAGE_EXPERTISE_TAGS: True, - Capability.CAN_MANAGE_VEHICLE_CATALOG: True, - Capability.CAN_APPROVE_VEHICLE_DEFINITIONS: True, - Capability.CAN_VIEW_TECHNICAL_SPECS: True, - Capability.CAN_VIEW_FINANCIAL_REPORTS: True, - Capability.CAN_MANAGE_BILLING: False, - Capability.CAN_ISSUE_REFUNDS: False, - Capability.CAN_MANAGE_SUBSCRIPTIONS: True, - Capability.CAN_MANAGE_OWN_PROFILE: True, - Capability.CAN_MANAGE_OWN_VEHICLES: True, - Capability.CAN_CREATE_SERVICE_REQUEST: True, - Capability.CAN_VIEW_PUBLIC_CATALOG: True, - }, - - # ── MODERATOR: Content moderation ── - "MODERATOR": { - Capability.CAN_MANAGE_USERS: False, - Capability.CAN_MANAGE_ROLES: False, - Capability.CAN_VIEW_SYSTEM_LOGS: False, - Capability.CAN_MANAGE_SYSTEM_CONFIG: False, - Capability.CAN_MANAGE_TRANSLATIONS: True, - Capability.CAN_MODERATE_CONTENT: True, - Capability.CAN_VIEW_REPORTS: True, - Capability.CAN_SUSPEND_USERS: False, - Capability.CAN_APPROVE_PROVIDER: True, - Capability.CAN_VIEW_ORG_STATS: False, - Capability.CAN_MANAGE_DISCOUNTS: False, - Capability.CAN_MANAGE_PROMOTIONS: False, - Capability.CAN_VIEW_SALES_PIPELINE: False, - Capability.CAN_EDIT_MASTER_TAXONOMY: False, - Capability.CAN_MANAGE_SERVICE_CATEGORIES: True, - Capability.CAN_VERIFY_SERVICE_PROVIDERS: True, - Capability.CAN_MANAGE_EXPERTISE_TAGS: True, - Capability.CAN_MANAGE_VEHICLE_CATALOG: False, - Capability.CAN_APPROVE_VEHICLE_DEFINITIONS: False, - Capability.CAN_VIEW_TECHNICAL_SPECS: True, - Capability.CAN_VIEW_FINANCIAL_REPORTS: False, - Capability.CAN_MANAGE_BILLING: False, - Capability.CAN_ISSUE_REFUNDS: False, - Capability.CAN_MANAGE_OWN_PROFILE: True, - Capability.CAN_MANAGE_OWN_VEHICLES: True, - Capability.CAN_CREATE_SERVICE_REQUEST: True, - Capability.CAN_VIEW_PUBLIC_CATALOG: True, - }, - - # ── SALES_REP: Sales & discount management ── - "SALES_REP": { - Capability.CAN_MANAGE_USERS: False, - Capability.CAN_MANAGE_ROLES: False, - Capability.CAN_VIEW_SYSTEM_LOGS: False, - Capability.CAN_MANAGE_SYSTEM_CONFIG: False, - Capability.CAN_MANAGE_TRANSLATIONS: False, - Capability.CAN_MODERATE_CONTENT: False, - Capability.CAN_VIEW_REPORTS: False, - Capability.CAN_SUSPEND_USERS: False, - Capability.CAN_APPROVE_PROVIDER: False, - Capability.CAN_VIEW_ORG_STATS: True, - Capability.CAN_MANAGE_DISCOUNTS: True, - Capability.CAN_MANAGE_PROMOTIONS: True, - Capability.CAN_VIEW_SALES_PIPELINE: True, - Capability.CAN_EDIT_MASTER_TAXONOMY: False, - Capability.CAN_MANAGE_SERVICE_CATEGORIES: False, - Capability.CAN_VERIFY_SERVICE_PROVIDERS: False, - Capability.CAN_MANAGE_EXPERTISE_TAGS: False, - Capability.CAN_MANAGE_VEHICLE_CATALOG: False, - Capability.CAN_APPROVE_VEHICLE_DEFINITIONS: False, - Capability.CAN_VIEW_TECHNICAL_SPECS: False, - Capability.CAN_VIEW_FINANCIAL_REPORTS: False, - Capability.CAN_MANAGE_BILLING: False, - Capability.CAN_ISSUE_REFUNDS: False, - Capability.CAN_MANAGE_OWN_PROFILE: True, - Capability.CAN_MANAGE_OWN_VEHICLES: True, - Capability.CAN_CREATE_SERVICE_REQUEST: True, - Capability.CAN_VIEW_PUBLIC_CATALOG: True, - }, - - # ── SERVICE_MGR: Service provider & taxonomy management ── - "SERVICE_MGR": { - Capability.CAN_MANAGE_USERS: False, - Capability.CAN_MANAGE_ROLES: False, - Capability.CAN_VIEW_SYSTEM_LOGS: False, - Capability.CAN_MANAGE_SYSTEM_CONFIG: False, - Capability.CAN_MANAGE_TRANSLATIONS: False, - Capability.CAN_MODERATE_CONTENT: False, - Capability.CAN_VIEW_REPORTS: False, - Capability.CAN_SUSPEND_USERS: False, - Capability.CAN_APPROVE_PROVIDER: True, - Capability.CAN_VIEW_ORG_STATS: False, - Capability.CAN_MANAGE_DISCOUNTS: False, - Capability.CAN_MANAGE_PROMOTIONS: False, - Capability.CAN_VIEW_SALES_PIPELINE: False, - Capability.CAN_EDIT_MASTER_TAXONOMY: True, - Capability.CAN_MANAGE_SERVICE_CATEGORIES: True, - Capability.CAN_VERIFY_SERVICE_PROVIDERS: True, - Capability.CAN_MANAGE_EXPERTISE_TAGS: True, - Capability.CAN_MANAGE_VEHICLE_CATALOG: False, - Capability.CAN_APPROVE_VEHICLE_DEFINITIONS: False, - Capability.CAN_VIEW_TECHNICAL_SPECS: True, - Capability.CAN_VIEW_FINANCIAL_REPORTS: False, - Capability.CAN_MANAGE_BILLING: False, - Capability.CAN_ISSUE_REFUNDS: False, - Capability.CAN_MANAGE_OWN_PROFILE: True, - Capability.CAN_MANAGE_OWN_VEHICLES: True, - Capability.CAN_CREATE_SERVICE_REQUEST: True, - Capability.CAN_VIEW_PUBLIC_CATALOG: True, - }, - - # ── USER: Basic platform user ── - "USER": { - Capability.CAN_MANAGE_USERS: False, - Capability.CAN_MANAGE_ROLES: False, - Capability.CAN_VIEW_SYSTEM_LOGS: False, - Capability.CAN_MANAGE_SYSTEM_CONFIG: False, - Capability.CAN_MANAGE_TRANSLATIONS: False, - Capability.CAN_MODERATE_CONTENT: False, - Capability.CAN_VIEW_REPORTS: False, - Capability.CAN_SUSPEND_USERS: False, - Capability.CAN_APPROVE_PROVIDER: False, - Capability.CAN_VIEW_ORG_STATS: False, - Capability.CAN_MANAGE_DISCOUNTS: False, - Capability.CAN_MANAGE_PROMOTIONS: False, - Capability.CAN_VIEW_SALES_PIPELINE: False, - Capability.CAN_EDIT_MASTER_TAXONOMY: False, - Capability.CAN_MANAGE_SERVICE_CATEGORIES: False, - Capability.CAN_VERIFY_SERVICE_PROVIDERS: False, - Capability.CAN_MANAGE_EXPERTISE_TAGS: False, - Capability.CAN_MANAGE_VEHICLE_CATALOG: False, - Capability.CAN_APPROVE_VEHICLE_DEFINITIONS: False, - Capability.CAN_VIEW_TECHNICAL_SPECS: False, - Capability.CAN_VIEW_FINANCIAL_REPORTS: False, - Capability.CAN_MANAGE_BILLING: False, - Capability.CAN_ISSUE_REFUNDS: False, - Capability.CAN_MANAGE_OWN_PROFILE: True, - Capability.CAN_MANAGE_OWN_VEHICLES: True, - Capability.CAN_CREATE_SERVICE_REQUEST: True, - Capability.CAN_VIEW_PUBLIC_CATALOG: True, - }, -} - - -def get_capabilities_for_role(role_key: str) -> Dict[str, bool]: - """Return the capability dict for a given role key. - - Args: - role_key: The role key (e.g. 'SUPERADMIN', 'ADMIN', 'USER') - - Returns: - Dict of capability -> bool, or empty dict if role not found. - """ - return SYSTEM_CAPABILITIES_MATRIX.get(role_key.upper(), {}) - - -def role_has_capability(role_key: str, capability: str) -> bool: - """Check if a role has a specific capability. - - Args: - role_key: The role key (e.g. 'SUPERADMIN', 'ADMIN') - capability: The capability key (e.g. 'can_manage_users') - - Returns: - True if the role has the capability, False otherwise. - """ - caps = get_capabilities_for_role(role_key) - return caps.get(capability, False) diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py index 5e428ce..2d67f3d 100755 --- a/backend/app/models/__init__.py +++ b/backend/app/models/__init__.py @@ -44,6 +44,7 @@ from .identity.social import ServiceProvider, Vote, Competition, UserScore, Serv from .gamification.gamification import PointRule, LevelConfig, UserStats, Badge, UserBadge, PointsLedger, UserContribution, Season from .system.system import SystemParameter, ParameterScope, InternalNotification, SystemServiceStaging +from .system.rbac import SystemRole, SystemPermission, SystemRolePermission from .system.document import Document from .system.translation import Translation @@ -96,4 +97,6 @@ __all__ = [ "Campaign", "Creative", "Placement", "CampaignCreative", "CampaignPlacement", "AdImpression", "AdClick", "CampaignStatus", "CreativeType", "PlacementType", + # RBAC Phase 1 + "SystemRole", "SystemPermission", "SystemRolePermission", ] diff --git a/backend/app/models/identity/identity.py b/backend/app/models/identity/identity.py index 1b25bc6..23fbf18 100644 --- a/backend/app/models/identity/identity.py +++ b/backend/app/models/identity/identity.py @@ -20,6 +20,7 @@ if TYPE_CHECKING: from .payment import PaymentIntent, WithdrawalRequest from .social import ServiceReview, SocialAccount from ..marketplace.service_request import ServiceRequest + from ..system.rbac import SystemRole class UserRole(str, enum.Enum): """Rendszerszintű (System-level) szerepkörök. @@ -132,6 +133,15 @@ class User(Base): email: Mapped[str] = mapped_column(String, unique=True, index=True, nullable=False) hashed_password: Mapped[Optional[str]] = mapped_column(String) + # RBAC Phase 1: DB-driven role FK (nullable initially for migration safety) + role_id: Mapped[Optional[int]] = mapped_column( + Integer, + ForeignKey("system.roles.id", ondelete="SET NULL"), + nullable=True, + index=True + ) + + # Legacy: Keep UserRole enum column for backward compatibility during migration role: Mapped[UserRole] = mapped_column( PG_ENUM(UserRole, name="userrole", schema="identity"), default=UserRole.USER @@ -188,10 +198,17 @@ class User(Base): # --- KAPCSOLATOK --- + # RBAC Phase 1: DB-driven role relationship + system_role: Mapped[Optional["SystemRole"]] = relationship( + "SystemRole", + foreign_keys=[role_id], + lazy="joined" + ) + # JAVÍTÁS 4: Itt is explicit megadjuk, hogy melyik kulcs köti az emberhez person: Mapped[Optional["Person"]] = relationship( - "Person", - foreign_keys=[person_id], + "Person", + foreign_keys=[person_id], back_populates="users" ) diff --git a/backend/app/models/marketplace/organization.py b/backend/app/models/marketplace/organization.py index b083241..a5cb7ed 100755 --- a/backend/app/models/marketplace/organization.py +++ b/backend/app/models/marketplace/organization.py @@ -29,12 +29,15 @@ class OrgUserRole(str, enum.Enum): Ezek a szerepkörök a szervezeten/flottán belüli jogosultságokat határozzák meg. Minden szerepkörhöz egyedi JSON permissions objektum tartozik a fleet.org_roles táblában. + + Megjegyzés: Az értékek szinkronban kell lenniük a PostgreSQL fleet.orguserrole enum típussal. + Jelenlegi DB enum: OWNER, ADMIN, MANAGER, MEMBER, AGENT """ OWNER = "OWNER" ADMIN = "ADMIN" - ACCOUNTANT = "ACCOUNTANT" - DRIVER = "DRIVER" - VIEWER = "VIEWER" + MANAGER = "MANAGER" + MEMBER = "MEMBER" + AGENT = "AGENT" class OrgRole(Base): """ diff --git a/backend/app/models/system/__init__.py b/backend/app/models/system/__init__.py index 52459c4..4324f12 100644 --- a/backend/app/models/system/__init__.py +++ b/backend/app/models/system/__init__.py @@ -4,9 +4,11 @@ from .audit import SecurityAuditLog, OperationalLog, ProcessLog, FinancialLedger from .document import Document from .translation import Translation from .legal import LegalDocument, LegalAcceptance +from .rbac import SystemRole, SystemPermission, SystemRolePermission __all__ = [ "SystemParameter", "InternalNotification", "SystemServiceStaging", "SecurityAuditLog", "ProcessLog", "FinancialLedger", "WalletType", "LedgerStatus", "LedgerEntryType", - "Document", "Translation", "LegalDocument", "LegalAcceptance" + "Document", "Translation", "LegalDocument", "LegalAcceptance", + "SystemRole", "SystemPermission", "SystemRolePermission", ] diff --git a/backend/app/models/system/rbac.py b/backend/app/models/system/rbac.py new file mode 100644 index 0000000..b46e9a3 --- /dev/null +++ b/backend/app/models/system/rbac.py @@ -0,0 +1,135 @@ +# /opt/docker/dev/service_finder/backend/app/models/system/rbac.py +""" +RBAC Phase 1: Database-Driven Role-Based Access Control models. + +These models replace the hardcoded SYSTEM_CAPABILITIES_MATRIX and UserRole enum +with fully database-driven roles, permissions, and role-permission mappings. + +Schema: system +Tables: + - system.roles + - system.permissions + - system.role_permissions +""" +from __future__ import annotations +from datetime import datetime +from typing import Optional, List, TYPE_CHECKING +from sqlalchemy import String, Integer, Boolean, DateTime, ForeignKey, Text, UniqueConstraint +from sqlalchemy.orm import Mapped, mapped_column, relationship +from sqlalchemy.sql import func + +from app.database import Base + +if TYPE_CHECKING: + pass + + +class SystemRole(Base): + """ + System-level roles for the entire platform. + + Replaces the hardcoded UserRole enum. Each role has a hierarchical rank + (100=SUPERADMIN, 0=USER) for quick privilege comparisons. + System roles are protected (is_system=True) and cannot be deleted via admin UI. + """ + __tablename__ = "roles" + __table_args__ = ( + {"schema": "system", "extend_existing": True} + ) + + id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) + name: Mapped[str] = mapped_column(String(50), unique=True, nullable=False, index=True) + description: Mapped[Optional[str]] = mapped_column(Text, nullable=True) + rank: Mapped[int] = mapped_column(Integer, default=0, nullable=False) + is_system: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False) + is_active: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False) + + created_at: Mapped[datetime] = mapped_column( + DateTime(timezone=True), server_default=func.now(), nullable=False + ) + updated_at: Mapped[Optional[datetime]] = mapped_column( + DateTime(timezone=True), onupdate=func.now(), nullable=True + ) + + # --- RELATIONSHIPS --- + permissions: Mapped[List["SystemRolePermission"]] = relationship( + "SystemRolePermission", back_populates="role", cascade="all, delete-orphan" + ) + + def __repr__(self) -> str: + return f"" + + +class SystemPermission(Base): + """ + Granular permission codes for the entire platform. + + Format: domain:action (e.g., fleet:view, user:create, finance:approve) + + Domains: fleet, user, finance, system, org, reports, audit, settings + Actions: view, create, edit, delete, approve, manage, export, refund, manage-roles + """ + __tablename__ = "permissions" + __table_args__ = ( + {"schema": "system", "extend_existing": True} + ) + + id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) + code: Mapped[str] = mapped_column(String(100), unique=True, nullable=False, index=True) + domain: Mapped[str] = mapped_column(String(50), nullable=False, index=True) + action: Mapped[str] = mapped_column(String(50), nullable=False) + description: Mapped[Optional[str]] = mapped_column(Text, nullable=True) + is_system: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False) + + created_at: Mapped[datetime] = mapped_column( + DateTime(timezone=True), server_default=func.now(), nullable=False + ) + + # --- RELATIONSHIPS --- + role_assignments: Mapped[List["SystemRolePermission"]] = relationship( + "SystemRolePermission", back_populates="permission", cascade="all, delete-orphan" + ) + + def __repr__(self) -> str: + return f"" + + +class SystemRolePermission(Base): + """ + Many-to-many mapping between roles and permissions with explicit grant/deny. + + The `granted` boolean allows explicit denial of a permission for a role, + which can override inherited permissions in hierarchical role structures. + """ + __tablename__ = "role_permissions" + __table_args__ = ( + UniqueConstraint("role_id", "permission_id", name="uix_role_permission"), + {"schema": "system", "extend_existing": True} + ) + + id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) + role_id: Mapped[int] = mapped_column( + Integer, ForeignKey("system.roles.id", ondelete="CASCADE"), nullable=False + ) + permission_id: Mapped[int] = mapped_column( + Integer, ForeignKey("system.permissions.id", ondelete="CASCADE"), nullable=False + ) + granted: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False) + + created_at: Mapped[datetime] = mapped_column( + DateTime(timezone=True), server_default=func.now(), nullable=False + ) + + # --- RELATIONSHIPS --- + role: Mapped["SystemRole"] = relationship("SystemRole", back_populates="permissions") + permission: Mapped["SystemPermission"] = relationship( + "SystemPermission", back_populates="role_assignments" + ) + + def __repr__(self) -> str: + return ( + f"" + ) diff --git a/backend/app/schemas/organization.py b/backend/app/schemas/organization.py index f485946..f763ffb 100755 --- a/backend/app/schemas/organization.py +++ b/backend/app/schemas/organization.py @@ -1,7 +1,79 @@ -from pydantic import BaseModel, Field, ConfigDict +from pydantic import BaseModel, Field, ConfigDict, model_validator from typing import Optional, List, Any from datetime import datetime + +# ============================================================================= +# Organization Member Schemas (P0: Full CRUD for Garage Employees) +# ============================================================================= + + +class OrganizationMemberBase(BaseModel): + """Base schema for organization member data.""" + user_id: int = Field(..., description="The user ID to add as a member") + role: str = Field(default="MEMBER", description="Role within the organization. Valid values: OWNER, ADMIN, MANAGER, MEMBER, AGENT (PG_ENUM orguserrole)") + status: str = Field(default="active", description="Membership status (active, inactive, archived)") + + +class OrganizationMemberCreate(OrganizationMemberBase): + """Schema for adding a new member to a garage.""" + pass + + +class OrganizationMemberUpdate(BaseModel): + """Schema for updating an existing member's role/status.""" + role: Optional[str] = Field(default=None, description="New role within the organization") + status: Optional[str] = Field(default=None, description="New membership status (active, inactive, archived)") + + +class PersonBrief(BaseModel): + """Nested person data for member responses.""" + first_name: str = "" + last_name: str = "" + email: Optional[str] = None + phone: Optional[str] = None + + model_config = ConfigDict(from_attributes=True) + + +class OrganizationMemberResponse(BaseModel): + """Full member data returned by the API.""" + id: int + user_id: Optional[int] = None + organization_id: int + role: str + status: str = "active" + is_verified: bool = False + person: Optional[PersonBrief] = None + created_at: Optional[str] = None + updated_at: Optional[str] = None + + model_config = ConfigDict(from_attributes=True) + + @model_validator(mode="before") + @classmethod + def coerce_enums_to_strings(cls, data: Any) -> Any: + """Convert PG_ENUM / Enum values to plain strings before Pydantic validation. + + The OrganizationMember.role field uses a PostgreSQL ENUM type (OrgUserRole). + When loaded via SQLAlchemy's from_attributes, the enum instance is not + automatically serialized to a string. This validator ensures any enum value + is converted to its string representation. + """ + if isinstance(data, dict): + for field_name in ("role", "status"): + val = data.get(field_name) + if val is not None and not isinstance(val, str): + # Handle PG_ENUM / Python enum instances + data[field_name] = str(val.value if hasattr(val, "value") else val) + return data + + +# ============================================================================= +# Contact / Onboarding Schemas +# ============================================================================= + + class ContactCreate(BaseModel): full_name: str email: str diff --git a/backend/app/scripts/seed_rbac.py b/backend/app/scripts/seed_rbac.py new file mode 100644 index 0000000..385ff60 --- /dev/null +++ b/backend/app/scripts/seed_rbac.py @@ -0,0 +1,385 @@ +# /opt/docker/dev/service_finder/backend/app/scripts/seed_rbac.py +""" +RBAC Phase 1: Seed script for database-driven Role-Based Access Control. + +This script initializes the database with: + - 6 system roles (SUPERADMIN, ADMIN, MODERATOR, SALES_REP, SERVICE_MGR, USER) + - 28 permission codes across 8 domains + - Role-permission mappings according to the audit proposal matrix + - User migration: maps existing UserRole enum values to new role_id FK + +Usage: + docker exec sf_api python -m app.scripts.seed_rbac +""" +import asyncio +import logging +from sqlalchemy import select, text, update +from app.db.session import AsyncSessionLocal +from app.models.system.rbac import SystemRole, SystemPermission, SystemRolePermission +from app.models.identity.identity import User, UserRole + +logging.basicConfig(level=logging.INFO, format='%(asctime)s [%(levelname)s]: %(message)s') +logger = logging.getLogger("Seed-RBAC") + +# ────────────────────────────────────────────── +# STEP A: 6 System Roles +# ────────────────────────────────────────────── +ROLES = [ + {"name": "SUPERADMIN", "description": "Platform super administrator with full system access", "rank": 100, "is_system": True}, + {"name": "ADMIN", "description": "Platform administrator with elevated management privileges", "rank": 80, "is_system": True}, + {"name": "MODERATOR", "description": "Content moderator with limited administrative access", "rank": 60, "is_system": True}, + {"name": "SALES_REP", "description": "Sales representative with fleet creation privileges", "rank": 40, "is_system": True}, + {"name": "SERVICE_MGR", "description": "Service manager with organization-level access", "rank": 20, "is_system": True}, + {"name": "USER", "description": "Regular platform user with basic access", "rank": 0, "is_system": True}, +] + +# ────────────────────────────────────────────── +# STEP B: 28 Permission Codes +# ────────────────────────────────────────────── +PERMISSIONS = [ + # fleet domain (6 permissions) + {"code": "fleet:view", "domain": "fleet", "action": "view", "description": "View fleet/vehicle data"}, + {"code": "fleet:create", "domain": "fleet", "action": "create", "description": "Create new fleet/vehicle entries"}, + {"code": "fleet:edit", "domain": "fleet", "action": "edit", "description": "Edit existing fleet/vehicle data"}, + {"code": "fleet:delete", "domain": "fleet", "action": "delete", "description": "Delete fleet/vehicle entries"}, + {"code": "fleet:approve", "domain": "fleet", "action": "approve","description": "Approve fleet/vehicle submissions"}, + + # user domain (5 permissions) + {"code": "user:view", "domain": "user", "action": "view", "description": "View user profiles and data"}, + {"code": "user:create", "domain": "user", "action": "create", "description": "Create new user accounts"}, + {"code": "user:edit", "domain": "user", "action": "edit", "description": "Edit user profiles and data"}, + {"code": "user:delete", "domain": "user", "action": "delete", "description": "Delete user accounts"}, + {"code": "user:manage-roles", "domain": "user", "action": "manage-roles","description": "Manage user role assignments"}, + + # finance domain (4 permissions) + {"code": "finance:view", "domain": "finance", "action": "view", "description": "View financial data and transactions"}, + {"code": "finance:edit", "domain": "finance", "action": "edit", "description": "Edit financial records"}, + {"code": "finance:approve", "domain": "finance", "action": "approve", "description": "Approve financial transactions"}, + {"code": "finance:refund", "domain": "finance", "action": "refund", "description": "Process refunds"}, + + # system domain (3 permissions) + {"code": "system:view", "domain": "system", "action": "view", "description": "View system configuration"}, + {"code": "system:edit", "domain": "system", "action": "edit", "description": "Edit system configuration"}, + {"code": "system:manage", "domain": "system", "action": "manage", "description": "Full system management access"}, + + # org domain (4 permissions) + {"code": "org:view", "domain": "org", "action": "view", "description": "View organization data"}, + {"code": "org:edit", "domain": "org", "action": "edit", "description": "Edit organization data"}, + {"code": "org:delete", "domain": "org", "action": "delete", "description": "Delete organizations"}, + {"code": "org:manage-members", "domain": "org", "action": "manage-members","description": "Manage organization members"}, + + # reports domain (3 permissions) + {"code": "reports:view", "domain": "reports", "action": "view", "description": "View reports"}, + {"code": "reports:export", "domain": "reports", "action": "export", "description": "Export reports"}, + {"code": "reports:manage", "domain": "reports", "action": "manage", "description": "Manage report configurations"}, + + # audit domain (2 permissions) + {"code": "audit:view", "domain": "audit", "action": "view", "description": "View audit logs"}, + {"code": "audit:export", "domain": "audit", "action": "export", "description": "Export audit logs"}, + + # settings domain (2 permissions) + {"code": "settings:view", "domain": "settings", "action": "view", "description": "View system settings"}, + {"code": "settings:edit", "domain": "settings", "action": "edit", "description": "Edit system settings"}, +] + +# ────────────────────────────────────────────── +# STEP C: Role-Permission Mapping Matrix +# Format: { "role_name": {"permission_code": True/False} } +# True = granted, False = denied (explicit) +# ────────────────────────────────────────────── +ROLE_PERMISSION_MATRIX = { + "SUPERADMIN": { + # fleet - all granted + "fleet:view": True, "fleet:create": True, "fleet:edit": True, + "fleet:delete": True, "fleet:approve": True, + # user - all granted + "user:view": True, "user:create": True, "user:edit": True, + "user:delete": True, "user:manage-roles": True, + # finance - all granted + "finance:view": True, "finance:edit": True, + "finance:approve": True, "finance:refund": True, + # system - all granted + "system:view": True, "system:edit": True, "system:manage": True, + # org - all granted + "org:view": True, "org:edit": True, "org:delete": True, "org:manage-members": True, + # reports - all granted + "reports:view": True, "reports:export": True, "reports:manage": True, + # audit - all granted + "audit:view": True, "audit:export": True, + # settings - all granted + "settings:view": True, "settings:edit": True, + }, + "ADMIN": { + # fleet + "fleet:view": True, "fleet:create": True, "fleet:edit": True, + "fleet:delete": False, "fleet:approve": True, + # user + "user:view": True, "user:create": True, "user:edit": True, + "user:delete": False, "user:manage-roles": False, + # finance + "finance:view": True, "finance:edit": True, + "finance:approve": False, "finance:refund": False, + # system + "system:view": True, "system:edit": True, "system:manage": False, + # org + "org:view": True, "org:edit": True, "org:delete": False, "org:manage-members": True, + # reports + "reports:view": True, "reports:export": True, "reports:manage": False, + # audit + "audit:view": False, "audit:export": False, + # settings + "settings:view": True, "settings:edit": True, + }, + "MODERATOR": { + # fleet + "fleet:view": True, "fleet:create": False, "fleet:edit": False, + "fleet:delete": False, "fleet:approve": False, + # user + "user:view": True, "user:create": False, "user:edit": False, + "user:delete": False, "user:manage-roles": False, + # finance + "finance:view": True, "finance:edit": False, + "finance:approve": False, "finance:refund": False, + # system + "system:view": True, "system:edit": False, "system:manage": False, + # org + "org:view": True, "org:edit": False, "org:delete": False, "org:manage-members": False, + # reports + "reports:view": True, "reports:export": True, "reports:manage": False, + # audit + "audit:view": False, "audit:export": False, + # settings + "settings:view": False, "settings:edit": False, + }, + "SALES_REP": { + # fleet + "fleet:view": True, "fleet:create": True, "fleet:edit": False, + "fleet:delete": False, "fleet:approve": False, + # user + "user:view": False, "user:create": False, "user:edit": False, + "user:delete": False, "user:manage-roles": False, + # finance + "finance:view": False, "finance:edit": False, + "finance:approve": False, "finance:refund": False, + # system + "system:view": False, "system:edit": False, "system:manage": False, + # org + "org:view": True, "org:edit": False, "org:delete": False, "org:manage-members": False, + # reports + "reports:view": True, "reports:export": False, "reports:manage": False, + # audit + "audit:view": False, "audit:export": False, + # settings + "settings:view": False, "settings:edit": False, + }, + "SERVICE_MGR": { + # fleet + "fleet:view": True, "fleet:create": False, "fleet:edit": False, + "fleet:delete": False, "fleet:approve": False, + # user + "user:view": False, "user:create": False, "user:edit": False, + "user:delete": False, "user:manage-roles": False, + # finance + "finance:view": False, "finance:edit": False, + "finance:approve": False, "finance:refund": False, + # system + "system:view": False, "system:edit": False, "system:manage": False, + # org + "org:view": True, "org:edit": False, "org:delete": False, "org:manage-members": False, + # reports + "reports:view": True, "reports:export": False, "reports:manage": False, + # audit + "audit:view": False, "audit:export": False, + # settings + "settings:view": False, "settings:edit": False, + }, + "USER": { + # fleet + "fleet:view": True, "fleet:create": False, "fleet:edit": False, + "fleet:delete": False, "fleet:approve": False, + # user + "user:view": False, "user:create": False, "user:edit": False, + "user:delete": False, "user:manage-roles": False, + # finance + "finance:view": False, "finance:edit": False, + "finance:approve": False, "finance:refund": False, + # system + "system:view": False, "system:edit": False, "system:manage": False, + # org + "org:view": False, "org:edit": False, "org:delete": False, "org:manage-members": False, + # reports + "reports:view": False, "reports:export": False, "reports:manage": False, + # audit + "audit:view": False, "audit:export": False, + # settings + "settings:view": False, "settings:edit": False, + }, +} + +# Map UserRole enum values to role names +USERROLE_TO_ROLE_NAME = { + UserRole.SUPERADMIN: "SUPERADMIN", + UserRole.ADMIN: "ADMIN", + UserRole.MODERATOR: "MODERATOR", + UserRole.SALES_REP: "SALES_REP", + UserRole.SERVICE_MGR: "SERVICE_MGR", + UserRole.USER: "USER", +} + + +async def seed_rbac(): + """Main seed function: creates roles, permissions, mappings, and migrates users.""" + async with AsyncSessionLocal() as db: + try: + # ── STEP A: Insert Roles ── + logger.info("=" * 60) + logger.info("STEP A: Inserting 6 system roles...") + role_map = {} # name -> id + for role_data in ROLES: + existing = await db.execute( + select(SystemRole).where(SystemRole.name == role_data["name"]) + ) + role = existing.scalar_one_or_none() + if role: + logger.info(f" ⏭️ Role '{role_data['name']}' already exists (id={role.id}), updating...") + role.description = role_data["description"] + role.rank = role_data["rank"] + role.is_system = role_data["is_system"] + else: + role = SystemRole(**role_data) + db.add(role) + await db.flush() + logger.info(f" ✅ Created role '{role_data['name']}' (id={role.id})") + role_map[role_data["name"]] = role.id + + await db.commit() + logger.info(f" ✅ Roles committed. {len(role_map)} roles in role_map.") + + # ── STEP B: Insert Permissions ── + logger.info("=" * 60) + logger.info("STEP B: Inserting 28 permission codes...") + perm_map = {} # code -> id + for perm_data in PERMISSIONS: + existing = await db.execute( + select(SystemPermission).where(SystemPermission.code == perm_data["code"]) + ) + perm = existing.scalar_one_or_none() + if perm: + logger.info(f" ⏭️ Permission '{perm_data['code']}' already exists (id={perm.id}), updating...") + perm.domain = perm_data["domain"] + perm.action = perm_data["action"] + perm.description = perm_data["description"] + else: + perm = SystemPermission(**perm_data) + db.add(perm) + await db.flush() + logger.info(f" ✅ Created permission '{perm_data['code']}' (id={perm.id})") + perm_map[perm_data["code"]] = perm.id + + await db.commit() + logger.info(f" ✅ Permissions committed. {len(perm_map)} permissions in perm_map.") + + # ── STEP C: Insert Role-Permission Mappings ── + logger.info("=" * 60) + logger.info("STEP C: Inserting role-permission mappings...") + mapping_count = 0 + for role_name, perms in ROLE_PERMISSION_MATRIX.items(): + role_id = role_map.get(role_name) + if not role_id: + logger.warning(f" ⚠️ Role '{role_name}' not found in role_map, skipping!") + continue + + for perm_code, granted in perms.items(): + perm_id = perm_map.get(perm_code) + if not perm_id: + logger.warning(f" ⚠️ Permission '{perm_code}' not found in perm_map, skipping!") + continue + + # Check if mapping already exists + existing = await db.execute( + select(SystemRolePermission).where( + SystemRolePermission.role_id == role_id, + SystemRolePermission.permission_id == perm_id, + ) + ) + rp = existing.scalar_one_or_none() + if rp: + if rp.granted != granted: + rp.granted = granted + logger.info(f" 🔄 Updated mapping: {role_name} -> {perm_code} (granted={granted})") + else: + rp = SystemRolePermission( + role_id=role_id, + permission_id=perm_id, + granted=granted, + ) + db.add(rp) + mapping_count += 1 + + await db.commit() + logger.info(f" ✅ {mapping_count} new role-permission mappings created.") + + # ── STEP D: Migrate Existing Users ── + logger.info("=" * 60) + logger.info("STEP D: Migrating existing users to role_id...") + + # Get all users that don't have role_id set yet + result = await db.execute( + select(User).where(User.role_id.is_(None)) + ) + users_to_migrate = result.scalars().all() + + migrated_count = 0 + skipped_count = 0 + for user in users_to_migrate: + role_name = USERROLE_TO_ROLE_NAME.get(user.role) + if not role_name: + logger.warning(f" ⚠️ User {user.id} has unknown role '{user.role}', skipping...") + skipped_count += 1 + continue + + role_id = role_map.get(role_name) + if not role_id: + logger.warning(f" ⚠️ Role '{role_name}' not found for user {user.id}, skipping...") + skipped_count += 1 + continue + + user.role_id = role_id + migrated_count += 1 + + await db.commit() + logger.info(f" ✅ Users migrated: {migrated_count} updated, {skipped_count} skipped.") + + # ── FINAL REPORT ── + logger.info("=" * 60) + logger.info("📊 RBAC SEED SUMMARY") + logger.info(f" Roles: {len(role_map)}") + logger.info(f" Permissions: {len(perm_map)}") + + # Count total role_permissions + rp_result = await db.execute(select(SystemRolePermission)) + total_rp = len(rp_result.scalars().all()) + logger.info(f" Role-Permission Mappings: {total_rp}") + + # Count users with role_id + user_result = await db.execute( + select(User).where(User.role_id.isnot(None)) + ) + users_with_role = len(user_result.scalars().all()) + logger.info(f" Users with role_id assigned: {users_with_role}") + logger.info("=" * 60) + logger.info("✅ RBAC Phase 1 seeding completed successfully!") + + except Exception as e: + await db.rollback() + logger.error(f"❌ RBAC seeding failed: {e}") + raise + + +async def main(): + logger.info("🚀 Starting RBAC Phase 1 seed...") + await seed_rbac() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/backend/app/scripts/seed_system_params.py b/backend/app/scripts/seed_system_params.py index be6c7a3..8fdd94e 100755 --- a/backend/app/scripts/seed_system_params.py +++ b/backend/app/scripts/seed_system_params.py @@ -94,7 +94,7 @@ async def seed_params(): # --- 4. FINANCE (Költségek és Devizák) --- {"key": "finance_default_currency", "value": "HUF", "category": "finance", "description": "Helyi alap deviza", "scope_level": "global"}, {"key": "finance_base_currency", "value": "EUR", "category": "finance", "description": "Központi elszámoló deviza (Statisztikákhoz)", "scope_level": "global"}, - {"key": "org_naming_template", "value": "{last_name} Flotta", "category": "system", "description": "Szervezet név sablon", "scope_level": "global"}, + {"key": "org_naming_template", "value": "{last_name} {first_name} - Privát Garázs (#{user_id})", "category": "system", "description": "Szervezet név sablon (Privát Garázs)", "scope_level": "global"}, # --- 5. DOCUMENT & OCR (Robot 1 vezérlése) --- { diff --git a/backend/app/services/auth_service.py b/backend/app/services/auth_service.py index 7a53d1d..16b352b 100755 --- a/backend/app/services/auth_service.py +++ b/backend/app/services/auth_service.py @@ -247,10 +247,11 @@ class AuthService: # Dinamikus szervezet generálás - org_full_name = org_tpl.format(last_name=p.last_name, first_name=p.first_name) + # Naming convention: "{last_name} {first_name} - Privát Garázs (#{user_id})" + org_full_name = f"{p.last_name} {p.first_name} - Privát Garázs (#{user.id})" new_org = Organization( full_name=org_full_name, - name=f"{p.last_name} Garázsa", + name=org_full_name, folder_slug=generate_secure_slug(12), org_type=OrgType.individual, owner_id=user.id, diff --git a/backend/app/services/rbac_service.py b/backend/app/services/rbac_service.py index c237b24..b545f9e 100644 --- a/backend/app/services/rbac_service.py +++ b/backend/app/services/rbac_service.py @@ -31,7 +31,7 @@ from sqlalchemy import select from app.models.identity import User, UserRole from app.models.marketplace.organization import Organization -from app.core.capabilities import SYSTEM_CAPABILITIES_MATRIX, role_has_capability +from app.models.system.rbac import SystemRolePermission, SystemPermission logger = logging.getLogger(__name__) @@ -43,88 +43,6 @@ class ScopeType(str, Enum): SEGMENT = "SEGMENT" -class AdminAction(str, Enum): - """Admin actions that can be checked against scope.""" - # ── Data Management ── - EDIT_DATA = "EDIT_DATA" - VIEW_DATA = "VIEW_DATA" - DELETE_DATA = "DELETE_DATA" - EXPORT_DATA = "EXPORT_DATA" - - # ── Subscription Management ── - VIEW_SUBSCRIPTION = "VIEW_SUBSCRIPTION" - EDIT_SUBSCRIPTION = "EDIT_SUBSCRIPTION" - CANCEL_SUBSCRIPTION = "CANCEL_SUBSCRIPTION" - - # ── User Management ── - MANAGE_USERS = "MANAGE_USERS" - SUSPEND_USERS = "SUSPEND_USERS" - BAN_USERS = "BAN_USERS" - - # ── Financial ── - VIEW_FINANCIALS = "VIEW_FINANCIALS" - MANAGE_BILLING = "MANAGE_BILLING" - ISSUE_REFUNDS = "ISSUE_REFUNDS" - - # ── Moderation ── - APPROVE_CONTENT = "APPROVE_CONTENT" - MODERATE_REVIEWS = "MODERATE_REVIEWS" - VERIFY_PROVIDERS = "VERIFY_PROVIDERS" - - -# ────────────────────────────────────────────── -# ACTION-TO-ROLE MAPPING -# Which roles are permitted to perform which actions -# ────────────────────────────────────────────── - -# Actions that SUPERADMIN can always do (implicitly all) -# Actions that ADMIN can do within their scope -ADMIN_SCOPE_ACTIONS: Set[str] = { - AdminAction.EDIT_DATA, - AdminAction.VIEW_DATA, - AdminAction.DELETE_DATA, - AdminAction.EXPORT_DATA, - AdminAction.VIEW_SUBSCRIPTION, - AdminAction.EDIT_SUBSCRIPTION, - AdminAction.MANAGE_USERS, - AdminAction.SUSPEND_USERS, - AdminAction.BAN_USERS, - AdminAction.VIEW_FINANCIALS, - AdminAction.MANAGE_BILLING, - AdminAction.APPROVE_CONTENT, - AdminAction.MODERATE_REVIEWS, - AdminAction.VERIFY_PROVIDERS, -} - -# MODERATOR can do within their scope -MODERATOR_SCOPE_ACTIONS: Set[str] = { - AdminAction.VIEW_DATA, - AdminAction.VIEW_SUBSCRIPTION, - AdminAction.APPROVE_CONTENT, - AdminAction.MODERATE_REVIEWS, - AdminAction.VERIFY_PROVIDERS, - AdminAction.SUSPEND_USERS, -} - -# SALES_REP can do within their scope -SALES_REP_SCOPE_ACTIONS: Set[str] = { - AdminAction.VIEW_DATA, - AdminAction.VIEW_SUBSCRIPTION, - AdminAction.EDIT_SUBSCRIPTION, - AdminAction.VIEW_FINANCIALS, - AdminAction.EXPORT_DATA, -} - -# SERVICE_MGR can do within their scope -SERVICE_MGR_SCOPE_ACTIONS: Set[str] = { - AdminAction.VIEW_DATA, - AdminAction.EDIT_DATA, - AdminAction.APPROVE_CONTENT, - AdminAction.VERIFY_PROVIDERS, - AdminAction.MODERATE_REVIEWS, -} - - # ────────────────────────────────────────────── # RBAC SERVICE # ────────────────────────────────────────────── @@ -136,22 +54,17 @@ class RBACService: Provides methods to check whether a staff user has access to perform a specific action on a target organization, based on the user's role and assigned scope. - """ - # Mapping of role → set of permitted actions - ROLE_ACTIONS: Dict[UserRole, Set[str]] = { - UserRole.SUPERADMIN: set(AdminAction), # All actions - UserRole.ADMIN: ADMIN_SCOPE_ACTIONS, - UserRole.MODERATOR: MODERATOR_SCOPE_ACTIONS, - UserRole.SALES_REP: SALES_REP_SCOPE_ACTIONS, - UserRole.SERVICE_MGR: SERVICE_MGR_SCOPE_ACTIONS, - } + P0 Phase 6: All permission checks are now DB-driven via + system.role_permissions. The legacy AdminAction enum has been + removed. Use get_role_permissions() for all role lookups. + """ async def check_admin_access( self, db: AsyncSession, user: User, - action: Union[str, AdminAction], + action: str, target_org_id: Optional[int] = None, ) -> bool: """ @@ -160,7 +73,7 @@ class RBACService: Args: db: Database session user: The staff user to check - action: The action being attempted (AdminAction enum or string) + action: The action being attempted (string code) target_org_id: Optional target organization ID for scope matching Returns: @@ -169,17 +82,15 @@ class RBACService: Raises: PermissionError: If access is denied (with details) """ - action_str = action.value if isinstance(action, AdminAction) else action - # ── 1. SUPERADMIN bypass ── if user.role == UserRole.SUPERADMIN: return True # ── 2. Check if the role is permitted for this action ── - permitted_actions = self.ROLE_ACTIONS.get(user.role, set()) - if action_str not in permitted_actions: + permitted_actions = await self.get_permitted_actions(db, user.role) + if action not in permitted_actions: raise PermissionError( - f"Action '{action_str}' is not permitted for role '{user.role.value}'." + f"Action '{action}' is not permitted for role '{user.role.value}'." ) # ── 3. If no target_org_id, just check action permission ── @@ -304,14 +215,98 @@ class RBACService: result = await db.execute(stmt) return [row[0] for row in result.all()] - def get_permitted_actions(self, role: UserRole) -> Set[str]: - """Get the set of actions permitted for a given role.""" - return self.ROLE_ACTIONS.get(role, set()) + async def get_permitted_actions( + self, + db: AsyncSession, + role: UserRole, + ) -> Set[str]: + """ + Get the set of permission codes permitted for a given role. + + P0 Phase 6: Fully DB-driven via system.role_permissions. + The role name is used to look up the system.roles.id, then + all granted permission codes are returned. + + Args: + db: Database session + role: The UserRole enum value to look up + + Returns: + Set of permission code strings (e.g., {"fleet:view", "user:create"}) + """ + # Look up the system.roles.id by name + stmt = select(SystemRolePermission).limit(0) # just to get the table + # Use raw SQL for the join to avoid circular import issues + from sqlalchemy import text + result = await db.execute( + text(""" + SELECT p.code + FROM system.role_permissions rp + JOIN system.permissions p ON p.id = rp.permission_id + JOIN system.roles r ON r.id = rp.role_id + WHERE r.name = :role_name AND rp.granted = TRUE + """), + {"role_name": role.value}, + ) + return {row[0] for row in result.all()} - def is_action_permitted(self, role: UserRole, action: Union[str, AdminAction]) -> bool: + async def is_action_permitted( + self, + db: AsyncSession, + role: UserRole, + action: str, + ) -> bool: """Check if a specific action is permitted for a given role.""" - action_str = action.value if isinstance(action, AdminAction) else action - return action_str in self.ROLE_ACTIONS.get(role, set()) + permitted = await self.get_permitted_actions(db, role) + return action in permitted + + # ────────────────────────────────────────────── + # RBAC Phase 2: DB-Driven Permission Code Lookup + # ────────────────────────────────────────────── + + async def get_role_permissions( + self, + db: AsyncSession, + role_id: int, + ) -> Set[str]: + """ + Query the system.role_permissions table joined with system.permissions + to retrieve all granted permission codes for a given role_id. + + Returns a set of permission code strings (e.g., {"fleet:view", "user:create"}). + Only permissions where granted == True are included. + + Args: + db: Database session + role_id: The system.roles.id to look up + + Returns: + Set of permission code strings + """ + stmt = ( + select(SystemPermission.code) + .join( + SystemRolePermission, + SystemRolePermission.permission_id == SystemPermission.id, + ) + .where( + SystemRolePermission.role_id == role_id, + SystemRolePermission.granted == True, + ) + ) + result = await db.execute(stmt) + return {row[0] for row in result.all()} + + def invalidate_role_cache(self, role_id: int) -> None: + """ + Placeholder for cache invalidation when Redis is available. + Currently a no-op; structured so caching can be dropped in easily. + + Args: + role_id: The role ID whose cache should be invalidated + """ + logger.debug(f"Cache invalidation requested for role_id={role_id} (no-op, Redis not configured)") + pass # ────────────────────────────────────────────── diff --git a/backend/scripts/deep_purge_fake_orgs.py b/backend/scripts/deep_purge_fake_orgs.py new file mode 100644 index 0000000..9788446 --- /dev/null +++ b/backend/scripts/deep_purge_fake_orgs.py @@ -0,0 +1,598 @@ +#!/usr/bin/env python3 +""" +P0 DATABASE PURGE & RELINK — Deep Clean & Relink Script + +CRITICAL DIRECTIVE: Complete database hygiene. Before deleting fake organizations, +we MUST perfectly re-link all financial data (AssetCost/invoices) to their new +marketplace.service_providers counterparts. All garbage records (branches, members) +tied to the fake orgs must be completely destroyed. + +Safe List (valódi garázsok, amelyek NEM kerülnek törlésre): + (15, 21, 43, 45, 47, 48, 49, 50, 66, 67, 69, 70, 71) + +Folyamat: + Step A (The Financial Relink): + 1. Iterate through fleet_finance.asset_costs where vendor_organization_id is a fake org. + 2. Find the matching service_provider_id in marketplace.service_providers (match by name). + 3. Set AssetCost.service_provider_id to this new ID. + 4. ONLY THEN set AssetCost.vendor_organization_id = NULL. + 5. Do the exact same secure relinking for marketplace.service_profiles.organization_id + -> map to service_provider_id, then set organization_id = NULL. + + Step B (Incinerate Garbage Records): + 1. DELETE FROM finance.org_subscriptions WHERE org_id is a fake org. + 2. DELETE FROM finance.credit_logs WHERE org_id is a fake org. + 3. DELETE FROM fleet.asset_assignments WHERE organization_id is a fake org. + 4. UPDATE vehicle.assets SET current_organization_id=NULL, operator_org_id=NULL, + owner_org_id=NULL WHERE they reference fake orgs. + 5. UPDATE fleet_finance.asset_costs SET organization_id=NULL WHERE org is fake. + 6. DELETE FROM marketplace.ratings WHERE target_organization_id is a fake org. + 7. DELETE FROM fleet.branches WHERE organization_id is a fake org. + 8. DELETE FROM fleet.organization_members WHERE organization_id is a fake org. + 9. DELETE FROM fleet.contact_persons WHERE organization_id is a fake org. + 10. DELETE FROM fleet.org_relationships WHERE source_org_id or target_org_id is a fake org. + 11. DELETE FROM fleet.organization_financials WHERE organization_id is a fake org. + 12. DELETE FROM fleet.org_sales_assignments WHERE organization_id is a fake org. + + Step C (The Final Purge): + 1. DELETE FROM fleet.organizations WHERE id is a fake org. + +Használat: + docker compose exec sf_api python3 /app/scripts/deep_purge_fake_orgs.py +""" + +import asyncio +import logging +import sys +from datetime import datetime, timezone + +from sqlalchemy import text +from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine + +# Import settings +sys.path.insert(0, '/app') +from app.core.config import settings + +# ────────────────────────────────────────────── +# Konfiguráció +# ────────────────────────────────────────────── + +# Safe list: ezek az Organization ID-k valódi garázsok, NEM töröljük őket +SAFE_ORG_IDS = (15, 21, 43, 45, 47, 48, 49, 50, 66, 67, 69, 70, 71) + +# Adatbázis URL a settings-ből +DATABASE_URL = settings.DATABASE_URL + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s [%(levelname)s] %(message)s", + handlers=[logging.StreamHandler(sys.stdout)], +) +logger = logging.getLogger(__name__) + + +async def deep_purge_fake_orgs(): + """ + Main purge logic — three steps: Relink, Incinerate, Purge. + """ + engine = create_async_engine(DATABASE_URL, echo=False) + + async with AsyncSession(engine) as db: + try: + # ── 0. Identify fake orgs ── + safe_list = ", ".join([str(x) for x in SAFE_ORG_IDS]) + fake_orgs_sql = f""" + SELECT id, name + FROM fleet.organizations + WHERE id NOT IN ({safe_list}) + AND is_deleted = false + ORDER BY id + """ + result = await db.execute(text(fake_orgs_sql)) + fake_orgs = result.fetchall() + + if not fake_orgs: + logger.info("✅ No fake organizations found. Nothing to do.") + return + + fake_org_ids = [str(org[0]) for org in fake_orgs] + fake_org_ids_str = ", ".join(fake_org_ids) + + logger.info(f"🔍 Found {len(fake_orgs)} fake organizations to purge:") + for org_id, org_name in fake_orgs: + logger.info(f" - ID={org_id}: {org_name}") + + # ===================================================================== + # STEP A: THE FINANCIAL RELINK + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("STEP A: Financial Relink") + logger.info("=" * 60) + + # ── A1. Relink AssetCost records ── + logger.info("\n📊 A1. Relinking AssetCost records...") + + # Get all AssetCost records with vendor_organization_id pointing to fake orgs + asset_costs_sql = f""" + SELECT ac.id, ac.vendor_organization_id, ac.service_provider_id, + o.name as org_name + FROM fleet_finance.asset_costs ac + JOIN fleet.organizations o ON o.id = ac.vendor_organization_id + WHERE ac.vendor_organization_id IN ({fake_org_ids_str}) + AND ac.service_provider_id IS NULL + """ + ac_result = await db.execute(text(asset_costs_sql)) + asset_costs = ac_result.fetchall() + + asset_cost_relinked = 0 + asset_cost_skipped = 0 + asset_cost_errors = 0 + + for ac_row in asset_costs: + ac_id = ac_row[0] + vendor_org_id = ac_row[1] + org_name = ac_row[3] + + try: + # Find matching service_provider by name + find_sp_sql = text(""" + SELECT id FROM marketplace.service_providers + WHERE name = :org_name + LIMIT 1 + """) + sp_result = await db.execute(find_sp_sql, {"org_name": org_name}) + sp_row = sp_result.fetchone() + + if sp_row: + sp_id = sp_row[0] + # Set service_provider_id, then NULL the vendor_organization_id + update_ac_sql = text(""" + UPDATE fleet_finance.asset_costs + SET service_provider_id = :sp_id, + vendor_organization_id = NULL + WHERE id = :ac_id + """) + await db.execute(update_ac_sql, {"sp_id": sp_id, "ac_id": ac_id}) + asset_cost_relinked += 1 + logger.info( + f" ✅ AssetCost {ac_id}: vendor_org={vendor_org_id} -> " + f"service_provider_id={sp_id}" + ) + else: + # No matching service_provider found — just NULL the vendor_org + logger.warning( + f" ⚠️ No ServiceProvider found for org '{org_name}' " + f"(vendor_org_id={vendor_org_id}). Setting vendor_organization_id=NULL." + ) + null_ac_sql = text(""" + UPDATE fleet_finance.asset_costs + SET vendor_organization_id = NULL + WHERE id = :ac_id + """) + await db.execute(null_ac_sql, {"ac_id": ac_id}) + asset_cost_skipped += 1 + + except Exception as e: + asset_cost_errors += 1 + logger.error( + f" ❌ Error relinking AssetCost {ac_id}: {e}" + ) + + logger.info( + f"\n📊 AssetCost Relink Summary: " + f"{asset_cost_relinked} relinked, " + f"{asset_cost_skipped} skipped (no SP), " + f"{asset_cost_errors} errors" + ) + + # ── A2. Relink ServiceProfile records ── + logger.info("\n📊 A2. Relinking ServiceProfile records...") + + profiles_sql = f""" + SELECT sp.id, sp.organization_id, sp.service_provider_id, + o.name as org_name + FROM marketplace.service_profiles sp + JOIN fleet.organizations o ON o.id = sp.organization_id + WHERE sp.organization_id IN ({fake_org_ids_str}) + """ + prof_result = await db.execute(text(profiles_sql)) + profiles = prof_result.fetchall() + + profile_relinked = 0 + profile_skipped = 0 + profile_errors = 0 + + for prof_row in profiles: + profile_id = prof_row[0] + org_id = prof_row[1] + existing_sp_id = prof_row[2] + org_name = prof_row[3] + + try: + if existing_sp_id is not None: + # Already has service_provider_id — just NULL the organization_id + null_prof_sql = text(""" + UPDATE marketplace.service_profiles + SET organization_id = NULL + WHERE id = :profile_id + """) + await db.execute(null_prof_sql, {"profile_id": profile_id}) + profile_relinked += 1 + logger.info( + f" ✅ ServiceProfile {profile_id}: org={org_id} -> " + f"already had sp_id={existing_sp_id}, NULLed org" + ) + else: + # Find matching service_provider by name + find_sp_sql = text(""" + SELECT id FROM marketplace.service_providers + WHERE name = :org_name + LIMIT 1 + """) + sp_result = await db.execute(find_sp_sql, {"org_name": org_name}) + sp_row = sp_result.fetchone() + + if sp_row: + sp_id = sp_row[0] + # Set service_provider_id, then NULL the organization_id + update_prof_sql = text(""" + UPDATE marketplace.service_profiles + SET service_provider_id = :sp_id, + organization_id = NULL + WHERE id = :profile_id + """) + await db.execute( + update_prof_sql, + {"sp_id": sp_id, "profile_id": profile_id} + ) + profile_relinked += 1 + logger.info( + f" ✅ ServiceProfile {profile_id}: org={org_id} -> " + f"service_provider_id={sp_id}" + ) + else: + # No matching service_provider — just NULL the org + logger.warning( + f" ⚠️ No ServiceProvider found for org '{org_name}' " + f"(org_id={org_id}). Setting organization_id=NULL." + ) + null_prof_sql = text(""" + UPDATE marketplace.service_profiles + SET organization_id = NULL + WHERE id = :profile_id + """) + await db.execute(null_prof_sql, {"profile_id": profile_id}) + profile_skipped += 1 + + except Exception as e: + profile_errors += 1 + logger.error( + f" ❌ Error relinking ServiceProfile {profile_id}: {e}" + ) + + logger.info( + f"\n📊 ServiceProfile Relink Summary: " + f"{profile_relinked} relinked, " + f"{profile_skipped} skipped (no SP), " + f"{profile_errors} errors" + ) + + # ── A3. Also relink any AssetCost that already has service_provider_id set + # but still has vendor_organization_id pointing to a fake org ── + logger.info("\n📊 A3. Cleaning residual vendor_organization_id on already-linked AssetCosts...") + + residual_sql = f""" + SELECT ac.id, ac.vendor_organization_id, ac.service_provider_id + FROM fleet_finance.asset_costs ac + WHERE ac.vendor_organization_id IN ({fake_org_ids_str}) + AND ac.service_provider_id IS NOT NULL + """ + residual_result = await db.execute(text(residual_sql)) + residual_rows = residual_result.fetchall() + + residual_cleaned = 0 + for res_row in residual_rows: + ac_id = res_row[0] + try: + clean_sql = text(""" + UPDATE fleet_finance.asset_costs + SET vendor_organization_id = NULL + WHERE id = :ac_id + """) + await db.execute(clean_sql, {"ac_id": ac_id}) + residual_cleaned += 1 + except Exception as e: + logger.error(f" ❌ Error cleaning residual AssetCost {ac_id}: {e}") + + if residual_cleaned > 0: + logger.info(f" ✅ Cleaned {residual_cleaned} residual vendor_organization_id references") + else: + logger.info(" ℹ️ No residual references found.") + + # ===================================================================== + # STEP B: INCINERATE GARBAGE RECORDS + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("STEP B: Incinerate Garbage Records") + logger.info("=" * 60) + + # ── B1. Delete finance.org_subscriptions ── + logger.info("\n🗑️ B1. Deleting finance.org_subscriptions...") + delete_org_subs_sql = f""" + DELETE FROM finance.org_subscriptions + WHERE org_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_org_subs_sql)) + deleted_org_subs = result.rowcount + logger.info(f" ✅ Deleted {deleted_org_subs} org subscriptions") + + # ── B2. Delete finance.credit_logs ── + logger.info("\n🗑️ B2. Deleting finance.credit_logs...") + delete_credit_logs_sql = f""" + DELETE FROM finance.credit_logs + WHERE org_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_credit_logs_sql)) + deleted_credit_logs = result.rowcount + logger.info(f" ✅ Deleted {deleted_credit_logs} credit logs") + + # ── B3. Delete fleet.asset_assignments ── + logger.info("\n🗑️ B3. Deleting fleet.asset_assignments...") + delete_assignments_sql = f""" + DELETE FROM fleet.asset_assignments + WHERE organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_assignments_sql)) + deleted_assignments = result.rowcount + logger.info(f" ✅ Deleted {deleted_assignments} asset assignments") + + # ── B4. NULL out vehicle.assets org references ── + logger.info("\n🗑️ B4. NULLing vehicle.assets org references...") + null_vehicle_current_sql = f""" + UPDATE vehicle.assets + SET current_organization_id = NULL + WHERE current_organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(null_vehicle_current_sql)) + nulled_current = result.rowcount + + null_vehicle_operator_sql = f""" + UPDATE vehicle.assets + SET operator_org_id = NULL + WHERE operator_org_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(null_vehicle_operator_sql)) + nulled_operator = result.rowcount + + null_vehicle_owner_sql = f""" + UPDATE vehicle.assets + SET owner_org_id = NULL + WHERE owner_org_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(null_vehicle_owner_sql)) + nulled_owner = result.rowcount + + logger.info( + f" ✅ NULLed vehicle.assets references: " + f"{nulled_current} current_org, " + f"{nulled_operator} operator_org, " + f"{nulled_owner} owner_org" + ) + + # ── B5. Reassign fleet_finance.asset_costs organization_id to a real org ── + # NOTE: organization_id has a NOT NULL constraint, so we must reassign to a real org + logger.info("\n🗑️ B5. Reassigning fleet_finance.asset_costs organization_id to default org...") + # Use org ID=15 (Profibot Test Fleet) as the default reassignment target + reassign_ac_org_sql = f""" + UPDATE fleet_finance.asset_costs + SET organization_id = 15 + WHERE organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(reassign_ac_org_sql)) + reassigned_ac_org = result.rowcount + logger.info(f" ✅ Reassigned {reassigned_ac_org} asset_costs organization_id to org_id=15") + + # ── B6. Delete marketplace.ratings ── + logger.info("\n🗑️ B6. Deleting marketplace.ratings...") + delete_ratings_sql = f""" + DELETE FROM marketplace.ratings + WHERE target_organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_ratings_sql)) + deleted_ratings = result.rowcount + logger.info(f" ✅ Deleted {deleted_ratings} ratings") + + # ── B7. Delete branches ── + logger.info("\n🗑️ B7. Deleting branches...") + delete_branches_sql = f""" + DELETE FROM fleet.branches + WHERE organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_branches_sql)) + deleted_branches = result.rowcount + logger.info(f" ✅ Deleted {deleted_branches} branches") + + # ── B8. Delete organization_members ── + logger.info("\n🗑️ B8. Deleting organization_members...") + delete_members_sql = f""" + DELETE FROM fleet.organization_members + WHERE organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_members_sql)) + deleted_members = result.rowcount + logger.info(f" ✅ Deleted {deleted_members} organization members") + + # ── B9. Delete contact_persons ── + logger.info("\n🗑️ B9. Deleting contact_persons...") + delete_contacts_sql = f""" + DELETE FROM fleet.contact_persons + WHERE organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_contacts_sql)) + deleted_contacts = result.rowcount + logger.info(f" ✅ Deleted {deleted_contacts} contact persons") + + # ── B10. Delete org_relationships ── + logger.info("\n🗑️ B10. Deleting org_relationships...") + delete_rels_sql = f""" + DELETE FROM fleet.org_relationships + WHERE source_org_id IN ({fake_org_ids_str}) + OR target_org_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_rels_sql)) + deleted_rels = result.rowcount + logger.info(f" ✅ Deleted {deleted_rels} org relationships") + + # ── B11. Delete organization_financials ── + logger.info("\n🗑️ B11. Deleting organization_financials...") + delete_financials_sql = f""" + DELETE FROM fleet.organization_financials + WHERE organization_id IN ({fake_org_ids_str}) + """ + result = await db.execute(text(delete_financials_sql)) + deleted_financials = result.rowcount + logger.info(f" ✅ Deleted {deleted_financials} organization financials") + + # ── B12. Delete org_sales_assignments ── + logger.info("\n🗑️ B12. Deleting org_sales_assignments...") + delete_sales_sql = f""" + DELETE FROM fleet.org_sales_assignments + WHERE organization_id IN ({fake_org_ids_str}) + """ + try: + result = await db.execute(text(delete_sales_sql)) + deleted_sales = result.rowcount + logger.info(f" ✅ Deleted {deleted_sales} sales assignments") + except Exception as e: + logger.warning(f" ⚠️ Error deleting sales assignments: {e}") + deleted_sales = 0 + + # ===================================================================== + # STEP C: THE FINAL PURGE + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("STEP C: The Final Purge — Deleting fake organizations") + logger.info("=" * 60) + + # ── C1. Delete the organizations themselves ── + logger.info("\n🗑️ C1. Deleting fake organizations...") + delete_orgs_sql = f""" + DELETE FROM fleet.organizations + WHERE id IN ({fake_org_ids_str}) + RETURNING id, name + """ + result = await db.execute(text(delete_orgs_sql)) + deleted_orgs = result.fetchall() + deleted_orgs_count = len(deleted_orgs) + + logger.info(f" ✅ Deleted {deleted_orgs_count} organizations:") + for org_id, org_name in deleted_orgs: + logger.info(f" - ID={org_id}: {org_name}") + + # ── Commit the transaction ── + await db.commit() + + # ===================================================================== + # REPORT + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("📋 FINAL PURGE REPORT") + logger.info("=" * 60) + logger.info(f"\n📊 Financial Records Relinked:") + logger.info(f" AssetCost records relinked: {asset_cost_relinked}") + logger.info(f" AssetCost skipped (no SP): {asset_cost_skipped}") + logger.info(f" AssetCost errors: {asset_cost_errors}") + logger.info(f" Residual vendor_org cleaned: {residual_cleaned}") + logger.info(f" ServiceProfile records relinked: {profile_relinked}") + logger.info(f" ServiceProfile skipped (no SP): {profile_skipped}") + logger.info(f" ServiceProfile errors: {profile_errors}") + + logger.info(f"\n🗑️ Garbage Records Destroyed:") + logger.info(f" Org Subscriptions: {deleted_org_subs}") + logger.info(f" Credit Logs: {deleted_credit_logs}") + logger.info(f" Asset Assignments: {deleted_assignments}") + logger.info(f" Vehicle Assets (current_org): {nulled_current}") + logger.info(f" Vehicle Assets (operator_org): {nulled_operator}") + logger.info(f" Vehicle Assets (owner_org): {nulled_owner}") + logger.info(f" AssetCosts (organization_id): {reassigned_ac_org}") + logger.info(f" Ratings: {deleted_ratings}") + logger.info(f" Branches: {deleted_branches}") + logger.info(f" Organization Members: {deleted_members}") + logger.info(f" Contact Persons: {deleted_contacts}") + logger.info(f" Org Relationships: {deleted_rels}") + logger.info(f" Organization Financials: {deleted_financials}") + logger.info(f" Sales Assignments: {deleted_sales}") + + logger.info(f"\n💀 Organizations Purged:") + logger.info(f" Total fake orgs deleted: {deleted_orgs_count}") + + total_garbage = ( + deleted_org_subs + deleted_credit_logs + deleted_assignments + + deleted_branches + deleted_members + deleted_contacts + + deleted_rels + deleted_financials + deleted_sales + + deleted_ratings + ) + logger.info(f"\n📈 Total garbage rows destroyed: {total_garbage}") + logger.info(f"\n✅ Deep purge completed successfully!") + + # ── Verification ── + logger.info("\n🔍 Verifying cleanup...") + verify_sql = f""" + SELECT COUNT(*) FROM fleet.organizations + WHERE id NOT IN ({safe_list}) + AND is_deleted = false + """ + verify_result = await db.execute(text(verify_sql)) + remaining = verify_result.scalar() + if remaining == 0: + logger.info("✅ Verification PASSED: No fake organizations remain.") + else: + logger.warning(f"⚠️ Verification: {remaining} fake organizations still remain!") + + return { + "asset_cost_relinked": asset_cost_relinked, + "asset_cost_skipped": asset_cost_skipped, + "asset_cost_errors": asset_cost_errors, + "residual_cleaned": residual_cleaned, + "profile_relinked": profile_relinked, + "profile_skipped": profile_skipped, + "profile_errors": profile_errors, + "deleted_org_subs": deleted_org_subs, + "deleted_credit_logs": deleted_credit_logs, + "deleted_assignments": deleted_assignments, + "nulled_current": nulled_current, + "nulled_operator": nulled_operator, + "nulled_owner": nulled_owner, + "reassigned_ac_org": reassigned_ac_org, + "deleted_ratings": deleted_ratings, + "deleted_branches": deleted_branches, + "deleted_members": deleted_members, + "deleted_contacts": deleted_contacts, + "deleted_rels": deleted_rels, + "deleted_financials": deleted_financials, + "deleted_sales": deleted_sales, + "deleted_orgs": deleted_orgs_count, + "total_garbage": total_garbage, + } + + except Exception as e: + await db.rollback() + logger.error(f"💥 Fatal error during purge: {e}", exc_info=True) + sys.exit(1) + + +async def main(): + logger.info("🚀 P0 DATABASE PURGE & RELINK — Deep Clean Script") + logger.info(f" Safe org IDs: {SAFE_ORG_IDS}") + logger.info(f" Database: {DATABASE_URL}") + logger.info("") + + try: + await deep_purge_fake_orgs() + except Exception as e: + logger.error(f"💥 Fatal error: {e}") + sys.exit(1) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/backend/scripts/fix_phantom_permissions.py b/backend/scripts/fix_phantom_permissions.py new file mode 100644 index 0000000..2a72f04 --- /dev/null +++ b/backend/scripts/fix_phantom_permissions.py @@ -0,0 +1,144 @@ +#!/usr/bin/env python3 +""" +🔧 P0 EXECUTION - Fix Phantom Permissions + +Inserts 8 orphaned permission codes into system.permissions and maps them +to SUPERADMIN (role_id=1) and ADMIN (role_id=2) with granted=True. + +The 8 missing codes: + - dual-control:request (security) + - dual-control:approve (security) + - dual-control:view (security) + - services:manage (service) + - subscription:manage (subscription) + - user:manage (user) + - moderation:manage (moderation) + - gamification:manage (gamification) + +Run: docker compose exec sf_api python3 /app/backend/scripts/fix_phantom_permissions.py +""" + +import asyncio +import logging +import os +from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession +from sqlalchemy import text, select +from sqlalchemy.orm import sessionmaker + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +DATABASE_URL = os.getenv( + "DATABASE_URL", + "postgresql+asyncpg://sf_user:sf_password@postgres:5432/service_finder", +) + +# ── The 8 orphaned permissions ── +PHANTOM_PERMISSIONS = [ + {"code": "dual-control:request", "domain": "security", "action": "request"}, + {"code": "dual-control:approve", "domain": "security", "action": "approve"}, + {"code": "dual-control:view", "domain": "security", "action": "view"}, + {"code": "services:manage", "domain": "service", "action": "manage"}, + {"code": "subscription:manage", "domain": "subscription", "action": "manage"}, + {"code": "user:manage", "domain": "user", "action": "manage"}, + {"code": "moderation:manage", "domain": "moderation", "action": "manage"}, + {"code": "gamification:manage", "domain": "gamification", "action": "manage"}, +] + +# Target roles: SUPERADMIN=1, ADMIN=2 +TARGET_ROLE_IDS = [1, 2] + + +async def main(): + engine = create_async_engine(DATABASE_URL, echo=False) + async_session_factory = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False) + + async with async_session_factory() as session: + # ── Step 1: Fetch existing permission codes ── + result = await session.execute(text("SELECT code FROM system.permissions")) + existing_codes = {row[0] for row in result.all()} + logger.info(f"Existing permission codes ({len(existing_codes)}): {sorted(existing_codes)}") + + # ── Step 2: Insert missing permissions ── + inserted_ids = {} # code -> id + for perm in PHANTOM_PERMISSIONS: + if perm["code"] in existing_codes: + logger.info(f" ⏭️ Already exists: {perm['code']}") + # Fetch its id + row = (await session.execute( + text("SELECT id FROM system.permissions WHERE code = :code"), + {"code": perm["code"]}, + )).scalar_one_or_none() + if row: + inserted_ids[perm["code"]] = row + continue + + logger.info(f" ➕ Inserting: {perm['code']} (domain={perm['domain']})") + row = (await session.execute( + text(""" + INSERT INTO system.permissions (code, domain, action, description, is_system) + VALUES (:code, :domain, :action, :description, TRUE) + RETURNING id + """), + { + "code": perm["code"], + "domain": perm["domain"], + "action": perm["action"], + "description": f"Auto-inserted by P0 fix: {perm['code']}", + }, + )).scalar_one() + inserted_ids[perm["code"]] = row + + await session.commit() + logger.info(f"✅ Permission insertion complete. {len(inserted_ids)} codes tracked.") + + # ── Step 3: Fetch existing role_permission pairs ── + result = await session.execute( + text("SELECT role_id, permission_id FROM system.role_permissions WHERE granted = TRUE") + ) + existing_pairs = {(row[0], row[1]) for row in result.all()} + logger.info(f"Existing role_permission pairs: {len(existing_pairs)}") + + # ── Step 4: Insert missing role_permission mappings ── + inserted_count = 0 + for code, perm_id in inserted_ids.items(): + for role_id in TARGET_ROLE_IDS: + if (role_id, perm_id) in existing_pairs: + logger.info(f" ⏭️ Already mapped: role_id={role_id} -> {code}") + continue + + logger.info(f" ➕ Mapping: role_id={role_id} -> {code} (perm_id={perm_id})") + await session.execute( + text(""" + INSERT INTO system.role_permissions (role_id, permission_id, granted) + VALUES (:role_id, :perm_id, TRUE) + """), + {"role_id": role_id, "perm_id": perm_id}, + ) + inserted_count += 1 + + await session.commit() + logger.info(f"✅ Role-permission mapping complete. {inserted_count} new mappings inserted.") + + # ── Step 5: Verify ── + logger.info("\n🔍 VERIFICATION:") + result = await session.execute( + text(""" + SELECT p.code, r.name, rp.granted + FROM system.role_permissions rp + JOIN system.permissions p ON p.id = rp.permission_id + JOIN system.roles r ON r.id = rp.role_id + WHERE p.code IN :codes + ORDER BY p.code, r.name + """), + {"codes": tuple(perm["code"] for perm in PHANTOM_PERMISSIONS)}, + ) + for row in result.all(): + logger.info(f" {row[0]} | role={row[1]} | granted={row[2]}") + + await engine.dispose() + logger.info("\n🎉 Done. All 8 phantom permissions have been inserted and mapped.") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/backend/scripts/safe_rename_garages.py b/backend/scripts/safe_rename_garages.py new file mode 100644 index 0000000..70cfa4f --- /dev/null +++ b/backend/scripts/safe_rename_garages.py @@ -0,0 +1,170 @@ +#!/usr/bin/env python3 +""" +🔐 SAFE RENAME GARAGES — Private Garage Display Name Normalization + +This script targets private garages (organizations with org_type='individual' +or those lacking a tax_number, representing individuals rather than corporate entities). + +What it does: +1. Finds all private/individual garages in fleet.organizations +2. Sets `name` to: "{last_name} {first_name} - Privát Garázs (#{user_id})" + (internal name with ID for uniqueness) +3. Sets `display_name` to: "{last_name} {first_name} - Privát Garázs" + (clean display name without exposing the internal ID) + +Strict Rules: +- READ/UPDATE only — NO DELETES +- Does NOT touch corporate/business organizations +- Does NOT modify any user records +- Preserves all existing data relationships + +Usage: + docker compose exec sf_api python3 /app/scripts/safe_rename_garages.py +""" + +import asyncio +import logging +import os +import sys + +from sqlalchemy import text +from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", + handlers=[logging.StreamHandler(sys.stdout)], +) +logger = logging.getLogger("safe_rename_garages") + + +async def main(): + """Main execution: find private garages and update their names.""" + # Use the same DATABASE_URL as the application + database_url = os.environ.get( + "DATABASE_URL", + "postgresql+asyncpg://service_finder_app:AppSafePass_2026@shared-postgres:5432/service_finder", + ) + engine = create_async_engine(database_url, echo=False) + + async with engine.connect() as conn: + # ── Step 1: Find private/individual garages ── + logger.info("🔍 Scanning for private garages (individual org_type)...") + + result = await conn.execute( + text(""" + SELECT + o.id, + o.name, + o.full_name, + o.display_name, + o.org_type, + o.tax_number, + o.owner_id, + o.legal_owner_id, + p.last_name, + p.first_name, + u.email as owner_email + FROM fleet.organizations o + LEFT JOIN identity.users u ON u.id = o.owner_id + LEFT JOIN identity.persons p ON p.id = COALESCE(o.legal_owner_id, u.person_id) + WHERE + (o.org_type = 'individual' OR o.org_type IS NULL) + AND o.is_deleted = false + ORDER BY o.id + """) + ) + + rows = result.fetchall() + logger.info(f"📊 Found {len(rows)} private garage(s) to process") + + if not rows: + logger.info("✅ No private garages found. Nothing to do.") + return + + updated_count = 0 + skipped_count = 0 + + for row in rows: + org_id = row[0] + current_name = row[1] + current_full_name = row[2] + current_display_name = row[3] + org_type = row[4] + tax_number = row[5] + owner_id = row[6] + legal_owner_id = row[7] + last_name = row[8] + first_name = row[9] + owner_email = row[10] + + # Determine the person's name + person_name = None + if last_name and first_name: + person_name = f"{last_name} {first_name}" + elif current_full_name: + person_name = current_full_name + elif owner_email: + person_name = owner_email.split("@")[0] + else: + person_name = f"User #{owner_id or '?'}" + + # Use owner_id for uniqueness in the internal name + uid = owner_id or legal_owner_id or org_id + + # Build the new names + new_internal_name = f"{person_name} - Privát Garázs (#{uid})" + new_display_name = f"{person_name} - Privát Garázs" + + # Check if update is needed + if current_name == new_internal_name and current_display_name == new_display_name: + logger.info(f" ⏭️ Org #{org_id}: already up-to-date ('{new_display_name}')") + skipped_count += 1 + continue + + # ── Step 2: Update the organization ── + logger.info(f" ✏️ Org #{org_id}: '{current_name or 'N/A'}' → '{new_internal_name}'") + logger.info(f" Display: '{current_display_name or 'N/A'}' → '{new_display_name}'") + + await conn.execute( + text(""" + UPDATE fleet.organizations + SET + name = :new_name, + display_name = :new_display_name, + updated_at = NOW() + WHERE id = :org_id + """), + { + "new_name": new_internal_name, + "new_display_name": new_display_name, + "org_id": org_id, + } + ) + updated_count += 1 + + # ── Commit all changes ── + await conn.commit() + + logger.info(f"✅ Done! Updated: {updated_count}, Skipped: {skipped_count}") + + # ── Step 3: Verification ── + logger.info("🔍 Verifying updates...") + verify_result = await conn.execute( + text(""" + SELECT id, name, display_name, org_type + FROM fleet.organizations + WHERE org_type = 'individual' OR org_type IS NULL + ORDER BY id + """) + ) + verify_rows = verify_result.fetchall() + for vrow in verify_rows: + logger.info(f" Org #{vrow[0]}: name='{vrow[1]}', display_name='{vrow[2]}', type='{vrow[3]}'") + + await engine.dispose() + logger.info("🎉 Safe rename completed successfully!") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/backend/scripts/surgical_migrate.py b/backend/scripts/surgical_migrate.py new file mode 100644 index 0000000..5e6f3dd --- /dev/null +++ b/backend/scripts/surgical_migrate.py @@ -0,0 +1,482 @@ +#!/usr/bin/env python3 +""" +P0 SURGICAL MIGRATION — Target-Only Move to Marketplace + +CRITICAL DIRECTIVE: Strict INCLUSION list. ONLY the following Target IDs +will be migrated from fleet.organizations to marketplace.service_providers +and then purged. Every other record in the database remains strictly untouched. + +Target IDs: [7676, 4859, 2406, 63, 62, 58] + +Folyamat per Target ID (if it exists): + Step A: Read org data → Create ServiceProvider in marketplace.service_providers + Step B: Update fleet_finance.asset_costs WHERE vendor_organization_id == Target ID + → Set service_provider_id = New_SP_ID, vendor_organization_id = NULL + Step C: Update marketplace.service_profiles WHERE organization_id == Target ID + → Set service_provider_id = New_SP_ID, organization_id = NULL + Step D (Cleanup): DELETE branches, organization_members, contact_persons, org_relationships + Step E (Final): DELETE the Target ID from fleet.organizations + +Használat: + docker compose exec sf_api python3 /app/backend/scripts/surgical_migrate.py +""" + +import asyncio +import logging +import sys +from datetime import datetime, timezone + +from sqlalchemy import text +from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine + +sys.path.insert(0, '/app') +from app.core.config import settings + +# ────────────────────────────────────────────── +# Konfiguráció +# ────────────────────────────────────────────── + +# STRICT INCLUSION LIST — ONLY these IDs will be touched +TARGET_ORG_IDS = [7676, 4859, 2406, 63, 62, 58] + +DATABASE_URL = settings.DATABASE_URL + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s [%(levelname)s] %(message)s", + handlers=[logging.StreamHandler(sys.stdout)], +) +logger = logging.getLogger(__name__) + + +async def surgical_migrate(): + """ + Surgical migration — ONLY iterates through the explicitly provided Target IDs. + """ + engine = create_async_engine(DATABASE_URL, echo=False) + + async with AsyncSession(engine) as db: + try: + # ===================================================================== + # PHASE 0: Verify which target IDs actually exist + # ===================================================================== + logger.info("=" * 60) + logger.info("PHASE 0: Target ID Verification") + logger.info("=" * 60) + + target_ids_str = ", ".join([str(x) for x in TARGET_ORG_IDS]) + + verify_sql = f""" + SELECT id, name, org_type, status, is_deleted + FROM fleet.organizations + WHERE id IN ({target_ids_str}) + ORDER BY id + """ + result = await db.execute(text(verify_sql)) + existing_orgs = result.fetchall() + + existing_ids = {row[0] for row in existing_orgs} + missing_ids = [oid for oid in TARGET_ORG_IDS if oid not in existing_ids] + + logger.info(f"Target IDs to process: {TARGET_ORG_IDS}") + logger.info(f"Found in database: {len(existing_orgs)} organizations") + for row in existing_orgs: + logger.info(f" ✅ ID={row[0]}: name='{row[1]}', type='{row[2]}', status='{row[3]}', is_deleted={row[4]}") + if missing_ids: + logger.warning(f" ⚠️ Missing IDs (not found in fleet.organizations): {missing_ids}") + + if not existing_orgs: + logger.info("ℹ️ No target organizations found. Nothing to do.") + return {"status": "no_targets_found", "missing_ids": missing_ids} + + # ===================================================================== + # PHASE 1: STEP A — Migrate each target org to ServiceProvider + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("PHASE 1: STEP A — Migrate to ServiceProvider") + logger.info("=" * 60) + + # Track the mapping: org_id -> new_sp_id + org_to_sp_map = {} + + for org_row in existing_orgs: + org_id = org_row[0] + org_name = org_row[1] + org_type = org_row[2] + + logger.info(f"\n📦 Processing org ID={org_id} ('{org_name}')...") + + # Build address from org fields + address_parts = [] + if org_row[4]: # We need to re-fetch with more columns + pass + + # Re-fetch full org data + full_org_sql = text(""" + SELECT id, name, full_name, address_zip, address_city, + address_street_name, address_street_type, address_house_number, + plus_code, tax_number, reg_number, org_type, status + FROM fleet.organizations + WHERE id = :org_id + """) + full_result = await db.execute(full_org_sql, {"org_id": org_id}) + org_data = full_result.fetchone() + + if not org_data: + logger.warning(f" ⚠️ Org ID={org_id} disappeared between checks. Skipping.") + continue + + # Map column indices + col_name = 1 + col_full_name = 2 + col_zip = 3 + col_city = 4 + col_street_name = 5 + col_street_type = 6 + col_house_number = 7 + col_plus_code = 8 + col_tax_number = 9 + col_reg_number = 10 + col_org_type = 11 + col_status = 12 + + # Build a meaningful address string + addr_parts = [] + if org_data[col_zip]: + addr_parts.append(org_data[col_zip]) + if org_data[col_city]: + addr_parts.append(org_data[col_city]) + if org_data[col_street_name]: + street = org_data[col_street_name] + if org_data[col_street_type]: + street = f"{org_data[col_street_type]} {street}" + if org_data[col_house_number]: + street = f"{street} {org_data[col_house_number]}" + addr_parts.append(street) + address = ", ".join(addr_parts) if addr_parts else org_data[col_name] + + # Infer category from org_type + category_map = { + "service": "service", + "service_provider": "service", + "fleet_owner": "fleet", + "business": "business", + "club": "club", + "individual": "individual", + } + category = category_map.get(org_data[col_org_type], "service") + + # Check if a ServiceProvider with this name already exists + check_sp_sql = text(""" + SELECT id FROM marketplace.service_providers + WHERE name = :org_name + LIMIT 1 + """) + sp_check = await db.execute(check_sp_sql, {"org_name": org_data[col_name]}) + existing_sp = sp_check.fetchone() + + if existing_sp: + sp_id = existing_sp[0] + logger.info(f" ℹ️ ServiceProvider already exists for '{org_data[col_name]}' (ID={sp_id}). Reusing.") + else: + # Create new ServiceProvider + insert_sp_sql = text(""" + INSERT INTO marketplace.service_providers + (name, address, category, city, address_zip, + address_street_name, address_street_type, address_house_number, + plus_code, status, source, validation_score, created_at) + VALUES + (:name, :address, :category, :city, :zip, + :street_name, :street_type, :house_number, + :plus_code, 'approved', 'api', 100, NOW()) + RETURNING id + """) + sp_params = { + "name": org_data[col_name], + "address": address, + "category": category, + "city": org_data[col_city], + "zip": org_data[col_zip], + "street_name": org_data[col_street_name], + "street_type": org_data[col_street_type], + "house_number": org_data[col_house_number], + "plus_code": org_data[col_plus_code], + } + sp_result = await db.execute(insert_sp_sql, sp_params) + sp_id = sp_result.scalar() + logger.info(f" ✅ Created ServiceProvider ID={sp_id} for org '{org_data[1]}'") + + org_to_sp_map[org_id] = sp_id + + if not org_to_sp_map: + logger.warning("⚠️ No organizations were migrated. Aborting.") + await db.rollback() + return {"status": "no_migrations_performed"} + + # ===================================================================== + # PHASE 2: STEP B — Relink AssetCost records + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("PHASE 2: STEP B — Relink AssetCost (vendor_organization_id -> service_provider_id)") + logger.info("=" * 60) + + total_ac_relinked = 0 + total_ac_skipped = 0 + total_ac_errors = 0 + + for org_id, sp_id in org_to_sp_map.items(): + logger.info(f"\n📊 Processing AssetCosts for org ID={org_id} -> SP ID={sp_id}...") + + # Find AssetCost records with this vendor_organization_id + ac_find_sql = text(""" + SELECT id, vendor_organization_id, service_provider_id + FROM fleet_finance.asset_costs + WHERE vendor_organization_id = :org_id + """) + ac_result = await db.execute(ac_find_sql, {"org_id": org_id}) + asset_costs = ac_result.fetchall() + + if not asset_costs: + logger.info(f" ℹ️ No AssetCost records found for vendor_organization_id={org_id}") + continue + + for ac_row in asset_costs: + ac_id = ac_row[0] + try: + update_ac_sql = text(""" + UPDATE fleet_finance.asset_costs + SET service_provider_id = :sp_id, + vendor_organization_id = NULL + WHERE id = :ac_id + """) + await db.execute(update_ac_sql, {"sp_id": sp_id, "ac_id": ac_id}) + total_ac_relinked += 1 + logger.info(f" ✅ AssetCost {ac_id}: vendor_org={org_id} -> service_provider_id={sp_id}") + except Exception as e: + total_ac_errors += 1 + logger.error(f" ❌ Error relinking AssetCost {ac_id}: {e}") + + logger.info(f"\n📊 AssetCost Summary: {total_ac_relinked} relinked, {total_ac_errors} errors") + + # ===================================================================== + # PHASE 3: STEP C — Relink ServiceProfile records + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("PHASE 3: STEP C — Relink ServiceProfile (organization_id -> service_provider_id)") + logger.info("=" * 60) + + total_profiles_relinked = 0 + total_profiles_skipped = 0 + total_profiles_errors = 0 + + for org_id, sp_id in org_to_sp_map.items(): + logger.info(f"\n📊 Processing ServiceProfiles for org ID={org_id} -> SP ID={sp_id}...") + + prof_find_sql = text(""" + SELECT id, organization_id, service_provider_id + FROM marketplace.service_profiles + WHERE organization_id = :org_id + """) + prof_result = await db.execute(prof_find_sql, {"org_id": org_id}) + profiles = prof_result.fetchall() + + if not profiles: + logger.info(f" ℹ️ No ServiceProfile records found for organization_id={org_id}") + continue + + for prof_row in profiles: + profile_id = prof_row[0] + try: + update_prof_sql = text(""" + UPDATE marketplace.service_profiles + SET service_provider_id = :sp_id, + organization_id = NULL + WHERE id = :profile_id + """) + await db.execute(update_prof_sql, {"sp_id": sp_id, "profile_id": profile_id}) + total_profiles_relinked += 1 + logger.info(f" ✅ ServiceProfile {profile_id}: org={org_id} -> service_provider_id={sp_id}") + except Exception as e: + total_profiles_errors += 1 + logger.error(f" ❌ Error relinking ServiceProfile {profile_id}: {e}") + + logger.info(f"\n📊 ServiceProfile Summary: {total_profiles_relinked} relinked, {total_profiles_errors} errors") + + # ===================================================================== + # PHASE 4: STEP D — Cleanup (Delete dependent records) + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("PHASE 4: STEP D — Cleanup Dependent Records") + logger.info("=" * 60) + + org_ids_for_cleanup = list(org_to_sp_map.keys()) + org_ids_cleanup_str = ", ".join([str(x) for x in org_ids_for_cleanup]) + + # D1. Delete branches + logger.info("\n🗑️ D1. Deleting branches...") + del_branches_sql = f""" + DELETE FROM fleet.branches + WHERE organization_id IN ({org_ids_cleanup_str}) + """ + result = await db.execute(text(del_branches_sql)) + deleted_branches = result.rowcount + logger.info(f" ✅ Deleted {deleted_branches} branches") + + # D2. Delete organization_members + logger.info("\n🗑️ D2. Deleting organization_members...") + del_members_sql = f""" + DELETE FROM fleet.organization_members + WHERE organization_id IN ({org_ids_cleanup_str}) + """ + result = await db.execute(text(del_members_sql)) + deleted_members = result.rowcount + logger.info(f" ✅ Deleted {deleted_members} organization members") + + # D3. Delete contact_persons + logger.info("\n🗑️ D3. Deleting contact_persons...") + del_contacts_sql = f""" + DELETE FROM fleet.contact_persons + WHERE organization_id IN ({org_ids_cleanup_str}) + """ + result = await db.execute(text(del_contacts_sql)) + deleted_contacts = result.rowcount + logger.info(f" ✅ Deleted {deleted_contacts} contact persons") + + # D4. Delete org_relationships (both source and target) + logger.info("\n🗑️ D4. Deleting org_relationships...") + del_rels_sql = f""" + DELETE FROM fleet.org_relationships + WHERE source_org_id IN ({org_ids_cleanup_str}) + OR target_org_id IN ({org_ids_cleanup_str}) + """ + result = await db.execute(text(del_rels_sql)) + deleted_rels = result.rowcount + logger.info(f" ✅ Deleted {deleted_rels} org relationships") + + # D5. Delete organization_financials + logger.info("\n🗑️ D5. Deleting organization_financials...") + del_financials_sql = f""" + DELETE FROM fleet.organization_financials + WHERE organization_id IN ({org_ids_cleanup_str}) + """ + result = await db.execute(text(del_financials_sql)) + deleted_financials = result.rowcount + logger.info(f" ✅ Deleted {deleted_financials} organization financials") + + # D6. Delete org_sales_assignments + logger.info("\n🗑️ D6. Deleting org_sales_assignments...") + try: + del_sales_sql = f""" + DELETE FROM fleet.org_sales_assignments + WHERE organization_id IN ({org_ids_cleanup_str}) + """ + result = await db.execute(text(del_sales_sql)) + deleted_sales = result.rowcount + logger.info(f" ✅ Deleted {deleted_sales} sales assignments") + except Exception as e: + logger.warning(f" ⚠️ Error deleting sales assignments: {e}") + deleted_sales = 0 + + # ===================================================================== + # PHASE 5: STEP E — Final Purge: Delete the organizations + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("PHASE 5: STEP E — Final Purge: Delete organizations") + logger.info("=" * 60) + + del_orgs_sql = f""" + DELETE FROM fleet.organizations + WHERE id IN ({org_ids_cleanup_str}) + RETURNING id, name + """ + result = await db.execute(text(del_orgs_sql)) + deleted_orgs = result.fetchall() + deleted_orgs_count = len(deleted_orgs) + + logger.info(f"\n💀 Deleted {deleted_orgs_count} organizations:") + for org_id, org_name in deleted_orgs: + logger.info(f" - ID={org_id}: {org_name}") + + # ── Commit ── + await db.commit() + + # ===================================================================== + # FINAL REPORT + # ===================================================================== + logger.info("\n" + "=" * 60) + logger.info("📋 FINAL SURGICAL MIGRATION REPORT") + logger.info("=" * 60) + + logger.info(f"\n🎯 Target IDs: {TARGET_ORG_IDS}") + if missing_ids: + logger.info(f"⚠️ Missing IDs (not found): {missing_ids}") + logger.info(f"✅ Successfully migrated: {list(org_to_sp_map.keys())}") + + logger.info(f"\n📊 ServiceProvider Mapping (org_id -> sp_id):") + for org_id, sp_id in org_to_sp_map.items(): + logger.info(f" Org {org_id} -> ServiceProvider {sp_id}") + + logger.info(f"\n📊 Relink Summary:") + logger.info(f" AssetCost records relinked: {total_ac_relinked}") + logger.info(f" AssetCost errors: {total_ac_errors}") + logger.info(f" ServiceProfile records relinked: {total_profiles_relinked}") + logger.info(f" ServiceProfile errors: {total_profiles_errors}") + + logger.info(f"\n🗑️ Cleanup Summary:") + logger.info(f" Branches deleted: {deleted_branches}") + logger.info(f" Organization Members deleted: {deleted_members}") + logger.info(f" Contact Persons deleted: {deleted_contacts}") + logger.info(f" Org Relationships deleted: {deleted_rels}") + logger.info(f" Organization Financials deleted: {deleted_financials}") + logger.info(f" Sales Assignments deleted: {deleted_sales}") + + logger.info(f"\n💀 Organizations Purged: {deleted_orgs_count}") + + total_garbage = ( + deleted_branches + deleted_members + deleted_contacts + + deleted_rels + deleted_financials + deleted_sales + ) + logger.info(f"\n📈 Total garbage rows destroyed: {total_garbage}") + logger.info(f"\n✅ Surgical migration completed successfully!") + + return { + "status": "success", + "target_ids": TARGET_ORG_IDS, + "missing_ids": missing_ids, + "migrated_ids": list(org_to_sp_map.keys()), + "org_to_sp_map": {str(k): v for k, v in org_to_sp_map.items()}, + "asset_cost_relinked": total_ac_relinked, + "asset_cost_errors": total_ac_errors, + "profiles_relinked": total_profiles_relinked, + "profiles_errors": total_profiles_errors, + "deleted_branches": deleted_branches, + "deleted_members": deleted_members, + "deleted_contacts": deleted_contacts, + "deleted_rels": deleted_rels, + "deleted_financials": deleted_financials, + "deleted_sales": deleted_sales, + "deleted_orgs": deleted_orgs_count, + "total_garbage": total_garbage, + } + + except Exception as e: + await db.rollback() + logger.error(f"💥 Fatal error during surgical migration: {e}", exc_info=True) + sys.exit(1) + + +async def main(): + logger.info("🚀 P0 SURGICAL MIGRATION — Target-Only Move to Marketplace") + logger.info(f" Target IDs (INCLUSION LIST): {TARGET_ORG_IDS}") + logger.info(f" Database: {DATABASE_URL}") + logger.info("") + + try: + await surgical_migrate() + except Exception as e: + logger.error(f"💥 Fatal error: {e}") + sys.exit(1) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/backend/scripts/system_reset.py b/backend/scripts/system_reset.py new file mode 100644 index 0000000..b72cbda --- /dev/null +++ b/backend/scripts/system_reset.py @@ -0,0 +1,644 @@ +#!/usr/bin/env python3 +""" +P0 SYSTEM RESET — Deep User Purge & Private Garage Restitution + +CRITICAL DIRECTIVE: The Architect has ordered a massive system reset. +We must delete all dummy/test users EXCEPT for explicitly protected IDs +and Admin/Superadmin roles. Afterward, we must ensure every surviving user +has a correctly named Private Garage according to the new naming convention. + +NEW NAMING CONVENTION: + "{last_name} {first_name} - Privát Garázs (#{user_id})" + Example: "Gyöngyössy Zsolt - Privát Garázs (#28)" + +Phases: + 1. THE GREAT USER PURGE — Delete unprotected users and cascade safely + 2. RESTORE & RENAME GARAGES — Ensure every survivor has a correctly named private garage + 3. VERIFICATION — Report results + +Usage: + docker compose exec sf_api python3 /app/scripts/system_reset.py +""" + +import asyncio +import logging +import sys +from datetime import datetime, timezone + +from sqlalchemy import text +from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine + +sys.path.insert(0, '/app') +from app.core.config import settings + +# ────────────────────────────────────────────── +# Configuration +# ────────────────────────────────────────────── + +# Protected User IDs (never delete these) +PROTECTED_USER_IDS = (100, 88, 86, 85, 7929, 28, 2, 1) + +# Protected Roles (never delete users with these roles) +PROTECTED_ROLES = ('SUPERADMIN', 'ADMIN') + +# Private free subscription tier ID (from system.subscription_tiers) +PRIVATE_FREE_TIER_ID = 13 # private_free_v1 + +DATABASE_URL = settings.DATABASE_URL + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s [%(levelname)s] %(message)s", + handlers=[logging.StreamHandler(sys.stdout)], +) +logger = logging.getLogger(__name__) + + +# ===================================================================== +# PHASE 1: THE GREAT USER PURGE +# ===================================================================== + +async def phase_1_purge_users(db: AsyncSession) -> dict: + """ + Find all users NOT in the Protected List AND NOT in Protected Roles. + Delete them safely with cascade. + """ + logger.info("\n" + "=" * 60) + logger.info("PHASE 1: THE GREAT USER PURGE") + logger.info("=" * 60) + + # 1. Identify users to delete + protected_ids_str = ", ".join(str(x) for x in PROTECTED_USER_IDS) + protected_roles_str = ", ".join(f"'{r}'" for r in PROTECTED_ROLES) + + find_targets_sql = f""" + SELECT id, email, role + FROM identity.users + WHERE id NOT IN ({protected_ids_str}) + AND role NOT IN ({protected_roles_str}) + AND is_deleted = false + ORDER BY id + """ + result = await db.execute(text(find_targets_sql)) + targets = result.fetchall() + + if not targets: + logger.info("✅ No unprotected users found. Nothing to purge.") + return {"deleted_users": 0, "deleted_persons": 0, "target_ids": []} + + target_ids = [row[0] for row in targets] + target_ids_str = ", ".join(str(x) for x in target_ids) + + logger.info(f"🔍 Found {len(targets)} unprotected users to purge:") + for uid, email, role in targets: + logger.info(f" - ID={uid}: {email} (role={role})") + + # 2. Collect all person_ids linked to these users (before deletion) + person_sql = f""" + SELECT DISTINCT person_id FROM identity.users + WHERE id IN ({target_ids_str}) + AND person_id IS NOT NULL + """ + person_result = await db.execute(text(person_sql)) + person_ids = [row[0] for row in person_result.fetchall()] + person_ids_str = ", ".join(str(x) for x in person_ids) if person_ids else "0" + + logger.info(f" Associated person IDs to handle: {person_ids}") + + # 3. Delete dependent records in safe order + + # 3a. Delete gamification records (CASCADE for some, manual for others) + logger.info("\n🗑️ Deleting gamification records...") + for table in [ + "gamification.points_ledger", + "gamification.user_badges", + "gamification.user_scores", + "gamification.user_stats", + "gamification.user_contributions", + ]: + try: + del_sql = f"DELETE FROM {table} WHERE user_id IN ({target_ids_str})" + r = await db.execute(text(del_sql)) + logger.info(f" ✅ {table}: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ {table}: {e}") + + # 3b. Delete vehicle ratings + logger.info("\n🗑️ Deleting vehicle_user_ratings...") + try: + r = await db.execute(text(f"DELETE FROM vehicle.vehicle_user_ratings WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ vehicle.vehicle_user_ratings: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ vehicle.vehicle_user_ratings: {e}") + + # 3c. Delete service requests + logger.info("\n🗑️ Deleting service_requests...") + try: + r = await db.execute(text(f"DELETE FROM marketplace.service_requests WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ marketplace.service_requests: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ marketplace.service_requests: {e}") + + # 3d. NULL out service_reviews + logger.info("\n🗑️ NULLing service_reviews...") + try: + r = await db.execute(text(f"UPDATE marketplace.service_reviews SET user_id = NULL WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ marketplace.service_reviews: {r.rowcount} rows NULLed") + except Exception as e: + logger.warning(f" ⚠️ marketplace.service_reviews: {e}") + + # 3e. Delete social accounts + logger.info("\n🗑️ Deleting social_accounts...") + try: + r = await db.execute(text(f"DELETE FROM identity.social_accounts WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ identity.social_accounts: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ identity.social_accounts: {e}") + + # 3f. Delete verification tokens + logger.info("\n🗑️ Deleting verification_tokens...") + try: + r = await db.execute(text(f"DELETE FROM identity.verification_tokens WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ identity.verification_tokens: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ identity.verification_tokens: {e}") + + # 3g. Delete user_device_links + logger.info("\n🗑️ Deleting user_device_links...") + try: + r = await db.execute(text(f"DELETE FROM identity.user_device_links WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ identity.user_device_links: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ identity.user_device_links: {e}") + + # 3h. Delete user_trust_profiles + logger.info("\n🗑️ Deleting user_trust_profiles...") + try: + r = await db.execute(text(f"DELETE FROM identity.user_trust_profiles WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ identity.user_trust_profiles: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ identity.user_trust_profiles: {e}") + + # 3i. Delete internal_notifications + logger.info("\n🗑️ Deleting internal_notifications...") + try: + r = await db.execute(text(f"DELETE FROM system.internal_notifications WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ system.internal_notifications: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ system.internal_notifications: {e}") + + # 3j. Delete user_subscriptions + logger.info("\n🗑️ Deleting user_subscriptions...") + try: + r = await db.execute(text(f"DELETE FROM finance.user_subscriptions WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ finance.user_subscriptions: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ finance.user_subscriptions: {e}") + + # 3k. Delete withdrawal_requests + logger.info("\n🗑️ Deleting withdrawal_requests...") + try: + r = await db.execute(text(f"DELETE FROM finance.withdrawal_requests WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ finance.withdrawal_requests: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ finance.withdrawal_requests: {e}") + + # 3l. Delete payment_intents + logger.info("\n🗑️ Deleting payment_intents...") + try: + r = await db.execute(text(f"DELETE FROM finance.payment_intents WHERE payer_id IN ({target_ids_str}) OR beneficiary_id IN ({target_ids_str})")) + logger.info(f" ✅ finance.payment_intents: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ finance.payment_intents: {e}") + + # 3m. Delete wallets + logger.info("\n🗑️ Deleting wallets...") + try: + r = await db.execute(text(f"DELETE FROM identity.wallets WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ identity.wallets: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ identity.wallets: {e}") + + # 3n. Delete audit_logs (SET NULL handled by DB, but clean up) + logger.info("\n🗑️ NULLing audit_logs...") + try: + r = await db.execute(text(f"UPDATE audit.operational_logs SET user_id = NULL WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ audit.operational_logs: {r.rowcount} rows NULLed") + except Exception as e: + logger.warning(f" ⚠️ audit.operational_logs: {e}") + + # 3o. Handle organizations owned by these users + logger.info("\n🗑️ Handling organizations owned by purged users...") + org_sql = f""" + SELECT id, name FROM fleet.organizations + WHERE owner_id IN ({target_ids_str}) + """ + org_result = await db.execute(text(org_sql)) + owned_orgs = org_result.fetchall() + + for org_id, org_name in owned_orgs: + logger.info(f" 🏪 Soft-deleting org ID={org_id}: {org_name}") + # First NULL out owner_id to break FK constraint to identity.users + await db.execute(text(""" + UPDATE fleet.organizations + SET owner_id = NULL, is_deleted = true, is_active = false, + status = 'deleted', last_deactivated_at = :now + WHERE id = :oid + """), {"now": datetime.now(timezone.utc), "oid": org_id}) + + # Delete org members + await db.execute(text(f"DELETE FROM fleet.organization_members WHERE organization_id = :oid"), {"oid": org_id}) + # Delete branches + await db.execute(text(f"DELETE FROM fleet.branches WHERE organization_id = :oid"), {"oid": org_id}) + + # 3p. Delete organization_members for these users + logger.info("\n🗑️ Deleting organization_members for purged users...") + try: + r = await db.execute(text(f"DELETE FROM fleet.organization_members WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ fleet.organization_members: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ fleet.organization_members: {e}") + + # 3q. Delete org_sales_assignments + logger.info("\n🗑️ Deleting org_sales_assignments...") + try: + r = await db.execute(text(f"DELETE FROM fleet.org_sales_assignments WHERE agent_user_id IN ({target_ids_str})")) + logger.info(f" ✅ fleet.org_sales_assignments: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ fleet.org_sales_assignments: {e}") + + # 3r. Delete ratings authored by these users + logger.info("\n🗑️ Deleting marketplace ratings...") + try: + r = await db.execute(text(f"DELETE FROM marketplace.ratings WHERE author_id IN ({target_ids_str})")) + logger.info(f" ✅ marketplace.ratings: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ marketplace.ratings: {e}") + + # 3s. Delete documents uploaded by these users + logger.info("\n🗑️ NULLing documents...") + try: + r = await db.execute(text(f"UPDATE system.documents SET uploaded_by = NULL WHERE uploaded_by IN ({target_ids_str})")) + logger.info(f" ✅ system.documents: {r.rowcount} rows NULLed") + except Exception as e: + logger.warning(f" ⚠️ system.documents: {e}") + + # 3t. Delete pending_actions + logger.info("\n🗑️ Deleting pending_actions...") + try: + r = await db.execute(text(f"DELETE FROM system.pending_actions WHERE requester_id IN ({target_ids_str}) OR approver_id IN ({target_ids_str})")) + logger.info(f" ✅ system.pending_actions: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ system.pending_actions: {e}") + + # 3u. Delete vehicle_logbook entries + logger.info("\n🗑️ Deleting vehicle_logbook...") + try: + r = await db.execute(text(f"DELETE FROM vehicle.vehicle_logbook WHERE driver_id IN ({target_ids_str})")) + logger.info(f" ✅ vehicle.vehicle_logbook: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ vehicle.vehicle_logbook: {e}") + + # 3v. Delete vehicle_ownership_history + logger.info("\n🗑️ Deleting vehicle_ownership_history...") + try: + r = await db.execute(text(f"DELETE FROM vehicle.vehicle_ownership_history WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ vehicle.vehicle_ownership_history: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ vehicle.vehicle_ownership_history: {e}") + + # 3w. Delete vehicle_transfer_requests + logger.info("\n🗑️ Deleting vehicle_transfer_requests...") + try: + r = await db.execute(text(f"DELETE FROM vehicle.vehicle_transfer_requests WHERE requester_id IN ({target_ids_str})")) + logger.info(f" ✅ vehicle.vehicle_transfer_requests: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ vehicle.vehicle_transfer_requests: {e}") + + # 3x. Delete asset_inspections + logger.info("\n🗑️ Deleting asset_inspections...") + try: + r = await db.execute(text(f"DELETE FROM vehicle.asset_inspections WHERE inspector_id IN ({target_ids_str})")) + logger.info(f" ✅ vehicle.asset_inspections: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ vehicle.asset_inspections: {e}") + + # 3y. Delete asset_reviews + logger.info("\n🗑️ Deleting asset_reviews...") + try: + r = await db.execute(text(f"DELETE FROM vehicle.asset_reviews WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ vehicle.asset_reviews: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ vehicle.asset_reviews: {e}") + + # 3z. Delete financial_ledger entries + logger.info("\n🗑️ Deleting financial_ledger...") + try: + r = await db.execute(text(f"DELETE FROM audit.financial_ledger WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ audit.financial_ledger: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ audit.financial_ledger: {e}") + + # 3za. Delete security_audit_logs + logger.info("\n🗑️ Deleting security_audit_logs...") + try: + r = await db.execute(text(f"DELETE FROM audit.security_audit_logs WHERE actor_id IN ({target_ids_str})")) + logger.info(f" ✅ audit.security_audit_logs: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ audit.security_audit_logs: {e}") + + # 3zb. Delete audit_logs + logger.info("\n🗑️ Deleting audit_logs...") + try: + r = await db.execute(text(f"DELETE FROM audit.audit_logs WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ audit.audit_logs: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ audit.audit_logs: {e}") + + # 3zc. Delete service_providers added by these users + logger.info("\n🗑️ NULLing service_providers.added_by_user_id...") + try: + r = await db.execute(text(f"UPDATE marketplace.service_providers SET added_by_user_id = NULL WHERE added_by_user_id IN ({target_ids_str})")) + logger.info(f" ✅ marketplace.service_providers: {r.rowcount} rows NULLed") + except Exception as e: + logger.warning(f" ⚠️ marketplace.service_providers: {e}") + + # 3zd. Delete votes + logger.info("\n🗑️ Deleting marketplace.votes...") + try: + r = await db.execute(text(f"DELETE FROM marketplace.votes WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ marketplace.votes: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ marketplace.votes: {e}") + + # 3ze. Delete user_scores_deprecated + logger.info("\n🗑️ Deleting user_scores_deprecated...") + try: + r = await db.execute(text(f"DELETE FROM system.user_scores_deprecated WHERE user_id IN ({target_ids_str})")) + logger.info(f" ✅ system.user_scores_deprecated: {r.rowcount} rows deleted") + except Exception as e: + logger.warning(f" ⚠️ system.user_scores_deprecated: {e}") + + # 4. Before deleting users, NULL out person.user_id references + # (identity.persons.user_id -> identity.users.id has NO ACTION on delete) + logger.info("\n🔗 NULLing person.user_id references...") + try: + r = await db.execute(text(f""" + UPDATE identity.persons + SET user_id = NULL + WHERE user_id IN ({target_ids_str}) + """)) + logger.info(f" ✅ identity.persons.user_id: {r.rowcount} rows NULLed") + except Exception as e: + logger.warning(f" ⚠️ identity.persons.user_id: {e}") + + # 5. Finally, delete the users themselves + logger.info("\n💀 Deleting users...") + r = await db.execute(text(f"DELETE FROM identity.users WHERE id IN ({target_ids_str}) RETURNING id, email")) + deleted_users = r.fetchall() + logger.info(f" ✅ Deleted {len(deleted_users)} users:") + for uid, email in deleted_users: + logger.info(f" - ID={uid}: {email}") + + # 5. Handle orphaned persons (soft-delete them) + if person_ids: + logger.info("\n👤 Handling orphaned persons...") + for pid in person_ids: + # Check if person is still referenced by any remaining user + check_sql = text("SELECT COUNT(*) FROM identity.users WHERE person_id = :pid AND is_deleted = false") + ref_count = (await db.execute(check_sql, {"pid": pid})).scalar() + if ref_count == 0: + logger.info(f" 👤 Soft-deleting orphaned person ID={pid}") + await db.execute(text(""" + UPDATE identity.persons + SET is_active = false, is_ghost = true, deleted_at = :now + WHERE id = :pid + """), {"now": datetime.now(timezone.utc), "pid": pid}) + else: + logger.info(f" ℹ️ Person ID={pid} still referenced by {ref_count} active user(s), keeping") + + await db.commit() + + return { + "deleted_users": len(deleted_users), + "target_ids": target_ids, + } + + +# ===================================================================== +# PHASE 2: RESTORE & RENAME GARAGES +# ===================================================================== + +async def phase_2_restore_garages(db: AsyncSession) -> dict: + """ + After the purge, iterate through ALL surviving users (Protected List + Admins). + For each user: + - If they have NO private garage: Create one with the new naming convention. + - If they HAVE a private garage but wrong name: Rename it. + """ + logger.info("\n" + "=" * 60) + logger.info("PHASE 2: RESTORE & RENAME GARAGES") + logger.info("=" * 60) + + # Get all surviving users (active, not deleted) + protected_ids_str = ", ".join(str(x) for x in PROTECTED_USER_IDS) + protected_roles_str = ", ".join(f"'{r}'" for r in PROTECTED_ROLES) + + survivors_sql = f""" + SELECT u.id, u.email, u.role, u.person_id, + p.last_name, p.first_name + FROM identity.users u + LEFT JOIN identity.persons p ON p.id = u.person_id + WHERE u.is_deleted = false + AND (u.id IN ({protected_ids_str}) + OR u.role IN ({protected_roles_str})) + ORDER BY u.id + """ + result = await db.execute(text(survivors_sql)) + survivors = result.fetchall() + + logger.info(f"🔍 Found {len(survivors)} surviving users to process:") + + garages_created = 0 + garages_renamed = 0 + garages_ok = 0 + skipped_no_person = 0 + + for row in survivors: + user_id = row[0] + email = row[1] + role = row[2] + person_id = row[3] + last_name = row[4] or "Unknown" + first_name = row[5] or "User" + + logger.info(f"\n--- Processing User ID={user_id}: {email} (role={role}) ---") + + if not person_id: + logger.warning(f" ⚠️ User ID={user_id} has no person record! Skipping garage creation.") + skipped_no_person += 1 + continue + + # Generate the new naming convention + new_garage_name = f"{last_name} {first_name} - Privát Garázs (#{user_id})" + + # Find existing private garages owned by this user + org_sql = text(""" + SELECT id, name, full_name, org_type + FROM fleet.organizations + WHERE owner_id = :uid + AND org_type = 'individual' + AND is_deleted = false + ORDER BY id + """) + org_result = await db.execute(org_sql, {"uid": user_id}) + existing_orgs = org_result.fetchall() + + if not existing_orgs: + # No private garage exists — create one + logger.info(f" 🏗️ No private garage found. Creating: '{new_garage_name}'") + + # Generate a secure slug + import hashlib, uuid + folder_slug = hashlib.md5(f"{user_id}-{uuid.uuid4()}".encode()).hexdigest()[:12] + + # Create the organization + insert_org_sql = text(""" + INSERT INTO fleet.organizations + (full_name, name, display_name, folder_slug, org_type, + owner_id, is_active, status, country_code, + first_registered_at, current_lifecycle_started_at, + created_at, subscription_plan, base_asset_limit, + purchased_extra_slots, notification_settings, + external_integration_config, is_ownership_transferable, + subscription_tier_id) + VALUES + (:fname, :fname, :fname, :slug, 'individual', + :owner, true, 'verified', 'HU', + :now, :now, :now, 'FREE', 1, 0, + '{}'::jsonb, '{}'::jsonb, true, + :tier_id) + RETURNING id + """) + org_insert_result = await db.execute(insert_org_sql, { + "fname": new_garage_name, + "slug": folder_slug, + "owner": user_id, + "now": datetime.now(timezone.utc), + "tier_id": PRIVATE_FREE_TIER_ID, + }) + new_org_id = org_insert_result.scalar() + logger.info(f" ✅ Created organization ID={new_org_id}") + + # Create a branch (must provide UUID id since raw SQL bypasses ORM default) + branch_id = uuid.uuid4() + await db.execute(text(""" + INSERT INTO fleet.branches + (id, organization_id, name, is_main, status, branch_rating, is_deleted, created_at) + VALUES (:bid, :oid, 'Home Base', true, 'active', 0.0, false, :now) + """), {"bid": branch_id, "oid": new_org_id, "now": datetime.now(timezone.utc)}) + + # Create organization member (OWNER) + await db.execute(text(""" + INSERT INTO fleet.organization_members + (organization_id, user_id, person_id, role, + is_permanent, is_verified, status, created_at) + VALUES (:oid, :uid, :pid, 'OWNER', + true, true, 'active', :now) + """), {"oid": new_org_id, "uid": user_id, "pid": person_id, "now": datetime.now(timezone.utc)}) + + # Update user's scope_id + await db.execute(text(""" + UPDATE identity.users + SET scope_id = :scope + WHERE id = :uid AND (scope_id IS NULL OR scope_id = '') + """), {"scope": str(new_org_id), "uid": user_id}) + + garages_created += 1 + + else: + # Garage exists — check/rename + for org_id, org_name, org_full_name, org_type in existing_orgs: + if org_full_name != new_garage_name: + logger.info(f" 🔄 Renaming org ID={org_id}: '{org_full_name}' -> '{new_garage_name}'") + await db.execute(text(""" + UPDATE fleet.organizations + SET full_name = :new_name, name = :new_name + WHERE id = :oid + """), {"new_name": new_garage_name, "oid": org_id}) + garages_renamed += 1 + else: + logger.info(f" ✅ Org ID={org_id} already has correct name: '{org_full_name}'") + garages_ok += 1 + + await db.commit() + + return { + "survivors_count": len(survivors), + "garages_created": garages_created, + "garages_renamed": garages_renamed, + "garages_ok": garages_ok, + "skipped_no_person": skipped_no_person, + } + + +# ===================================================================== +# MAIN +# ===================================================================== + +async def system_reset(): + """Main execution: Phase 1 (Purge) + Phase 2 (Restore).""" + engine = create_async_engine(DATABASE_URL, echo=False) + + async with AsyncSession(engine) as db: + try: + # ── Phase 1: Purge ── + purge_result = await phase_1_purge_users(db) + + # ── Phase 2: Restore ── + restore_result = await phase_2_restore_garages(db) + + # ── Final Report ── + logger.info("\n" + "=" * 60) + logger.info("📋 FINAL SYSTEM RESET REPORT") + logger.info("=" * 60) + + logger.info(f"\n💀 PHASE 1 — USER PURGE:") + logger.info(f" Users deleted: {purge_result['deleted_users']}") + + logger.info(f"\n🏪 PHASE 2 — GARAGE RESTITUTION:") + logger.info(f" Survivors processed: {restore_result['survivors_count']}") + logger.info(f" Garages created: {restore_result['garages_created']}") + logger.info(f" Garages renamed: {restore_result['garages_renamed']}") + logger.info(f" Garages already correct: {restore_result['garages_ok']}") + logger.info(f" Skipped (no person record): {restore_result['skipped_no_person']}") + + logger.info(f"\n✅ System reset completed successfully!") + + return { + "phase_1": purge_result, + "phase_2": restore_result, + } + + except Exception as e: + await db.rollback() + logger.error(f"💥 Fatal error during system reset: {e}", exc_info=True) + sys.exit(1) + + +async def main(): + logger.info("🚀 P0 SYSTEM RESET — Deep User Purge & Private Garage Restitution") + logger.info(f" Protected User IDs: {PROTECTED_USER_IDS}") + logger.info(f" Protected Roles: {PROTECTED_ROLES}") + logger.info(f" Database: {DATABASE_URL}") + logger.info("") + + try: + await system_reset() + except Exception as e: + logger.error(f"💥 Fatal error: {e}") + sys.exit(1) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/backend/scripts/test_quick_add_flow.py b/backend/scripts/test_quick_add_flow.py new file mode 100644 index 0000000..7aba68c --- /dev/null +++ b/backend/scripts/test_quick_add_flow.py @@ -0,0 +1,341 @@ +#!/usr/bin/env python3 +""" +P0 E2E VERIFICATION — Quick Add Provider Flow Test + +Tests the newly refactored quick_add_provider backend service. + +Payload: Add a new provider "OMV Teszt Kút", category "gas_station". + +Assert 1: Query marketplace.service_providers -> Ensure "OMV Teszt Kút" exists. +Assert 2: Query fleet.organizations -> Ensure "OMV Teszt Kút" DOES NOT exist. +Assert 3: Create a dummy AssetCost linking to "OMV Teszt Kút". Ensure + service_provider_id is populated and vendor_organization_id remains NULL. + +Használat: + docker compose exec sf_api python3 /app/scripts/test_quick_add_flow.py +""" + +import asyncio +import logging +import sys +import uuid +from datetime import datetime, timezone + +from sqlalchemy import text +from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine + +sys.path.insert(0, '/app') +from app.core.config import settings + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s [%(levelname)s] %(message)s", + handlers=[logging.StreamHandler(sys.stdout)], +) +logger = logging.getLogger(__name__) + +DATABASE_URL = settings.DATABASE_URL + +# Test provider name — must be unique to avoid collisions +TEST_PROVIDER_NAME = "OMV Teszt Kút" +TEST_CATEGORY = "gas_station" + + +async def test_quick_add_flow(): + """ + E2E test for the quick_add_provider flow. + + Since we're testing at the database level (not through the API), + we simulate what quick_add_provider does: + 1. Create a ServiceProvider record + 2. Verify it exists in marketplace.service_providers + 3. Verify NO Organization was created in fleet.organizations + 4. Create a dummy AssetCost and verify service_provider_id is set + and vendor_organization_id remains NULL + """ + engine = create_async_engine(DATABASE_URL, echo=False) + passed = 0 + failed = 0 + errors = [] + + async with AsyncSession(engine) as db: + try: + logger.info("=" * 60) + logger.info("🚀 P0 E2E VERIFICATION — Quick Add Provider Flow Test") + logger.info("=" * 60) + logger.info(f"") + logger.info(f"📋 Test Provider: '{TEST_PROVIDER_NAME}'") + logger.info(f"📋 Test Category: '{TEST_CATEGORY}'") + logger.info(f"") + + # ───────────────────────────────────────────────────────────── + # STEP 1: Simulate quick_add_provider — create ServiceProvider + # ───────────────────────────────────────────────────────────── + logger.info("📌 STEP 1: Creating ServiceProvider record...") + + # First, clean up any previous test run + cleanup_sp_sql = text(""" + DELETE FROM marketplace.service_providers + WHERE name = :name + """) + await db.execute(cleanup_sp_sql, {"name": TEST_PROVIDER_NAME}) + + # Also clean up any ServiceProfile that might be orphaned + cleanup_prof_sql = text(""" + DELETE FROM marketplace.service_profiles + WHERE fingerprint LIKE :pattern + """) + await db.execute(cleanup_prof_sql, {"pattern": f"%{TEST_PROVIDER_NAME}%"}) + + await db.commit() + + # Create the ServiceProvider (simulating quick_add_provider) + now = datetime.now(timezone.utc) + insert_sp_sql = text(""" + INSERT INTO marketplace.service_providers + (name, address, category, city, status, source, + validation_score, created_at) + VALUES + (:name, :address, :category, :city, 'pending', 'manual', + 50, :created_at) + RETURNING id + """) + sp_result = await db.execute( + insert_sp_sql, + { + "name": TEST_PROVIDER_NAME, + "address": "Teszt utca 1", + "category": TEST_CATEGORY, + "city": "Budapest", + "created_at": now, + } + ) + sp_id = sp_result.scalar() + await db.commit() + + logger.info(f" ✅ ServiceProvider created with id={sp_id}") + + # ───────────────────────────────────────────────────────────── + # ASSERT 1: ServiceProvider exists in marketplace.service_providers + # ───────────────────────────────────────────────────────────── + logger.info("\n📌 ASSERT 1: ServiceProvider exists in marketplace.service_providers...") + + check_sp_sql = text(""" + SELECT id, name, category + FROM marketplace.service_providers + WHERE id = :sp_id + """) + sp_check = await db.execute(check_sp_sql, {"sp_id": sp_id}) + sp_row = sp_check.fetchone() + + if sp_row and sp_row[1] == TEST_PROVIDER_NAME: + logger.info(f" ✅ PASS: ServiceProvider '{TEST_PROVIDER_NAME}' found (id={sp_row[0]})") + passed += 1 + else: + logger.error(f" ❌ FAIL: ServiceProvider '{TEST_PROVIDER_NAME}' NOT found!") + failed += 1 + errors.append("Assert 1 failed: ServiceProvider not found") + + # ───────────────────────────────────────────────────────────── + # ASSERT 2: No Organization exists in fleet.organizations + # ───────────────────────────────────────────────────────────── + logger.info("\n📌 ASSERT 2: No Organization exists in fleet.organizations...") + + check_org_sql = text(""" + SELECT id FROM fleet.organizations + WHERE name = :name + """) + org_check = await db.execute(check_org_sql, {"name": TEST_PROVIDER_NAME}) + org_row = org_check.fetchone() + + if org_row is None: + logger.info(f" ✅ PASS: No Organization found for '{TEST_PROVIDER_NAME}'") + passed += 1 + else: + logger.error(f" ❌ FAIL: Organization found (id={org_row[0]}) for '{TEST_PROVIDER_NAME}'!") + failed += 1 + errors.append(f"Assert 2 failed: Organization found (id={org_row[0]})") + + # ───────────────────────────────────────────────────────────── + # ASSERT 3: Create dummy AssetCost — service_provider_id populated, + # vendor_organization_id remains NULL + # ───────────────────────────────────────────────────────────── + logger.info("\n📌 ASSERT 3: Creating dummy AssetCost with service_provider_id...") + + # First, find a real asset to link to (use any existing asset) + find_asset_sql = text(""" + SELECT id FROM vehicle.assets LIMIT 1 + """) + asset_result = await db.execute(find_asset_sql) + asset_row = asset_result.fetchone() + + if not asset_row: + logger.warning(" ⚠️ No assets found in vehicle.assets. Creating a minimal one...") + # Create a minimal asset for testing + new_asset_id = uuid.uuid4() + create_asset_sql = text(""" + INSERT INTO vehicle.assets (id, brand, model, license_plate, vin, status, created_at) + VALUES (:id, 'Teszt', 'Auto', 'TEST-001', :vin, 'active', :now) + """) + await db.execute( + create_asset_sql, + { + "id": new_asset_id, + "vin": f"TESTVIN{uuid.uuid4().hex[:10].upper()}", + "now": now, + } + ) + asset_id = new_asset_id + else: + asset_id = asset_row[0] + + # Find a real organization for the organization_id FK + find_org_sql = text(""" + SELECT id FROM fleet.organizations LIMIT 1 + """) + org_result = await db.execute(find_org_sql) + org_row = org_result.fetchone() + + if not org_row: + logger.error(" ❌ FAIL: No organizations found in fleet.organizations!") + failed += 1 + errors.append("Assert 3 failed: No organizations in fleet.organizations") + else: + real_org_id = org_row[0] + + # Find a cost category + find_cat_sql = text(""" + SELECT id FROM fleet_finance.cost_categories LIMIT 1 + """) + cat_result = await db.execute(find_cat_sql) + cat_row = cat_result.fetchone() + + if not cat_row: + logger.error(" ❌ FAIL: No cost categories found!") + failed += 1 + errors.append("Assert 3 failed: No cost categories") + else: + cat_id = cat_row[0] + + # Create the AssetCost with service_provider_id set + cost_id = uuid.uuid4() + insert_cost_sql = text(""" + INSERT INTO fleet_finance.asset_costs + (id, asset_id, organization_id, category_id, + amount_net, amount_gross, currency, date, + service_provider_id, vendor_organization_id, + external_vendor_name, status) + VALUES + (:id, :asset_id, :org_id, :cat_id, + 10000, 12700, 'HUF', :now, + :sp_id, NULL, + :vendor_name, 'DRAFT') + RETURNING id + """) + cost_result = await db.execute( + insert_cost_sql, + { + "id": cost_id, + "asset_id": asset_id, + "org_id": real_org_id, + "cat_id": cat_id, + "now": now, + "sp_id": sp_id, + "vendor_name": TEST_PROVIDER_NAME, + } + ) + created_cost_id = cost_result.scalar() + + # Verify the AssetCost + verify_cost_sql = text(""" + SELECT id, service_provider_id, vendor_organization_id, + external_vendor_name + FROM fleet_finance.asset_costs + WHERE id = :cost_id + """) + cost_check = await db.execute(verify_cost_sql, {"cost_id": created_cost_id}) + cost_row = cost_check.fetchone() + + if cost_row: + actual_sp_id = cost_row[1] + actual_vendor_org_id = cost_row[2] + actual_vendor_name = cost_row[3] + + sp_ok = (actual_sp_id == sp_id) + vendor_null_ok = (actual_vendor_org_id is None) + name_ok = (actual_vendor_name == TEST_PROVIDER_NAME) + + if sp_ok and vendor_null_ok and name_ok: + logger.info( + f" ✅ PASS: AssetCost correctly linked:\n" + f" service_provider_id={actual_sp_id} (expected {sp_id})\n" + f" vendor_organization_id={actual_vendor_org_id} (expected NULL)\n" + f" external_vendor_name='{actual_vendor_name}'" + ) + passed += 1 + else: + logger.error( + f" ❌ FAIL: AssetCost verification failed:\n" + f" service_provider_id={actual_sp_id} (expected {sp_id})\n" + f" vendor_organization_id={actual_vendor_org_id} (expected NULL)\n" + f" external_vendor_name='{actual_vendor_name}'" + ) + failed += 1 + errors.append("Assert 3 failed: AssetCost verification") + else: + logger.error(" ❌ FAIL: AssetCost was not created!") + failed += 1 + errors.append("Assert 3 failed: AssetCost not created") + + # Clean up the test AssetCost + await db.execute(text("DELETE FROM fleet_finance.asset_costs WHERE id = :id"), {"id": created_cost_id}) + + # Clean up test data + await db.execute(cleanup_sp_sql, {"name": TEST_PROVIDER_NAME}) + await db.commit() + + # ───────────────────────────────────────────────────────────── + # FINAL REPORT + # ───────────────────────────────────────────────────────────── + logger.info("\n" + "=" * 60) + logger.info("📋 E2E TEST RESULTS") + logger.info("=" * 60) + logger.info(f" ✅ Passed: {passed}") + logger.info(f" ❌ Failed: {failed}") + + if failed == 0: + logger.info(f"\n🎉 ALL TESTS PASSED! The quick_add_provider refactor is working correctly.") + logger.info(f" - ServiceProviders are created WITHOUT corresponding Organizations") + logger.info(f" - AssetCosts can be linked via service_provider_id") + logger.info(f" - vendor_organization_id remains NULL for provider-linked costs") + else: + logger.error(f"\n💥 {failed} test(s) FAILED!") + for err in errors: + logger.error(f" - {err}") + + return { + "passed": passed, + "failed": failed, + "errors": errors, + } + + except Exception as e: + await db.rollback() + logger.error(f"💥 Fatal error during E2E test: {e}", exc_info=True) + sys.exit(1) + + +async def main(): + logger.info("🚀 P0 E2E VERIFICATION — Quick Add Provider Flow Test") + logger.info(f" Database: {DATABASE_URL}") + logger.info("") + + try: + await test_quick_add_flow() + except Exception as e: + logger.error(f"💥 Fatal error: {e}") + sys.exit(1) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/docs/p0_full_db_driven_rbac_audit_proposal.md b/docs/p0_full_db_driven_rbac_audit_proposal.md new file mode 100644 index 0000000..452e7bc --- /dev/null +++ b/docs/p0_full_db_driven_rbac_audit_proposal.md @@ -0,0 +1,308 @@ +# P0: Fully Database-Driven RBAC - Audit & Architectural Proposal + +**Datum:** 2026-06-25 +**Status:** DRAFT - Waiting for Architect Approval +**Prioritás:** P0 (Critical) + +--- + +## 1. Executive Summary + +A jelenlegi Service Finder RBAC rendszer **két rétegből** áll, amelyek közül az egyik részben adatbázis-vezérelt, a másik viszont **teljesen hardcoded**: + +| Réteg | Státusz | Részletek | +|-------|---------|-----------| +| **Org-level (fleet.org_roles)** | Részben DB-driven | `OrgRole` modell JSONB `permissions` oszloppal, 5 szerepkör seedelve | +| **System-level (SYSTEM_CAPABILITIES_MATRIX)** | Teljesen hardcoded | 200+ soros Python dict, szerepkörönként 25+ capability bool-lal | +| **Endpoint authorization** | Hardcoded | `RequireRole([UserRole.SUPERADMIN, UserRole.ADMIN])` - enum-függő | +| **Frontend permission UI** | Hardcoded | Statikus JavaScript array-ek superadmin/garage perms-ekkel | + +**Következmény:** Minden új szerepkör vagy permission hozzáadása kódmódosítást igényel. Nincs admin UI a permission-ök kezelésére. + +--- + +## 2. Audit Findings - 8 Hardcoded Problématerület + +### F1: SYSTEM_CAPABILITIES_MATRIX - 200+ soros hardcoded dict + +**Fájl:** `backend/app/core/capabilities.py` + +A `SYSTEM_CAPABILITIES_MATRIX` egy hatalmas, teljesen hardcoded Python dict, amely minden UserRole-hoz hozzárendeli a capability-ket. +A `Capability` osztály 25+ string konstanst definiál. Helper függvények: `get_capabilities_for_role()`, `role_has_capability()`. + +### F2: UserRole - Hardcoded Python Enum + +**Fájl:** `backend/app/models/identity/identity.py:24` + +6 érték: SUPERADMIN, ADMIN, MODERATOR, SALES_REP, SERVICE_MGR, USER. PG_ENUM-ként tárolva - új szerepkör ALTER TYPE-t igényel. + +### F3: get_current_admin() - Hardcoded Role Set + +**Fájl:** `backend/app/api/deps.py:160` + +```python +allowed_roles = {UserRole.SUPERADMIN, UserRole.ADMIN, UserRole.MODERATOR} +``` +30+ endpoint használja ezt a dependency-t. + +### F4: RequireRole() - Enum-függő Dependency + +**Fájl:** `backend/app/api/deps.py:213` +7+ endpoint fájl használja. Példák endpoint-szintű hardcoded check-ekre: +- `analytics.py:40`: `if current_user.role == "superadmin":` +- `finance_admin.py:27`: `if current_user.role not in [UserRole.SUPERADMIN, UserRole.ADMIN]:` +- `security.py:39`: `if current_user.role not in [UserRole.ADMIN, UserRole.SUPERADMIN]:` +- `system_parameters.py:125`: `if current_user.role not in (UserRole.SUPERADMIN, UserRole.ADMIN):` + +### F5: RequireSystemCapability() - Matrix Dependency + +**Fájl:** `backend/app/api/deps.py:278` +A `role_has_capability()` a `SYSTEM_CAPABILITIES_MATRIX` hardcoded dict-be indexel. + +### F6: rbac_service.py - ROLE_ACTIONS Hardcoded Set-ek + +**Fájl:** `backend/app/services/rbac_service.py:132` +Minden UserRole-hoz külön hardcoded Set[str] action-ök. A `check_admin_access()` explicit SUPERADMIN bypass-t tartalmaz. + +### F7: 45 darab endpoint-szintű if role == check +Összesen 45 helyen található hardcoded role ellenőrzés a kódban (search_files eredmény). + +### F8: Frontend Static Permission Array-ek + +**Fájl:** `frontend_admin/pages/permissions/index.vue:272-286` +Statikus `superadminPerms` és `garagePerms` JavaScript array-ek. Ha a backend új permission-t vezet be, a frontend UI nem frissül. + +--- + +## 3. Proposed Architecture + +### 3.1 New Database Tables (system schema) + +#### system.roles +| Mező | Típus | Megjegyzés | +|------|-------|-----------| +| id | int PK | | +| name | varchar(50) UK | pl. SUPERADMIN, ADMIN | +| description | text | Opcionális leírás | +| rank | int | Hierarchikus rang (100=SUPERADMIN, 0=USER) | +| is_system | bool | Rendszer által védett (nem törölhető) | +| is_active | bool | Aktív-e | +| created_at | datetime | | +| updated_at | datetime | | + +#### system.permissions +| Mező | Típus | Megjegyzés | +|------|-------|-----------| +| id | int PK | | +| code | varchar(100) UK | Format: domain:action (pl. fleet:view) | +| domain | varchar(50) | fleet, user, finance, system, org, reports, audit, settings | +| action | varchar(50) | view, create, edit, delete, approve, manage, export | +| description | text | Opcionális leírás | +| is_system | bool | Rendszer által védett | +| created_at | datetime | | + +#### system.role_permissions +| Mező | Típus | Megjegyzés | +|------|-------|-----------| +| id | int PK | | +| role_id | int FK -> system.roles.id | | +| permission_id | int FK -> system.permissions.id | | +| granted | bool | Explicit grant (true) vagy deny (false) | +| created_at | datetime | | + +Unique constraint: (role_id, permission_id) + +### 3.2 Seed Data - 28 Permission Codes + +| Code | SUPERADMIN | ADMIN | MODERATOR | SALES_REP | SERVICE_MGR | USER | +|------|------------|-------|-----------|-----------|-------------|------| +| fleet:view | Y | Y | Y | Y | Y | Y | +| fleet:create | Y | Y | N | Y | N | N | +| fleet:edit | Y | Y | N | N | N | N | +| fleet:delete | Y | N | N | N | N | N | +| fleet:approve | Y | Y | N | N | N | N | +| user:view | Y | Y | Y | N | N | N | +| user:create | Y | Y | N | N | N | N | +| user:edit | Y | Y | N | N | N | N | +| user:delete | Y | N | N | N | N | N | +| user:manage-roles | Y | N | N | N | N | N | +| finance:view | Y | Y | Y | N | N | N | +| finance:edit | Y | Y | N | N | N | N | +| finance:approve | Y | N | N | N | N | N | +| finance:refund | Y | N | N | N | N | N | +| system:view | Y | Y | Y | N | N | N | +| system:edit | Y | Y | N | N | N | N | +| system:manage | Y | N | N | N | N | N | +| org:view | Y | Y | Y | Y | Y | N | +| org:edit | Y | Y | N | N | N | N | +| org:delete | Y | N | N | N | N | N | +| org:manage-members | Y | Y | N | N | N | N | +| reports:view | Y | Y | Y | Y | Y | N | +| reports:export | Y | Y | Y | N | N | N | +| reports:manage | Y | N | N | N | N | N | +| audit:view | Y | N | N | N | N | N | +| audit:export | Y | N | N | N | N | N | +| settings:view | Y | Y | N | N | N | N | +| settings:edit | Y | Y | N | N | N | N | + +### 3.3 FastAPI Dependency: RequirePermission() + +```python +from functools import lru_cache +from redis.asyncio import Redis + +class RBACService: + """Database-driven RBAC service with Redis caching.""" + + def __init__(self, redis: Redis): + self.redis = redis + self.cache_ttl = 300 # 5 minutes + + async def get_role_permissions(self, db, role_id): + """Get all permission codes for a role, with Redis caching.""" + cache_key = f"rbac:role:{role_id}:perms" + + # Try cache first + cached = await self.redis.smembers(cache_key) + if cached: + return set(cached) + + # Query database + result = await db.execute( + select(SystemPermission.code) + .join(SystemRolePermission) + .where( + SystemRolePermission.role_id == role_id, + SystemRolePermission.granted == True, + SystemRole.is_active == True, + ) + .join(SystemRole) + ) + codes = {row[0] for row in result.fetchall()} + + # Cache the result + if codes: + await self.redis.sadd(cache_key, *codes) + await self.redis.expire(cache_key, self.cache_ttl) + + return codes + + async def invalidate_cache(self, role_id): + await self.redis.delete(f"rbac:role:{role_id}:perms") + + +def RequirePermission(permission_code: str): + """ + Database-driven permission checker dependency. + + Usage: + @router.get("/fleet") + async def list_fleet( + user = Depends(RequirePermission("fleet:view")) + ): + ... + """ + async def permission_checker( + current_user = Depends(get_current_active_user), + db = Depends(get_db), + rbac = Depends(get_rbac_service), + ): + # SUPERADMIN bypass (rank threshold) + if current_user.role_id == SUPERADMIN_ROLE_ID: + return current_user + + role_perms = await rbac.get_role_permissions(db, current_user.role_id) + if permission_code not in role_perms: + raise HTTPException(status_code=403, + detail=f"Missing permission: {permission_code}") + return current_user + + return permission_checker +``` + +### 3.4 Refactoring Dependency Map + +| Jelenlegi dependency | Új permission code | Érintett endpointok | +|---------------------|--------------------|--------------------| +| get_current_admin() | fleet:view (min) | 30+ admin endpoint | +| RequireRole([SUPERADMIN, ADMIN]) | user:view, finance:view | analytics, finance_admin | +| RequireSystemCapability(can_manage_users) | user:manage-roles | admin endpoints | +| check_admin_access(action) | fleet:edit, fleet:view | rbac_service használat | +| if role == superadmin | system:manage | security.py, system_parameters.py | +| Frontend superadminPerms | GET /admin/permissions (API) | permissions/index.vue | + +### 3.5 fleet.org_roles Normalizálás + +A jelenlegi JSONB permissions-t normalizálni kell, hogy ugyanazokat a permission code namespace-eket használja: + +``` +# Jelenleg (JSONB): +{"can_add_expense": true, "can_approve_expense": false} + +# Új (normalizált): +{"fleet:view": true, "finance:view": true, "finance:approve": false} +``` + +--- + +## 4. Migration Plan - 5 Fázis + +### Phase 1: Foundation (Backend DB Schema) +1. Create system.roles, system.permissions, system.role_permissions SQLAlchemy models +2. Run sync_engine.py to create tables +3. Create seed script: insert current 6 roles + 28 permissions + mappings +4. Add role_id FK column to identity.users (nullable initially, migrate, then NOT NULL) + +### Phase 2: Backend Service Layer +1. Implement RBACService with Redis caching +2. Implement RequirePermission() FastAPI dependency +3. Implement admin API endpoints for CRUD on roles/permissions +4. Implement cache invalidation on role/permission changes + +### Phase 3: Endpoint Migration +1. Replace get_current_admin() with RequirePermission(fleet:view) in 30+ endpoints +2. Replace RequireRole([...]) with RequirePermission(domain:action) in 7+ endpoint files +3. Replace RequireSystemCapability(...) with RequirePermission(domain:action) +4. Remove hardcoded if role == checks from 5+ endpoint files +5. Remove or deprecate rbac_service.py ROLE_ACTIONS + +### Phase 4: Frontend Integration +1. Add GET /admin/permissions endpoint that returns available permissions from DB +2. Update frontend_admin to fetch permissions dynamically +3. Remove hardcoded superadminPerms and garagePerms arrays + +### Phase 5: Cleanup +1. Remove SYSTEM_CAPABILITIES_MATRIX from capabilities.py +2. Remove ROLE_ACTIONS from rbac_service.py +3. Deprecate old RequireRole(), RequireSystemCapability(), get_current_admin() +4. Update tests +5. Update documentation + +--- + +## 5. Risk Assessment + +| Kockázat | Valószínűség | Hatás | Mitigáció | +|----------|-------------|-------|-----------| +| Permission cache stale | Low | Medium | 5 perces TTL + manual invalidation endpoint | +| Migration data loss | Low | Critical | Add role_id as nullable first, migrate, then NOT NULL | +| Frontend backward compat | Medium | Medium | Keep old endpoints during transition period | +| Redis dependency | Low | Low | Fallback to DB query if Redis unavailable | +| Performance overhead | Low | Low | Redis cache + lazy loading | + +--- + +## 6. Recommendation + +**APPROVE** with P0 (Critical) priority. + +A javasolt rendszer: +- Teljesen adatbázis-vezérelt (nincs hardcoded permission logika) +- Redis cache-elés (5 perces TTL) a teljesítményért +- Explicit grant/deny mechanizmus (granted boolean) +- Admin UI-kompatibilis (CRUD endpointok a role-ok és permission-ök kezelésére) +- Normál fleet.org_roles JSONB permissions (ugyanaz a namespace) +- Fokozatos migráció (5 fázis, minden fázis külön deploy-olható) + +**DO NOT IMPLEMENT YET.** Wait for explicit approval before starting Phase 1. + diff --git a/docs/p0_rbac_permission_matrix_gap_analysis.md b/docs/p0_rbac_permission_matrix_gap_analysis.md new file mode 100644 index 0000000..199a7ca --- /dev/null +++ b/docs/p0_rbac_permission_matrix_gap_analysis.md @@ -0,0 +1,226 @@ +# P0 DISCOVERY — RBAC Permission Matrix Alignment + +**Date:** 2026-06-25 +**Scope:** Full Gap Analysis between Code-required vs Database-stored permissions +**Methodology:** `RequirePermission()` decorator extraction from endpoints → PostgreSQL `system.permissions` table query → Diff Analysis + +--- + +## 1. Codebase Scan — Permissions REQUIRED by the API + +Extracted from all `backend/app/api/v1/endpoints/` files using `RequirePermission("...")` decorators. + +| # | Permission Code | Endpoint File | Line(s) | +|---|----------------|---------------|---------| +| 1 | `org:view` | `admin_organizations.py` | 176, 324 | +| 2 | `org:view` | `admin.py` | 763 | +| 3 | `org:edit` | `admin_organizations.py` | 517 | +| 4 | `org:manage-members` | `admin_organizations.py` | 630, 743, 830 | +| 5 | `system:manage` | `system_parameters.py` | 118 | +| 6 | `dual-control:request` | `security.py` | 28 | +| 7 | `dual-control:approve` | `security.py` | 82, 111 | +| 8 | `dual-control:view` | `security.py` | 142 | +| 9 | `permissions:view` | `admin_permissions.py` | 137, 271, 317 | +| 10 | `permissions:edit` | `admin_permissions.py` | 177, 355 | +| 11 | `fleet:view` | `admin_permissions.py` | 456 | +| 12 | `finance:view` | `finance_admin.py` | 24 | +| 13 | `finance:edit` | `finance_admin.py` | 41 | +| 14 | `services:manage` | `admin_services.py` | 31, 58, 92 | +| 15 | `services:manage` | `admin.py` | 309, 370 | +| 16 | `subscription:manage` | `admin_packages.py` | 115, 188, 269, 393 | +| 17 | `settings:view` | `admin.py` | 37, 68, 92, 134, 163 | +| 18 | `settings:edit` | `admin.py` | 79, 101, 153 | +| 19 | `user:manage` | `admin.py` | 179, 664 | +| 20 | `moderation:manage` | `admin.py` | 240 | +| 21 | `gamification:manage` | `admin.py` | 418 | +| 22 | `user:view` | `admin.py` | 502 | + +### Unique permission codes required by code: **20** + +``` +org:view, org:edit, org:manage-members, +system:manage, +dual-control:request, dual-control:approve, dual-control:view, +permissions:view, permissions:edit, +fleet:view, +finance:view, finance:edit, +services:manage, +subscription:manage, +settings:view, settings:edit, +user:manage, user:view, +moderation:manage, +gamification:manage +``` + +--- + +## 2. Database Scan — Permissions CURRENTLY in `system.permissions` + +Queried from `system.permissions` table (PostgreSQL). + +| ID | Code | Domain | Action | Description | +|----|------|--------|--------|-------------| +| 1 | `fleet:view` | fleet | view | View fleet/vehicle data | +| 2 | `fleet:create` | fleet | create | Create new fleet/vehicle entries | +| 3 | `fleet:edit` | fleet | edit | Edit existing fleet/vehicle data | +| 4 | `fleet:delete` | fleet | delete | Delete fleet/vehicle entries | +| 5 | `fleet:approve` | fleet | approve | Approve fleet/vehicle submissions | +| 6 | `user:view` | user | view | View user profiles and data | +| 7 | `user:create` | user | create | Create new user accounts | +| 8 | `user:edit` | user | edit | Edit user profiles and data | +| 9 | `user:delete` | user | delete | Delete user accounts | +| 10 | `user:manage-roles` | user | manage-roles | Manage user role assignments | +| 11 | `finance:view` | finance | view | View financial data and transactions | +| 12 | `finance:edit` | finance | edit | Edit financial records | +| 13 | `finance:approve` | finance | approve | Approve financial transactions | +| 14 | `finance:refund` | finance | refund | Process refunds | +| 15 | `system:view` | system | view | View system configuration | +| 16 | `system:edit` | system | edit | Edit system configuration | +| 17 | `system:manage` | system | manage | Full system management access | +| 18 | `org:view` | org | view | View organization data | +| 19 | `org:edit` | org | edit | Edit organization data | +| 20 | `org:delete` | org | delete | Delete organizations | +| 21 | `org:manage-members` | org | manage-members | Manage organization members | +| 22 | `reports:view` | reports | view | View reports | +| 23 | `reports:export` | reports | export | Export reports | +| 24 | `reports:manage` | reports | manage | Manage report configurations | +| 25 | `audit:view` | audit | view | View audit logs | +| 26 | `audit:export` | audit | export | Export audit logs | +| 27 | `settings:view` | settings | view | View system settings | +| 28 | `settings:edit` | settings | edit | Edit system settings | +| 29 | `permissions:view` | permissions | view | View permission settings and matrix | +| 30 | `permissions:edit` | permissions | edit | Edit permission settings and role-permission mappings | + +### Unique permission codes in database: **30** + +--- + +## 3. GAP ANALYSIS + +### 3A. ORPHANED CODES — In Code, MISSING from Database + +**These 8 permissions are the ROOT CAUSE of the 403 Forbidden errors for non-Superadmin users.** +The API checks for them via `RequirePermission()` in `deps.py:283`, but `system.permissions` has no such records → `rbac_service.get_role_permissions()` returns empty → `403 Forbidden`. + +| Permission Code | Endpoint File(s) | Routes Affected | +|----------------|-----------------|-----------------| +| **`dual-control:request`** | `security.py:28` | POST `/security/dual-control/request` | +| **`dual-control:approve`** | `security.py:82,111` | POST `/security/dual-control/approve`, POST `/security/dual-control/reject` | +| **`dual-control:view`** | `security.py:142` | GET `/security/dual-control/pending` | +| **`services:manage`** | `admin_services.py:31,58,92`; `admin.py:309,370` | CRUD `/admin/services/*` | +| **`subscription:manage`** | `admin_packages.py:115,188,269,393` | CRUD `/admin/packages/*` | +| **`user:manage`** | `admin.py:179,664` | POST `/admin/users`, PUT `/admin/users/{id}` | +| **`moderation:manage`** | `admin.py:240` | GET `/admin/moderation` | +| **`gamification:manage`** | `admin.py:418` | GET `/admin/gamification` | + +--- + +### 3B. UNUSED CODES — In Database, NEVER referenced in any Endpoint + +**These 18 permissions exist in the database but no `RequirePermission("...")` references them anywhere.** + +| Permission Code | Domain | Notes | +|----------------|--------|-------| +| `fleet:create` | fleet | No endpoint checks this | +| `fleet:edit` | fleet | No endpoint checks this | +| `fleet:delete` | fleet | No endpoint checks this | +| `fleet:approve` | fleet | No endpoint checks this | +| `user:create` | user | No endpoint checks this | +| `user:edit` | user | No endpoint checks this | +| `user:delete` | user | No endpoint checks this | +| `user:manage-roles` | user | No endpoint checks this | +| `finance:approve` | finance | No endpoint checks this | +| `finance:refund` | finance | No endpoint checks this | +| `system:view` | system | No endpoint checks this | +| `system:edit` | system | No endpoint checks this | +| `org:delete` | org | No endpoint checks this | +| `reports:view` | reports | No endpoint checks this | +| `reports:export` | reports | No endpoint checks this | +| `reports:manage` | reports | No endpoint checks this | +| `audit:view` | audit | No endpoint checks this | +| `audit:export` | audit | No endpoint checks this | + +--- + +### 3C. Intersection — Permissions that EXIST in BOTH (Correct) + +These 12 permissions are properly aligned — they exist in the code and the database. + +| Permission Code | In Code | In DB | +|----------------|---------|-------| +| `org:view` | 3 endpoints | ID 18 | +| `org:edit` | 1 endpoint | ID 19 | +| `org:manage-members` | 3 endpoints | ID 21 | +| `system:manage` | 1 endpoint | ID 17 | +| `permissions:view` | 3 endpoints | ID 29 | +| `permissions:edit` | 2 endpoints | ID 30 | +| `fleet:view` | 1 endpoint | ID 1 | +| `finance:view` | 1 endpoint | ID 11 | +| `finance:edit` | 1 endpoint | ID 12 | +| `settings:view` | 4 endpoints | ID 27 | +| `settings:edit` | 3 endpoints | ID 28 | +| `user:view` | 1 endpoint | ID 6 | + +--- + +## 4. ROOT CAUSE SUMMARY + +### The 403 Forbidden Problem + +The `ADMIN` role receives 403 errors because **8 critical permission codes are missing from the database**: + +| Domain | Missing Codes | +|--------|--------------| +| **Dual Control** | `dual-control:request`, `dual-control:approve`, `dual-control:view` | +| **Services** | `services:manage` | +| **Subscriptions** | `subscription:manage` | +| **User Management** | `user:manage` | +| **Moderation** | `moderation:manage` | +| **Gamification** | `gamification:manage` | + +When a non-Superadmin user calls any endpoint protected by these permissions, `RequirePermission()` in `deps.py:333` calls `rbac_service.get_role_permissions()` in `rbac_service.py:263` which queries `system.role_permissions` joined with `system.permissions`. Since the code doesn't exist in `system.permissions`, no `system.role_permissions` record can reference it → the permission check fails → `403 Forbidden`. + +### How the code resolves this (from `deps.py:311-336`): +```python +# SUPERADMIN bypass — rank 100 bypasses all checks +if current_user.role == UserRole.SUPERADMIN: + return current_user + +# Non-Superadmin: query DB +user_permissions = await rbac_service.get_role_permissions(db, role_id) +if permission_code not in user_permissions: + raise HTTPException(403, f"Missing permission: {permission_code}") +``` + +This is why `SUPERADMIN` works but `ADMIN` (or any other role) gets 403 on all 8 phantom permissions. + +--- + +## 5. CRITICAL FINDINGS + +| Metric | Value | +|--------|-------| +| Total permissions required by code | **20** | +| Total permissions in database | **30** | +| Properly aligned (in both) | **12 (60% of code requirements are satisfied)** | +| **ORPHANED (code-only, breaking 403s)** | **8 (40% of code requirements)** | +| **UNUSED (DB-only, no endpoint uses)** | **18 (60% of database entries)** | + +**The database is 60% polluted with unused permissions, while simultaneously missing 40% of the permissions the code actually needs.** + +--- + +## 6. RECOMMENDED NEXT STEPS (Not Implemented — report only) + +1. **INSERT** the 8 orphaned permission codes into `system.permissions`: + - `dual-control:request`, `dual-control:approve`, `dual-control:view` + - `services:manage`, `subscription:manage` + - `user:manage`, `moderation:manage`, `gamification:manage` + +2. **GRANT** these permissions to the `admin` role in `system.role_permissions`. + +3. **(Optional) Cleanup:** Review the 18 unused codes — keep those planned for future use, archive the rest. + +--- + +*Report generated by Service Finder Rendszer-Architect. No code or database changes were made — pure discovery audit.* diff --git a/frontend_admin/.nuxt/dev/index.mjs b/frontend_admin/.nuxt/dev/index.mjs index e489e59..ef2fd88 100644 --- a/frontend_admin/.nuxt/dev/index.mjs +++ b/frontend_admin/.nuxt/dev/index.mjs @@ -2254,13 +2254,20 @@ async function getLocaleMessagesMerged(locale, loaders = []) { var permissions$1 = { title: "Jogosultság Kezelés", - subtitle: "Permissions Management — Role-based access control & subscription feature flags", + subtitle: "Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés", loading: "Jogosultságok betöltése...", error_title: "Nem sikerült betölteni a jogosultságokat", retry: "Újra", save_changes: "Változtatások Mentése", discard: "Elvetés", modified_count: "{count} módosítás", + domain_filter: "Tartomány Szűrő (Sorok)", + role_filter: "Szerepkör Szűrő (Oszlopok)", + select_all: "Összes kiválasztása", + deselect_all: "Összes elrejtése", + all_domains: "Minden", + permission: "Engedély", + no_permissions: "Nincsenek engedélyek ebben a tartományban.", current_tier: "Aktuális Csomag", expires: "Lejárat", superadmin: "Superadmin", @@ -2271,19 +2278,7 @@ var permissions$1 = { feature_flags_desc: "Előfizetési funkciók — a jelenlegi csomagod alapján ({tier}).", rbac_title: "RBAC Jogosultsági Mátrix", rbac_desc: "Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik.", - action: "Művelet", - perms: { - user_mgmt: "Felhasználókezelés", - billing_admin: "Számlázási Adminisztráció", - robot_config: "Robot Konfiguráció", - system_logs: "Rendszernaplók Elérése", - api_keys: "API Kulcs Kezelés", - vehicle_crud: "Jármű CRUD", - service_booking: "Szervizfoglalás", - customer_view: "Ügyféladatok Megtekintése", - report_export: "Jelentés Exportálás", - bulk_import: "Tömeges Import" - } + action: "Művelet" }; var packages$1 = { title: "Csomagok Kezelése", @@ -2389,7 +2384,57 @@ var garages$1 = { cancel: "Mégse", save: "Mentés", saving: "Mentés...", - subscription_updated: "előfizetése sikeresen frissítve!" + subscription_updated: "előfizetése sikeresen frissítve!", + view_details: "Részletek", + indefinite: "Határozatlan", + details: { + loading: "Garázs adatainak betöltése...", + retry: "Újra", + back: "Vissza a garázsokhoz", + company_info: "Cég adatok", + company_name: "Cégnév", + display_name: "Megjelenítési név", + org_type: "Szervezet típusa", + tax_number: "Adószám", + reg_number: "Cégjegyzékszám", + created_at: "Létrehozva", + address: "Cím", + subscription_info: "Előfizetés státusza", + tier_name: "Csomag", + tier_level: "Szint", + level_n: "{n}. szint", + expires_at: "Lejárat", + asset_limit: "Járműkorlát", + vehicles: "jármű", + no_subscription: "Nincs aktív előfizetés", + contact_info: "Elérhetőség", + contact_name: "Kapcsolattartó neve", + contact_role: "Szerepkör", + contact_department: "Osztály", + contact_phone: "Telefonszám", + no_contact: "Nincs elsődleges kapcsolattartó", + coming_soon: "Ez a funkció hamarosan elérhető lesz..." + }, + employees: { + title: "Dolgozók", + total_count: "Összesen {count} fő", + name: "Név", + email_phone: "E-mail / Telefon", + role: "Szerepkör", + status: "Státusz", + actions: "Műveletek", + edit_role: "Szerepkör szerkesztése", + remove: "Eltávolítás", + no_employees: "Még nincsenek tagok ehhez a garázshoz.", + edit_role_title: "Tag szerepkörének szerkesztése", + cancel: "Mégse", + save: "Mentés", + status_active: "Aktív", + status_inactive: "Inaktív", + remove_title: "Tag eltávolítása", + remove_confirm: "Biztosan eltávolítod {name} tagot a garázsból?", + remove_btn: "Eltávolítás" + } }; const locale_hu_46json_ee06c965 = { permissions: permissions$1, @@ -2399,55 +2444,50 @@ const locale_hu_46json_ee06c965 = { var permissions = { title: "Permissions Management", - subtitle: "Permissions Management — Role-based access control & subscription feature flags", - loading: "Loading permissions data...", + subtitle: "Permission Matrix — Role-based access control", + loading: "Loading permissions...", error_title: "Failed to load permissions", retry: "Retry", save_changes: "Save Changes", discard: "Discard", - modified_count: "{count} modification(s)", - current_tier: "Current Tier", + modified_count: "{count} changes", + domain_filter: "Domain Filter (Rows)", + role_filter: "Role Filter (Columns)", + select_all: "Select All", + deselect_all: "Deselect All", + all_domains: "All", + permission: "Permission", + no_permissions: "No permissions in this domain.", + current_tier: "Current Package", expires: "Expires", superadmin: "Superadmin", - superadmin_desc: "Full system access — user management, billing, robots, and system configuration.", + superadmin_desc: "Full system access — users, billing, robots and system configuration.", garages: "Garages", garages_desc: "Garage-level access — vehicle management, service booking, customer data.", feature_flags: "Feature Flags", - feature_flags_desc: "Subscription feature toggles — resolved from your current tier ({tier}).", + feature_flags_desc: "Subscription features — based on your current plan ({tier}).", rbac_title: "RBAC Permission Matrix", rbac_desc: "Role-based access control — which roles can perform which admin actions.", - action: "Action", - perms: { - user_mgmt: "User Management", - billing_admin: "Billing Administration", - robot_config: "Robot Configuration", - system_logs: "System Logs Access", - api_keys: "API Key Management", - vehicle_crud: "Vehicle CRUD", - service_booking: "Service Booking", - customer_view: "Customer Data View", - report_export: "Report Export", - bulk_import: "Bulk Import" - } + action: "Action" }; var packages = { title: "Package Management", - subtitle: "Manage subscription packages and feature flags — Free, Premium, Enterprise", + subtitle: "Manage subscription packages and features — Free, Premium, Enterprise", loading: "Loading packages...", retry: "Retry", - create_new: "Create Package", + create_new: "New Package", no_packages: "No packages yet", no_packages_desc: "Create your first subscription package to get started.", create_first: "Create First Package", popular: "Popular", fallback_badge: "Fallback", trial_badge: "Trial", - month: "month", + month: "mo", feature_flags: "Available Features", edit: "Edit", duplicate: "Duplicate", "delete": "Delete", - set_as_default: "Set as default", + set_as_default: "Set as Default", set_as_default_success: "set as default package!", edit_title: "Edit Package", create_title: "Create Package", @@ -2462,7 +2502,7 @@ var packages = { max_vehicles: "Max Vehicles", max_garages: "Max Garages", monthly_credits: "Monthly Credits", - tier_level: "Tier Level", + tier_level: "Level", form_name: "System Name", form_name_placeholder: "e.g. premium_2024", form_display_name: "Display Name", @@ -2471,30 +2511,30 @@ var packages = { type_private: "Private", type_corporate: "Corporate", form_tier_level: "Tier Level", - form_tier_level_hint: "Higher number = more features & higher rank", + form_tier_level_hint: "Higher number = more features and higher rank", form_monthly_price: "Monthly Price", form_yearly_price: "Yearly Price", form_currency: "Currency", form_subtitle: "Subtitle / Description", - form_subtitle_placeholder: "e.g. Best for small businesses", + form_subtitle_placeholder: "e.g. Ideal for small businesses", form_badge: "Badge Text", form_badge_placeholder: "e.g. Most Popular", - form_is_custom: "Custom Package (not publicly listed)", + form_is_custom: "Custom Package (not public)", singleton_rules: "Singleton Rules", - form_is_default_fallback: "Default Fallback Package — assigned when a subscription expires", + form_is_default_fallback: "Default Fallback Package — expired subscriptions fall back to this", form_trial_days: "Trial Days on Signup", - form_trial_days_hint: "New organizations get this many free days. Only one package can have trial > 0.", + form_trial_days_hint: "New organizations get this many free days. Only one package can have > 0.", per_region_pricing: "Per-Region Pricing", - smart_calculator: "Smart Pricing Calculator", + smart_calculator: "Smart Price Calculator", calc_net_price: "Net Price", calc_vat_rate: "VAT Rate", calc_currency: "Currency", calc_net: "Net", calc_vat: "VAT", calc_gross: "Gross", - calc_apply: "Apply to Selected Region", - add_zone: "Add Pricing Zone", - add_zone_select: "Select a country code...", + calc_apply: "Apply to selected region", + add_zone: "Add New Zone", + add_zone_select: "Select country code...", add_zone_already_exists: "This region already exists in the package pricing!" }; var garages = { @@ -2534,7 +2574,57 @@ var garages = { cancel: "Cancel", save: "Save", saving: "Saving...", - subscription_updated: "subscription updated successfully!" + subscription_updated: "subscription updated successfully!", + view_details: "Details", + indefinite: "Indefinite", + details: { + loading: "Loading garage details...", + retry: "Retry", + back: "Back to garages", + company_info: "Company Info", + company_name: "Company Name", + display_name: "Display Name", + org_type: "Organization Type", + tax_number: "Tax Number", + reg_number: "Registration Number", + created_at: "Created At", + address: "Address", + subscription_info: "Subscription Status", + tier_name: "Package", + tier_level: "Level", + level_n: "Level {n}", + expires_at: "Expires", + asset_limit: "Vehicle Limit", + vehicles: "vehicles", + no_subscription: "No active subscription", + contact_info: "Contact Info", + contact_name: "Contact Name", + contact_role: "Role", + contact_department: "Department", + contact_phone: "Phone", + no_contact: "No primary contact person", + coming_soon: "This feature will be available soon..." + }, + employees: { + title: "Employees", + total_count: "{count} employees", + name: "Name", + email_phone: "Email / Phone", + role: "Role", + status: "Status", + actions: "Actions", + edit_role: "Edit", + remove: "Remove", + no_employees: "No employees assigned to this garage.", + edit_role_title: "Edit Employee Role", + cancel: "Cancel", + save: "Save Changes", + status_active: "Active", + status_inactive: "Inactive", + remove_title: "Remove Employee", + remove_confirm: "Are you sure you want to remove \"{name}\" from this garage?", + remove_btn: "Remove" + } }; const locale_en_46json_0b63539c = { permissions: permissions, @@ -3188,16 +3278,16 @@ _wH6JrtIxmaSoA8lCPWFnE9z4lQeXW6H5z3l5aymEQw const assets = { "/index.mjs": { "type": "text/javascript; charset=utf-8", - "etag": "\"22d3a-fYKxrQk9EUMNhIo/mK+96C2r5Do\"", - "mtime": "2026-06-25T01:04:55.828Z", - "size": 142650, + "etag": "\"23532-gRN4chechZSOn9PdQdfcKj3v+Ek\"", + "mtime": "2026-06-25T19:56:11.463Z", + "size": 144690, "path": "index.mjs" }, "/index.mjs.map": { "type": "application/json", - "etag": "\"8312b-y83NhkESVlYFSmMgPlbahLc9Kjs\"", - "mtime": "2026-06-25T01:04:55.829Z", - "size": 536875, + "etag": "\"83172-ssEX0StaUacfa43NRfqyNY4W7FM\"", + "mtime": "2026-06-25T19:56:11.464Z", + "size": 536946, "path": "index.mjs.map" } }; diff --git a/frontend_admin/.nuxt/dev/index.mjs.map b/frontend_admin/.nuxt/dev/index.mjs.map index a63ec54..e593fef 100644 --- a/frontend_admin/.nuxt/dev/index.mjs.map +++ b/frontend_admin/.nuxt/dev/index.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.mjs","sources":["../../node_modules/@nuxt/nitro-server/dist/runtime/utils/cache-driver.js","../../node_modules/nitropack/dist/runtime/internal/storage.mjs","../../node_modules/nitropack/dist/runtime/internal/hash.mjs","../../node_modules/nitropack/dist/runtime/internal/cache.mjs","../../node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../node_modules/nitropack/dist/runtime/internal/config.mjs","../../node_modules/nitropack/dist/runtime/internal/context.mjs","../../node_modules/nitropack/dist/runtime/internal/route-rules-utils.mjs","../../node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../node_modules/nitropack/dist/runtime/internal/utils.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/error.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/dev.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.mjs","../../node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../node_modules/nitropack/dist/runtime/internal/error/dev.mjs","../../node_modules/@nuxt/devtools/dist/runtime/nitro/inline.js","../../node_modules/@intlify/shared/dist/shared.mjs","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/messages.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/vue-i18n.js","../../node_modules/nitropack/dist/runtime/internal/plugin.mjs","../../node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../node_modules/nitropack/dist/runtime/internal/task.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/paths.mjs","../../node_modules/@intlify/utils/dist/shared/utils.9f8159f5.mjs","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/utils.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/locales.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/context.js","../../node_modules/@nuxtjs/i18n/dist/runtime/kit/browser.js","../../node_modules/@nuxtjs/i18n/dist/runtime/kit/routing.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/domain.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/detection.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/matching.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/plugin.js","../../node_modules/@nuxt/nitro-server/dist/runtime/plugins/dev-server-logs.mjs","../../node_modules/nitropack/dist/runtime/internal/static.mjs","../../node_modules/@nuxtjs/i18n/dist/runtime/server/utils/cache.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/utils/messages.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/routes/messages.js","../../node_modules/@unhead/vue/dist/shared/vue.N9zWjxoK.mjs","../../node_modules/@unhead/vue/dist/shared/vue.Cr7xSEtD.mjs","../../node_modules/@unhead/vue/dist/utils.mjs","../../node_modules/nuxt/dist/app/island-hash.js","../../node_modules/@unhead/vue/dist/server.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/app.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/build-files.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/inline-styles.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/islands.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/island.mjs","../../node_modules/nitropack/dist/runtime/internal/app.mjs","../../node_modules/nitropack/dist/presets/_nitro/runtime/nitro-dev.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/templates/error-500.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/payload.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/renderer.mjs"],"names":["crypto","storage","_inlineAppConfig","createRadixRouter","_localeCodes","consola","hash","renderToString","_renderToString","handler","getURLQuery","getQuery","destr","nitroApp","createRouter","Headers","nodeCrypto","server","template"],"mappings":"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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAA,CAAA,CAAG;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA;AACA,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,cAAc,CAAA,CAAE;AACxD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC;;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAA,CAAE,UAAU,CAAC,CAAA;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,cAAc,CAAC,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAC;AACD;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,OAAO,CAAA,CAAE;AACxD,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC,CAAA,CAAE,GAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,EAAE,CAAC;AACtH,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,mBAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC;AAClG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,MAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,QAAQ,CAAC;AACrE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/E,CAAA,CAAE,CAAC;AACH;;ACl9BA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAE;AAC9E,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE;AAC5C,CAAA;AACA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAC;AACD;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAC;AACtE;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG;AACvD,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAE;AAClD,CAAA,CAAE,kBAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,OAAO,CAAC;AAC/C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC;AACpE,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,IAAI,CAAA,CAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AACD,CAAC,IAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE;AACrG,CAAA;AACA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,KAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,IAAI,CAAC;AAC1D,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI;AACpC;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAG,CAAC;AACrC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI;AACzG;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AACvI;AACA,CAAC,WAAW,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI;AAChC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACnE,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,cAAc,CAAC;AAC1C,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,yBAAyB,CAAC;AACrD,CAAC,kBAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,OAAO,CAAC;AAC9C;AACA,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,KAAK,CAAC;AAC5C;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC;AAC9I,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE;AACxB,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAE;AAC3B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI;AAC/C,CAAC;AACD;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAE;AAC7J,CAAA,CAAE,OAAO,CAAA,CAAE;AACX,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAChB,CAAA,CAAA,CAAG,cAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AACnB,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,QAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACZ,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAC;AACrB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AACpB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAC;AACD;AACA,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACX,CAAA,CAAE,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC;AAC7D,CAAA,CAAuB;AACvB,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,WAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAChD,CAAA,CAAE;AACF,CAAA,CAAE,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,yBAAyB,CAAC;AACrE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAC;AAC3C,CAAC;AACD,CAAC,MAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAG,CAAC,IAAI,CAAA,CAAE;AAC9B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAE;AACtD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE;AAC/B,CAAA,CAAA,CAAG,oBAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,KAAK,CAAC;AAC7C,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAE;AACF,CAAA,CAAE,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,KAAK,CAAC;AACzC,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,UAAU,CAAC;AACrI,CAAC,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,eAAY,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE;AACvE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAC;AAC5E,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA,CAAE;AAC/C,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,SAAS,CAAA,CAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,EAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAC;AAC5J,CAAA,CAAE;AACF,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,IAAI,CAAC;AACzB,CAAC,CAAA;;ACjFM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AACjD,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAChB;;ACcA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB;AACtC,CAAA,CAAE,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,KAAK,CAAA,CAAE;AACxD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AAClD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,kBAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAG,CAAC,OAAO,CAAC;AAC5C,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC;AACxD,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAI;AACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,GAAG,CAAC,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAI,CAAC,SAAS,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC;AAChF,CAAA,CAAA,CAAA,CAAA,CAAK;AACL,CAAA,CAAE;AACF,CAAC;AACM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,cAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,IAAI,CAAA,CAAE;AACzD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACpD,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,IAAI,CAAA,CAAA,CAAG;AAC5C,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AAC7D,CAAA,CAAE,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,KAAK,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAC;AACnF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAE;AAC1B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAA0B;AAC9C,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,OAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE;AACtE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAA,CAAG,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AAC1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAG;AACnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAO,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,UAAU,CAAA,CAAE;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACP,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AAClD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAE;AAC3B,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,MAAM,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC;AACvG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,KAAK,CAAC,CAAA,CAAE,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC;AACtF,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE,EAAE,CAAA,CAAA,CAAG;;AAEtD,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAK;AACL,CAAA,CAAE;AACF,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,WAAW,CAAC;AACzF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG;AAClB,CAAA,CAAA,CAAA,CAAI,cAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAI,yBAAyB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAE;AACxE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACzC,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG;AACzB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAI;AACf,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG;AACP,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACjB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC1B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI;AACpB,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAI,CAAC,IAAI,CAAA,CAAE;AAC7D,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,KAAK,CAAA,CAAE;AAChC,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI;AACnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACtC,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,CAAC;AACJ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACT,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACtB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AAC7B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACX,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC5C,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE;AACjC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,WAAW,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,YAAY,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,KAAK,CAAC;AACtF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AAC/F,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAC;AACzD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACnB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,KAAK,CAAC;AAC1D,CAAA,CAAE;AACF;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACnC,CAAA,CAAE,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,IAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA,CAAE;AAC7E,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAE;AAC5B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAC,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACrF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AACN,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,YAAY,CAAA,CAAE;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,YAAY,CAAC;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,gBAAgB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,CAAC;AACnH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,gBAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,IAAI,CAAA,CAAE;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,QAAQ,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,MAAM,CAAC;AAClF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAI;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,gBAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAC;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACtE,CAAA,CAAE,CAAC,CAAC;AACJ,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACzC;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACzB,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA,CAAE;AAC/B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG;AACpB,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAC;AAClF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,GAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAC;AAC9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpIA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAChC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAK;AACnD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC;AACxD,CAAA,CAAE,CAAC,CAAC;AACJ,CAAC,CAAA;;ACLD,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;AAmEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC;AAkE3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,GAAG,CAAC,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,GAAG,CAAC,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAGjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAKjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,cAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;;AAwF1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,GAAG,CAAC;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAA,CAAE;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAG,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,eAAe,CAAC;AACxC,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAG,CAAC,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAC;AAChC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAE;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,GAAG,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA,CAAE,CAAA,CAAA,CAAG,MAAM,CAAA,CAAE;AAClE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAE;AAClF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAA,CAAG,CAAC,GAAG,CAAC;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAG,CAAC,GAAG,CAAC,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAC,EAAE,CAAC;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC;AACV,CAAA,CAAA,CAAA,CAAI;AACJ;;ACrRA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,GAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAC/C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE;AAClF,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,IAAI,CAAC;AAC7B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,GAAG,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;AAC7B,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAI;AACf,CAAA,CAAE;AACF,CAAC,CAAC;AACK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE;AACzD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AAC9B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,cAAc,CAAA,CAAE;AAC3C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAC,CAAC;AAChF,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,cAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAA,CAAE,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACrG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC;AACnE,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACzC,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AACvB;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,YAAY,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,MAAM,CAAA,CAAE;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AAC9B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI;AACN,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAC,CAAC;AACrG,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,MAAM,CAAC,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC3F,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,OAAO,CAAC;AACtE,CAAA,CAAE;AACF;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,uBAAuB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,EAAE,CAAA,CAAE;AACpE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AAC9B,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG;AACpC,CAAA,CAAA,CAAA,CAAI,OAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AAC3F,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE;AACnB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAA,CAAE;AAClC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,MAAM,CAAC;AAC7B,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAK;AAC5D,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,cAAc,CAAC;AAC1D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC7D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACvC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAClC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACzB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAIC,WAAY,CAAA,CAAE;AACrC,CAAA,CAAA,CAAA,CAAI,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,KAAK,CAAA,CAAE;AACnC,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAChB,CAAC;;ACZM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACvC,CAAA,CAAE,OAAO,CAAA,CAAA,CAAG;AACZ;;ACQO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AAC5C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE;AAC1C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACvC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AAClC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AACnD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC;AACvD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,QAAQ,CAAA,CAAE;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAE;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,cAAc,CAAC;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAO,CAAA,CAAA,CAAA,CAAI;AACnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK;AACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,QAAQ,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,KAAK,CAAC;AACvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC;AAC/E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAO,CAAA,CAAA,CAAA,CAAI;AACnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK;AACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA;AAC/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,GAAG,CAAC;AACvE,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,OAAO,CAAA,CAAE;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC;AACrD,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE;AAC/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACP,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI;AAC5B,CAAA,CAAE,CAAC,CAAC;AACJ;;;;;;;;ACnCA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,GAAG,CAAA,CAAE;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACpC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAA,CAAE;AACd,CAAA,CAAE,OAAO,CAAA,CAAA,CAAG,CAAA;AACZ,CAAC,CAAA,CAAA,CAAG,EAAE,CAAA,CAAE;AACR,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE;AAC9B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACjC,CAAA,CAAE;AACF,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE;AACxB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAC;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,oBAAoB,CAAC;AACnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAE,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACN,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAA,CAAE;AAC5B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAC;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,sBAAsB,CAAC;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAE,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACN,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AAC9C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,OAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI;AACN,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,IAAI,CAAC;AAC5C,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAG;AACd,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACZ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACjC,CAAA,CAAE;AACF;;ACnCO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,cAAc,CAAA,CAAA,CAAG;AACjC;AACA,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AAC7C;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC;AACrE;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACzC;AACA,CAAC,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,CAAC,CAAA,CAAA,CAAG;AACnC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC7C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACvE;;ACIA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACpC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,GAAG,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAChE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACxC,CAAA,CAAA,CAAG;AACH;AAKA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE;AAClD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AACnB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACnE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAC;AAChD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,GAAG,CAAC;AAC3C,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACnB,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,GAAG,CAAA,CAAE;AACzD,CAAA,CAAE,CAAC;AACH;;ACvCO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,KAAK,CAAA,CAAE;AAC/C,CAAA,CAAgB;AAChB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,gBAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI;AAC9C,CAAA,CAAE;AAEF;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AAC1C,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAG,cAAc,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB;AAC7E,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,IAAI,CAAA,CAAE;AAC5C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACT,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACb,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB;AACpC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,SAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnC,CAAA,CAAA,CAAG;AACH;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AAC5C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AACf,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACjB,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACT,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,MAAM,CAAC,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,CAAC;AAC5E,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AACpD,CAAA,CAAA,CAAG;AACH;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC/B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AAC/C;;AC1BO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE;AACpD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAE;AAC1B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,WAAW,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,cAAc,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AACtE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,SAAS,CAAC;AACvE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE;AACpD,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACtB;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,OAAO,CAAA,CAAE;AACnD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC1B,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE;AACb,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACnB,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAG,CAAA,CAAE;AAC1B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE;AAC1B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,QAAQ,CAAC;AACpC,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AAC1B,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,SAAS,CAAC;AACzC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE;AAChC,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAE;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,eAAe,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC;AAC/E,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AACxB;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AAC1C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,aAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACzG;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,eAAe,CAAA,CAAE;AACxE,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAK,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAC;AAClH;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAChD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA,CAAA,CAAA,CAAI;AACnF;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC;;ACvCxE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACtC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAE;AACtC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,mDAAmD,CAAC;AACxE,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAC/B;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACzC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAC/B;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,aAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,cAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI;AACvE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACnD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,KAAK,CAAC;AACnD,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,WAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,IAAI,CAAA,CAAE;AACvD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,mBAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,aAAa,CAAC;AACvG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,cAAc,CAAC;AACnE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAE;AACjC,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC9B,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACnC,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,GAAG,CAAA,CAAA,CAAG;AAC9B,CAAA,CAAE,OAAO,CAAA,CAAA,CAAG;AACZ;AAUO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAAiB,CAAA,CAAA,CAAG;AACpC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACT,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAE;AAChB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,EAAE,CAAA,CAAE;AACX,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,CAAA,CAAE;AACrB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAE;AAChB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC1B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,MAAM,CAAA,CAAE;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAE;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAC;AACpC,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAG;AACH;;AC9CA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,cAAc,CAAA,CAAE;AACrD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAE;AAC3B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAE;AAC/D,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAC;AACtG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,aAAa,CAAA,CAAE;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,aAAa,CAAC,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC;AACjG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAE;AAC/D,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA,CAAE;AAChE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC;AACvG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,aAAa,CAAA,CAAE;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,aAAa,CAAC,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,KAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC;AACrG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AACvB;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAC,CAAA,CAAE,CAAC,CAAA,CAAE;AACpC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAC,CAAC,KAAK,CAAA,CAAE;AAC3B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACxC,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAC,CAAC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AAC1B;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,cAAc,CAAA,CAAE;AAC3D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AAC3C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAC,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAC;AAC1E,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAE;AACpE;;;;;;;;;;;;;;AC9BA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,GAAG,CAAA,CAAA,CAAA,CAAA,CAAiC;AAkBnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAAC,CAAC;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,GAAG,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,IAAI,CAAC;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,sBAAsB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA,CAAE;AACjF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC/B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC;AAC7F;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC1C,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,KAAK,CAAC;AACrC,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAE;AACxB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACxC,CAAA,CAAE;AACF,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,KAAK,CAAC;AAChD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAA,CAAE;AAChB,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACnB,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAChD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,sBAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AACrD,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAE;AACX;;ACnCO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,UAAU,CAAA,CAAE;AAC7D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAG,CAAC,MAAM,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,EAAE,CAAC;AAC5E,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAChC,CAAA,CAAA,CAAA,CAAI,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,IAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,OAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI;AAChG,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE;AAC3B,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAC,EAAE,CAAA,CAAA,CAAA,CAAI;AAC3B,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAI,OAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,iBAAiB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA;AACrI,CAAA,CAAA,CAAA;AACA;;ACPA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAoD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC1I,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AAClE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,iBAAiB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAC;AAE9I,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,aAAa,CAAA,CAAA,CAAA,CAAA,CAAK;AACtD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAA6D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI;AAC5H,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAChD,CAAA,CAAA,CAAA,CAAI,GAAG,CAAC;AACR,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/C,CAAA,CAAA,CAAG,CAAC,CAAC;AACL,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AACvE,CAAC;AACM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AACxD,CAAA,CAAE,CAAA,CAAA,CAAA,CAA0B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,sDAAsD,CAAC;AAC3E,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAQ,CAAC;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACT,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AAC1D,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,eAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAS;AACtE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC5E,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,aAAa,CAAC;AACzE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI;AAC/C,CAAA,CAAA,CAAG;AACH,CAAC;;;;;;;AC7BD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,GAA4C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB;AACzF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAE,CAAA,CAAE,EAAE,CAAC;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAE;AAChD,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,EAAE,CAAC;AAC3D;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,mBAAmB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAE,CAAA,CAAE,EAAE,CAAC;AACvD,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAE;AACxD,CAAA,CAAE,mBAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,EAAE,CAAC;AACvE;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,qBAAqB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AAChD,CAAA,CAAE,IAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,MAAM,CAAA,CAAE;AACxB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,IAAI,CAAC;AACxC,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,SAAS,CAAC;AAChD,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE;AACxC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,MAAM,CAAC;AACvE,CAAA,CAAE;AACF,CAAC;AACM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC1C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE;AACnB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAI,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAE;AACtC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,EAAE,CAAC;AACrI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,yBAAyB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE;AACpD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,EAAE,CAAC;AAC7G,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAClE;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,cAAc,CAAC,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,aAAa,CAAA,CAAE;AAC5D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE;AACnB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,IAAI,CAAC;AAChC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACvC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAE,CAAA,CAAE,OAAO,CAAA,CAAE,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAE,CAAA;AAC5D,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,aAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE;AACxC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,MAAM,CAAC;AAClF,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,MAAM,CAAA,CAAE;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,IAAI,CAAA,CAAA,CAAG,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,CAAA;AAC3E,CAAA,CAAA,CAAA,CAAA,CAAK;AAEL,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,OAAO,CAAyB,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAE,IAAI,CAAC;AACvG,CAAA,CAAE;AACF;;ACrCA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,IAAI,CAAA,CAAE;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE;AAC1D,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE;AAC1D,CAAA,CAAE;AAOF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AAChE;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,sBAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,IAAI,CAAA,CAAE;AACnD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC;AAC5C,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,UAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,UAAU,CAAC;AACjF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACT,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AACxC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACzC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsE,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB;AAC7H,CAAA,CAAA,CAAG;AACH;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAClD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE;AACtC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,YAAY,CAAC;AACpE,CAAA,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AACtD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI;AACN,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,OAAO,CAAC;AAC5C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC;AACxE,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,YAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC;AAC5E,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACV,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAO,CAAC;AAC5C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAa,CAAA,CAAA,CAAG;AACxB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAG;AACb,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC5C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAA,CAAA,CAAG;AAC9B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AACnB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtB,CAAA,CAAA,CAAG;AAOH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACpC,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AAClF,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,WAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,yFAAyF,CAAC;AAChI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAM,CAAA,CAAE;AACrB,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,aAAa,CAAA,CAAA,CAAA,CAAA,CAAK;AAIrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAE;AACf,CAAA,CAAA,CAAA,CAAI,CAAC;AACL,CAAA,CAAE,CAAC;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE;AACjF,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE;AACnB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AAC5B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,IAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC;AACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAA,CAAE;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAO,CAAA,CAAA,CAAG;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC7B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG;AAC1B,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,KAAK,CAAC;AAC3C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,YAAY,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAE;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,OAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC;AAC1J,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAI;AACtC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,kBAAkB,CAAA,CAAE;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AACnD,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAE;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,UAAU,CAAA,CAAE;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,MAAM,CAAC;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE;AAGvE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AAC7D,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAE;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAC/C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACtC,CAAA,CAAE,CAAC,CAAC;AACJ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AAIvD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC7B,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAA2F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,KAAK,CAAC;AAC7H,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,KAAK,CAAC;AACpC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,SAAS,CAAC;AACnD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACpD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,aAAa,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAClF,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAG,CAAC,UAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAC1F,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE;AACrF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,mBAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,QAAQ,CAAC;AAC7G,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,SAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,aAAa,CAAC;AAClG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,KAAK,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,aAAa,CAAC,CAAA,CAAE,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAG,CAAC,MAAM,CAAC;AACnG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,QAAQ,CAAC,CAAA,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE,CAAC,CAAC;AACJ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AAC9D,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AA6BvC,CAAA,CAAE,CAAC,CAAC;AAUJ,CAAC,CAAC;;;;ACpLF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAA,CAAA,CAAG;AACpB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG;AAClC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI;AACjB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA;AACd,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACd,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACjE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,GAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACvE,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,UAAU,CAAA,CAAE;AAC5C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,CAAA,CAAA,CAAA,CAAI;AACnB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAC,CAAC;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK;AAC7B,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACvC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,OAAO,CAAA,CAAA,CAAG,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACrC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AAChC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAE;AACX,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AAC1B,CAAC,CAAC;AACF,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AACxB,CAAA,CAAE,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,MAAM,CAAA,CAAE;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACZ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAE;AACzC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAE;AAC/D,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAE;AAClB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAE;AACnB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,kBAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE;AACpD,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAE;AACzC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,gBAAgB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE;AAC5C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,EAAE,CAAC;AACpE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACd,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AACZ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAA,CAAE,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA;AAC7F,CAAA,CAAA,CAAA,CAAI,CAAC;AACL,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAG;AACd,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAA,CAAI;AACV,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACX,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAA,CAAG;AACH,CAAA;AACA,CAAA,CAAE,GAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,GAAG,CAAC;AACpB,CAAC,CAAC,CAAC;AACH,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC5C,CAAA,CAAE,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,MAAM,CAAA,CAAE;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACZ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,cAAc,CAAA,CAAE;AACjD,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI;AACjB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,KAAK,CAAC,CAAA,CAAA,CAAA;AACnB,CAAA,CAAA,CAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAK;AACrD,CAAA,CAAE,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,MAAM,CAAA,CAAE;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACZ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI;AACN,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAC;AAC1G,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,QAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC;AACzI,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE;AACd,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAA,CAAG,CAAC,YAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACnG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiJ,CAAC,CAAC;AAC5N,CAAA,CAAE;AACF,CAAC,CAAC,CAAC;AACH,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoG;AAC7H,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE;AAChC,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,EAAE,CAAA,CAAA,CAAG,CAAC,MAAM,CAAA,CAAE;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AAClB,CAAC,CAAC,EAAE,CAAC;AACL,CAACA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1EA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,KAAK,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACvC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE;AAClD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACrB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC;AACxE,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AACX,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC/B,CAAA,CAAA,CAAA,CAAI,gBAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA;AAClD,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG;AACpB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACzF,CAAA,CAAA,CAAA,CAAI,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,SAAS,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,IAAI,CAAC,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC,CAAA,CAAE;AAC7E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,GAAG,CAAC;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAE;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,GAAG,CAAA,CAAA,CAAG;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAE,CAAC,CAAA,CAAE;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,eAAe,CAAC;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAC,CAAA,CAAE,UAAU,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAC;AAC5C,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAA,CAAE;AACjC,CAAA,CAAA,CAAA,CAAI,oBAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,iBAAiB,CAAC;AAC1D,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI;AAC5E,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,UAAU,CAAA,CAAE;AAClB,CAAA,CAAA,CAAA,CAAI,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,cAAc,CAAC;AACjD,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE;AACb,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,gBAAgB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,mBAAmB,CAAC;AACvE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACzC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAI,SAAS,CAAA,CAAE;AAClF,CAAA,CAAA,CAAA,CAAI,iBAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,cAAc,CAAC;AACjD,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE;AACb,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAE;AAC/D,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,cAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACxD,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE;AACvD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AAChD,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAE;AACjE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAC;AACtE,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAE;AACvE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,kBAAkB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC;AAChE,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,GAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAE;AACrE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,gBAAgB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AAC1D,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAE,CAAC;AACtB,CAAC,CAAC;;ACpFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,UAAU,CAAA,CAAE,CAAA,CAAE,MAAM,CAAC;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAE,CAAA,CAAE,IAAI,CAAA,CAAE;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC/B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAE;AACpB,CAAA,CAAE,eAAe,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,QAAQ,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,GAAG,CAAC;AAClC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAC;AAChD,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,GAAG,CAAC;AAC/B,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC;AACzB,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AAC5B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC;AACrF,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAC;AACnC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAC;AACvE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAC;AAC9D,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAE;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,WAAW,CAAA,CAAE;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAE,CAAC;AACnG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AAClB,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACtB,CAAA,CAAE,CAAC;AACH;;AC3BA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AACvC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAE;AACnF,CAAC;AAC0B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,YAAY,CAAA,CAAE;AAC5D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAClB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAoB,CAAA,CAAE,CAAe;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC5B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC1D,CAAC,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAqB;AACvE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,kBAAkB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,eAAe,CAAA,CAAA,CAAA,CAAA,CAAK;AAC9D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE;AACnB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI;AACN,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAC;AAC1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAA,CAAE;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,MAAM,CAAC;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,MAAM,CAAC;AAC7C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,MAAM,CAAC;AAC7B,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACjB,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,4BAA4B,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC;AAC7D,CAAA,CAAE;AACF,CAAC;AACM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,kBAAkB,CAAA,CAAE;AACxE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AACvB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAoB,CAAA,CAAE,CAAe;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE,EAAE,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAC;AACtG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AACzG,CAAC,CAAC;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE;AACnB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI;AACN,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAC;AAChE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,MAAM,CAAC;AAC/B,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACjB,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,4BAA4B,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC;AAC7D,CAAA,CAAE;AACF,CAAC;AACmC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,qBAAqB,CAAA,CAAE;AAC9E,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AACpB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAoB,CAAA,CAAE,CAAe;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,OAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC;AACxC,CAAA,CAAE,iBAAiB,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,MAAM,CAAC;AACtF,CAAC,CAAA;;ACjDD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,gBAAgB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAC7D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAC;AAChD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AACf,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAA,CAAE,CAAC;AACxE,CAAA,CAAE;AACF,CAAA,CAAE,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,KAAK,CAAC;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAClE,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC,QAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,EAAE,CAAC;AAChF,CAAA,CAAE;AACF,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,MAAM,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,EAAE,CAAC;AAChG,CAAA,CAAE,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAG,CAAC,QAAQ,CAAC;AAClC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACrB,CAAC,CAAC;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,gBAAgB,CAAA,CAAE;AACpE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB;AAChC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAoB,CAAA,CAAE,CAAe;AAC7C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC;AACnH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACjC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAC;AAClD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AAClB,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AAC9E,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,aAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAClD,CAAA,CAAE;AACF,CAAC,CAAC;AAC6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,oBAAoB,CAAA,CAAE;AAC9E,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AACvB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAoB,CAAA,CAAE,CAA+B;AAC7D,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AACZ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG;AAClH,CAAC,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,gBAAgB,CAAyB;;ACnC1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAClC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AAC9C,CAAC;;ACCD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC1B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAG;AACjB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,gBAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAA,CAAA,CAAA,CAAI;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,gBAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAA,CAAA,CAAI;AAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,IAAI,CAAC;AACnC,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACvB;;ACXA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACtC,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,WAAW,CAAC;AACzC;;ACPO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACzC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACd,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE;AACb,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAE;AAChB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAE;AAC3B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,GAAG,CAAC;AAC3B,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAG;AACZ;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AACxE,CAAA,CAAE,OAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,EAAE,CAAC;AAC1E;;;;ACNA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,EAAE,CAAA,CAAE;AAClC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC;AAC5B,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AAC/B,CAAA,CAAA,CAAG,CAAC;AACJ,CAAA,CAAE,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,IAAI,CAAC;AACjC,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAI;AACb;;;;;;;;ACHA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC/B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,GAAG,CAAC;AACrC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE;AACxB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACzB,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,UAAU,CAAC;AACtE;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC;AACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAA,CAAG;AACpB,CAAA,CAAE,CAAA,CAAA,CAAG;AACL,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AACP,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,KAAK,CAAC;AACxC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAgE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACzH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,aAAa,CAAC;AACjC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AACd,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACjB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAE;AACb,CAAA,CAAE,CAAC,kBAAkB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,IAAI,CAAC;AAC3C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA;AAClB,CAAA,CAAE;AAOF,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAClB;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,KAAK,CAAA,CAAE;AAC/C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI;AACxB,CAAC,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAE,KAAK,CAAA,CAAE;AAC/B,CAAC,UAAU,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG;AAC3B;;ACrCA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAC,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAC,CAAC;AACzE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,GAAG,CAAC,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AAChG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,OAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAC;;AAIpJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AAC7D;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAA,CAAE;AAC5C,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE;AACpB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,gCAAgC,CAAC;AACnD,CAAC;AACD;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAqC;AACrF;AACA,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,YAAY,CAAA,CAAE;AAC/C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AACb,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAY;AACnE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc;AAChB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAE,CAAC;AACH,CAAC,eAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,OAAO,CAAA,CAAE;AAC/C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,cAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC;AACpD,CAAA;AACA,CAAA;AACA,CAAA,CAAE,IAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,sBAAsB,CAAA,CAAE;AAC7D,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,cAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAE,CAAC;AACrE,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AACtD,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAChB,CAAC,CAAC;;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AACtD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAqC;AACrF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACvG,CAAA,CAMS;AACT,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AACpD,CAAA,CAAE;AACF,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAE;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AACb,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAY;AACnE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAE,CAAC;AACH,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAE,CAAC;AACjD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAC,UAAU,CAAA,CAAA,CAAA,CAAA,CAAK;AACxC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,KAAK,CAAC;AACnD,CAAA,CAAE,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAE;AAClC,CAAA,CAAE,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AAC3C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG;AACtB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACxB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA;AACf,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,MAAM,CAAC;AAChC,CAAC,CAAC;AACF,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AAC3C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAE;AACF,CAAC,CAAC;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAE,CAAA,CAAE;AAChC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI;AACf,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACd,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACpB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,GAAG,CAAA,CAAE,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AAC7B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAA,CAAI;AACd,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAG;AACb,CAAA,CAAA,CAAG,CAAC,CAAC;AACL,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAG;AACZ,CAAC,CAAC;AACF;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE;AAC7E;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC;;ACtGlH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AACtD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAY,CAAA,CAAE;AACtC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAE;AAChC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,WAAW,CAAA,CAAE;AAChC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE;AACxC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE,CAAA,CAAE;AAC9C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAG,CAAC,KAAK,CAAC;AAC5B,CAAA,CAAA,CAAG;AACH,CAAA,CAAE;AACF,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAC,CAAC;AACxE;;ACZA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,eAAe,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,qBAAqB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAE,CAAC,CAAC;;AAElF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC7C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,eAAe,CAAC;AAC1C,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,CAAC,IAAI,CAAA,CAAA,CAAA,CAAI;AAC1B;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB;AAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B;AAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AAClD,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA,CAAE;AACvF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAClB,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAE;AACpB,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,aAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE;AAC5E,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG;AACnB,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAA,CAAI;AACV,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AAC7D,CAAA,CAAA,CAAG;AACH,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAChB;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AACpD,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA,CAAE;AAC5F,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAClB,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAE;AACpB,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,SAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,aAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAE;AAC3F,CAAA;AACA,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,SAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAE,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,EAAE,CAAA,CAAE,CAAC,IAAI,CAAA,CAAE;AACtG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAG;AACxB,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACf,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI;AACP,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACxE,CAAA,CAAA,CAAG;AACH,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAChB;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,SAAS,CAAA,CAAE;AAC/D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,SAAS,CAAC;AAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAE;AACjB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAC,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AACrC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,sBAAsB,CAAC;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAE;AACb,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAG,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AAC7B,CAAA,CAAA,CAAG,IAAI,CAAC,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAE;AAClC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AACtB,CAAA,CAAE;AACF,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AACb;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,IAAI,CAAA,CAAE;AACzD,CAAC,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAChD,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAC,SAAS,CAAA,CAAE;AAClC,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAI;AACb,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,SAAS,CAAA,CAAE;AAC9B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,eAAe,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,0BAA0B,CAAC;AAC/D,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,eAAe,CAAA,CAAE;AACvB,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AAC5C,CAAA,CAAA,CAAG,IAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,QAAQ,CAAA,CAAE;AAC1B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAE,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AACpH,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,GAAG,CAAC;AAChC,CAAA,CAAA,CAAG,CAAC,CAAC;AACL,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,wBAAwB,CAAC;AACvD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,SAAS,CAAA,CAAE;AACjB,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAClC,CAAA,CAAA,CAAG,IAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,IAAI,CAAA,CAAE;AACtB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAE,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AAC3G,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,GAAG,CAAC;AAChC,CAAA,CAAA,CAAG,CAAC,CAAC;AACL,CAAA,CAAE;AACF,CAAC;AACD,CAAC,OAAO,CAAA,CAAA,CAAA,CAAI;AACZ;;ACxEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,SAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACpD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AAC/B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC3B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC;AAClD,CAAA,CAAE,cAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAE,CAAC;AAIH,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,KAAK,CAAC;AACpD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAU,CAAA,CAAA,CAAG;AACpB,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AAC5B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACf,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AACd,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA;AACrB,CAAA,CAAE;AACF;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAA,CAAE;AACxC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AACrF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAE;AAC3E,CAAA,CAAA,CAAG,OAAO,CAAA,CAAE;AACZ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC;AACzD,CAAA,CAAE,MAAM,CAAA,CAAA,CAAG;AACX,CAAC,CAAC,CAAC;AACH;AACA;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE;AACvD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACZ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAE,CAAC;AACH,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAE;AACpC,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,iBAAiB,CAAC;AAChD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAE;AACzD,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAC;AACrB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACnC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAI,CAAC;AACL,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAC;AAC9C,CAAC;AACD;AACA,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,KAAK,CAAA,CAAE;AAChC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AAChC,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC;AACzE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AAC3B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAC;AAChD,CAAC;AACD,CAAsB;AACtB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC;AACjF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAE;AACjB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE;AAChD,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAA,CAAA,CAAA,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE;AAC/C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA;AACA,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE;AAC9E,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACd,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;AACtB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AACjE,CAAA,CAAA,CAAA,CAAA,CAAK,WAAW,CAAA,CAAE,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACN,CAAA,CAAA,CAAG;AACH,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AACnB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAC;AACrD,CAAA,CAAE;AACF,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAE;AACtB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAE;AACvD,CAAA;AACA,CAAA,CAAE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,qBAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAE;AACjF,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,GAAG,CAAC;AACvC,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,YAAY,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,KAAK,CAAC;AAC/B,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACV,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AAC3B,CAAA,CAAA,CAAG;AACH,CAAA,CAAE;AACF,CAAC;AACD;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACvB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACxB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAA,CAAA,CAAG;AACxB,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAE;AACtB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAClB,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,IAAI,CAAC;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,UAAU,CAAC;AACjD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACzC,CAAA,CAAE;AACF,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE;AAChE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AACP,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAE,CAAC;AAKH,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AACtB,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAA,CAAE;AAC/C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE;AAC9C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AAC5D,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AAC1B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC;AACvE,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI;AACrB;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACvC,CAAC,IAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAE;AAC3B,CAAoB,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAE,CAAA;AAM3C,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAE;AAC1C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAC;AACpB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAG;AAClB,CAAA,CAAA,CAAG,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAG,CAAC;AACJ,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,gBAAgB,CAAA,CAAE,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC;AACzG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAC5E,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,GAAG,CAAC;AAC/C,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAE;AACrE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAC;AACpB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAG;AAClB,CAAA,CAAA,CAAG,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAG,CAAC;AACJ,CAAC;AACD,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAC,KAAK,CAAC,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,KAAK,CAAC;AACpF,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAAC,UAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAChD,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,QAAQ,CAAC;AAClD;AACA;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAE;AACzB,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAA,CAAE;AACnD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,UAAU,CAAA,CAAE;AAChC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AACxB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,GAAG,CAAC;AACxC,CAAA,CAAA,CAAG;AACH,CAAA,CAAE;AACF,CAAC;AACD;AACA;AACA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AAC/F,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,YAAY,CAAA,CAAE;AACzC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAW,CAAC;AACpB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAG;AAClB,CAAA,CAAA,CAAG,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAG,CAAC;AACJ,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAG;AACjE,CAAA,CAAE,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACZ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;AACrB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACjB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAE;AACX,CAAA,CAAE,UAAU,CAAA,CAAE,CAAA;AACd,CAAA,CAAE;AACF;;;;;;;;;;;;AC9JA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,cAAc,CAAA,CAAA,CAAG;AAC1B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AAC7B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAY,CAAA,CAAA,CAAG,CAAC,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AAChD,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AACtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqC,CAAA,CAAE,MAAM,CAAC;AAClE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AACN,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAE;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAE;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,SAAS,CAAA,CAAE;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,OAAO,CAAC;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE,CAAC;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AAC1B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,IAAiB,CAAC;AACnC,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,EAAE,CAAC;AACvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,KAAK,CAAC;AACvC,CAAA,CAAA,CAAA,CAAI,CAAC;AACL,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,EAAE,CAAA,CAAE;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAY,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE;AAC/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,SAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,KAAK,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAC;AAC1F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAC,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,IAAI,CAAA,CAAE;AACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAE;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,GAAG,CAAA,CAAE;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,SAAS,CAAA,CAAE;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,OAAO,CAAC;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,KAAK,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACvE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,EAAE,CAAC;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AACR,CAAA,CAAA,CAAA,CAAI,CAAC;AACL,CAAA,CAAA,CAAA,CAAI,gBAAgB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAMA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAC,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACxF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,EAAE,CAAC;AACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AACR,CAAA,CAAA,CAAA,CAAI,CAAC;AACL,CAAA,CAAA,CAAA,CAAI,eAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAMA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAC,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACvF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,EAAE,CAAC;AACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AACR,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAG,CAAC;AACJ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAC;AAC9B,CAAA,CAAA,CAAA,CAAI,UAAU,CAAA,CAAE,CAAA,CAAA,CAAA;AAChB,CAAA,CAAA,CAAG,CAAC;AACJ,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,KAAK,CAAC;AAC3C,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB;AACxD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AACf,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AACtC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAE;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,IAAI,CAAC;AAC1C,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC;AAC1D,CAAA,CAAE,CAAC;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC;AAC7B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO;AACX,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAC3C,CAAA,CAAA,CAAG,CAAC;AACJ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC5B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAC,CAAC;AACpD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAA,CAAE;AAC5B,CAAA,CAAA,CAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAC,CAAC,IAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAClE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,IAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,IAAI,CAAA,CAAA,CAAG,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE,OAAO,CAAC;AACxC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,CAAA,CAAA,CAAG;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,OAAO,CAAA,CAAE;AAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC,CAAC,MAAM,CAAC;AAC5C,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,OAAO,CAAC;AAQ/C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAG;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AACT,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AACT,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACV,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACb,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACd,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,OAAO,CAAA,CAAA,CAAG;AACZ;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE;AACpC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAE;AAChC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AACvB,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,EAAE,CAAC;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AACjB,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAE;AACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,WAAW,CAAA,CAAA,CAAG;AAC9B,CAAA,CAAE,OAAOA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ;AACjB;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAACA,UAAQ,CAAC;;ACtJzB,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE;AACxB,CAAA,CAAE,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAGG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAC1C;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,oBAAoB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,EAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAE,CAAC,SAAS,CAAA,CAAE,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AACnC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAE;AACvC,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAA,CAAE;AACd,CAAA,CAAE;AACF,CAAC,CAAC;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AACzD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC3B,CAAA,CAAE,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACpB,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAAA,CAAE,KAAK,CAAC;AACtD,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,QAAQ,CAAA,CAAE;AACnB,CAAC,CAAC;AAKF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG;AACnB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AACjB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACtC,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,KAAK,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC,OAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAI,CAAC,OAAO,CAAA,CAAA,CAAA,CAAI;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAE,CAAC;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AACP,CAAA,CAAA,CAAA,CAAA,CAAK;AACL,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,MAAM,CAAC;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAK;AACL,CAAA,CAAE,CAAC;AACH,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG;AACnB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB;AACvB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACtC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,MAAM,CAAC;AAC9C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAGN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC;AACvE,CAAA,CAAA,CAAA,CAAA,CAAK;AACL,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,IAAI,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAC;AAC3C,CAAA,CAAE,CAAC;AACH,CAAC;AAID,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACvC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACvG,CAAC,CAAA,CAAE;AACH,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AAC1C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAGM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAC7E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAC,OAAO,CAAA,CAAE;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA;AACnH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAO,CAAA,CAAE;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AACR,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACnB,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE,CAAC,CAAC;AACJ;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,gBAAgB,CAAA,CAAA,CAAG;AAC5B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAC,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAG,CAAC,CAAC,KAAK,CAAC;AAC7H,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,OAAO,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC;AACjD,CAAA,CAAE;AACF,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,OAAO,CAAA,CAAE;AACpC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAE,CAAA,CAAE,CAAC;AAC9E,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAE;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAC,CAAA,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC;AAC9B,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAE;AACF,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAI,CAAC,MAAM,CAAA,CAAE,CAAA,CAAE,UAAU,CAAC;AACnC;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,QAAQ,CAAA,CAAA,CAAG;AAC1B,CAAA,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAI;AAChC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAC;AACpB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC;AACtD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACxD,CAAA,CAAA,CAAG,CAAC;AACJ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAC;AAC5C;;AC7GA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAS,CAAA,CAAA,CAAG;AAClB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAClB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAA,CAAE;AACd,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAG;AACd,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AAC7B,CAAC,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChB,CAAC;AACM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK;AACtC,CAAC,QAAQ,CAAA,CAAA,CAAG;AACZ,CAAA,CAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACd,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACL,CAAA,CAAE;AACF,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,gDAAgD,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,MAAM,CAAC,CAAA,CAAA,CAAG,KAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,UAAU,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAymI,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoF,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B;AACx8I,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AAClD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAE,IAAI,CAAA,CAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,YAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAgE;AAC9L,CAAA,CAAE,UAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,KAAK,CAAC;AACjD,CAAA,CAAE,aAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,KAAK,CAAC;AACxD,CAAA,CAAE,OAAO,CAAA,CAAE;AACX,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAkC;AAC1G,CAAA,CAAA,CAAG,cAAc,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AACnB,CAAA,CAAA;AACA,CAAA,CAAE;AACF;AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC9C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,IAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AAClH,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAA,CAAA,CAAG;AACjB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AAC5B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACvB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAK;AACzB,CAAA,CAAE,UAAU,CAAA,CAAE,CAAA,CAAiB,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK;AACpD,CAAA,CAAE;AACF,CAAgB;AAChB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AAC9B,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACf,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG;AAChC,CAAC;AACD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AAC9C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAkH,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,EAAE,CAAC;AACvM;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE;AACnC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,SAAS,CAAC;AACtC;AAuBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE;AACzC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAC/D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAE,OAAO,CAAA,CAAE;AACX,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACb,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAA,CAAG;AACH,CAAA,CAAE,OAAO,CAAA,CAAE;AACX,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI;AACP,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACH,CAAA,CAAA;AACA,CAAA,CAAE;AACF;;;;AC/CA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52]} \ No newline at end of file +{"version":3,"file":"index.mjs","sources":["../../node_modules/@nuxt/nitro-server/dist/runtime/utils/cache-driver.js","../../node_modules/nitropack/dist/runtime/internal/storage.mjs","../../node_modules/nitropack/dist/runtime/internal/hash.mjs","../../node_modules/nitropack/dist/runtime/internal/cache.mjs","../../node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../node_modules/nitropack/dist/runtime/internal/config.mjs","../../node_modules/nitropack/dist/runtime/internal/context.mjs","../../node_modules/nitropack/dist/runtime/internal/route-rules-utils.mjs","../../node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../node_modules/nitropack/dist/runtime/internal/utils.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/error.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/dev.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.mjs","../../node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../node_modules/nitropack/dist/runtime/internal/error/dev.mjs","../../node_modules/@nuxt/devtools/dist/runtime/nitro/inline.js","../../node_modules/@intlify/shared/dist/shared.mjs","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/messages.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/vue-i18n.js","../../node_modules/nitropack/dist/runtime/internal/plugin.mjs","../../node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../node_modules/nitropack/dist/runtime/internal/task.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/paths.mjs","../../node_modules/@intlify/utils/dist/shared/utils.9f8159f5.mjs","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/utils.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/locales.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/context.js","../../node_modules/@nuxtjs/i18n/dist/runtime/kit/browser.js","../../node_modules/@nuxtjs/i18n/dist/runtime/kit/routing.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/domain.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/detection.js","../../node_modules/@nuxtjs/i18n/dist/runtime/shared/matching.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/plugin.js","../../node_modules/@nuxt/nitro-server/dist/runtime/plugins/dev-server-logs.mjs","../../node_modules/nitropack/dist/runtime/internal/static.mjs","../../node_modules/@nuxtjs/i18n/dist/runtime/server/utils/cache.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/utils/messages.js","../../node_modules/@nuxtjs/i18n/dist/runtime/server/routes/messages.js","../../node_modules/@unhead/vue/dist/shared/vue.N9zWjxoK.mjs","../../node_modules/@unhead/vue/dist/shared/vue.Cr7xSEtD.mjs","../../node_modules/@unhead/vue/dist/utils.mjs","../../node_modules/nuxt/dist/app/island-hash.js","../../node_modules/@unhead/vue/dist/server.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/app.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/build-files.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/inline-styles.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/islands.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/island.mjs","../../node_modules/nitropack/dist/runtime/internal/app.mjs","../../node_modules/nitropack/dist/presets/_nitro/runtime/nitro-dev.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/templates/error-500.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/payload.mjs","../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/renderer.mjs"],"names":["crypto","storage","_inlineAppConfig","createRadixRouter","_localeCodes","consola","hash","renderToString","_renderToString","handler","getURLQuery","getQuery","destr","nitroApp","createRouter","Headers","nodeCrypto","server","template"],"mappings":"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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAA,CAAA,CAAG;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA;AACA;AACA,CAAC;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,cAAc,CAAA,CAAE;AACxD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,EAAE,CAAA,CAAA,CAAA,CAAI,CAAC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAC;;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAA,CAAE,UAAU,CAAC,CAAA;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,cAAc,CAAC,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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AA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52]} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/B2nIQl38.js b/frontend_admin/.nuxt/dist/client/_nuxt/B2nIQl38.js new file mode 100644 index 0000000..64d2c03 --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/B2nIQl38.js @@ -0,0 +1 @@ +import{_ as s}from"./DlAUqK2U.js";import{o,c as t,J as r}from"./CHWHIiGB.js";const c={},n={class:"bg-slate-900 min-h-screen"};function a(e,l){return o(),t("div",n,[r(e.$slots,"default")])}const d=s(c,[["render",a]]);export{d as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/BO90Bn6x.js b/frontend_admin/.nuxt/dist/client/_nuxt/BO90Bn6x.js deleted file mode 100644 index 00eb82c..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/BO90Bn6x.js +++ /dev/null @@ -1 +0,0 @@ -import{e as O,y as q,c as a,a as e,t as o,F as f,n as M,i as k,d as S,r as h,m as p,x as P,A as B,o as n}from"./CqYPuxVf.js";const J={class:"mb-8"},Q={class:"text-2xl font-bold text-white"},W={class:"text-slate-400 mt-1"},X={key:0,class:"flex items-center justify-center py-20"},Y={class:"ml-3 text-slate-400"},Z={key:1,class:"bg-red-500/10 border border-red-500/20 rounded-xl p-6 mb-8"},ee={class:"flex items-center gap-3"},se={class:"text-red-300 font-medium"},te={class:"text-red-400/80 text-sm mt-1"},re={key:1,class:"mb-6 flex items-center gap-3"},oe={class:"text-sm text-slate-400"},ae={class:"bg-indigo-500/10 border border-indigo-500/20 rounded-xl p-4 mb-8 flex items-start gap-3"},ne={class:"text-sm text-indigo-300"},le={class:"font-semibold"},ie={key:0,class:"ml-3 text-indigo-400/70"},de={class:"grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8"},ce={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},ue={class:"flex items-center gap-3 mb-4"},pe={class:"text-lg font-semibold text-white"},me={class:"text-sm text-slate-400 mb-4"},fe={class:"space-y-3"},he={class:"text-sm text-slate-300"},ge={class:"relative inline-flex items-center cursor-pointer"},be=["checked","onChange"],ve={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},xe={class:"flex items-center gap-3 mb-4"},ke={class:"text-lg font-semibold text-white"},_e={class:"text-sm text-slate-400 mb-4"},ye={class:"space-y-3"},we={class:"text-sm text-slate-300"},Ce={class:"relative inline-flex items-center cursor-pointer"},$e=["checked","onChange"],Me={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},Pe={class:"flex items-center gap-3 mb-4"},Be={class:"text-lg font-semibold text-white"},je={class:"text-sm text-slate-400 mb-4"},Ve={class:"space-y-3"},Ae={class:"flex flex-col"},ze={class:"text-sm text-slate-300"},Fe={class:"text-xs text-slate-500"},Ne={class:"relative inline-flex items-center cursor-pointer"},Le=["checked","onChange"],Se={class:"bg-slate-800/50 border border-slate-700 rounded-xl p-6 mb-8"},He={class:"text-lg font-semibold text-white mb-4"},De={class:"text-sm text-slate-400 mb-6"},Te={class:"overflow-x-auto"},Ee={class:"w-full text-sm"},Ue={class:"border-b border-slate-700"},Ke={class:"text-left py-3 px-4 text-slate-400 font-medium"},Re={class:"py-2.5 px-4 text-slate-300"},Ie={key:0,class:"inline-flex items-center justify-center w-6 h-6 rounded-full bg-emerald-400/10"},Ge={key:1,class:"inline-flex items-center justify-center w-6 h-6 rounded-full bg-slate-700"},Oe={key:2,class:"flex items-center gap-3 pb-8"},Qe=O({__name:"index",setup(qe){const _=p(!0),x=p(null),m=p({tier:"free",features:{},expires_at:null}),y=p([]),j=p([]),c=p(new Map),g=p(new Map),u=p(null),H=P(()=>Object.entries(m.value.features||{})),V=P(()=>c.value.size>0),D=P(()=>{const s=m.value.tier;return s==="enterprise"?"bg-purple-500/20 text-purple-300":s==="premium"?"bg-amber-500/20 text-amber-300":"bg-slate-500/20 text-slate-300"}),w=[{key:"user_mgmt",label:"User Management",enabled:!0},{key:"billing_admin",label:"Billing Administration",enabled:!0},{key:"robot_config",label:"Robot Configuration",enabled:!0},{key:"system_logs",label:"System Logs Access",enabled:!0},{key:"api_keys",label:"API Key Management",enabled:!1}],C=[{key:"vehicle_crud",label:"Vehicle CRUD",enabled:!0},{key:"service_booking",label:"Service Booking",enabled:!0},{key:"customer_view",label:"Customer Data View",enabled:!0},{key:"report_export",label:"Report Export",enabled:!1},{key:"bulk_import",label:"Bulk Import",enabled:!1}];function A(s,t){const r=`${s}:${t}`;if(c.value.has(r))return c.value.get(r);const d=(s==="superadmin"?w:C).find(l=>l.key===t);return d?d.enabled:!1}function T(s){return s.replace(/^cost_category:/,"").replace(/_/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function E(s){try{return new Date(s).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"})}catch{return s}}function U(s,t){return s.actions.includes(t)}function $(s,t,r){const d=r.target.checked,l=`${s}:${t}`;if(!g.value.has(l)){const L=(s==="superadmin"?w:C).find(G=>G.key===t);g.value.set(l,L?L.enabled:!1)}const v=g.value.get(l);d===v?c.value.delete(l):c.value.set(l,d),c.value=new Map(c.value),console.log(`[Permissions] Toggle: group=${s}, key=${t}, newValue=${d}`)}function b(){setTimeout(()=>{u.value=null},5e3)}async function z(){u.value=null;try{const t=B("access_token").value;if(!t){u.value={type:"error",message:"Not authenticated"},b();return}const r=[];if(c.value.forEach((l,v)=>{const N=v.replace(/^(superadmin|garage):/,"").toUpperCase();r.push({action:N,granted:l})}),r.length===0){u.value={type:"error",message:"No changes to save"},b();return}const d=(await Promise.allSettled(r.map(l=>$fetch("/api/v1/admin/permissions/override/0",{method:"PATCH",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:{action:l.action,granted:l.granted}})))).filter(l=>l.status==="rejected");if(d.length>0){const l=d.map(v=>v.reason?.message||"Unknown error");u.value={type:"error",message:`Failed to save ${d.length} permission(s): ${l.join("; ")}`},b();return}c.value=new Map,g.value=new Map,u.value={type:"success",message:`Successfully saved ${r.length} permission change(s).`},b(),console.log("[Permissions] Save successful:",r)}catch(s){console.error("[Permissions] Save failed:",s),u.value={type:"error",message:s?.message||"Failed to save permissions"},b()}}function K(){c.value=new Map,g.value=new Map,u.value=null}async function R(){try{const t=B("access_token").value;if(!t){console.warn("[Permissions] No access token found for feature flags");return}const r=await $fetch("/api/v1/subscriptions/feature-flags",{headers:{Authorization:`Bearer ${t}`}});console.log("[Permissions] Feature flags loaded:",r),m.value=r}catch(s){console.error("[Permissions] Feature flags fetch failed:",s?.message||s)}}async function I(){try{const t=B("access_token").value;if(!t){console.warn("[Permissions] No access token found for permission matrix");return}const r=await $fetch("/api/v1/admin/permissions/matrix",{headers:{Authorization:`Bearer ${t}`}});console.log("[Permissions] Permission matrix loaded:",r),y.value=r.matrix,j.value=r.all_actions}catch(s){console.error("[Permissions] Permission matrix fetch failed:",s?.message||s)}}async function F(){_.value=!0,x.value=null;try{await Promise.all([R(),I()])}catch(s){console.error("[Permissions] fetchAll failed:",s?.message||s),x.value=s?.message||"Failed to load permissions data"}finally{_.value=!1}}return q(()=>{F()}),(s,t)=>(n(),a("div",null,[e("div",J,[e("h1",Q,o(s.$t("permissions.title")),1),e("p",W,o(s.$t("permissions.subtitle")),1)]),_.value?(n(),a("div",X,[t[0]||(t[0]=e("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("span",Y,o(s.$t("permissions.loading")),1)])):x.value?(n(),a("div",Z,[e("div",ee,[t[1]||(t[1]=e("svg",{class:"w-6 h-6 text-red-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),e("div",null,[e("h3",se,o(s.$t("permissions.error_title")),1),e("p",te,o(x.value),1)])]),e("button",{onClick:F,class:"mt-4 px-4 py-2 text-sm bg-red-600 hover:bg-red-500 text-white rounded-lg transition"},o(s.$t("permissions.retry")),1)])):(n(),a(f,{key:2},[u.value?(n(),a("div",{key:0,class:M(["mb-6 px-4 py-3 rounded-lg text-sm font-medium",u.value.type==="success"?"bg-emerald-500/10 border border-emerald-500/20 text-emerald-300":"bg-red-500/10 border border-red-500/20 text-red-300"])},o(u.value.message),3)):k("",!0),V.value?(n(),a("div",re,[e("button",{onClick:z,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[t[2]||(t[2]=e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),S(" "+o(s.$t("permissions.save_changes")),1)]),e("span",oe,o(s.$t("permissions.modified_count",{count:c.value.size})),1)])):k("",!0),e("div",ae,[t[3]||(t[3]=e("svg",{class:"w-5 h-5 text-indigo-400 flex-shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),e("div",ne,[e("span",le,o(s.$t("permissions.current_tier"))+":",1),e("span",{class:M(["ml-2 px-2 py-0.5 rounded-full text-xs font-medium",D.value])},o(m.value.tier||"free"),3),m.value.expires_at?(n(),a("span",ie,o(s.$t("permissions.expires"))+": "+o(E(m.value.expires_at)),1)):k("",!0)])]),e("div",de,[e("div",ce,[e("div",ue,[t[4]||(t[4]=e("div",{class:"p-2 rounded-lg bg-purple-500/10 text-purple-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"})])],-1)),e("h2",pe,o(s.$t("permissions.superadmin")),1)]),e("p",me,o(s.$t("permissions.superadmin_desc")),1),e("div",fe,[(n(),a(f,null,h(w,r=>e("div",{key:r.key,class:"flex items-center justify-between py-2 border-b border-slate-700/50 last:border-0"},[e("span",he,o(s.$t(`permissions.perms.${r.key}`)),1),e("label",ge,[e("input",{type:"checkbox",checked:A("superadmin",r.key),class:"sr-only peer",onChange:i=>$("superadmin",r.key,i)},null,40,be),t[5]||(t[5]=e("div",{class:"w-9 h-5 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-purple-500/50 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-purple-600"},null,-1))])])),64))])]),e("div",ve,[e("div",xe,[t[6]||(t[6]=e("div",{class:"p-2 rounded-lg bg-cyan-500/10 text-cyan-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8.25 18.75a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 01-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 00-3.213-9.193 2.056 2.056 0 00-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 00-10.026 0 1.106 1.106 0 00-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"})])],-1)),e("h2",ke,o(s.$t("permissions.garages")),1)]),e("p",_e,o(s.$t("permissions.garages_desc")),1),e("div",ye,[(n(),a(f,null,h(C,r=>e("div",{key:r.key,class:"flex items-center justify-between py-2 border-b border-slate-700/50 last:border-0"},[e("span",we,o(s.$t(`permissions.perms.${r.key}`)),1),e("label",Ce,[e("input",{type:"checkbox",checked:A("garage",r.key),class:"sr-only peer",onChange:i=>$("garage",r.key,i)},null,40,$e),t[7]||(t[7]=e("div",{class:"w-9 h-5 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-cyan-500/50 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-cyan-600"},null,-1))])])),64))])]),e("div",Me,[e("div",Pe,[t[8]||(t[8]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"})])],-1)),e("h2",Be,o(s.$t("permissions.feature_flags")),1)]),e("p",je,o(s.$t("permissions.feature_flags_desc",{tier:m.value.tier||"free"})),1),e("div",Ve,[(n(!0),a(f,null,h(H.value,([r,i])=>(n(),a("div",{key:r,class:"flex items-center justify-between py-2 border-b border-slate-700/50 last:border-0"},[e("div",Ae,[e("span",ze,o(T(r)),1),e("span",Fe,o(r),1)]),e("label",Ne,[e("input",{type:"checkbox",checked:i,class:"sr-only peer",disabled:!0,onChange:d=>$("feature",r,d)},null,40,Le),e("div",{class:M(["w-9 h-5 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-amber-500/50 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all",i?"peer-checked:bg-amber-600":""])},null,2)])]))),128))])])]),e("div",Se,[e("h3",He,o(s.$t("permissions.rbac_title")),1),e("p",De,o(s.$t("permissions.rbac_desc")),1),e("div",Te,[e("table",Ee,[e("thead",null,[e("tr",Ue,[e("th",Ke,o(s.$t("permissions.action")),1),(n(!0),a(f,null,h(y.value,r=>(n(),a("th",{key:r.role,class:"text-center py-3 px-4 text-slate-400 font-medium"},o(r.role),1))),128))])]),e("tbody",null,[(n(!0),a(f,null,h(j.value,r=>(n(),a("tr",{key:r,class:"border-b border-slate-700/50 hover:bg-slate-700/30"},[e("td",Re,o(r),1),(n(!0),a(f,null,h(y.value,i=>(n(),a("td",{key:i.role,class:"text-center py-2.5 px-4"},[U(i,r)?(n(),a("span",Ie,[...t[9]||(t[9]=[e("svg",{class:"w-4 h-4 text-emerald-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])])):(n(),a("span",Ge,[...t[10]||(t[10]=[e("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])]))]))),128))]))),128))])])])]),V.value?(n(),a("div",Oe,[e("button",{onClick:z,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[t[11]||(t[11]=e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),S(" "+o(s.$t("permissions.save_changes")),1)]),e("button",{onClick:K,class:"px-4 py-2.5 bg-slate-700 hover:bg-slate-600 text-slate-300 font-medium rounded-lg transition"},o(s.$t("permissions.discard")),1)])):k("",!0)],64))]))}});export{Qe as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/BezjjCqI.js b/frontend_admin/.nuxt/dist/client/_nuxt/BezjjCqI.js new file mode 100644 index 0000000..668b9d9 --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/BezjjCqI.js @@ -0,0 +1 @@ +import{_ as O}from"./qc1uPXiA.js";import{p as J,e as q,E as Q,g as X,D as Y,q as Z,K as ee,o,c as r,i as B,a as e,b as H,w,n as d,F as x,r as b,k as L,L as R,t as u,M as S,h as A,d as $,J as te,x as k,m,z as se}from"./CHWHIiGB.js";import{u as oe}from"./j8avB3IT.js";import{u as ne}from"./DKEj_yij.js";const le=J("/logo.svg"),ae={class:"min-h-screen bg-slate-900 text-white flex"},re={class:"flex items-center gap-3 min-w-0"},ie={class:"flex-1 px-2 py-4 space-y-2 overflow-y-auto overflow-x-hidden"},de={key:0},ue=["onClick"],ce=["innerHTML"],he={class:"ml-2 mt-1 space-y-1 overflow-hidden transition-all duration-200"},ve=["innerHTML"],pe={class:"whitespace-nowrap overflow-hidden"},xe=["innerHTML"],fe={class:"p-4 border-t border-slate-700 overflow-hidden"},ke={class:"flex-1 flex flex-col min-w-0 transition-all duration-300 ease-in-out"},me={class:"sticky top-0 z-10 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700"},ge={class:"flex items-center justify-between h-16 px-4 lg:px-6"},we={class:"flex items-center gap-3"},be={class:"text-lg font-semibold text-white truncate"},_e={class:"flex items-center gap-3"},ye={class:"flex items-center bg-slate-700/50 rounded-lg p-0.5"},Ce=["onClick"],ze={class:"w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold text-white"},Me={class:"hidden sm:block text-sm text-slate-300"},je={key:0,class:"absolute right-0 mt-2 w-56 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},Be={class:"px-4 py-3 border-b border-slate-700"},He={class:"text-sm font-medium text-white"},Le={class:"text-xs text-slate-400 mt-0.5"},Re={class:"flex-1 p-4 lg:p-6 overflow-auto"},Ee=q({__name:"default",setup(Se){const c=Q(),F=X(),h=ne(),C=oe(),{locale:z,locales:V}=Y(),T=k(()=>V.value),E=k(()=>z.value);function G(){const t=se("access_token").value;return t?{Authorization:`Bearer ${t}`}:{}}async function N(s){z.value=s;try{await $fetch("/api/v1/auth/me/language",{method:"PATCH",headers:{...G(),"Content-Type":"application/json"},body:{preferred_language:s}})}catch(t){console.error("[Layout] Failed to persist language preference:",t)}}const n=m(!1),i=m(!1),p=m(!1),_=m(null),f=m(new Set(["Központ"])),M=k(()=>h.userEmail||"Ismeretlen Felhasználó"),D=k(()=>{const s=h.userEmail;return s?s.split("@")[0].split(".").map(t=>t[0]).join("").toUpperCase().slice(0,2):"??"}),P=[{title:"Központ",items:[{path:"/",label:"Dashboard",icon:''}]},{title:"Felhasználók & Partnerek",items:[{label:"Garázsok",icon:'',children:[{path:"/garages",label:"Garázsok listája",icon:''}]},{label:"Felhasználók",icon:'',children:[{path:"/users",label:"Felhasználók listája",icon:''}]}]},{title:"Pénzügyek",items:[{path:"/packages",label:"Csomagok",icon:''}]},{title:"Rendszer",items:[{path:"/permissions",label:"Jogosultságok",icon:''},{label:"Rendszernaplók",icon:'',children:[{path:"/logs",label:"Rendszernaplók",icon:''}]}]}],W=k(()=>c.path==="/"?"Dashboard":c.path.startsWith("/permissions")?"Jogosultság Kezelés":c.path.startsWith("/garages")?"Garázsok":c.path.startsWith("/users")?"Felhasználók":c.path.startsWith("/logs")?"Rendszernaplók":c.path.startsWith("/packages")?"Csomagok":"Admin Panel");function y(s){return s==="/"?c.path==="/":c.path.startsWith(s)}function U(s){return s.children?s.children.some(t=>y(t.path)):!1}function I(s){f.value.has(s.label)?f.value.delete(s.label):f.value.add(s.label)}function K(){h.logout(),p.value=!1,F.push("/login")}function j(s){_.value&&!_.value.contains(s.target)&&(p.value=!1)}return Z(()=>{document.addEventListener("click",j),C.fetchRegions().then(()=>{h.user?.region_code&&C.setActiveRegion(h.user.region_code)})}),ee(()=>{document.removeEventListener("click",j)}),(s,t)=>{const g=O;return o(),r("div",ae,[n.value?(o(),r("div",{key:0,class:"fixed inset-0 bg-black/50 z-20 lg:hidden",onClick:t[0]||(t[0]=a=>n.value=!1)})):B("",!0),e("aside",{class:d(["fixed lg:static inset-y-0 left-0 z-30 flex flex-col bg-slate-800 border-r border-slate-700 transition-all duration-300 ease-in-out overflow-hidden",n.value||!i.value?"w-52":"w-20"])},[H(g,{to:"/",class:"flex items-center h-16 px-4 border-b border-slate-700 overflow-hidden hover:bg-slate-700/50 transition"},{default:w(()=>[e("div",re,[t[8]||(t[8]=e("img",{src:le,class:"h-8 w-auto flex-shrink-0",alt:"SF Logo"},null,-1)),e("div",{class:d(["transition-all duration-300 ease-in-out overflow-hidden whitespace-nowrap",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},[...t[7]||(t[7]=[e("div",{class:"text-sm font-bold text-white leading-tight"},"Service Finder",-1),e("div",{class:"text-[10px] font-semibold uppercase tracking-wider text-indigo-400 leading-tight"},"Admin",-1)])],2)])]),_:1}),e("button",{class:"hidden lg:flex items-center justify-center h-10 mx-2 mt-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition flex-shrink-0",onClick:t[1]||(t[1]=a=>i.value=!i.value)},[(o(),r("svg",{class:d(["w-5 h-5 transition-transform duration-300",{"rotate-180":i.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"},null,-1)])],2))]),e("nav",ie,[(o(),r(x,null,b(P,a=>(o(),r(x,{key:a.title},[L(e("div",{class:"px-3 py-1 text-xs font-semibold uppercase tracking-wider text-slate-500 whitespace-nowrap overflow-hidden"},u(a.title),513),[[R,n.value||!i.value]]),(o(!0),r(x,null,b(a.items,l=>(o(),r(x,{key:l.label},[l.children?(o(),r("div",de,[e("button",{class:d(["flex items-center w-full gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",U(l)?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:v=>I(l)},[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,ce),e("span",{class:d(["flex-1 text-left whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3),(o(),r("svg",{class:d(["w-4 h-4 transition-all duration-300 ease-in-out flex-shrink-0",{"rotate-90":f.value.has(l.label),"opacity-100":n.value||!i.value,"opacity-0":i.value&&!n.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],10,ue),L(e("div",he,[(o(!0),r(x,null,b(l.children,v=>(o(),S(g,{key:v.path,to:v.path,class:d(["flex items-center gap-3 px-3 py-2 rounded-lg text-sm font-medium transition",y(v.path)?"bg-indigo-600 text-white":"text-slate-400 hover:bg-slate-700 hover:text-white"]),onClick:t[2]||(t[2]=Ae=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-4 h-4",innerHTML:v.icon},null,8,ve),e("span",pe,u(v.label),1)]),_:2},1032,["to","class"]))),128))],512),[[R,f.value.has(l.label)&&(n.value||!i.value)]])])):(o(),S(g,{key:1,to:l.path,class:d(["flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",y(l.path)?"bg-indigo-600 text-white":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:t[3]||(t[3]=v=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,xe),e("span",{class:d(["whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3)]),_:2},1032,["to","class"]))],64))),128))],64))),64))]),e("div",fe,[e("div",{class:d(["text-xs text-slate-500 whitespace-nowrap transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])}," ServiceFinder v2.0 ",2)])],2),e("div",ke,[e("header",me,[e("div",ge,[e("div",we,[e("button",{class:"lg:hidden p-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",onClick:t[4]||(t[4]=a=>n.value=!0)},[...t[11]||(t[11]=[e("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("h1",be,u(W.value),1)]),e("div",_e,[e("div",ye,[(o(!0),r(x,null,b(T.value,a=>(o(),r("button",{key:a.code,onClick:l=>N(a.code),class:d(["px-2.5 py-1 text-xs font-medium rounded-md transition",E.value===a.code?"bg-indigo-600 text-white shadow-sm":"text-slate-400 hover:text-white"])},u(a.code==="hu"?"HU":"EN"),11,Ce))),128))]),e("div",{class:"relative",ref_key:"dropdownRef",ref:_},[e("button",{class:"flex items-center gap-2 p-1.5 rounded-lg hover:bg-slate-700 transition",onClick:t[5]||(t[5]=a=>p.value=!p.value)},[e("div",ze,u(D.value),1),e("span",Me,u(M.value),1),t[12]||(t[12]=e("svg",{class:"w-4 h-4 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),p.value?(o(),r("div",je,[e("div",Be,[e("p",He,u(M.value),1),e("p",Le,u(A(h).userRole==="SUPERADMIN"?"Super Administrator":A(h).userRole||"Administrator"),1)]),H(g,{to:"/profile",class:"flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition",onClick:t[6]||(t[6]=a=>p.value=!1)},{default:w(()=>[...t[13]||(t[13]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})],-1),$(" Profile Settings ",-1)])]),_:1}),e("button",{class:"flex items-center gap-3 w-full px-4 py-2.5 text-sm text-red-400 hover:bg-slate-700 hover:text-red-300 transition",onClick:K},[...t[14]||(t[14]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),$(" Sign Out ",-1)])])])):B("",!0)],512)])])]),e("main",Re,[te(s.$slots,"default")])])])}}});export{Ee as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/C3lSWcZz.js b/frontend_admin/.nuxt/dist/client/_nuxt/C3lSWcZz.js new file mode 100644 index 0000000..01cbb9c --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/C3lSWcZz.js @@ -0,0 +1 @@ +import{e as Y,q as Z,c as l,a as e,t as o,F as L,k as C,v as F,s as H,r as T,i as b,j as ee,d as z,n as p,m as n,x as $,y as te,z as se,o as i,A as oe}from"./CHWHIiGB.js";const ae={class:"mb-8"},le={class:"text-2xl font-bold text-white"},ie={class:"text-slate-400 mt-1"},ne={key:0,class:"flex items-center justify-center py-20"},re={class:"flex flex-col items-center gap-3"},de={class:"text-slate-400 text-sm"},ce={key:1,class:"flex flex-col items-center justify-center py-20 text-center"},ue={class:"text-red-400 text-sm mb-2"},pe={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-8"},ge={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},me={class:"flex items-center gap-3"},ve={class:"text-xs text-slate-400 uppercase tracking-wider"},xe={class:"text-2xl font-bold text-white"},fe={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},he={class:"flex items-center gap-3"},be={class:"text-xs text-slate-400 uppercase tracking-wider"},_e={class:"text-2xl font-bold text-emerald-400"},ye={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},ke={class:"flex items-center gap-3"},we={class:"text-xs text-slate-400 uppercase tracking-wider"},Ce={class:"text-2xl font-bold text-amber-400"},$e={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},Me={class:"flex items-center gap-3"},je={class:"text-xs text-slate-400 uppercase tracking-wider"},Be={class:"text-2xl font-bold text-purple-400"},Le={class:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-6"},ze={class:"relative flex-1 max-w-md"},Se=["placeholder"],Ve={class:"flex items-center gap-2"},Ae={value:"all"},De={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},Fe={class:"overflow-x-auto"},He={class:"w-full text-sm"},Te={class:"border-b border-slate-700 bg-slate-800/80"},Ne={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ie={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ge={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ue={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ee={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Pe={class:"py-3.5 px-4 text-slate-400 font-mono text-xs"},qe={class:"py-3.5 px-4"},Oe={class:"flex items-center gap-3"},Qe={class:"text-sm font-medium text-white"},Je={class:"text-xs text-slate-500"},Ke={class:"py-3.5 px-4"},Re={class:"py-3.5 px-4"},We={class:"py-3.5 px-4"},Xe={key:0,class:"text-slate-300 text-xs"},Ye={key:1,class:"text-slate-500 text-xs italic"},Ze={class:"py-3.5 px-4"},et={class:"flex items-center gap-2"},tt=["onClick","title"],st=["onClick"],ot=["onClick"],at={key:0,class:"flex flex-col items-center justify-center py-16 text-center"},lt={class:"text-slate-400 text-sm"},it={class:"bg-slate-800 border border-slate-700 rounded-2xl shadow-2xl w-full max-w-lg mx-4 overflow-hidden"},nt={class:"px-6 py-4 border-b border-slate-700 flex items-center justify-between"},rt={class:"text-lg font-semibold text-white"},dt={class:"text-sm text-slate-400 mt-0.5"},ct={class:"px-6 py-5 space-y-5"},ut={class:"bg-slate-900/50 rounded-xl p-4 border border-slate-700/50"},pt={class:"text-xs text-slate-500 uppercase tracking-wider mb-1"},gt={class:"text-sm font-medium text-white"},mt={key:0,class:"text-xs text-slate-400 mt-1"},vt={class:"block text-sm font-medium text-slate-300 mb-2"},xt={value:"",disabled:""},ft=["value"],ht={class:"block text-sm font-medium text-slate-300 mb-2"},bt={class:"text-xs text-slate-500 ml-1"},_t={class:"text-xs text-slate-500 mt-1.5"},yt={key:0,class:"bg-red-500/10 border border-red-500/20 rounded-lg px-4 py-3"},kt={class:"text-sm text-red-400"},wt={class:"px-6 py-4 border-t border-slate-700 flex items-center justify-end gap-3"},Ct=["disabled"],$t={key:0,class:"flex items-center gap-2"},Mt={key:1},Lt=Y({__name:"index",setup(jt){const _=n(!0),y=n(null),g=n([]),S=n([]),k=n(""),m=n("all"),M=n(!1),r=n(null),d=n(""),v=n(""),f=n(!1),x=n(null),h=n(null),N=$(()=>g.value.filter(t=>t.is_active).length),I=$(()=>g.value.filter(t=>{const s=t.subscription_tier_name.toLowerCase();return s.includes("premium")||s.includes("pro")}).length),G=$(()=>g.value.filter(t=>{const s=t.subscription_tier_name.toLowerCase();return s.includes("enterprise")||s.includes("vip")||s.includes("corp")}).length),V=$(()=>g.value.filter(t=>{if(k.value){const s=k.value.toLowerCase();if(!(c(t).toLowerCase().includes(s)||t.full_name.toLowerCase().includes(s)||t.name.toLowerCase().includes(s)||t.city&&t.city.toLowerCase().includes(s)))return!1}if(m.value!=="all"){const s=t.subscription_tier_name.toLowerCase();if(m.value==="free"&&!s.includes("free")&&!s.includes("fallback")||m.value==="premium"&&!s.includes("premium")&&!s.includes("pro")||m.value==="enterprise"&&!s.includes("enterprise")&&!s.includes("vip")&&!s.includes("corp"))return!1}return!0}));function j(){const s=se("access_token").value;return s?{Authorization:`Bearer ${s}`}:{}}async function B(){_.value=!0,y.value=null;try{const t=await $fetch("/api/v1/admin/organizations",{params:{limit:200},headers:j()});g.value=t.garages}catch(t){console.error("[Garages] Failed to fetch garages:",t),y.value=t?.data?.detail||t?.message||"Failed to load garages"}finally{_.value=!1}}async function U(){try{const t=await $fetch("/api/v1/admin/packages",{params:{include_hidden:!0,limit:100},headers:j()});S.value=t.tiers}catch(t){console.error("[Garages] Failed to fetch tiers:",t)}}function E(t){r.value=t,d.value=t.subscription?.tier_id||"",v.value="",x.value=null,M.value=!0}function w(){M.value=!1,r.value=null,d.value="",v.value="",x.value=null}async function P(){if(!(!r.value||!d.value)){f.value=!0,x.value=null;try{const t={tier_id:d.value};v.value&&(t.expires_at=new Date(v.value).toISOString()),await $fetch(`/api/v1/admin/organizations/${r.value.id}/subscription`,{method:"PATCH",headers:{...j(),"Content-Type":"application/json"},body:t}),D("success",`"${c(r.value)}" ${te().$i18n.t("garages.subscription_updated")}`),w(),await B()}catch(t){console.error("[Garages] Failed to save subscription:",t),x.value=t?.data?.detail||t?.message||"Failed to save subscription"}finally{f.value=!1}}}async function q(t){D("error",`Status toggle for "${c(t)}" not yet implemented via API`)}function c(t){return t.display_name||t.name||t.full_name}function O(t){oe(`/garages/${t.id}`)}function Q(t){return t.split(" ").map(s=>s.charAt(0)).join("").toUpperCase().slice(0,2)}function J(t){const s=["bg-amber-600","bg-purple-600","bg-slate-600","bg-indigo-600","bg-emerald-600","bg-rose-600","bg-cyan-600","bg-orange-600","bg-teal-600"];let a=0;for(let u=0;u{h.value=null},4e3)}return Z(()=>{B(),U()}),(t,s)=>(i(),l("div",null,[e("div",ae,[e("h1",le,o(t.$t("garages.title")),1),e("p",ie,o(t.$t("garages.subtitle")),1)]),_.value?(i(),l("div",ne,[e("div",re,[s[4]||(s[4]=e("svg",{class:"w-8 h-8 text-indigo-400 animate-spin",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("p",de,o(t.$t("garages.loading")),1)])])):y.value?(i(),l("div",ce,[s[5]||(s[5]=e("svg",{class:"w-12 h-12 text-red-500 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),e("p",ue,o(y.value),1),e("button",{onClick:B,class:"px-4 py-2 text-sm bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},o(t.$t("garages.retry")),1)])):(i(),l(L,{key:2},[e("div",pe,[e("div",ge,[e("div",me,[s[6]||(s[6]=e("div",{class:"p-2 rounded-lg bg-indigo-500/10 text-indigo-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})])],-1)),e("div",null,[e("p",ve,o(t.$t("garages.total_garages")),1),e("p",xe,o(g.value.length),1)])])]),e("div",fe,[e("div",he,[s[7]||(s[7]=e("div",{class:"p-2 rounded-lg bg-emerald-500/10 text-emerald-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})])],-1)),e("div",null,[e("p",be,o(t.$t("garages.active_garages")),1),e("p",_e,o(N.value),1)])])]),e("div",ye,[e("div",ke,[s[8]||(s[8]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})])],-1)),e("div",null,[e("p",we,o(t.$t("garages.premium_garages")),1),e("p",Ce,o(I.value),1)])])]),e("div",$e,[e("div",Me,[s[9]||(s[9]=e("div",{class:"p-2 rounded-lg bg-purple-500/10 text-purple-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"})])],-1)),e("div",null,[e("p",je,o(t.$t("garages.enterprise_garages")),1),e("p",Be,o(G.value),1)])])])]),e("div",Le,[e("div",ze,[s[10]||(s[10]=e("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),C(e("input",{"onUpdate:modelValue":s[0]||(s[0]=a=>k.value=a),type:"text",placeholder:t.$t("garages.search_placeholder"),class:"w-full pl-10 pr-4 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 transition"},null,8,Se),[[F,k.value]])]),e("div",Ve,[C(e("select",{"onUpdate:modelValue":s[1]||(s[1]=a=>m.value=a),class:"px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},[e("option",Ae,o(t.$t("garages.all_tiers")),1),s[11]||(s[11]=e("option",{value:"free"},"Free",-1)),s[12]||(s[12]=e("option",{value:"premium"},"Premium",-1)),s[13]||(s[13]=e("option",{value:"enterprise"},"Enterprise",-1))],512),[[H,m.value]])])]),e("div",De,[e("div",Fe,[e("table",He,[e("thead",null,[e("tr",Te,[s[14]||(s[14]=e("th",{class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},"ID",-1)),e("th",Ne,o(t.$t("garages.company_name")),1),e("th",Ie,o(t.$t("garages.status")),1),e("th",Ge,o(t.$t("garages.current_package")),1),e("th",Ue,o(t.$t("garages.expiration_date")),1),e("th",Ee,o(t.$t("garages.actions")),1)])]),e("tbody",null,[(i(!0),l(L,null,T(V.value,a=>(i(),l("tr",{key:a.id,class:"border-b border-slate-700/50 hover:bg-slate-700/30 transition"},[e("td",Pe,o(a.id),1),e("td",qe,[e("div",Oe,[e("div",{class:p(["w-8 h-8 rounded-lg flex items-center justify-center text-sm font-bold text-white",J(c(a))])},o(Q(c(a))),3),e("div",null,[e("p",Qe,o(c(a)),1),e("p",Je,o(a.city||"—")+" · "+o(a.member_count)+" "+o(t.$t("garages.members")),1)])])]),e("td",Ke,[e("span",{class:p(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",K(a.status)])},[e("span",{class:p(["w-1.5 h-1.5 rounded-full mr-1.5",R(a.status)])},null,2),z(" "+o(W(a.status)),1)],2)]),e("td",Re,[e("span",{class:p(["px-2.5 py-0.5 rounded-full text-xs font-medium",X(a.subscription_tier_name)])},o(a.subscription_tier_name),3)]),e("td",We,[a.subscription_expires_at?(i(),l("span",Xe,o(A(a.subscription_expires_at)),1)):(i(),l("span",Ye,o(t.$t("garages.indefinite")),1))]),e("td",Ze,[e("div",et,[e("button",{onClick:u=>O(a),class:"px-3 py-1.5 text-xs font-medium bg-slate-600/20 text-slate-300 hover:bg-slate-600/30 rounded-lg transition",title:t.$t("garages.view_details")},o(t.$t("garages.view_details")),9,tt),e("button",{onClick:u=>E(a),class:"px-3 py-1.5 text-xs font-medium bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},o(t.$t("garages.manage_subscription")),9,st),e("button",{onClick:u=>q(a),class:p(["px-3 py-1.5 text-xs font-medium rounded-lg transition",a.is_active?"bg-red-500/10 text-red-300 hover:bg-red-500/20":"bg-emerald-500/10 text-emerald-300 hover:bg-emerald-500/20"])},o(a.is_active?t.$t("garages.deactivate"):t.$t("garages.activate")),11,ot)])])]))),128))])])]),V.value.length===0&&!_.value?(i(),l("div",at,[s[15]||(s[15]=e("svg",{class:"w-12 h-12 text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})],-1)),e("p",lt,o(t.$t("garages.no_results")),1)])):b("",!0)])],64)),M.value?(i(),l("div",{key:3,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:ee(w,["self"])},[e("div",it,[e("div",nt,[e("div",null,[e("h3",rt,o(t.$t("garages.manage_subscription")),1),e("p",dt,o(r.value?c(r.value):""),1)]),e("button",{onClick:w,class:"p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"},[...s[16]||(s[16]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e("div",ct,[e("div",ut,[e("p",pt,o(t.$t("garages.current_package")),1),e("p",gt,o(r.value?.subscription_tier_name||t.$t("garages.free_fallback")),1),r.value?.subscription_expires_at?(i(),l("p",mt,o(t.$t("garages.expires"))+": "+o(A(r.value.subscription_expires_at)),1)):b("",!0)]),e("div",null,[e("label",vt,o(t.$t("garages.select_package")),1),C(e("select",{"onUpdate:modelValue":s[2]||(s[2]=a=>d.value=a),class:"w-full px-3 py-2.5 bg-slate-900 border border-slate-700 rounded-lg text-sm text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},[e("option",xt,o(t.$t("garages.select_package_placeholder")),1),(i(!0),l(L,null,T(S.value,a=>(i(),l("option",{key:a.id,value:a.id},o(a.name)+" (Level "+o(a.tier_level)+") ",9,ft))),128))],512),[[H,d.value]])]),e("div",null,[e("label",ht,[z(o(t.$t("garages.custom_expiration"))+" ",1),e("span",bt,"("+o(t.$t("garages.optional"))+")",1)]),C(e("input",{"onUpdate:modelValue":s[3]||(s[3]=a=>v.value=a),type:"datetime-local",class:"w-full px-3 py-2.5 bg-slate-900 border border-slate-700 rounded-lg text-sm text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},null,512),[[F,v.value]]),e("p",_t,o(t.$t("garages.custom_expiration_hint")),1)]),x.value?(i(),l("div",yt,[e("p",kt,o(x.value),1)])):b("",!0)]),e("div",wt,[e("button",{onClick:w,class:"px-4 py-2 text-sm font-medium text-slate-300 hover:text-white transition"},o(t.$t("garages.cancel")),1),e("button",{onClick:P,disabled:f.value||!d.value,class:p(["px-5 py-2 text-sm font-medium rounded-lg transition disabled:opacity-50 disabled:cursor-not-allowed",f.value?"bg-indigo-600/50 text-indigo-200 cursor-wait":"bg-indigo-600 text-white hover:bg-indigo-500"])},[f.value?(i(),l("span",$t,[s[17]||(s[17]=e("svg",{class:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),z(" "+o(t.$t("garages.saving")),1)])):(i(),l("span",Mt,o(t.$t("garages.save")),1))],10,Ct)])])])):b("",!0),h.value?(i(),l("div",{key:4,class:p(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",h.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},o(h.value.message),3)):b("",!0)]))}});export{Lt as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/9W9VXtTt.js b/frontend_admin/.nuxt/dist/client/_nuxt/C8W4Ef6u.js similarity index 94% rename from frontend_admin/.nuxt/dist/client/_nuxt/9W9VXtTt.js rename to frontend_admin/.nuxt/dist/client/_nuxt/C8W4Ef6u.js index 853ccd9..9cc608e 100644 --- a/frontend_admin/.nuxt/dist/client/_nuxt/9W9VXtTt.js +++ b/frontend_admin/.nuxt/dist/client/_nuxt/C8W4Ef6u.js @@ -1 +1 @@ -import{_ as h}from"./Da4aCGAe.js";import{p as v,e as y,g as _,c as n,a as t,f as k,h as s,t as c,i as u,j as S,k as p,v as m,l as x,b as V,w as L,m as f,o as i,d as C}from"./CqYPuxVf.js";import{u as N}from"./CWA6Xjbg.js";const B=v("/sf_logo.png"),E={class:"min-h-screen bg-slate-900 flex items-center justify-center px-4"},R={class:"w-full max-w-md"},j={class:"bg-slate-800 rounded-xl shadow-2xl border border-slate-700 p-8"},A={key:0,class:"mb-6 p-3 rounded-lg bg-red-900/40 border border-red-700 text-red-300 text-sm"},D=["disabled"],F={key:0,class:"animate-spin h-5 w-5 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},I={class:"mt-6 text-center"},T=y({__name:"login",setup(M){const a=f(""),l=f(""),b=_(),o=N();async function g(){try{await o.login(a.value,l.value),b.push("/")}catch(d){console.error("Login failed:",d)}}return(d,e)=>{const w=h;return i(),n("div",E,[t("div",R,[e[6]||(e[6]=k('
ServiceFinder LogoSERVICEFINDER

Staff Portal

Authorised personnel only

',1)),t("div",j,[s(o).error?(i(),n("div",A,c(s(o).error),1)):u("",!0),t("form",{onSubmit:S(g,["prevent"]),class:"space-y-5"},[t("div",null,[e[2]||(e[2]=t("label",{for:"email",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Email Address ",-1)),p(t("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=r=>x(a)?a.value=r:null),type:"email",autocomplete:"email",required:"",placeholder:"admin@example.com",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(a)]])]),t("div",null,[e[3]||(e[3]=t("label",{for:"password",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Password ",-1)),p(t("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>x(l)?l.value=r:null),type:"password",autocomplete:"current-password",required:"",placeholder:"••••••••",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(l)]])]),t("button",{type:"submit",disabled:s(o).isLoading,class:"w-full py-2.5 px-4 bg-cyan-600 hover:bg-cyan-500 disabled:bg-cyan-800 disabled:cursor-not-allowed text-white font-semibold rounded-lg transition duration-200 flex items-center justify-center gap-2"},[s(o).isLoading?(i(),n("svg",F,[...e[4]||(e[4]=[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):u("",!0),t("span",null,c(s(o).isLoading?"Signing in...":"Sign In"),1)],8,D)],32),t("div",I,[V(w,{to:"/",class:"text-sm text-slate-500 hover:text-cyan-400 transition"},{default:L(()=>[...e[5]||(e[5]=[C(" ← Back to ServiceFinder ",-1)])]),_:1})])])])])}}});export{T as default}; +import{_ as h}from"./qc1uPXiA.js";import{p as v,e as y,g as _,c as n,a as t,f as k,h as s,t as c,i as u,j as S,k as p,v as m,l as x,b as V,w as L,m as f,o as i,d as C}from"./CHWHIiGB.js";import{u as N}from"./DKEj_yij.js";const B=v("/sf_logo.png"),E={class:"min-h-screen bg-slate-900 flex items-center justify-center px-4"},R={class:"w-full max-w-md"},j={class:"bg-slate-800 rounded-xl shadow-2xl border border-slate-700 p-8"},A={key:0,class:"mb-6 p-3 rounded-lg bg-red-900/40 border border-red-700 text-red-300 text-sm"},D=["disabled"],F={key:0,class:"animate-spin h-5 w-5 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},I={class:"mt-6 text-center"},T=y({__name:"login",setup(M){const a=f(""),l=f(""),b=_(),o=N();async function g(){try{await o.login(a.value,l.value),b.push("/")}catch(d){console.error("Login failed:",d)}}return(d,e)=>{const w=h;return i(),n("div",E,[t("div",R,[e[6]||(e[6]=k('
ServiceFinder LogoSERVICEFINDER

Staff Portal

Authorised personnel only

',1)),t("div",j,[s(o).error?(i(),n("div",A,c(s(o).error),1)):u("",!0),t("form",{onSubmit:S(g,["prevent"]),class:"space-y-5"},[t("div",null,[e[2]||(e[2]=t("label",{for:"email",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Email Address ",-1)),p(t("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=r=>x(a)?a.value=r:null),type:"email",autocomplete:"email",required:"",placeholder:"admin@example.com",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(a)]])]),t("div",null,[e[3]||(e[3]=t("label",{for:"password",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Password ",-1)),p(t("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>x(l)?l.value=r:null),type:"password",autocomplete:"current-password",required:"",placeholder:"••••••••",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(l)]])]),t("button",{type:"submit",disabled:s(o).isLoading,class:"w-full py-2.5 px-4 bg-cyan-600 hover:bg-cyan-500 disabled:bg-cyan-800 disabled:cursor-not-allowed text-white font-semibold rounded-lg transition duration-200 flex items-center justify-center gap-2"},[s(o).isLoading?(i(),n("svg",F,[...e[4]||(e[4]=[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):u("",!0),t("span",null,c(s(o).isLoading?"Signing in...":"Sign In"),1)],8,D)],32),t("div",I,[V(w,{to:"/",class:"text-sm text-slate-500 hover:text-cyan-400 transition"},{default:L(()=>[...e[5]||(e[5]=[C(" ← Back to ServiceFinder ",-1)])]),_:1})])])])])}}});export{T as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/C8yzOtqa.js b/frontend_admin/.nuxt/dist/client/_nuxt/C8yzOtqa.js deleted file mode 100644 index 599fa11..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/C8yzOtqa.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a}from"./Da4aCGAe.js";import{_ as i,u,o as c,c as l,a as e,t as r,b as d,w as p,d as f}from"./CqYPuxVf.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},b=["textContent"],h=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:404},statusText:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return u({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=a;return c(),l("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.status)},null,8,b),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,h),e("div",x,[d(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:p(()=>[f(r(t.backHome),1)]),_:1})])])])}}},v=i(y,[["__scopeId","data-v-1bd9e11a"]]);export{v as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/CC4zKGJo.js b/frontend_admin/.nuxt/dist/client/_nuxt/CC4zKGJo.js deleted file mode 100644 index 8c134d5..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/CC4zKGJo.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as I}from"./Da4aCGAe.js";import{p as J,e as K,D as q,g as Q,E as X,y as Y,G as Z,o,c as r,i as H,a as e,b as B,w,n as d,F as p,r as b,k as L,H as A,t as u,I as S,d as R,J as ee,x as k,m as g,A as te}from"./CqYPuxVf.js";import{u as se}from"./DWjNh9rV.js";import{u as oe}from"./CWA6Xjbg.js";const ne=J("/logo.svg"),le={class:"min-h-screen bg-slate-900 text-white flex"},ae={class:"flex items-center gap-3 min-w-0"},re={class:"flex-1 px-2 py-4 space-y-2 overflow-y-auto overflow-x-hidden"},ie={key:0},de=["onClick"],ue=["innerHTML"],ce={class:"ml-2 mt-1 space-y-1 overflow-hidden transition-all duration-200"},he=["innerHTML"],ve={class:"whitespace-nowrap overflow-hidden"},pe=["innerHTML"],xe={class:"p-4 border-t border-slate-700 overflow-hidden"},fe={class:"flex-1 flex flex-col min-w-0 transition-all duration-300 ease-in-out"},ke={class:"sticky top-0 z-10 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700"},ge={class:"flex items-center justify-between h-16 px-4 lg:px-6"},me={class:"flex items-center gap-3"},we={class:"text-lg font-semibold text-white truncate"},be={class:"flex items-center gap-3"},ye={class:"flex items-center bg-slate-700/50 rounded-lg p-0.5"},_e=["onClick"],Ce={class:"w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold text-white"},ze={class:"hidden sm:block text-sm text-slate-300"},Me={key:0,class:"absolute right-0 mt-2 w-56 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},je={class:"px-4 py-3 border-b border-slate-700"},He={class:"text-sm font-medium text-white"},Be={class:"flex-1 p-4 lg:p-6 overflow-auto"},Fe=K({__name:"default",setup(Le){const c=q(),$=Q(),x=oe(),C=se(),{locale:z,locales:V}=X(),F=k(()=>V.value),T=k(()=>z.value);function E(){const t=te("access_token").value;return t?{Authorization:`Bearer ${t}`}:{}}async function G(s){z.value=s;try{await $fetch("/api/v1/auth/me/language",{method:"PATCH",headers:{...E(),"Content-Type":"application/json"},body:{preferred_language:s}})}catch(t){console.error("[Layout] Failed to persist language preference:",t)}}const n=g(!1),i=g(!1),v=g(!1),y=g(null),f=g(new Set(["Központ"])),M=k(()=>x.userEmail||"admin@servicefinder.hu"),D=k(()=>{const s=x.userEmail;return s?s.split("@")[0].split(".").map(t=>t[0]).join("").toUpperCase().slice(0,2):"AD"}),N=[{title:"Központ",items:[{path:"/",label:"Dashboard",icon:''}]},{title:"Felhasználók & Partnerek",items:[{label:"Garázsok",icon:'',children:[{path:"/garages",label:"Garázsok listája",icon:''}]},{label:"Felhasználók",icon:'',children:[{path:"/users",label:"Felhasználók listája",icon:''}]}]},{title:"Pénzügyek",items:[{path:"/packages",label:"Csomagok",icon:''}]},{title:"Rendszer",items:[{path:"/permissions",label:"Jogosultságok",icon:''},{label:"Rendszernaplók",icon:'',children:[{path:"/logs",label:"Rendszernaplók",icon:''}]}]}],W=k(()=>c.path==="/"?"Dashboard":c.path.startsWith("/permissions")?"Jogosultság Kezelés":c.path.startsWith("/garages")?"Garázsok":c.path.startsWith("/users")?"Felhasználók":c.path.startsWith("/logs")?"Rendszernaplók":c.path.startsWith("/packages")?"Csomagok":"Admin Panel");function _(s){return s==="/"?c.path==="/":c.path.startsWith(s)}function P(s){return s.children?s.children.some(t=>_(t.path)):!1}function O(s){f.value.has(s.label)?f.value.delete(s.label):f.value.add(s.label)}function U(){x.logout(),v.value=!1,$.push("/login")}function j(s){y.value&&!y.value.contains(s.target)&&(v.value=!1)}return Y(()=>{document.addEventListener("click",j),C.fetchRegions().then(()=>{x.user?.region_code&&C.setActiveRegion(x.user.region_code)})}),Z(()=>{document.removeEventListener("click",j)}),(s,t)=>{const m=I;return o(),r("div",le,[n.value?(o(),r("div",{key:0,class:"fixed inset-0 bg-black/50 z-20 lg:hidden",onClick:t[0]||(t[0]=a=>n.value=!1)})):H("",!0),e("aside",{class:d(["fixed lg:static inset-y-0 left-0 z-30 flex flex-col bg-slate-800 border-r border-slate-700 transition-all duration-300 ease-in-out overflow-hidden",n.value||!i.value?"w-52":"w-20"])},[B(m,{to:"/",class:"flex items-center h-16 px-4 border-b border-slate-700 overflow-hidden hover:bg-slate-700/50 transition"},{default:w(()=>[e("div",ae,[t[8]||(t[8]=e("img",{src:ne,class:"h-8 w-auto flex-shrink-0",alt:"SF Logo"},null,-1)),e("div",{class:d(["transition-all duration-300 ease-in-out overflow-hidden whitespace-nowrap",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},[...t[7]||(t[7]=[e("div",{class:"text-sm font-bold text-white leading-tight"},"Service Finder",-1),e("div",{class:"text-[10px] font-semibold uppercase tracking-wider text-indigo-400 leading-tight"},"Admin",-1)])],2)])]),_:1}),e("button",{class:"hidden lg:flex items-center justify-center h-10 mx-2 mt-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition flex-shrink-0",onClick:t[1]||(t[1]=a=>i.value=!i.value)},[(o(),r("svg",{class:d(["w-5 h-5 transition-transform duration-300",{"rotate-180":i.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"},null,-1)])],2))]),e("nav",re,[(o(),r(p,null,b(N,a=>(o(),r(p,{key:a.title},[L(e("div",{class:"px-3 py-1 text-xs font-semibold uppercase tracking-wider text-slate-500 whitespace-nowrap overflow-hidden"},u(a.title),513),[[A,n.value||!i.value]]),(o(!0),r(p,null,b(a.items,l=>(o(),r(p,{key:l.label},[l.children?(o(),r("div",ie,[e("button",{class:d(["flex items-center w-full gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",P(l)?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:h=>O(l)},[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,ue),e("span",{class:d(["flex-1 text-left whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3),(o(),r("svg",{class:d(["w-4 h-4 transition-all duration-300 ease-in-out flex-shrink-0",{"rotate-90":f.value.has(l.label),"opacity-100":n.value||!i.value,"opacity-0":i.value&&!n.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],10,de),L(e("div",ce,[(o(!0),r(p,null,b(l.children,h=>(o(),S(m,{key:h.path,to:h.path,class:d(["flex items-center gap-3 px-3 py-2 rounded-lg text-sm font-medium transition",_(h.path)?"bg-indigo-600 text-white":"text-slate-400 hover:bg-slate-700 hover:text-white"]),onClick:t[2]||(t[2]=Ae=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-4 h-4",innerHTML:h.icon},null,8,he),e("span",ve,u(h.label),1)]),_:2},1032,["to","class"]))),128))],512),[[A,f.value.has(l.label)&&(n.value||!i.value)]])])):(o(),S(m,{key:1,to:l.path,class:d(["flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",_(l.path)?"bg-indigo-600 text-white":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:t[3]||(t[3]=h=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,pe),e("span",{class:d(["whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3)]),_:2},1032,["to","class"]))],64))),128))],64))),64))]),e("div",xe,[e("div",{class:d(["text-xs text-slate-500 whitespace-nowrap transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])}," ServiceFinder v2.0 ",2)])],2),e("div",fe,[e("header",ke,[e("div",ge,[e("div",me,[e("button",{class:"lg:hidden p-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",onClick:t[4]||(t[4]=a=>n.value=!0)},[...t[11]||(t[11]=[e("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("h1",we,u(W.value),1)]),e("div",be,[e("div",ye,[(o(!0),r(p,null,b(F.value,a=>(o(),r("button",{key:a.code,onClick:l=>G(a.code),class:d(["px-2.5 py-1 text-xs font-medium rounded-md transition",T.value===a.code?"bg-indigo-600 text-white shadow-sm":"text-slate-400 hover:text-white"])},u(a.code==="hu"?"HU":"EN"),11,_e))),128))]),e("div",{class:"relative",ref_key:"dropdownRef",ref:y},[e("button",{class:"flex items-center gap-2 p-1.5 rounded-lg hover:bg-slate-700 transition",onClick:t[5]||(t[5]=a=>v.value=!v.value)},[e("div",Ce,u(D.value),1),e("span",ze,u(M.value),1),t[12]||(t[12]=e("svg",{class:"w-4 h-4 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),v.value?(o(),r("div",Me,[e("div",je,[e("p",He,u(M.value),1),t[13]||(t[13]=e("p",{class:"text-xs text-slate-400 mt-0.5"},"Administrator",-1))]),B(m,{to:"/profile",class:"flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition",onClick:t[6]||(t[6]=a=>v.value=!1)},{default:w(()=>[...t[14]||(t[14]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})],-1),R(" Profile Settings ",-1)])]),_:1}),e("button",{class:"flex items-center gap-3 w-full px-4 py-2.5 text-sm text-red-400 hover:bg-slate-700 hover:text-red-300 transition",onClick:U},[...t[15]||(t[15]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),R(" Sign Out ",-1)])])])):H("",!0)],512)])])]),e("main",Be,[ee(s.$slots,"default")])])])}}});export{Fe as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/CqYPuxVf.js b/frontend_admin/.nuxt/dist/client/_nuxt/CHWHIiGB.js similarity index 57% rename from frontend_admin/.nuxt/dist/client/_nuxt/CqYPuxVf.js rename to frontend_admin/.nuxt/dist/client/_nuxt/CHWHIiGB.js index 4eca33e..da2a8c2 100644 --- a/frontend_admin/.nuxt/dist/client/_nuxt/CqYPuxVf.js +++ b/frontend_admin/.nuxt/dist/client/_nuxt/CHWHIiGB.js @@ -1,6 +1,6 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./9W9VXtTt.js","./Da4aCGAe.js","./CWA6Xjbg.js","./ncKxzOzI.js","./DWjNh9rV.js","./CC4zKGJo.js","./C8yzOtqa.js","./error-404.DL_4WIao.css","./Cx40nPNe.js","./error-500.I1Dtv2V5.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function ji(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const be={},Gn=[],Ft=()=>{},Dc=()=>!1,qr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$s=e=>e.startsWith("onUpdate:"),He=Object.assign,Bi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Zd=Object.prototype.hasOwnProperty,ge=(e,t)=>Zd.call(e,t),Z=Array.isArray,qn=e=>ur(e)==="[object Map]",cr=e=>ur(e)==="[object Set]",ka=e=>ur(e)==="[object Date]",eh=e=>ur(e)==="[object RegExp]",ee=e=>typeof e=="function",we=e=>typeof e=="string",ct=e=>typeof e=="symbol",de=e=>e!==null&&typeof e=="object",Fc=e=>(de(e)||ee(e))&&ee(e.then)&&ee(e.catch),Hc=Object.prototype.toString,ur=e=>Hc.call(e),th=e=>ur(e).slice(8,-1),$c=e=>ur(e)==="[object Object]",Us=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=ji(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),js=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},nh=/-\w/g,Qe=js(e=>e.replace(nh,t=>t.slice(1).toUpperCase())),rh=/\B([A-Z])/g,Dn=js(e=>e.replace(rh,"-$1").toLowerCase()),Bs=js(e=>e.charAt(0).toUpperCase()+e.slice(1)),go=js(e=>e?`on${Bs(e)}`:""),xt=(e,t)=>!Object.is(e,t),Yn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Vs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},jc=e=>{const t=we(e)?Number(e):NaN;return isNaN(t)?e:t};let Aa;const Ws=()=>Aa||(Aa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ks(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(oh);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Gs(e){let t="";if(we(e))t=e;else if(Z(e))for(let n=0;nfr(n,t))}const Vc=e=>!!(e&&e.__v_isRef===!0),dh=e=>we(e)?e:e==null?"":Z(e)||de(e)&&(e.toString===Hc||!ee(e.toString))?Vc(e)?dh(e.value):JSON.stringify(e,Wc,2):String(e),Wc=(e,t)=>Vc(t)?Wc(e,t.value):qn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[mo(r,o)+" =>"]=s,n),{})}:cr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>mo(n))}:ct(t)?mo(t):de(t)&&!Z(t)&&!$c(t)?String(t):t,mo=(e,t="")=>{var n;return ct(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Me;class Kc{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Me&&(Me.active?(this.parent=Me,this.index=(Me.scopes||(Me.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(Me===this)Me=this.prevScope;else{let t=Me;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Tr){let t=Tr;for(Tr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Rr;){let t=Rr;for(Rr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Xc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Jc(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Gi(r),hh(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Ko(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xr)||(e.globalVersion=xr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ko(e))))return;e.flags|=2;const t=e.dep,n=Ee,r=Et;Ee=e,Et=!0;try{Xc(e);const s=e.fn(e._value);(t.version===0||xt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ee=n,Et=r,Jc(e),e.flags&=-3}}function Gi(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Gi(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function hh(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Et=!0;const zc=[];function en(){zc.push(Et),Et=!1}function tn(){const e=zc.pop();Et=e===void 0?!0:e}function Pa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let xr=0;class ph{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class qs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ee||!Et||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new ph(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,Zc(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=r)}return n}trigger(t){this.version++,xr++,this.notify(t)}notify(t){Wi();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ki()}}}function Zc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Zc(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const bs=new WeakMap,kn=Symbol(""),Go=Symbol(""),Mr=Symbol("");function Ke(e,t,n){if(Et&&Ee){let r=bs.get(e);r||bs.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new qs),s.map=r,s.key=n),s.track()}}function qt(e,t,n,r,s,o){const i=bs.get(e);if(!i){xr++;return}const a=l=>{l&&l.trigger()};if(Wi(),t==="clear")i.forEach(a);else{const l=Z(e),u=l&&Us(n);if(l&&n==="length"){const c=Number(r);i.forEach((f,d)=>{(d==="length"||d===Mr||!ct(d)&&d>=c)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Mr)),t){case"add":l?u&&a(i.get("length")):(a(i.get(kn)),qn(e)&&a(i.get(Go)));break;case"delete":l||(a(i.get(kn)),qn(e)&&a(i.get(Go)));break;case"set":qn(e)&&a(i.get(kn));break}}Ki()}function gh(e,t){const n=bs.get(e);return n&&n.get(t)}function Hn(e){const t=ae(e);return t===e?t:(Ke(t,"iterate",Mr),it(e)?t:t.map(wt))}function Ys(e){return Ke(e=ae(e),"iterate",Mr),e}function Nt(e,t){return Ut(e)?er(Ht(e)?wt(t):t):wt(t)}const mh={__proto__:null,[Symbol.iterator](){return _o(this,Symbol.iterator,e=>Nt(this,e))},concat(...e){return Hn(this).concat(...e.map(t=>Z(t)?Hn(t):t))},entries(){return _o(this,"entries",e=>(e[1]=Nt(this,e[1]),e))},every(e,t){return jt(this,"every",e,t,void 0,arguments)},filter(e,t){return jt(this,"filter",e,t,n=>n.map(r=>Nt(this,r)),arguments)},find(e,t){return jt(this,"find",e,t,n=>Nt(this,n),arguments)},findIndex(e,t){return jt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return jt(this,"findLast",e,t,n=>Nt(this,n),arguments)},findLastIndex(e,t){return jt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return jt(this,"forEach",e,t,void 0,arguments)},includes(...e){return bo(this,"includes",e)},indexOf(...e){return bo(this,"indexOf",e)},join(e){return Hn(this).join(e)},lastIndexOf(...e){return bo(this,"lastIndexOf",e)},map(e,t){return jt(this,"map",e,t,void 0,arguments)},pop(){return gr(this,"pop")},push(...e){return gr(this,"push",e)},reduce(e,...t){return Oa(this,"reduce",e,t)},reduceRight(e,...t){return Oa(this,"reduceRight",e,t)},shift(){return gr(this,"shift")},some(e,t){return jt(this,"some",e,t,void 0,arguments)},splice(...e){return gr(this,"splice",e)},toReversed(){return Hn(this).toReversed()},toSorted(e){return Hn(this).toSorted(e)},toSpliced(...e){return Hn(this).toSpliced(...e)},unshift(...e){return gr(this,"unshift",e)},values(){return _o(this,"values",e=>Nt(this,e))}};function _o(e,t,n){const r=Ys(e),s=r[t]();return r!==e&&!it(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const yh=Array.prototype;function jt(e,t,n,r,s,o){const i=Ys(e),a=i!==e&&!it(e),l=i[t];if(l!==yh[t]){const f=l.apply(e,o);return a?wt(f):f}let u=n;i!==e&&(a?u=function(f,d){return n.call(this,Nt(e,f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=l.call(i,u,r);return a&&s?s(c):c}function Oa(e,t,n,r){const s=Ys(e),o=s!==e&&!it(e);let i=n,a=!1;s!==e&&(o?(a=r.length===0,i=function(u,c,f){return a&&(a=!1,u=Nt(e,u)),n.call(this,u,Nt(e,c),f,e)}):n.length>3&&(i=function(u,c,f){return n.call(this,u,c,f,e)}));const l=s[t](i,...r);return a?Nt(e,l):l}function bo(e,t,n){const r=ae(e);Ke(r,"iterate",Mr);const s=r[t](...n);return(s===-1||s===!1)&&Xs(n[0])?(n[0]=ae(n[0]),r[t](...n)):s}function gr(e,t,n=[]){en(),Wi();const r=ae(e)[t].apply(e,n);return Ki(),tn(),r}const _h=ji("__proto__,__v_isRef,__isVue"),eu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ct));function bh(e){ct(e)||(e=String(e));const t=ae(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class tu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Ah:ou:o?su:ru).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=Z(t);if(!s){let l;if(i&&(l=mh[n]))return l;if(n==="hasOwnProperty")return bh}const a=Reflect.get(t,n,ve(t)?t:r);if((ct(n)?eu.has(n):_h(n))||(s||Ke(t,"get",n),o))return a;if(ve(a)){const l=i&&Us(n)?a:a.value;return s&&de(l)?Yo(l):l}return de(a)?s?Yo(a):sn(a):a}}class nu extends tu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=Z(t)&&Us(n);if(!this._isShallow){const u=Ut(o);if(!it(r)&&!Ut(r)&&(o=ae(o),r=ae(r)),!i&&ve(o)&&!ve(r))return u||(o.value=r),!0}const a=i?Number(n)e,ts=e=>Reflect.getPrototypeOf(e);function Sh(e,t,n){return function(...r){const s=this.__v_raw,o=ae(s),i=qn(o),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=s[e](...r),c=n?qo:t?er:wt;return!t&&Ke(o,"iterate",l?Go:kn),He(Object.create(u),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}}})}}function ns(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Rh(e,t){const n={get(s){const o=this.__v_raw,i=ae(o),a=ae(s);e||(xt(s,a)&&Ke(i,"get",s),Ke(i,"get",a));const{has:l}=ts(i),u=t?qo:e?er:wt;if(l.call(i,s))return u(o.get(s));if(l.call(i,a))return u(o.get(a));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ke(ae(s),"iterate",kn),s.size},has(s){const o=this.__v_raw,i=ae(o),a=ae(s);return e||(xt(s,a)&&Ke(i,"has",s),Ke(i,"has",a)),s===a?o.has(s):o.has(s)||o.has(a)},forEach(s,o){const i=this,a=i.__v_raw,l=ae(a),u=t?qo:e?er:wt;return!e&&Ke(l,"iterate",kn),a.forEach((c,f)=>s.call(o,u(c),u(f),i))}};return He(n,e?{add:ns("add"),set:ns("set"),delete:ns("delete"),clear:ns("clear")}:{add(s){const o=ae(this),i=ts(o),a=ae(s),l=!t&&!it(s)&&!Ut(s)?a:s;return i.has.call(o,l)||xt(s,l)&&i.has.call(o,s)||xt(a,l)&&i.has.call(o,a)||(o.add(l),qt(o,"add",l,l)),this},set(s,o){!t&&!it(o)&&!Ut(o)&&(o=ae(o));const i=ae(this),{has:a,get:l}=ts(i);let u=a.call(i,s);u||(s=ae(s),u=a.call(i,s));const c=l.call(i,s);return i.set(s,o),u?xt(o,c)&&qt(i,"set",s,o):qt(i,"add",s,o),this},delete(s){const o=ae(this),{has:i,get:a}=ts(o);let l=i.call(o,s);l||(s=ae(s),l=i.call(o,s)),a&&a.call(o,s);const u=o.delete(s);return l&&qt(o,"delete",s,void 0),u},clear(){const s=ae(this),o=s.size!==0,i=s.clear();return o&&qt(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Sh(s,e,t)}),n}function qi(e,t){const n=Rh(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ge(n,s)&&s in r?n:r,s,o)}const Th={get:qi(!1,!1)},Lh={get:qi(!1,!0)},kh={get:qi(!0,!1)};const ru=new WeakMap,su=new WeakMap,ou=new WeakMap,Ah=new WeakMap;function Ph(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sn(e){return Ut(e)?e:Yi(e,!1,Eh,Th,ru)}function Dt(e){return Yi(e,!1,Ch,Lh,su)}function Yo(e){return Yi(e,!0,wh,kh,ou)}function Yi(e,t,n,r,s){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const i=Ph(th(e));if(i===0)return e;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function it(e){return!!(e&&e.__v_isShallow)}function Xs(e){return e?!!e.__v_raw:!1}function ae(e){const t=e&&e.__v_raw;return t?ae(t):e}function Xi(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Uc(e,"__v_skip",!0),e}const wt=e=>de(e)?sn(e):e,er=e=>de(e)?Yo(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function et(e){return iu(e,!1)}function Nn(e){return iu(e,!0)}function iu(e,t){return ve(e)?e:new Oh(e,t)}class Oh{constructor(t,n){this.dep=new qs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ae(t),this._value=n?t:wt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||it(t)||Ut(t);t=r?t:ae(t),xt(t,n)&&(this._rawValue=t,this._value=r?t:wt(t),this.dep.trigger())}}function me(e){return ve(e)?e.value:e}function Ih(e){return ee(e)?e():me(e)}const Nh={get:(e,t,n)=>t==="__v_raw"?e:me(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ve(s)&&!ve(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function au(e){return Ht(e)?e:new Proxy(e,Nh)}class xh{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new qs,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Mh(e){return new xh(e)}function Dh(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=cu(e,n);return t}class Fh{constructor(t,n,r){this._object=t,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=ct(n)?n:String(n),this._raw=ae(t);let s=!0,o=t;if(!Z(t)||ct(this._key)||!Us(this._key))do s=!Xs(o)||it(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=me(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return gh(this._raw,this._key)}}class Hh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function lu(e,t,n){return ve(e)?e:ee(e)?new Hh(e):de(e)&&arguments.length>1?cu(e,t,n):et(e)}function cu(e,t,n){return new Fh(e,t,n)}class $h{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new qs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return Yc(this,!0),!0}get value(){const t=this.dep.track();return Qc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Uh(e,t,n=!1){let r,s;return ee(e)?r=e:(r=e.get,s=e.set),new $h(r,s,n)}const rs={},vs=new WeakMap;let Sn;function jh(e,t=!1,n=Sn){if(n){let r=vs.get(n);r||vs.set(n,r=[]),r.push(e)}}function Bh(e,t,n=be){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:a,call:l}=n,u=y=>s?y:it(y)||s===!1||s===0?Yt(y,1):Yt(y);let c,f,d,h,_=!1,m=!1;if(ve(e)?(f=()=>e.value,_=it(e)):Ht(e)?(f=()=>u(e),_=!0):Z(e)?(m=!0,_=e.some(y=>Ht(y)||it(y)),f=()=>e.map(y=>{if(ve(y))return y.value;if(Ht(y))return u(y);if(ee(y))return l?l(y,2):y()})):ee(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){en();try{d()}finally{tn()}}const y=Sn;Sn=c;try{return l?l(e,3,[h]):e(h)}finally{Sn=y}}:f=Ft,t&&s){const y=f,C=s===!0?1/0:s;f=()=>Yt(y(),C)}const R=dr(),b=()=>{c.stop(),R&&R.active&&Bi(R.effects,c)};if(o&&t){const y=t;t=(...C)=>{const A=y(...C);return b(),A}}let E=m?new Array(e.length).fill(rs):rs;const g=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(t){const C=c.run();if(y||s||_||(m?C.some((A,L)=>xt(A,E[L])):xt(C,E))){d&&d();const A=Sn;Sn=c;try{const L=[C,E===rs?void 0:m&&E[0]===rs?[]:E,h];E=C,l?l(t,3,L):t(...L)}finally{Sn=A}}}else c.run()};return a&&a(g),c=new Gc(f),c.scheduler=i?()=>i(g,!1):g,h=y=>jh(y,!1,c),d=c.onStop=()=>{const y=vs.get(c);if(y){if(l)l(y,4);else for(const C of y)C();vs.delete(c)}},t?r?g(!0):E=c.run():i?i(g.bind(null,!0),!0):c.run(),b.pause=c.pause.bind(c),b.resume=c.resume.bind(c),b.stop=b,b}function Yt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Yt(e.value,t,n);else if(Z(e))for(let r=0;r{Yt(r,t,n)});else if($c(e)){for(const r in e)Yt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Yt(e[r],t,n)}return e}function Xr(e,t,n,r){try{return r?e(...r):e()}catch(s){hr(s,t,n)}}function yt(e,t,n,r){if(ee(e)){const s=Xr(e,t,n,r);return s&&Fc(s)&&s.catch(o=>{hr(o,t,n)}),s}if(Z(e)){const s=[];for(let o=0;o>>1,s=Je[r],o=Dr(s);o=Dr(n)?Je.push(e):Je.splice(Wh(t),0,e),e.flags|=1,fu()}}function fu(){Es||(Es=uu.then(du))}function Xo(e){Z(e)?Xn.push(...e):fn&&e.id===-1?fn.splice(jn+1,0,e):e.flags&1||(Xn.push(e),e.flags|=1),fu()}function Ia(e,t,n=Ot+1){for(;nDr(n)-Dr(r));if(Xn.length=0,fn){fn.push(...t);return}for(fn=t,jn=0;jne.id==null?e.flags&2?-1:1/0:e.id;function du(e){try{for(Ot=0;Ot{r._d&&ks(-1);const o=Cs(t);let i;try{i=e(...s)}finally{Cs(o),r._d&&ks(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function R0(e,t){if(Be===null)return e;const n=to(Be),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ee(t)?t.call(r&&r.proxy):t}}function Jr(){return!!(Fn()||An)}const Kh=Symbol.for("v-scx"),Gh=()=>Fe(Kh);function qh(e,t){return zi(e,null,t)}function at(e,t,n){return zi(e,t,n)}function zi(e,t,n=be){const{immediate:r,deep:s,flush:o,once:i}=n,a=He({},n),l=t&&r||!t&&o!=="post";let u;if(rr){if(o==="sync"){const h=Gh();u=h.__watcherHandles||(h.__watcherHandles=[])}else if(!l){const h=()=>{};return h.stop=Ft,h.resume=Ft,h.pause=Ft,h}}const c=je;a.call=(h,_,m)=>yt(h,c,_,m);let f=!1;o==="post"?a.scheduler=h=>{De(h,c&&c.suspense)}:o!=="sync"&&(f=!0,a.scheduler=(h,_)=>{_?h():Ji(h)}),a.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,c&&(h.id=c.uid,h.i=c))};const d=Bh(e,t,a);return rr&&(u?u.push(d):l&&d()),d}function Yh(e,t,n){const r=this.proxy,s=we(e)?e.includes(".")?pu(r,e):()=>r[e]:e.bind(r,r);let o;ee(t)?o=t:(o=t.handler,n=t);const i=Zr(this),a=zi(s,o.bind(r),n);return i(),a}function pu(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,ht=Symbol("_leaveCb"),mr=Symbol("_enterCb");function Jh(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Qs(()=>{e.isMounted=!0}),zr(()=>{e.isUnmounting=!0}),e}const ft=[Function,Array],mu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ft,onEnter:ft,onAfterEnter:ft,onEnterCancelled:ft,onBeforeLeave:ft,onLeave:ft,onAfterLeave:ft,onLeaveCancelled:ft,onBeforeAppear:ft,onAppear:ft,onAfterAppear:ft,onAppearCancelled:ft},yu=e=>{const t=e.subTree;return t.component?yu(t.component):t},Qh={name:"BaseTransition",props:mu,setup(e,{slots:t}){const n=Fn(),r=Jh();return()=>{const s=t.default&&vu(t.default(),!0),o=s&&s.length?_u(s):n.subTree?Kp():void 0;if(!o)return;const i=ae(e),{mode:a}=i;if(r.isLeaving)return vo(o);const l=Na(o);if(!l)return vo(o);let u=Jo(l,i,r,n,f=>u=f);l.type!==Oe&&tr(l,u);let c=n.subTree&&Na(n.subTree);if(c&&c.type!==Oe&&!bt(c,l)&&yu(n).type!==Oe){let f=Jo(c,i,r,n);if(tr(c,f),a==="out-in"&&l.type!==Oe)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},vo(o);a==="in-out"&&l.type!==Oe?f.delayLeave=(d,h,_)=>{const m=bu(r,c);m[String(c.key)]=c,d[ht]=()=>{h(),d[ht]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{_(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function _u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Oe){t=n;break}}return t}const zh=Qh;function bu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Jo(e,t,n,r,s){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:_,onLeaveCancelled:m,onBeforeAppear:R,onAppear:b,onAfterAppear:E,onAppearCancelled:g}=t,y=String(e.key),C=bu(n,e),A=(N,D)=>{N&&yt(N,r,9,D)},L=(N,D)=>{const W=D[1];A(N,D),Z(N)?N.every($=>$.length<=1)&&W():N.length<=1&&W()},F={mode:i,persisted:a,beforeEnter(N){let D=l;if(!n.isMounted)if(o)D=R||l;else return;N[ht]&&N[ht](!0);const W=C[y];W&&bt(e,W)&&W.el[ht]&&W.el[ht](),A(D,[N])},enter(N){if(C[y]===e)return;let D=u,W=c,$=f;if(!n.isMounted)if(o)D=b||u,W=E||c,$=g||f;else return;let X=!1;N[mr]=se=>{X||(X=!0,se?A($,[N]):A(W,[N]),F.delayedLeave&&F.delayedLeave(),N[mr]=void 0)};const te=N[mr].bind(null,!1);D?L(D,[N,te]):te()},leave(N,D){const W=String(e.key);if(N[mr]&&N[mr](!0),n.isUnmounting)return D();A(d,[N]);let $=!1;N[ht]=te=>{$||($=!0,D(),te?A(m,[N]):A(_,[N]),N[ht]=void 0,C[W]===e&&delete C[W])};const X=N[ht].bind(null,!1);C[W]=e,h?L(h,[N,X]):X()},clone(N){const D=Jo(N,t,n,r,s);return s&&s(D),D}};return F}function vo(e){if(Qr(e))return e=rn(e),e.children=null,e}function Na(e){if(!Qr(e))return gu(e.type)&&e.children?_u(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ee(n.default))return n.default()}}function tr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,tr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function vu(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oJn(m,t&&(Z(t)?t[R]:t),n,r,s));return}if(Qt(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Jn(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?to(r.component):r.el,i=s?null:o,{i:a,r:l}=e,u=t&&t.r,c=a.refs===be?a.refs={}:a.refs,f=a.setupState,d=ae(f),h=f===be?Dc:m=>xa(c,m)?!1:ge(d,m),_=(m,R)=>!(R&&xa(c,R));if(u!=null&&u!==l){if(Ma(t),we(u))c[u]=null,h(u)&&(f[u]=null);else if(ve(u)){const m=t;_(u,m.k)&&(u.value=null),m.k&&(c[m.k]=null)}}if(ee(l))Xr(l,a,12,[i,c]);else{const m=we(l),R=ve(l);if(m||R){const b=()=>{if(e.f){const E=m?h(l)?f[l]:c[l]:_()||!e.k?l.value:c[e.k];if(s)Z(E)&&Bi(E,o);else if(Z(E))E.includes(o)||E.push(o);else if(m)c[l]=[o],h(l)&&(f[l]=c[l]);else{const g=[o];_(l,e.k)&&(l.value=g),e.k&&(c[e.k]=g)}}else m?(c[l]=i,h(l)&&(f[l]=i)):R&&(_(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const E=()=>{b(),Ss.delete(e)};E.id=-1,Ss.set(e,E),De(E,n)}else Ma(e),b()}}}function Ma(e){const t=Ss.get(e);t&&(t.flags|=8,Ss.delete(e))}let Da=!1;const $n=()=>{Da||(console.error("Hydration completed but contains mismatches."),Da=!0)},Zh=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",ep=e=>e.namespaceURI.includes("MathML"),ss=e=>{if(e.nodeType===1){if(Zh(e))return"svg";if(ep(e))return"mathml"}},Wn=e=>e.nodeType===8;function tp(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:a,insert:l,createComment:u}}=e,c=(g,y)=>{if(!y.hasChildNodes()){n(null,g,y),ws(),y._vnode=g;return}f(y.firstChild,g,null,null,null),ws(),y._vnode=g},f=(g,y,C,A,L,F=!1)=>{F=F||!!y.dynamicChildren;const N=Wn(g)&&g.data==="[",D=()=>m(g,y,C,A,L,N),{type:W,ref:$,shapeFlag:X,patchFlag:te}=y;let se=g.nodeType;y.el=g,te===-2&&(F=!1,y.dynamicChildren=null);let K=null;switch(W){case mn:se!==3?y.children===""?(l(y.el=s(""),i(g),g),K=g):K=D():(g.data!==y.children&&($n(),g.data=y.children),K=o(g));break;case Oe:E(g)?(K=o(g),b(y.el=g.content.firstChild,g,C)):se!==8||N?K=D():K=o(g);break;case kr:if(N&&(g=o(g),se=g.nodeType),se===1||se===3){K=g;const J=!y.children.length;for(let q=0;q{F=F||!!y.dynamicChildren;const{type:N,props:D,patchFlag:W,shapeFlag:$,dirs:X,transition:te}=y,se=N==="input"||N==="option";if(se||W!==-1){X&&It(y,null,C,"created");let K=!1;if(E(g)){K=Wu(null,te)&&C&&C.vnode.props&&C.vnode.props.appear;const q=g.content.firstChild;if(K){const re=q.getAttribute("class");re&&(q.$cls=re),te.beforeEnter(q)}b(q,g,C),y.el=g=q}if($&16&&!(D&&(D.innerHTML||D.textContent))){let q=h(g.firstChild,y,g,C,A,L,F);for(q&&!os(g,1)&&$n();q;){const re=q;q=q.nextSibling,a(re)}}else if($&8){let q=y.children;q[0]===` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C8W4Ef6u.js","./qc1uPXiA.js","./DKEj_yij.js","./d4dk63Pu.js","./j8avB3IT.js","./DSOY2KzZ.js","./B2nIQl38.js","./DlAUqK2U.js","./BezjjCqI.js","./JOVMCDE9.js","./error-404.DL_4WIao.css","./CLBsD5qj.js","./error-500.I1Dtv2V5.css"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function Bi(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const be={},Gn=[],Ft=()=>{},Dc=()=>!1,qr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Us=e=>e.startsWith("onUpdate:"),He=Object.assign,Vi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},eh=Object.prototype.hasOwnProperty,ge=(e,t)=>eh.call(e,t),Z=Array.isArray,qn=e=>ur(e)==="[object Map]",cr=e=>ur(e)==="[object Set]",ka=e=>ur(e)==="[object Date]",th=e=>ur(e)==="[object RegExp]",ee=e=>typeof e=="function",we=e=>typeof e=="string",ut=e=>typeof e=="symbol",de=e=>e!==null&&typeof e=="object",Fc=e=>(de(e)||ee(e))&&ee(e.then)&&ee(e.catch),Hc=Object.prototype.toString,ur=e=>Hc.call(e),nh=e=>ur(e).slice(8,-1),$c=e=>ur(e)==="[object Object]",js=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=Bi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Bs=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},rh=/-\w/g,Qe=Bs(e=>e.replace(rh,t=>t.slice(1).toUpperCase())),sh=/\B([A-Z])/g,Dn=Bs(e=>e.replace(sh,"-$1").toLowerCase()),Vs=Bs(e=>e.charAt(0).toUpperCase()+e.slice(1)),yo=Bs(e=>e?`on${Vs(e)}`:""),xt=(e,t)=>!Object.is(e,t),Yn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Ws=e=>{const t=parseFloat(e);return isNaN(t)?e:t},jc=e=>{const t=we(e)?Number(e):NaN;return isNaN(t)?e:t};let Aa;const Ks=()=>Aa||(Aa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Gs(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(ih);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function qs(e){let t="";if(we(e))t=e;else if(Z(e))for(let n=0;nfr(n,t))}const Vc=e=>!!(e&&e.__v_isRef===!0),hh=e=>we(e)?e:e==null?"":Z(e)||de(e)&&(e.toString===Hc||!ee(e.toString))?Vc(e)?hh(e.value):JSON.stringify(e,Wc,2):String(e),Wc=(e,t)=>Vc(t)?Wc(e,t.value):qn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[_o(r,o)+" =>"]=s,n),{})}:cr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>_o(n))}:ut(t)?_o(t):de(t)&&!Z(t)&&!$c(t)?String(t):t,_o=(e,t="")=>{var n;return ut(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let De;class Kc{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&De&&(De.active?(this.parent=De,this.index=(De.scopes||(De.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(De===this)De=this.prevScope;else{let t=De;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Tr){let t=Tr;for(Tr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Rr;){let t=Rr;for(Rr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Xc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Jc(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),qi(r),ph(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function qo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xr)||(e.globalVersion=xr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qo(e))))return;e.flags|=2;const t=e.dep,n=Ee,r=wt;Ee=e,wt=!0;try{Xc(e);const s=e.fn(e._value);(t.version===0||xt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ee=n,wt=r,Jc(e),e.flags&=-3}}function qi(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)qi(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ph(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let wt=!0;const zc=[];function en(){zc.push(wt),wt=!1}function tn(){const e=zc.pop();wt=e===void 0?!0:e}function Pa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let xr=0;class gh{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ys{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ee||!wt||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new gh(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,Zc(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=r)}return n}trigger(t){this.version++,xr++,this.notify(t)}notify(t){Ki();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Gi()}}}function Zc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Zc(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const bs=new WeakMap,kn=Symbol(""),Yo=Symbol(""),Mr=Symbol("");function Ke(e,t,n){if(wt&&Ee){let r=bs.get(e);r||bs.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Ys),s.map=r,s.key=n),s.track()}}function qt(e,t,n,r,s,o){const i=bs.get(e);if(!i){xr++;return}const a=l=>{l&&l.trigger()};if(Ki(),t==="clear")i.forEach(a);else{const l=Z(e),u=l&&js(n);if(l&&n==="length"){const c=Number(r);i.forEach((f,d)=>{(d==="length"||d===Mr||!ut(d)&&d>=c)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Mr)),t){case"add":l?u&&a(i.get("length")):(a(i.get(kn)),qn(e)&&a(i.get(Yo)));break;case"delete":l||(a(i.get(kn)),qn(e)&&a(i.get(Yo)));break;case"set":qn(e)&&a(i.get(kn));break}}Gi()}function mh(e,t){const n=bs.get(e);return n&&n.get(t)}function Hn(e){const t=ae(e);return t===e?t:(Ke(t,"iterate",Mr),at(e)?t:t.map(Ct))}function Xs(e){return Ke(e=ae(e),"iterate",Mr),e}function Nt(e,t){return Ut(e)?er(Ht(e)?Ct(t):t):Ct(t)}const yh={__proto__:null,[Symbol.iterator](){return vo(this,Symbol.iterator,e=>Nt(this,e))},concat(...e){return Hn(this).concat(...e.map(t=>Z(t)?Hn(t):t))},entries(){return vo(this,"entries",e=>(e[1]=Nt(this,e[1]),e))},every(e,t){return jt(this,"every",e,t,void 0,arguments)},filter(e,t){return jt(this,"filter",e,t,n=>n.map(r=>Nt(this,r)),arguments)},find(e,t){return jt(this,"find",e,t,n=>Nt(this,n),arguments)},findIndex(e,t){return jt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return jt(this,"findLast",e,t,n=>Nt(this,n),arguments)},findLastIndex(e,t){return jt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return jt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Eo(this,"includes",e)},indexOf(...e){return Eo(this,"indexOf",e)},join(e){return Hn(this).join(e)},lastIndexOf(...e){return Eo(this,"lastIndexOf",e)},map(e,t){return jt(this,"map",e,t,void 0,arguments)},pop(){return gr(this,"pop")},push(...e){return gr(this,"push",e)},reduce(e,...t){return Oa(this,"reduce",e,t)},reduceRight(e,...t){return Oa(this,"reduceRight",e,t)},shift(){return gr(this,"shift")},some(e,t){return jt(this,"some",e,t,void 0,arguments)},splice(...e){return gr(this,"splice",e)},toReversed(){return Hn(this).toReversed()},toSorted(e){return Hn(this).toSorted(e)},toSpliced(...e){return Hn(this).toSpliced(...e)},unshift(...e){return gr(this,"unshift",e)},values(){return vo(this,"values",e=>Nt(this,e))}};function vo(e,t,n){const r=Xs(e),s=r[t]();return r!==e&&!at(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const _h=Array.prototype;function jt(e,t,n,r,s,o){const i=Xs(e),a=i!==e&&!at(e),l=i[t];if(l!==_h[t]){const f=l.apply(e,o);return a?Ct(f):f}let u=n;i!==e&&(a?u=function(f,d){return n.call(this,Nt(e,f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=l.call(i,u,r);return a&&s?s(c):c}function Oa(e,t,n,r){const s=Xs(e),o=s!==e&&!at(e);let i=n,a=!1;s!==e&&(o?(a=r.length===0,i=function(u,c,f){return a&&(a=!1,u=Nt(e,u)),n.call(this,u,Nt(e,c),f,e)}):n.length>3&&(i=function(u,c,f){return n.call(this,u,c,f,e)}));const l=s[t](i,...r);return a?Nt(e,l):l}function Eo(e,t,n){const r=ae(e);Ke(r,"iterate",Mr);const s=r[t](...n);return(s===-1||s===!1)&&Js(n[0])?(n[0]=ae(n[0]),r[t](...n)):s}function gr(e,t,n=[]){en(),Ki();const r=ae(e)[t].apply(e,n);return Gi(),tn(),r}const bh=Bi("__proto__,__v_isRef,__isVue"),eu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ut));function vh(e){ut(e)||(e=String(e));const t=ae(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class tu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Ph:ou:o?su:ru).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=Z(t);if(!s){let l;if(i&&(l=yh[n]))return l;if(n==="hasOwnProperty")return vh}const a=Reflect.get(t,n,ve(t)?t:r);if((ut(n)?eu.has(n):bh(n))||(s||Ke(t,"get",n),o))return a;if(ve(a)){const l=i&&js(n)?a:a.value;return s&&de(l)?Jo(l):l}return de(a)?s?Jo(a):sn(a):a}}class nu extends tu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=Z(t)&&js(n);if(!this._isShallow){const u=Ut(o);if(!at(r)&&!Ut(r)&&(o=ae(o),r=ae(r)),!i&&ve(o)&&!ve(r))return u||(o.value=r),!0}const a=i?Number(n)e,ts=e=>Reflect.getPrototypeOf(e);function Rh(e,t,n){return function(...r){const s=this.__v_raw,o=ae(s),i=qn(o),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=s[e](...r),c=n?Xo:t?er:Ct;return!t&&Ke(o,"iterate",l?Yo:kn),He(Object.create(u),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}}})}}function ns(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Th(e,t){const n={get(s){const o=this.__v_raw,i=ae(o),a=ae(s);e||(xt(s,a)&&Ke(i,"get",s),Ke(i,"get",a));const{has:l}=ts(i),u=t?Xo:e?er:Ct;if(l.call(i,s))return u(o.get(s));if(l.call(i,a))return u(o.get(a));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ke(ae(s),"iterate",kn),s.size},has(s){const o=this.__v_raw,i=ae(o),a=ae(s);return e||(xt(s,a)&&Ke(i,"has",s),Ke(i,"has",a)),s===a?o.has(s):o.has(s)||o.has(a)},forEach(s,o){const i=this,a=i.__v_raw,l=ae(a),u=t?Xo:e?er:Ct;return!e&&Ke(l,"iterate",kn),a.forEach((c,f)=>s.call(o,u(c),u(f),i))}};return He(n,e?{add:ns("add"),set:ns("set"),delete:ns("delete"),clear:ns("clear")}:{add(s){const o=ae(this),i=ts(o),a=ae(s),l=!t&&!at(s)&&!Ut(s)?a:s;return i.has.call(o,l)||xt(s,l)&&i.has.call(o,s)||xt(a,l)&&i.has.call(o,a)||(o.add(l),qt(o,"add",l,l)),this},set(s,o){!t&&!at(o)&&!Ut(o)&&(o=ae(o));const i=ae(this),{has:a,get:l}=ts(i);let u=a.call(i,s);u||(s=ae(s),u=a.call(i,s));const c=l.call(i,s);return i.set(s,o),u?xt(o,c)&&qt(i,"set",s,o):qt(i,"add",s,o),this},delete(s){const o=ae(this),{has:i,get:a}=ts(o);let l=i.call(o,s);l||(s=ae(s),l=i.call(o,s)),a&&a.call(o,s);const u=o.delete(s);return l&&qt(o,"delete",s,void 0),u},clear(){const s=ae(this),o=s.size!==0,i=s.clear();return o&&qt(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Rh(s,e,t)}),n}function Yi(e,t){const n=Th(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ge(n,s)&&s in r?n:r,s,o)}const Lh={get:Yi(!1,!1)},kh={get:Yi(!1,!0)},Ah={get:Yi(!0,!1)};const ru=new WeakMap,su=new WeakMap,ou=new WeakMap,Ph=new WeakMap;function Oh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sn(e){return Ut(e)?e:Xi(e,!1,wh,Lh,ru)}function Dt(e){return Xi(e,!1,Sh,kh,su)}function Jo(e){return Xi(e,!0,Ch,Ah,ou)}function Xi(e,t,n,r,s){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const i=Oh(nh(e));if(i===0)return e;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function at(e){return!!(e&&e.__v_isShallow)}function Js(e){return e?!!e.__v_raw:!1}function ae(e){const t=e&&e.__v_raw;return t?ae(t):e}function Ji(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Uc(e,"__v_skip",!0),e}const Ct=e=>de(e)?sn(e):e,er=e=>de(e)?Jo(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function et(e){return iu(e,!1)}function Nn(e){return iu(e,!0)}function iu(e,t){return ve(e)?e:new Ih(e,t)}class Ih{constructor(t,n){this.dep=new Ys,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ae(t),this._value=n?t:Ct(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||at(t)||Ut(t);t=r?t:ae(t),xt(t,n)&&(this._rawValue=t,this._value=r?t:Ct(t),this.dep.trigger())}}function me(e){return ve(e)?e.value:e}function Nh(e){return ee(e)?e():me(e)}const xh={get:(e,t,n)=>t==="__v_raw"?e:me(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ve(s)&&!ve(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function au(e){return Ht(e)?e:new Proxy(e,xh)}class Mh{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Ys,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Dh(e){return new Mh(e)}function Fh(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=cu(e,n);return t}class Hh{constructor(t,n,r){this._object=t,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=ut(n)?n:String(n),this._raw=ae(t);let s=!0,o=t;if(!Z(t)||ut(this._key)||!js(this._key))do s=!Js(o)||at(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=me(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return mh(this._raw,this._key)}}class $h{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function lu(e,t,n){return ve(e)?e:ee(e)?new $h(e):de(e)&&arguments.length>1?cu(e,t,n):et(e)}function cu(e,t,n){return new Hh(e,t,n)}class Uh{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ys(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return Yc(this,!0),!0}get value(){const t=this.dep.track();return Qc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function jh(e,t,n=!1){let r,s;return ee(e)?r=e:(r=e.get,s=e.set),new Uh(r,s,n)}const rs={},vs=new WeakMap;let Sn;function Bh(e,t=!1,n=Sn){if(n){let r=vs.get(n);r||vs.set(n,r=[]),r.push(e)}}function Vh(e,t,n=be){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:a,call:l}=n,u=y=>s?y:at(y)||s===!1||s===0?Yt(y,1):Yt(y);let c,f,d,h,_=!1,m=!1;if(ve(e)?(f=()=>e.value,_=at(e)):Ht(e)?(f=()=>u(e),_=!0):Z(e)?(m=!0,_=e.some(y=>Ht(y)||at(y)),f=()=>e.map(y=>{if(ve(y))return y.value;if(Ht(y))return u(y);if(ee(y))return l?l(y,2):y()})):ee(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){en();try{d()}finally{tn()}}const y=Sn;Sn=c;try{return l?l(e,3,[h]):e(h)}finally{Sn=y}}:f=Ft,t&&s){const y=f,C=s===!0?1/0:s;f=()=>Yt(y(),C)}const R=dr(),b=()=>{c.stop(),R&&R.active&&Vi(R.effects,c)};if(o&&t){const y=t;t=(...C)=>{const A=y(...C);return b(),A}}let E=m?new Array(e.length).fill(rs):rs;const g=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(t){const C=c.run();if(y||s||_||(m?C.some((A,L)=>xt(A,E[L])):xt(C,E))){d&&d();const A=Sn;Sn=c;try{const L=[C,E===rs?void 0:m&&E[0]===rs?[]:E,h];E=C,l?l(t,3,L):t(...L)}finally{Sn=A}}}else c.run()};return a&&a(g),c=new Gc(f),c.scheduler=i?()=>i(g,!1):g,h=y=>Bh(y,!1,c),d=c.onStop=()=>{const y=vs.get(c);if(y){if(l)l(y,4);else for(const C of y)C();vs.delete(c)}},t?r?g(!0):E=c.run():i?i(g.bind(null,!0),!0):c.run(),b.pause=c.pause.bind(c),b.resume=c.resume.bind(c),b.stop=b,b}function Yt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Yt(e.value,t,n);else if(Z(e))for(let r=0;r{Yt(r,t,n)});else if($c(e)){for(const r in e)Yt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Yt(e[r],t,n)}return e}function Xr(e,t,n,r){try{return r?e(...r):e()}catch(s){hr(s,t,n)}}function _t(e,t,n,r){if(ee(e)){const s=Xr(e,t,n,r);return s&&Fc(s)&&s.catch(o=>{hr(o,t,n)}),s}if(Z(e)){const s=[];for(let o=0;o>>1,s=Je[r],o=Dr(s);o=Dr(n)?Je.push(e):Je.splice(Kh(t),0,e),e.flags|=1,fu()}}function fu(){Es||(Es=uu.then(du))}function Qo(e){Z(e)?Xn.push(...e):fn&&e.id===-1?fn.splice(jn+1,0,e):e.flags&1||(Xn.push(e),e.flags|=1),fu()}function Ia(e,t,n=Ot+1){for(;nDr(n)-Dr(r));if(Xn.length=0,fn){fn.push(...t);return}for(fn=t,jn=0;jne.id==null?e.flags&2?-1:1/0:e.id;function du(e){try{for(Ot=0;Ot{r._d&&As(-1);const o=Cs(t);let i;try{i=e(...s)}finally{Cs(o),r._d&&As(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function C0(e,t){if(Be===null)return e;const n=no(Be),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ee(t)?t.call(r&&r.proxy):t}}function Jr(){return!!(Fn()||An)}const Gh=Symbol.for("v-scx"),qh=()=>xe(Gh);function Yh(e,t){return Zi(e,null,t)}function lt(e,t,n){return Zi(e,t,n)}function Zi(e,t,n=be){const{immediate:r,deep:s,flush:o,once:i}=n,a=He({},n),l=t&&r||!t&&o!=="post";let u;if(rr){if(o==="sync"){const h=qh();u=h.__watcherHandles||(h.__watcherHandles=[])}else if(!l){const h=()=>{};return h.stop=Ft,h.resume=Ft,h.pause=Ft,h}}const c=je;a.call=(h,_,m)=>_t(h,c,_,m);let f=!1;o==="post"?a.scheduler=h=>{Fe(h,c&&c.suspense)}:o!=="sync"&&(f=!0,a.scheduler=(h,_)=>{_?h():Qi(h)}),a.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,c&&(h.id=c.uid,h.i=c))};const d=Vh(e,t,a);return rr&&(u?u.push(d):l&&d()),d}function Xh(e,t,n){const r=this.proxy,s=we(e)?e.includes(".")?pu(r,e):()=>r[e]:e.bind(r,r);let o;ee(t)?o=t:(o=t.handler,n=t);const i=Zr(this),a=Zi(s,o.bind(r),n);return i(),a}function pu(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,pt=Symbol("_leaveCb"),mr=Symbol("_enterCb");function Qh(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return zs(()=>{e.isMounted=!0}),zr(()=>{e.isUnmounting=!0}),e}const dt=[Function,Array],mu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:dt,onEnter:dt,onAfterEnter:dt,onEnterCancelled:dt,onBeforeLeave:dt,onLeave:dt,onAfterLeave:dt,onLeaveCancelled:dt,onBeforeAppear:dt,onAppear:dt,onAfterAppear:dt,onAppearCancelled:dt},yu=e=>{const t=e.subTree;return t.component?yu(t.component):t},zh={name:"BaseTransition",props:mu,setup(e,{slots:t}){const n=Fn(),r=Qh();return()=>{const s=t.default&&vu(t.default(),!0),o=s&&s.length?_u(s):n.subTree?Gp():void 0;if(!o)return;const i=ae(e),{mode:a}=i;if(r.isLeaving)return wo(o);const l=Na(o);if(!l)return wo(o);let u=zo(l,i,r,n,f=>u=f);l.type!==Oe&&tr(l,u);let c=n.subTree&&Na(n.subTree);if(c&&c.type!==Oe&&!Et(c,l)&&yu(n).type!==Oe){let f=zo(c,i,r,n);if(tr(c,f),a==="out-in"&&l.type!==Oe)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},wo(o);a==="in-out"&&l.type!==Oe?f.delayLeave=(d,h,_)=>{const m=bu(r,c);m[String(c.key)]=c,d[pt]=()=>{h(),d[pt]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{_(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function _u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Oe){t=n;break}}return t}const Zh=zh;function bu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function zo(e,t,n,r,s){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:_,onLeaveCancelled:m,onBeforeAppear:R,onAppear:b,onAfterAppear:E,onAppearCancelled:g}=t,y=String(e.key),C=bu(n,e),A=(N,D)=>{N&&_t(N,r,9,D)},L=(N,D)=>{const W=D[1];A(N,D),Z(N)?N.every($=>$.length<=1)&&W():N.length<=1&&W()},F={mode:i,persisted:a,beforeEnter(N){let D=l;if(!n.isMounted)if(o)D=R||l;else return;N[pt]&&N[pt](!0);const W=C[y];W&&Et(e,W)&&W.el[pt]&&W.el[pt](),A(D,[N])},enter(N){if(C[y]===e)return;let D=u,W=c,$=f;if(!n.isMounted)if(o)D=b||u,W=E||c,$=g||f;else return;let X=!1;N[mr]=se=>{X||(X=!0,se?A($,[N]):A(W,[N]),F.delayedLeave&&F.delayedLeave(),N[mr]=void 0)};const te=N[mr].bind(null,!1);D?L(D,[N,te]):te()},leave(N,D){const W=String(e.key);if(N[mr]&&N[mr](!0),n.isUnmounting)return D();A(d,[N]);let $=!1;N[pt]=te=>{$||($=!0,D(),te?A(m,[N]):A(_,[N]),N[pt]=void 0,C[W]===e&&delete C[W])};const X=N[pt].bind(null,!1);C[W]=e,h?L(h,[N,X]):X()},clone(N){const D=zo(N,t,n,r,s);return s&&s(D),D}};return F}function wo(e){if(Qr(e))return e=rn(e),e.children=null,e}function Na(e){if(!Qr(e))return gu(e.type)&&e.children?_u(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ee(n.default))return n.default()}}function tr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,tr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function vu(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oJn(m,t&&(Z(t)?t[R]:t),n,r,s));return}if(Qt(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Jn(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?no(r.component):r.el,i=s?null:o,{i:a,r:l}=e,u=t&&t.r,c=a.refs===be?a.refs={}:a.refs,f=a.setupState,d=ae(f),h=f===be?Dc:m=>xa(c,m)?!1:ge(d,m),_=(m,R)=>!(R&&xa(c,R));if(u!=null&&u!==l){if(Ma(t),we(u))c[u]=null,h(u)&&(f[u]=null);else if(ve(u)){const m=t;_(u,m.k)&&(u.value=null),m.k&&(c[m.k]=null)}}if(ee(l))Xr(l,a,12,[i,c]);else{const m=we(l),R=ve(l);if(m||R){const b=()=>{if(e.f){const E=m?h(l)?f[l]:c[l]:_()||!e.k?l.value:c[e.k];if(s)Z(E)&&Vi(E,o);else if(Z(E))E.includes(o)||E.push(o);else if(m)c[l]=[o],h(l)&&(f[l]=c[l]);else{const g=[o];_(l,e.k)&&(l.value=g),e.k&&(c[e.k]=g)}}else m?(c[l]=i,h(l)&&(f[l]=i)):R&&(_(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const E=()=>{b(),Ss.delete(e)};E.id=-1,Ss.set(e,E),Fe(E,n)}else Ma(e),b()}}}function Ma(e){const t=Ss.get(e);t&&(t.flags|=8,Ss.delete(e))}let Da=!1;const $n=()=>{Da||(console.error("Hydration completed but contains mismatches."),Da=!0)},ep=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",tp=e=>e.namespaceURI.includes("MathML"),ss=e=>{if(e.nodeType===1){if(ep(e))return"svg";if(tp(e))return"mathml"}},Wn=e=>e.nodeType===8;function np(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:a,insert:l,createComment:u}}=e,c=(g,y)=>{if(!y.hasChildNodes()){n(null,g,y),ws(),y._vnode=g;return}f(y.firstChild,g,null,null,null),ws(),y._vnode=g},f=(g,y,C,A,L,F=!1)=>{F=F||!!y.dynamicChildren;const N=Wn(g)&&g.data==="[",D=()=>m(g,y,C,A,L,N),{type:W,ref:$,shapeFlag:X,patchFlag:te}=y;let se=g.nodeType;y.el=g,te===-2&&(F=!1,y.dynamicChildren=null);let K=null;switch(W){case mn:se!==3?y.children===""?(l(y.el=s(""),i(g),g),K=g):K=D():(g.data!==y.children&&($n(),g.data=y.children),K=o(g));break;case Oe:E(g)?(K=o(g),b(y.el=g.content.firstChild,g,C)):se!==8||N?K=D():K=o(g);break;case kr:if(N&&(g=o(g),se=g.nodeType),se===1||se===3){K=g;const J=!y.children.length;for(let q=0;q{F=F||!!y.dynamicChildren;const{type:N,props:D,patchFlag:W,shapeFlag:$,dirs:X,transition:te}=y,se=N==="input"||N==="option";if(se||W!==-1){X&&It(y,null,C,"created");let K=!1;if(E(g)){K=Wu(null,te)&&C&&C.vnode.props&&C.vnode.props.appear;const q=g.content.firstChild;if(K){const re=q.getAttribute("class");re&&(q.$cls=re),te.beforeEnter(q)}b(q,g,C),y.el=g=q}if($&16&&!(D&&(D.innerHTML||D.textContent))){let q=h(g.firstChild,y,g,C,A,L,F);for(q&&!os(g,1)&&$n();q;){const re=q;q=q.nextSibling,a(re)}}else if($&8){let q=y.children;q[0]===` `&&(g.tagName==="PRE"||g.tagName==="TEXTAREA")&&(q=q.slice(1));const{textContent:re}=g;re!==q&&re!==q.replace(/\r\n|\r/g,` -`)&&(os(g,0)||$n(),g.textContent=y.children)}if(D){if(se||!F||W&48){const q=g.tagName.includes("-");for(const re in D)(se&&(re.endsWith("value")||re==="indeterminate")||qr(re)&&!Ln(re)||re[0]==="."||q&&!Ln(re))&&r(g,re,null,D[re],void 0,C)}else if(D.onClick)r(g,"onClick",null,D.onClick,void 0,C);else if(W&4&&Ht(D.style))for(const q in D.style)D.style[q]}let J;(J=D&&D.onVnodeBeforeMount)&&ze(J,C,y),X&&It(y,null,C,"beforeMount"),((J=D&&D.onVnodeMounted)||X||K)&&Xu(()=>{J&&ze(J,C,y),K&&te.enter(g),X&&It(y,null,C,"mounted")},A)}return g.nextSibling},h=(g,y,C,A,L,F,N)=>{N=N||!!y.dynamicChildren;const D=y.children,W=D.length;let $=!1;for(let X=0;X{const{slotScopeIds:N}=y;N&&(L=L?L.concat(N):N);const D=i(g),W=h(o(g),y,D,C,A,L,F);return W&&Wn(W)&&W.data==="]"?o(y.anchor=W):($n(),l(y.anchor=u("]"),D,W),W)},m=(g,y,C,A,L,F)=>{if(os(g.parentElement,1)||$n(),y.el=null,F){const W=R(g);for(;;){const $=o(g);if($&&$!==W)a($);else break}}const N=o(g),D=i(g);return a(g),n(null,y,D,N,C,A,ss(D),L),C&&(C.vnode.el=y.el,eo(C,y.el)),N},R=(g,y="[",C="]")=>{let A=0;for(;g;)if(g=o(g),g&&Wn(g)&&(g.data===y&&A++,g.data===C)){if(A===0)return o(g);A--}return g},b=(g,y,C)=>{const A=y.parentNode;A&&A.replaceChild(g,y);let L=C;for(;L;)L.vnode.el===y&&(L.vnode.el=L.subTree.el=g),L=L.parent},E=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[c,f]}const Fa="data-allow-mismatch",np={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function os(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Fa);)e=e.parentElement;const n=e&&e.getAttribute(Fa);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(np[t])}}Ws().requestIdleCallback;Ws().cancelIdleCallback;function rp(e,t){if(Wn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Wn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Qt=e=>!!e.type.__asyncLoader;function Qo(e){ee(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let u=null,c,f=0;const d=()=>(f++,u=null,h()),h=()=>{let _;return u||(_=u=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((R,b)=>{l(m,()=>R(d()),()=>b(m),f+1)});throw m}).then(m=>_!==u&&u?u:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return St({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(_,m,R){let b=!1;(m.bu||(m.bu=[])).push(()=>b=!0);const E=()=>{b||R()},g=o?()=>{const y=o(E,C=>rp(_,C));y&&(m.bum||(m.bum=[])).push(y)}:E;c?g():h().then(()=>!m.isUnmounted&&g())},get __asyncResolved(){return c},setup(){const _=je;if(Zi(_),c)return()=>is(c,_);const m=C=>{u=null,hr(C,_,13,!r)};if(a&&_.suspense||rr)return h().then(C=>()=>is(C,_)).catch(C=>(m(C),()=>r?Re(r,{error:C}):null));const R=et(!1),b=et(),E=et(!!s);let g,y;return zs(()=>{g!=null&&clearTimeout(g),y!=null&&clearTimeout(y)}),s&&(y=setTimeout(()=>{_.isUnmounted||(E.value=!1)},s)),i!=null&&(g=setTimeout(()=>{if(!_.isUnmounted&&!R.value&&!b.value){const C=new Error(`Async component timed out after ${i}ms.`);m(C),b.value=C}},i)),h().then(()=>{_.isUnmounted||(R.value=!0,_.parent&&Qr(_.parent.vnode)&&_.parent.update())}).catch(C=>{if(_.isUnmounted){u=null;return}m(C),b.value=C}),()=>{if(R.value&&c)return is(c,_);if(b.value&&r)return Re(r,{error:b.value});if(n&&!E.value)return is(n,_)}}})}function is(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=Re(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Qr=e=>e.type.__isKeepAlive,sp={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Fn(),r=n.ctx;if(!r.renderer)return()=>{const E=t.default&&t.default();return E&&E.length===1?E[0]:E};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:f}}}=r,d=f("div");r.activate=(E,g,y,C,A)=>{const L=E.component;u(E,g,y,0,a),l(L.vnode,E,g,y,L,a,C,E.slotScopeIds,A),De(()=>{L.isDeactivated=!1,L.a&&Yn(L.a);const F=E.props&&E.props.onVnodeMounted;F&&ze(F,L.parent,E)},a)},r.deactivate=E=>{const g=E.component;Ts(g.m),Ts(g.a),u(E,d,null,1,a),De(()=>{g.da&&Yn(g.da);const y=E.props&&E.props.onVnodeUnmounted;y&&ze(y,g.parent,E),g.isDeactivated=!0},a)};function h(E){Eo(E),c(E,n,a,!0)}function _(E){s.forEach((g,y)=>{const C=ii(Qt(g)?g.type.__asyncResolved||{}:g.type);C&&!E(C)&&m(y)})}function m(E){const g=s.get(E);g&&(!i||!bt(g,i))?h(g):i&&Eo(i),s.delete(E),o.delete(E)}at(()=>[e.include,e.exclude],([E,g])=>{E&&_(y=>wr(E,y)),g&&_(y=>!wr(g,y))},{flush:"post",deep:!0});let R=null;const b=()=>{R!=null&&(Ls(n.subTree.type)?De(()=>{s.set(R,as(n.subTree))},n.subTree.suspense):s.set(R,as(n.subTree)))};return Qs(b),Su(b),zr(()=>{s.forEach(E=>{const{subTree:g,suspense:y}=n,C=as(g);if(E.type===C.type&&E.key===C.key){Eo(C);const A=C.component.da;A&&De(A,y);return}h(E)})}),()=>{if(R=null,!t.default)return i=null;const E=t.default(),g=E[0];if(E.length>1)return i=null,E;if(!xn(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let y=as(g);if(y.type===Oe)return i=null,y;const C=y.type,A=ii(Qt(y)?y.type.__asyncResolved||{}:C),{include:L,exclude:F,max:N}=e;if(L&&(!A||!wr(L,A))||F&&A&&wr(F,A))return y.shapeFlag&=-257,i=y,g;const D=y.key==null?C:y.key,W=s.get(D);return y.el&&(y=rn(y),g.shapeFlag&128&&(g.ssContent=y)),R=D,W?(y.el=W.el,y.component=W.component,y.transition&&tr(y,y.transition),y.shapeFlag|=512,o.delete(D),o.add(D)):(o.add(D),N&&o.size>parseInt(N,10)&&m(o.values().next().value)),y.shapeFlag|=256,i=y,Ls(g.type)?g:y}}},op=sp;function wr(e,t){return Z(e)?e.some(n=>wr(n,t)):we(e)?e.split(",").includes(t):eh(e)?(e.lastIndex=0,e.test(t)):!1}function Eu(e,t){Cu(e,"a",t)}function wu(e,t){Cu(e,"da",t)}function Cu(e,t,n=je){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Js(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Qr(s.parent.vnode)&&ip(r,t,n,s),s=s.parent}}function ip(e,t,n,r){const s=Js(t,e,r,!0);zs(()=>{Bi(r[t],s)},n)}function Eo(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function as(e){return e.shapeFlag&128?e.ssContent:e}function Js(e,t,n=je,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{en();const a=Zr(n),l=yt(t,n,e,i);return a(),tn(),l});return r?s.unshift(o):s.push(o),o}}const on=e=>(t,n=je)=>{(!rr||e==="sp")&&Js(e,(...r)=>t(...r),n)},ap=on("bm"),Qs=on("m"),lp=on("bu"),Su=on("u"),zr=on("bum"),zs=on("um"),cp=on("sp"),up=on("rtg"),fp=on("rtc");function Ru(e,t=je){Js("ec",e,t)}const Tu="components";function T0(e,t){return ku(Tu,e,!0,t)||e}const Lu=Symbol.for("v-ndc");function dp(e){return we(e)?ku(Tu,e,!1)||e:e||Lu}function ku(e,t,n=!0,r=!1){const s=Be||je;if(s){const o=s.type;{const a=ii(o,!1);if(a&&(a===t||a===Qe(t)||a===Bs(Qe(t))))return o}const i=Ha(s[e]||o[e],t)||Ha(s.appContext[e],t);return!i&&r?o:i}}function Ha(e,t){return e&&(e[t]||e[Qe(t)]||e[Bs(Qe(t))])}function L0(e,t,n,r){let s;const o=n&&n[r],i=Z(e);if(i||we(e)){const a=i&&Ht(e);let l=!1,u=!1;a&&(l=!it(e),u=Ut(e),e=Ys(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(a,l,void 0,o&&o[l]));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;l0;return t!=="default"&&(n.name=t),pt(),Mt(Ue,null,[Re("slot",n,r&&r())],u?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),pt();const i=o&&Au(o(n)),a=n.key||i&&i.key,l=Mt(Ue,{key:(a&&!ct(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||(r?r():[]),i&&e._===1?64:-2);return!s&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function Au(e){return e.some(t=>xn(t)?!(t.type===Oe||t.type===Ue&&!Au(t.children)):!0)?e:null}const zo=e=>e?rf(e)?to(e):zo(e.parent):null,Lr=He(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>zo(e.parent),$root:e=>zo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ou(e),$forceUpdate:e=>e.f||(e.f=()=>{Ji(e.update)}),$nextTick:e=>e.n||(e.n=nn.bind(e.proxy)),$watch:e=>Yh.bind(e)}),wo=(e,t)=>e!==be&&!e.__isScriptSetup&&ge(e,t),hp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const d=i[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(wo(r,t))return i[t]=1,r[t];if(s!==be&&ge(s,t))return i[t]=2,s[t];if(ge(o,t))return i[t]=3,o[t];if(n!==be&&ge(n,t))return i[t]=4,n[t];Zo&&(i[t]=0)}}const u=Lr[t];let c,f;if(u)return t==="$attrs"&&Ke(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==be&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return wo(s,t)?(s[t]=n,!0):r!==be&&ge(r,t)?(r[t]=n,!0):ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==be&&a[0]!=="$"&&ge(e,a)||wo(t,a)||ge(o,a)||ge(r,a)||ge(Lr,a)||ge(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $a(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Zo=!0;function pp(e){const t=Ou(e),n=e.proxy,r=e.ctx;Zo=!1,t.beforeCreate&&Ua(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:h,updated:_,activated:m,deactivated:R,beforeDestroy:b,beforeUnmount:E,destroyed:g,unmounted:y,render:C,renderTracked:A,renderTriggered:L,errorCaptured:F,serverPrefetch:N,expose:D,inheritAttrs:W,components:$,directives:X,filters:te}=t;if(u&&gp(u,r,null),i)for(const J in i){const q=i[J];ee(q)&&(r[J]=q.bind(n))}if(s){const J=s.call(n,n);de(J)&&(e.data=sn(J))}if(Zo=!0,o)for(const J in o){const q=o[J],re=ee(q)?q.bind(n,n):ee(q.get)?q.get.bind(n,n):Ft,nt=!ee(q)&&ee(q.set)?q.set.bind(n):Ft,qe=ke({get:re,set:nt});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>qe.value,set:$e=>qe.value=$e})}if(a)for(const J in a)Pu(a[J],r,n,J);if(l){const J=ee(l)?l.call(n):l;Reflect.ownKeys(J).forEach(q=>{gn(q,J[q])})}c&&Ua(c,e,"c");function K(J,q){Z(q)?q.forEach(re=>J(re.bind(n))):q&&J(q.bind(n))}if(K(ap,f),K(Qs,d),K(lp,h),K(Su,_),K(Eu,m),K(wu,R),K(Ru,F),K(fp,A),K(up,L),K(zr,E),K(zs,y),K(cp,N),Z(D))if(D.length){const J=e.exposed||(e.exposed={});D.forEach(q=>{Object.defineProperty(J,q,{get:()=>n[q],set:re=>n[q]=re,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===Ft&&(e.render=C),W!=null&&(e.inheritAttrs=W),$&&(e.components=$),X&&(e.directives=X),N&&Zi(e)}function gp(e,t,n=Ft){Z(e)&&(e=ei(e));for(const r in e){const s=e[r];let o;de(s)?"default"in s?o=Fe(s.from||r,s.default,!0):o=Fe(s.from||r):o=Fe(s),ve(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Ua(e,t,n){yt(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pu(e,t,n,r){let s=r.includes(".")?pu(n,r):()=>n[r];if(we(e)){const o=t[e];ee(o)&&at(s,o)}else if(ee(e))at(s,e.bind(n));else if(de(e))if(Z(e))e.forEach(o=>Pu(o,t,n,r));else{const o=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(o)&&at(s,o,e)}}function Ou(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>Rs(l,u,i,!0)),Rs(l,t,i)),de(t)&&o.set(t,l),l}function Rs(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Rs(e,o,n,!0),s&&s.forEach(i=>Rs(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=mp[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const mp={data:ja,props:Ba,emits:Ba,methods:Cr,computed:Cr,beforeCreate:Ye,created:Ye,beforeMount:Ye,mounted:Ye,beforeUpdate:Ye,updated:Ye,beforeDestroy:Ye,beforeUnmount:Ye,destroyed:Ye,unmounted:Ye,activated:Ye,deactivated:Ye,errorCaptured:Ye,serverPrefetch:Ye,components:Cr,directives:Cr,watch:_p,provide:ja,inject:yp};function ja(e,t){return t?e?function(){return He(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function yp(e,t){return Cr(ei(e),ei(t))}function ei(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Dn(t)}Modifiers`];function wp(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||be;let s=n;const o=t.startsWith("update:"),i=o&&Ep(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>we(c)?c.trim():c)),i.number&&(s=n.map(Vs)));let a,l=r[a=go(t)]||r[a=go(Qe(t))];!l&&o&&(l=r[a=go(Dn(t))]),l&&yt(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,yt(u,e,6,s)}}const Cp=new WeakMap;function Nu(e,t,n=!1){const r=n?Cp:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!ee(e)){const l=u=>{const c=Nu(u,t,!0);c&&(a=!0,He(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(de(e)&&r.set(e,null),null):(Z(o)?o.forEach(l=>i[l]=null):He(i,o),de(e)&&r.set(e,i),i)}function Zs(e,t){return!e||!qr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,Dn(t))||ge(e,t))}function Co(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:h,ctx:_,inheritAttrs:m}=e,R=Cs(e);let b,E;try{if(n.shapeFlag&4){const y=s||r,C=y;b=ot(u.call(C,y,c,f,h,d,_)),E=a}else{const y=t;b=ot(y.length>1?y(f,{attrs:a,slots:i,emit:l}):y(f,null)),E=t.props?a:Rp(a)}}catch(y){Ar.length=0,hr(y,e,1),b=Re(Oe)}let g=b;if(E&&m!==!1){const y=Object.keys(E),{shapeFlag:C}=g;y.length&&C&7&&(o&&y.some($s)&&(E=Tp(E,o)),g=rn(g,E,!1,!0))}return n.dirs&&(g=rn(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&tr(g,n.transition),b=g,Cs(R),b}function Sp(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||qr(n))&&((t||(t={}))[n]=e[n]);return t},Tp=(e,t)=>{const n={};for(const r in e)(!$s(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Lp(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?Va(r,i,u):!!i;if(l&8){const c=t.dynamicProps;for(let f=0;fObject.create(Mu),Fu=e=>Object.getPrototypeOf(e)===Mu;function kp(e,t,n,r=!1){const s={},o=Du();e.propsDefaults=Object.create(null),Hu(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Dt(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Ap(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ae(s),[l]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,h]=$u(f,t,!0);He(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return de(e)&&r.set(e,Gn),Gn;if(Z(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",ta=e=>Z(e)?e.map(ot):[ot(e)],Op=(e,t,n)=>{if(t._n)return t;const r=Qi((...s)=>ta(t(...s)),n);return r._c=!1,r},Uu=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ea(s))continue;const o=e[s];if(ee(o))t[s]=Op(s,o,r);else if(o!=null){const i=ta(o);t[s]=()=>i}}},ju=(e,t)=>{const n=ta(t);e.slots.default=()=>n},Bu=(e,t,n)=>{for(const r in t)(n||!ea(r))&&(e[r]=t[r])},Ip=(e,t,n)=>{const r=e.slots=Du();if(e.vnode.shapeFlag&32){const s=t._;s?(Bu(r,t,n),n&&Uc(r,"_",s,!0)):Uu(t,r)}else t&&ju(e,t)},Np=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=be;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Bu(s,t,n):(o=!t.$stable,Uu(t,s)),i=t}else t&&(ju(e,t),i={default:1});if(o)for(const a in s)!ea(a)&&i[a]==null&&delete s[a]},De=Xu;function xp(e){return Vu(e)}function Mp(e){return Vu(e,tp)}function Vu(e,t){const n=Ws();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:h=Ft,insertStaticContent:_}=e,m=(v,S,P,U=null,M=null,p=null,w=void 0,k=null,O=!!S.dynamicChildren)=>{if(v===S)return;v&&!bt(v,S)&&(U=H(v),$e(v,M,p,!0),v=null),S.patchFlag===-2&&(O=!1,S.dynamicChildren=null);const{type:x,ref:j,shapeFlag:T}=S;switch(x){case mn:R(v,S,P,U);break;case Oe:b(v,S,P,U);break;case kr:v==null&&E(S,P,U,w);break;case Ue:$(v,S,P,U,M,p,w,k,O);break;default:T&1?C(v,S,P,U,M,p,w,k,O):T&6?X(v,S,P,U,M,p,w,k,O):(T&64||T&128)&&x.process(v,S,P,U,M,p,w,k,O,Q)}j!=null&&M?Jn(j,v&&v.ref,p,S||v,!S):j==null&&v&&v.ref!=null&&Jn(v.ref,null,p,v,!0)},R=(v,S,P,U)=>{if(v==null)r(S.el=a(S.children),P,U);else{const M=S.el=v.el;S.children!==v.children&&u(M,S.children)}},b=(v,S,P,U)=>{v==null?r(S.el=l(S.children||""),P,U):S.el=v.el},E=(v,S,P,U)=>{[v.el,v.anchor]=_(v.children,S,P,U,v.el,v.anchor)},g=({el:v,anchor:S},P,U)=>{let M;for(;v&&v!==S;)M=d(v),r(v,P,U),v=M;r(S,P,U)},y=({el:v,anchor:S})=>{let P;for(;v&&v!==S;)P=d(v),s(v),v=P;s(S)},C=(v,S,P,U,M,p,w,k,O)=>{if(S.type==="svg"?w="svg":S.type==="math"&&(w="mathml"),v==null)A(S,P,U,M,p,w,k,O);else{const x=v.el&&v.el._isVueCE?v.el:null;try{x&&x._beginPatch(),N(v,S,M,p,w,k,O)}finally{x&&x._endPatch()}}},A=(v,S,P,U,M,p,w,k)=>{let O,x;const{props:j,shapeFlag:T,transition:I,dirs:V}=v;if(O=v.el=i(v.type,p,j&&j.is,j),T&8?c(O,v.children):T&16&&F(v.children,O,null,U,M,So(v,p),w,k),V&&It(v,null,U,"created"),L(O,v,v.scopeId,w,U),j){for(const ie in j)ie!=="value"&&!Ln(ie)&&o(O,ie,null,j[ie],p,U);"value"in j&&o(O,"value",null,j.value,p),(x=j.onVnodeBeforeMount)&&ze(x,U,v)}V&&It(v,null,U,"beforeMount");const z=Wu(M,I);z&&I.beforeEnter(O),r(O,S,P),((x=j&&j.onVnodeMounted)||z||V)&&De(()=>{x&&ze(x,U,v),z&&I.enter(O),V&&It(v,null,U,"mounted")},M)},L=(v,S,P,U,M)=>{if(P&&h(v,P),U)for(let p=0;p{for(let x=O;x{const k=S.el=v.el;let{patchFlag:O,dynamicChildren:x,dirs:j}=S;O|=v.patchFlag&16;const T=v.props||be,I=S.props||be;let V;if(P&&vn(P,!1),(V=I.onVnodeBeforeUpdate)&&ze(V,P,S,v),j&&It(S,v,P,"beforeUpdate"),P&&vn(P,!0),(T.innerHTML&&I.innerHTML==null||T.textContent&&I.textContent==null)&&c(k,""),x?D(v.dynamicChildren,x,k,P,U,So(S,M),p):w||q(v,S,k,null,P,U,So(S,M),p,!1),O>0){if(O&16)W(k,T,I,P,M);else if(O&2&&T.class!==I.class&&o(k,"class",null,I.class,M),O&4&&o(k,"style",T.style,I.style,M),O&8){const z=S.dynamicProps;for(let ie=0;ie{V&&ze(V,P,S,v),j&&It(S,v,P,"updated")},U)},D=(v,S,P,U,M,p,w)=>{for(let k=0;k{if(S!==P){if(S!==be)for(const p in S)!Ln(p)&&!(p in P)&&o(v,p,S[p],null,M,U);for(const p in P){if(Ln(p))continue;const w=P[p],k=S[p];w!==k&&p!=="value"&&o(v,p,k,w,M,U)}"value"in P&&o(v,"value",S.value,P.value,M)}},$=(v,S,P,U,M,p,w,k,O)=>{const x=S.el=v?v.el:a(""),j=S.anchor=v?v.anchor:a("");let{patchFlag:T,dynamicChildren:I,slotScopeIds:V}=S;V&&(k=k?k.concat(V):V),v==null?(r(x,P,U),r(j,P,U),F(S.children||[],P,j,M,p,w,k,O)):T>0&&T&64&&I&&v.dynamicChildren&&v.dynamicChildren.length===I.length?(D(v.dynamicChildren,I,P,M,p,w,k),(S.key!=null||M&&S===M.subTree)&&Ku(v,S,!0)):q(v,S,P,j,M,p,w,k,O)},X=(v,S,P,U,M,p,w,k,O)=>{S.slotScopeIds=k,v==null?S.shapeFlag&512?M.ctx.activate(S,P,U,w,O):te(S,P,U,M,p,w,O):se(v,S,O)},te=(v,S,P,U,M,p,w)=>{const k=v.component=Yp(v,U,M);if(Qr(v)&&(k.ctx.renderer=Q),Xp(k,!1,w),k.asyncDep){if(M&&M.registerDep(k,K,w),!v.el){const O=k.subTree=Re(Oe);b(null,O,S,P),v.placeholder=O.el}}else K(k,v,S,P,M,p,w)},se=(v,S,P)=>{const U=S.component=v.component;if(Lp(v,S,P))if(U.asyncDep&&!U.asyncResolved){J(U,S,P);return}else U.next=S,U.update();else S.el=v.el,U.vnode=S},K=(v,S,P,U,M,p,w)=>{const k=()=>{if(v.isMounted){let{next:T,bu:I,u:V,parent:z,vnode:ie}=v;{const rt=Gu(v);if(rt){T&&(T.el=ie.el,J(v,T,w)),rt.asyncDep.then(()=>{De(()=>{v.isUnmounted||x()},M)});return}}let oe=T,le;vn(v,!1),T?(T.el=ie.el,J(v,T,w)):T=ie,I&&Yn(I),(le=T.props&&T.props.onVnodeBeforeUpdate)&&ze(le,z,T,ie),vn(v,!0);const Pe=Co(v),ut=v.subTree;v.subTree=Pe,m(ut,Pe,f(ut.el),H(ut),v,M,p),T.el=Pe.el,oe===null&&eo(v,Pe.el),V&&De(V,M),(le=T.props&&T.props.onVnodeUpdated)&&De(()=>ze(le,z,T,ie),M)}else{let T;const{el:I,props:V}=S,{bm:z,m:ie,parent:oe,root:le,type:Pe}=v,ut=Qt(S);if(vn(v,!1),z&&Yn(z),!ut&&(T=V&&V.onVnodeBeforeMount)&&ze(T,oe,S),vn(v,!0),I&&_e){const rt=()=>{v.subTree=Co(v),_e(I,v.subTree,v,M,null)};ut&&Pe.__asyncHydrate?Pe.__asyncHydrate(I,v,rt):rt()}else{le.ce&&le.ce._hasShadowRoot()&&le.ce._injectChildStyle(Pe,v.parent?v.parent.type:void 0);const rt=v.subTree=Co(v);m(null,rt,P,U,v,M,p),S.el=rt.el}if(ie&&De(ie,M),!ut&&(T=V&&V.onVnodeMounted)){const rt=S;De(()=>ze(T,oe,rt),M)}(S.shapeFlag&256||oe&&Qt(oe.vnode)&&oe.vnode.shapeFlag&256)&&v.a&&De(v.a,M),v.isMounted=!0,S=P=U=null}};v.scope.on();const O=v.effect=new Gc(k);v.scope.off();const x=v.update=O.run.bind(O),j=v.job=O.runIfDirty.bind(O);j.i=v,j.id=v.uid,O.scheduler=()=>Ji(j),vn(v,!0),x()},J=(v,S,P)=>{S.component=v;const U=v.vnode.props;v.vnode=S,v.next=null,Ap(v,S.props,U,P),Np(v,S.children,P),en(),Ia(v),tn()},q=(v,S,P,U,M,p,w,k,O=!1)=>{const x=v&&v.children,j=v?v.shapeFlag:0,T=S.children,{patchFlag:I,shapeFlag:V}=S;if(I>0){if(I&128){nt(x,T,P,U,M,p,w,k,O);return}else if(I&256){re(x,T,P,U,M,p,w,k,O);return}}V&8?(j&16&&Ve(x,M,p),T!==x&&c(P,T)):j&16?V&16?nt(x,T,P,U,M,p,w,k,O):Ve(x,M,p,!0):(j&8&&c(P,""),V&16&&F(T,P,U,M,p,w,k,O))},re=(v,S,P,U,M,p,w,k,O)=>{v=v||Gn,S=S||Gn;const x=v.length,j=S.length,T=Math.min(x,j);let I;for(I=0;Ij?Ve(v,M,p,!0,!1,T):F(S,P,U,M,p,w,k,O,T)},nt=(v,S,P,U,M,p,w,k,O)=>{let x=0;const j=S.length;let T=v.length-1,I=j-1;for(;x<=T&&x<=I;){const V=v[x],z=S[x]=O?Gt(S[x]):ot(S[x]);if(bt(V,z))m(V,z,P,null,M,p,w,k,O);else break;x++}for(;x<=T&&x<=I;){const V=v[T],z=S[I]=O?Gt(S[I]):ot(S[I]);if(bt(V,z))m(V,z,P,null,M,p,w,k,O);else break;T--,I--}if(x>T){if(x<=I){const V=I+1,z=VI)for(;x<=T;)$e(v[x],M,p,!0),x++;else{const V=x,z=x,ie=new Map;for(x=z;x<=I;x++){const st=S[x]=O?Gt(S[x]):ot(S[x]);st.key!=null&&ie.set(st.key,x)}let oe,le=0;const Pe=I-z+1;let ut=!1,rt=0;const pr=new Array(Pe);for(x=0;x=Pe){$e(st,M,p,!0);continue}let kt;if(st.key!=null)kt=ie.get(st.key);else for(oe=z;oe<=I;oe++)if(pr[oe-z]===0&&bt(st,S[oe])){kt=oe;break}kt===void 0?$e(st,M,p,!0):(pr[kt-z]=x+1,kt>=rt?rt=kt:ut=!0,m(st,S[kt],P,null,M,p,w,k,O),le++)}const Ra=ut?Dp(pr):Gn;for(oe=Ra.length-1,x=Pe-1;x>=0;x--){const st=z+x,kt=S[st],Ta=S[st+1],La=st+1{const{el:p,type:w,transition:k,children:O,shapeFlag:x}=v;if(x&6){qe(v.component.subTree,S,P,U);return}if(x&128){v.suspense.move(S,P,U);return}if(x&64){w.move(v,S,P,Q);return}if(w===Ue){r(p,S,P);for(let T=0;Tk.enter(p),M));else{const{leave:T,delayLeave:I,afterLeave:V}=k,z=()=>{v.ctx.isUnmounted?s(p):r(p,S,P)},ie=()=>{const oe=p._isLeaving||!!p[ht];p._isLeaving&&p[ht](!0),k.persisted&&!oe?z():T(p,()=>{z(),V&&V()})};I?I(p,z,ie):ie()}else r(p,S,P)},$e=(v,S,P,U=!1,M=!1)=>{const{type:p,props:w,ref:k,children:O,dynamicChildren:x,shapeFlag:j,patchFlag:T,dirs:I,cacheIndex:V,memo:z}=v;if(T===-2&&(M=!1),k!=null&&(en(),Jn(k,null,P,v,!0),tn()),V!=null&&(S.renderCache[V]=void 0),j&256){S.ctx.deactivate(v);return}const ie=j&1&&I,oe=!Qt(v);let le;if(oe&&(le=w&&w.onVnodeBeforeUnmount)&&ze(le,S,v),j&6)Lt(v.component,P,U);else{if(j&128){v.suspense.unmount(P,U);return}ie&&It(v,null,S,"beforeUnmount"),j&64?v.type.remove(v,S,P,Q,U):x&&!x.hasOnce&&(p!==Ue||T>0&&T&64)?Ve(x,S,P,!1,!0):(p===Ue&&T&384||!M&&j&16)&&Ve(O,S,P),U&&Rt(v)}const Pe=z!=null&&V==null;(oe&&(le=w&&w.onVnodeUnmounted)||ie||Pe)&&De(()=>{le&&ze(le,S,v),ie&&It(v,null,S,"unmounted"),Pe&&(v.el=null)},P)},Rt=v=>{const{type:S,el:P,anchor:U,transition:M}=v;if(S===Ue){Tt(P,U);return}if(S===kr){y(v);return}const p=()=>{s(P),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(v.shapeFlag&1&&M&&!M.persisted){const{leave:w,delayLeave:k}=M,O=()=>w(P,p);k?k(v.el,p,O):O()}else p()},Tt=(v,S)=>{let P;for(;v!==S;)P=d(v),s(v),v=P;s(S)},Lt=(v,S,P)=>{const{bum:U,scope:M,job:p,subTree:w,um:k,m:O,a:x}=v;Ts(O),Ts(x),U&&Yn(U),M.stop(),p&&(p.flags|=8,$e(w,v,S,P)),k&&De(k,S),De(()=>{v.isUnmounted=!0},S)},Ve=(v,S,P,U=!1,M=!1,p=0)=>{for(let w=p;w{if(v.shapeFlag&6)return H(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const S=d(v.anchor||v.el),P=S&&S[Xh];return P?d(P):S};let Y=!1;const B=(v,S,P)=>{let U;v==null?S._vnode&&($e(S._vnode,null,null,!0),U=S._vnode.component):m(S._vnode||null,v,S,null,null,null,P),S._vnode=v,Y||(Y=!0,Ia(U),ws(),Y=!1)},Q={p:m,um:$e,m:qe,r:Rt,mt:te,mc:F,pc:q,pbc:D,n:H,o:e};let ne,_e;return t&&([ne,_e]=t(Q)),{render:B,hydrate:ne,createApp:vp(B,ne)}}function So({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function vn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ku(e,t,n=!1){const r=e.children,s=t.children;if(Z(r)&&Z(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Gu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gu(t)}function Ts(e){if(e)for(let t=0;te.__isSuspense;let ni=0;const Fp={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,u){if(e==null)Hp(t,n,r,s,o,i,a,l,u);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}$p(e,t,n,r,s,i,a,l,u)}},hydrate:Up,normalize:jp},na=Fp;function Fr(e,t){const n=e.props&&e.props[t];ee(n)&&n()}function Hp(e,t,n,r,s,o,i,a,l){const{p:u,o:{createElement:c}}=l,f=c("div"),d=e.suspense=Yu(e,s,r,t,f,n,o,i,a,l);u(null,d.pendingBranch=e.ssContent,f,null,r,d,o,i),d.deps>0?(Fr(e,"onPending"),Fr(e,"onFallback"),u(null,e.ssFallback,t,n,r,null,o,i),Qn(d,e.ssFallback)):d.resolve(!1,!0)}function $p(e,t,n,r,s,o,i,a,{p:l,um:u,o:{createElement:c}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:_,pendingBranch:m,isInFallback:R,isHydrating:b}=f;if(m)f.pendingBranch=d,bt(m,d)?(l(m,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():R&&(b||(l(_,h,n,r,s,null,o,i,a),Qn(f,h)))):(f.pendingId=ni++,b?(f.isHydrating=!1,f.activeBranch=m):u(m,s,f),f.deps=0,f.effects.length=0,f.hiddenContainer=c("div"),R?(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():(l(_,h,n,r,s,null,o,i,a),Qn(f,h))):_&&bt(_,d)?(l(_,d,n,r,s,f,o,i,a),f.resolve(!0)):(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0&&f.resolve()));else if(_&&bt(_,d))l(_,d,n,r,s,f,o,i,a),Qn(f,d);else if(Fr(t,"onPending"),f.pendingBranch=d,d.shapeFlag&512?f.pendingId=d.component.suspenseId:f.pendingId=ni++,l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0)f.resolve();else{const{timeout:E,pendingId:g}=f;E>0?setTimeout(()=>{f.pendingId===g&&f.fallback(h)},E):E===0&&f.fallback(h)}}function Yu(e,t,n,r,s,o,i,a,l,u,c=!1){const{p:f,m:d,um:h,n:_,o:{parentNode:m,remove:R}}=u;let b;const E=Bp(e);E&&t&&t.pendingBranch&&(b=t.pendingId,t.deps++);const g=e.props?jc(e.props.timeout):void 0,y=o,C={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:ni++,timeout:typeof g=="number"?g:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(A=!1,L=!1){const{vnode:F,activeBranch:N,pendingBranch:D,pendingId:W,effects:$,parentComponent:X,container:te,isInFallback:se}=C;let K=!1;if(C.isHydrating)C.isHydrating=!1;else if(!A){K=N&&D.transition&&D.transition.mode==="out-in";let re=!1;K&&(N.transition.afterLeave=()=>{W===C.pendingId&&(d(D,te,o===y&&!re?_(N):o,0),Xo($),se&&F.ssFallback&&(F.ssFallback.el=null))}),N&&!C.isFallbackMountPending&&(m(N.el)===te&&(o=_(N),re=!0),h(N,X,C,!0),!K&&se&&F.ssFallback&&De(()=>F.ssFallback.el=null,C)),K||d(D,te,o,0)}C.isFallbackMountPending=!1,Qn(C,D),C.pendingBranch=null,C.isInFallback=!1;let J=C.parent,q=!1;for(;J;){if(J.pendingBranch){J.effects.push(...$),q=!0;break}J=J.parent}!q&&!K&&Xo($),C.effects=[],E&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!L&&t.resolve()),Fr(F,"onResolve")},fallback(A){if(!C.pendingBranch)return;const{vnode:L,activeBranch:F,parentComponent:N,container:D,namespace:W}=C;Fr(L,"onFallback");const $=_(F),X=()=>{C.isFallbackMountPending=!1,C.isInFallback&&(f(null,A,D,$,N,null,W,a,l),Qn(C,A))},te=A.transition&&A.transition.mode==="out-in";te&&(C.isFallbackMountPending=!0,F.transition.afterLeave=X),C.isInFallback=!0,h(F,N,null,!0),te||X()},move(A,L,F){C.activeBranch&&d(C.activeBranch,A,L,F),C.container=A},next(){return C.activeBranch&&_(C.activeBranch)},registerDep(A,L,F){const N=!!C.pendingBranch;N&&C.deps++;const D=A.vnode.el;A.asyncDep.catch(W=>{hr(W,A,0)}).then(W=>{if(A.isUnmounted||C.isUnmounted||C.pendingId!==A.suspenseId)return;si(),A.asyncResolved=!0;const{vnode:$}=A;oi(A,W),D&&($.el=D);const X=!D&&A.subTree.el;L(A,$,m(D||A.subTree.el),D?null:_(A.subTree),C,i,F),X&&($.placeholder=null,R(X)),eo(A,$.el),N&&--C.deps===0&&C.resolve()})},unmount(A,L){C.isUnmounted=!0,C.activeBranch&&h(C.activeBranch,n,A,L),C.pendingBranch&&h(C.pendingBranch,n,A,L)}};return C}function Up(e,t,n,r,s,o,i,a,l){const u=t.suspense=Yu(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,o,i);return u.deps===0&&u.resolve(!1,!0),c}function jp(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Ka(r?n.default:n),e.ssFallback=r?Ka(n.fallback):Re(Oe)}function Ka(e){let t;if(ee(e)){const n=nr&&e._c;n&&(e._d=!1,pt()),e=e(),n&&(e._d=!0,t=Ze,Ju())}return Z(e)&&(e=Sp(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Xu(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Xo(e)}function Qn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,eo(r,s))}function Bp(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Ue=Symbol.for("v-fgt"),mn=Symbol.for("v-txt"),Oe=Symbol.for("v-cmt"),kr=Symbol.for("v-stc"),Ar=[];let Ze=null;function pt(e=!1){Ar.push(Ze=e?null:[])}function Ju(){Ar.pop(),Ze=Ar[Ar.length-1]||null}let nr=1;function ks(e,t=!1){nr+=e,e<0&&Ze&&t&&(Ze.hasOnce=!0)}function Qu(e){return e.dynamicChildren=nr>0?Ze||Gn:null,Ju(),nr>0&&Ze&&Ze.push(e),e}function Vp(e,t,n,r,s,o){return Qu(Zu(e,t,n,r,s,o,!0))}function Mt(e,t,n,r,s){return Qu(Re(e,t,n,r,s,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function bt(e,t){return e.type===t.type&&e.key===t.key}const zu=({key:e})=>e??null,ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||ve(e)||ee(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function Zu(e,t=null,n=null,r=0,s=null,o=e===Ue?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zu(t),ref:t&&ys(t),scopeId:hu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return a?(ra(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=we(n)?8:16),nr>0&&!i&&Ze&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Ze.push(l),l}const Re=Wp;function Wp(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Lu)&&(e=Oe),xn(e)){const a=rn(e,t,!0);return n&&ra(a,n),nr>0&&!o&&Ze&&(a.shapeFlag&6?Ze[Ze.indexOf(e)]=a:Ze.push(a)),a.patchFlag=-2,a}if(Zp(e)&&(e=e.__vccOpts),t){t=ef(t);let{class:a,style:l}=t;a&&!we(a)&&(t.class=Gs(a)),de(l)&&(Xs(l)&&!Z(l)&&(l=He({},l)),t.style=Ks(l))}const i=we(e)?1:Ls(e)?128:gu(e)?64:de(e)?4:ee(e)?2:0;return Zu(e,t,n,r,s,i,o,!0)}function ef(e){return e?Xs(e)||Fu(e)?He({},e):e:null}function rn(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,u=t?nf(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&zu(u),ref:t&&t.ref?n&&o?Z(o)?o.concat(ys(t)):[o,ys(t)]:ys(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rn(e.ssContent),ssFallback:e.ssFallback&&rn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&tr(c,l.clone(c)),c}function tf(e=" ",t=0){return Re(mn,null,e,t)}function A0(e,t){const n=Re(kr,null,e);return n.staticCount=t,n}function Kp(e="",t=!1){return t?(pt(),Mt(Oe,null,e)):Re(Oe,null,e)}function ot(e){return e==null||typeof e=="boolean"?Re(Oe):Z(e)?Re(Ue,null,e.slice()):xn(e)?Gt(e):Re(mn,null,String(e))}function Gt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:rn(e)}function ra(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),ra(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Fu(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ee(t)?(t={default:t,_ctx:Be},n=32):(t=String(t),r&64?(n=16,t=[tf(t)]):n=8);e.children=t,e.shapeFlag|=n}function nf(...e){const t={};for(let n=0;nje||Be;let As,ri;{const e=Ws(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};As=t("__VUE_INSTANCE_SETTERS__",n=>je=n),ri=t("__VUE_SSR_SETTERS__",n=>rr=n)}const Zr=e=>{const t=je;return As(e),e.scope.on(),()=>{e.scope.off(),As(t)}},si=()=>{je&&je.scope.off(),As(null)};function rf(e){return e.vnode.shapeFlag&4}let rr=!1;function Xp(e,t=!1,n=!1){t&&ri(t);const{props:r,children:s}=e.vnode,o=rf(e);kp(e,r,o,t),Ip(e,s,n||t);const i=o?Jp(e,t):void 0;return t&&ri(!1),i}function Jp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,hp);const{setup:r}=n;if(r){en();const s=e.setupContext=r.length>1?zp(e):null,o=Zr(e),i=Xr(r,e,0,[e.props,s]),a=Fc(i);if(tn(),o(),(a||e.sp)&&!Qt(e)&&Zi(e),a){if(i.then(si,si),t)return i.then(l=>{oi(e,l)}).catch(l=>{hr(l,e,0)});e.asyncDep=i}else oi(e,i)}else sf(e)}function oi(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=au(t)),sf(e)}function sf(e,t,n){const r=e.type;e.render||(e.render=r.render||Ft);{const s=Zr(e);en();try{pp(e)}finally{tn(),s()}}}const Qp={get(e,t){return Ke(e,"get",""),e[t]}};function zp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Qp),slots:e.slots,emit:e.emit,expose:t}}function to(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(au(Xi(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Lr)return Lr[n](e)},has(t,n){return n in t||n in Lr}})):e.proxy}function ii(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function Zp(e){return ee(e)&&"__vccOpts"in e}const ke=(e,t)=>Uh(e,t,rr);function Ie(e,t,n){try{ks(-1);const r=arguments.length;return r===2?de(t)&&!Z(t)?xn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xn(n)&&(n=[n]),Re(e,t,n))}finally{ks(1)}}const eg="3.5.38";let ai;const Ga=typeof window<"u"&&window.trustedTypes;if(Ga)try{ai=Ga.createPolicy("vue",{createHTML:e=>e})}catch{}const of=ai?e=>ai.createHTML(e):e=>e,tg="http://www.w3.org/2000/svg",ng="http://www.w3.org/1998/Math/MathML",Kt=typeof document<"u"?document:null,qa=Kt&&Kt.createElement("template"),rg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Kt.createElementNS(tg,e):t==="mathml"?Kt.createElementNS(ng,e):n?Kt.createElement(e,{is:n}):Kt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Kt.createTextNode(e),createComment:e=>Kt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Kt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{qa.innerHTML=of(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=qa.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ln="transition",yr="animation",Hr=Symbol("_vtc"),af={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},sg=He({},mu,af),og=e=>(e.displayName="Transition",e.props=sg,e),ig=og((e,{slots:t})=>Ie(zh,ag(e),t)),En=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ya=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function ag(e){const t={};for(const $ in e)$ in af||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:u=i,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,_=lg(s),m=_&&_[0],R=_&&_[1],{onBeforeEnter:b,onEnter:E,onEnterCancelled:g,onLeave:y,onLeaveCancelled:C,onBeforeAppear:A=b,onAppear:L=E,onAppearCancelled:F=g}=t,N=($,X,te,se)=>{$._enterCancelled=se,wn($,X?c:a),wn($,X?u:i),te&&te()},D=($,X)=>{$._isLeaving=!1,wn($,f),wn($,h),wn($,d),X&&X()},W=$=>(X,te)=>{const se=$?L:E,K=()=>N(X,$,te);En(se,[X,K]),Xa(()=>{wn(X,$?l:o),Bt(X,$?c:a),Ya(se)||Ja(X,r,m,K)})};return He(t,{onBeforeEnter($){En(b,[$]),Bt($,o),Bt($,i)},onBeforeAppear($){En(A,[$]),Bt($,l),Bt($,u)},onEnter:W(!1),onAppear:W(!0),onLeave($,X){$._isLeaving=!0;const te=()=>D($,X);Bt($,f),$._enterCancelled?(Bt($,d),Za($)):(Za($),Bt($,d)),Xa(()=>{$._isLeaving&&(wn($,f),Bt($,h),Ya(y)||Ja($,r,R,te))}),En(y,[$,te])},onEnterCancelled($){N($,!1,void 0,!0),En(g,[$])},onAppearCancelled($){N($,!0,void 0,!0),En(F,[$])},onLeaveCancelled($){D($),En(C,[$])}})}function lg(e){if(e==null)return null;if(de(e))return[Ro(e.enter),Ro(e.leave)];{const t=Ro(e);return[t,t]}}function Ro(e){return jc(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Hr]||(e[Hr]=new Set)).add(t)}function wn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Hr];n&&(n.delete(t),n.size||(e[Hr]=void 0))}function Xa(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let cg=0;function Ja(e,t,n,r){const s=e._endId=++cg,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=ug(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),o()},d=h=>{h.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[_]||"").split(", "),s=r(`${ln}Delay`),o=r(`${ln}Duration`),i=Qa(s,o),a=r(`${yr}Delay`),l=r(`${yr}Duration`),u=Qa(a,l);let c=null,f=0,d=0;t===ln?i>0&&(c=ln,f=i,d=o.length):t===yr?u>0&&(c=yr,f=u,d=l.length):(f=Math.max(i,u),c=f>0?i>u?ln:yr:null,d=c?c===ln?o.length:l.length:0);const h=c===ln&&/\b(?:transform|all)(?:,|$)/.test(r(`${ln}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:h}}function Qa(e,t){for(;e.lengthza(n)+za(e[r])))}function za(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Za(e){return(e?e.ownerDocument:document).body.offsetHeight}function fg(e,t,n){const r=e[Hr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ps=Symbol("_vod"),lf=Symbol("_vsh"),P0={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ps]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):_r(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),_r(e,!0),r.enter(e)):r.leave(e,()=>{_r(e,!1)}):_r(e,t))},beforeUnmount(e,{value:t}){_r(e,t)}};function _r(e,t){e.style.display=t?e[Ps]:"none",e[lf]=!t}const dg=Symbol(""),hg=/(?:^|;)\s*display\s*:/;function pg(e,t,n){const r=e.style,s=we(n);let o=!1;if(n&&!s){if(t)if(we(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Sr(r,a,"")}else for(const i in t)n[i]==null&&Sr(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?mg(e,i,!we(t)&&t?t[i]:void 0,a)||Sr(r,i,a):Sr(r,i,"")}}else if(s){if(t!==n){const i=r[dg];i&&(n+=";"+i),r.cssText=n,o=hg.test(n)}}else t&&e.removeAttribute("style");Ps in e&&(e[Ps]=o?r.display:"",e[lf]&&(r.display="none"))}const el=/\s*!important$/;function Sr(e,t,n){if(Z(n))n.forEach(r=>Sr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=gg(e,t);el.test(n)?e.setProperty(Dn(r),n.replace(el,""),"important"):e[r]=n}}const tl=["Webkit","Moz","ms"],To={};function gg(e,t){const n=To[t];if(n)return n;let r=Qe(t);if(r!=="filter"&&r in e)return To[t]=r;r=Bs(r);for(let s=0;sLo||(vg.then(()=>Lo=0),Lo=Date.now());function wg(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(Z(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cg=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?fg(e,r,i):t==="style"?pg(e,n,r):qr(t)?$s(t)||_g(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Sg(e,t,r,i))?(sl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&rl(e,t,r,i,o,t!=="value")):e._isVueCE&&(Rg(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!we(r)))?sl(e,Qe(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),rl(e,t,r,i))};function Sg(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&al(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return al(t)&&we(n)?!1:t in e}function Rg(e,t){const n=e._def.props;if(!n)return!1;const r=Qe(t);return Array.isArray(n)?n.some(s=>Qe(s)===r):Object.keys(n).some(s=>Qe(s)===r)}const sr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?n=>Yn(t,n):t};function Tg(e){e.target.composing=!0}function ll(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const zt=Symbol("_assign");function cl(e,t,n){return t&&(e=e.trim()),n&&(e=Vs(e)),e}const O0={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[zt]=sr(s);const o=r||s.props&&s.props.type==="number";hn(e,t?"change":"input",i=>{i.target.composing||e[zt](cl(e.value,n,o))}),(n||o)&&hn(e,"change",()=>{e.value=cl(e.value,n,o)}),t||(hn(e,"compositionstart",Tg),hn(e,"compositionend",ll),hn(e,"change",ll))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[zt]=sr(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Vs(e.value):e.value,l=t??"";if(a===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},I0={deep:!0,created(e,t,n){e[zt]=sr(n),hn(e,"change",()=>{const r=e._modelValue,s=$r(e),o=e.checked,i=e[zt];if(Z(r)){const a=Vi(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const u=[...r];u.splice(a,1),i(u)}}else if(cr(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(cf(e,o))})},mounted:ul,beforeUpdate(e,t,n){e[zt]=sr(n),ul(e,t,n)}};function ul(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(Z(t))s=Vi(t,r.props.value)>-1;else if(cr(t))s=t.has(r.props.value);else{if(t===n)return;s=fr(t,cf(e,!0))}e.checked!==s&&(e.checked=s)}const N0={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=cr(t);hn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Vs($r(i)):$r(i));e[zt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,nn(()=>{e._assigning=!1})}),e[zt]=sr(r)},mounted(e,{value:t}){fl(e,t)},beforeUpdate(e,t,n){e[zt]=sr(n)},updated(e,{value:t}){e._assigning||fl(e,t)}};function fl(e,t){const n=e.multiple,r=Z(t);if(!(n&&!r&&!cr(t))){for(let s=0,o=e.options.length;sString(u)===String(a)):i.selected=Vi(t,a)>-1}else i.selected=t.has(a);else if(fr($r(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function $r(e){return"_value"in e?e._value:e.value}function cf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Lg=["ctrl","shift","alt","meta"],kg={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Lg.some(n=>e[`${n}Key`]&&!t.includes(n))},x0=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const t=Ag().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(!s)return;const o=t._component;!ee(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,ff(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ig=((...e)=>{const t=Pg().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(s)return n(s,!0,ff(s))},t});function ff(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function df(e){return we(e)?document.querySelector(e):e}const Ng=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,xg=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Mg=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Dg(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Fg(e);return}return t}function Fg(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ur(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Mg.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Ng.test(e)||xg.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Dg)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const hf=/#/g,pf=/&/g,Hg=/\//g,$g=/=/g,Ug=/\?/g,no=/\+/g,jg=/%5e/gi,Bg=/%60/gi,Vg=/%7c/gi,Wg=/%20/gi,Kg=/%2f/gi,Gg=/%252f/gi;function gf(e){return encodeURI(""+e).replace(Vg,"|")}function li(e){return gf(typeof e=="string"?e:JSON.stringify(e)).replace(no,"%2B").replace(Wg,"+").replace(hf,"%23").replace(pf,"%26").replace(Bg,"`").replace(jg,"^").replace(Hg,"%2F")}function ko(e){return li(e).replace($g,"%3D")}function qg(e){return gf(e).replace(hf,"%23").replace(Ug,"%3F").replace(Gg,"%2F").replace(pf,"%26").replace(no,"%2B")}function jr(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Yg(e){return jr(e.replace(Kg,"%252F"))}function Xg(e){return jr(e.replace(no," "))}function Jg(e){return jr(e.replace(no," "))}function sa(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=Xg(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=Jg(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function Qg(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${ko(e)}=${li(n)}`).join("&"):`${ko(e)}=${li(t)}`:ko(e)}function zg(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>Qg(t,e[t])).filter(Boolean).join("&")}const Zg=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,em=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,tm=/^([/\\]\s*){2,}[^/\\]/,nm=/^[\s\0]*(blob|data|javascript|vbscript):$/i,rm=/\/$|\/\?|\/#/,sm=/^\.?\//;function an(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?Zg.test(e):em.test(e)||(t.acceptRelative?tm.test(e):!1)}function ci(e){return!!e&&nm.test(e)}function ui(e="",t){return t?rm.test(e):e.endsWith("/")}function Br(e="",t){if(!t)return(ui(e)?e.slice(0,-1):e)||"/";if(!ui(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function om(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(ui(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function im(e,t){if(mf(t)||an(e))return e;const n=Br(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return Pn(n,e)}function hl(e,t){if(mf(t))return e;const n=Br(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function ro(e,t){const n=oa(e),r={...sa(n.search),...t};return n.search=zg(r),lm(n)}function mf(e){return!e||e==="/"}function am(e){return e&&e!=="/"}function Pn(e,...t){let n=e||"";for(const r of t.filter(s=>am(s)))if(n){const s=r.replace(sm,"");n=om(n)+s}else n=r;return n}function yf(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&an(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function _f(e,t){return jr(Br(e))===jr(Br(t))}const bf=Symbol.for("ufo:protocolRelative");function oa(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,d=""]=n;return{protocol:f.toLowerCase(),pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!an(e,{acceptRelative:!0}))return fi(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:u,hash:c}=fi(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:u,hash:c,[bf]:!r}}function fi(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function lm(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[bf]?(e.protocol||"")+"//":"")+s+o+t+n+r}class cm extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function um(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new cm(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,u]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[u]}});return a}const fm=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function pl(e="GET"){return fm.has(e.toUpperCase())}function dm(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const hm=new Set(["image/svg","application/xml","application/xhtml","application/html"]),pm=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function gm(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return pm.test(t)?"json":t==="text/event-stream"?"stream":hm.has(t)||t.startsWith("text/")?"text":"blob"}function mm(e,t,n,r){const s=ym(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function ym(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function ls(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const _m=new Set([408,409,425,429,500,502,503,504]),bm=new Set([101,204,205,304]);function vf(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=pl(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):_m.has(f))){const d=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),o(a.request,{...a.options,retry:c-1})}}const u=um(a);throw Error.captureStackTrace&&Error.captureStackTrace(u,o),u}const o=async function(l,u={}){const c={request:l,options:mm(l,u,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await ls(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=im(c.request,c.options.baseURL)),c.options.query&&(c.request=ro(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&pl(c.options.method))if(dm(c.options.body)){const h=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=h==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),h||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let f;if(!c.options.signal&&c.options.timeout){const h=new r;f=setTimeout(()=>{const _=new Error("[TimeoutError]: The operation was aborted due to timeout");_.name="TimeoutError",_.code=23,h.abort(_)},c.options.timeout),c.options.signal=h.signal}try{c.response=await t(c.request,c.options)}catch(h){return c.error=h,c.options.onRequestError&&await ls(c,c.options.onRequestError),await s(c)}finally{f&&clearTimeout(f)}if((c.response.body||c.response._bodyInit)&&!bm.has(c.response.status)&&c.options.method!=="HEAD"){const h=(c.options.parseResponse?"json":c.options.responseType)||gm(c.response.headers.get("content-type")||"");switch(h){case"json":{const _=await c.response.text(),m=c.options.parseResponse||Ur;c.response._data=m(_);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[h]()}}return c.options.onResponse&&await ls(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await ls(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,u){return(await o(l,u))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>vf({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Os=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),vm=Os.fetch?(...e)=>Os.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Em=Os.Headers,wm=Os.AbortController,Cm=vf({fetch:vm,Headers:Em,AbortController:wm}),Sm=Cm,Rm=()=>window?.__NUXT__?.config||{},ia=()=>Rm().app,Tm=()=>ia().baseURL,Lm=()=>ia().buildAssetsDir,aa=(...e)=>yf(Ef(),Lm(),...e),Ef=(...e)=>{const t=ia(),n=t.cdnURL||t.baseURL;return e.length?yf(n,...e):n};globalThis.__buildAssetsURL=aa,globalThis.__publicAssetsURL=Ef;globalThis.$fetch||(globalThis.$fetch=Sm.create({baseURL:Tm()}));"global"in globalThis||(globalThis.global=globalThis);function di(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?di(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const km={run:e=>e()},Am=()=>km,wf=typeof console.createTask<"u"?console.createTask:Am;function Pm(e,t){const n=t.shift(),r=wf(n);return e.reduce((s,o)=>s.then(()=>r.run(()=>o(...t))),Promise.resolve())}function Om(e,t){const n=t.shift(),r=wf(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}function Ao(e,t){for(const n of[...e])n(t)}let Im=class{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const s=t;let o;for(;this._deprecatedHooks[t];)o=this._deprecatedHooks[t],t=o.to;if(o&&!r.allowDeprecated){let i=o.message;i||(i=`${s} hook has been deprecated`+(o.to?`, please use ${o.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,s=(...o)=>(typeof r=="function"&&r(),r=void 0,s=void 0,n(...o));return r=this.hook(t,s),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const s of r)this.hook(t,s)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=di(t),r=Object.keys(n).map(s=>this.hook(s,n[s]));return()=>{for(const s of r.splice(0,r.length))s()}}removeHooks(t){const n=di(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Pm,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Om,t,...n)}callHookWith(t,n,...r){const s=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&Ao(this._before,s);const o=t(n in this._hooks?[...this._hooks[n]]:[],r);return o instanceof Promise?o.finally(()=>{this._after&&s&&Ao(this._after,s)}):(this._after&&s&&Ao(this._after,s),o)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}};function Nm(){return new Im}function xm(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},u=()=>t===i?l:void 0;hi.add(u);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{hi.delete(u)}}}}function Mm(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=xm({...e,...r})),t[n]}}}const Is=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},gl="__unctx__",Dm=Is[gl]||(Is[gl]=Mm()),Fm=(e,t={})=>Dm.get(e,t),ml="__unctx_async_handlers__",hi=Is[ml]||(Is[ml]=new Set);function On(e){const t=[];for(const s of hi){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const yl=!1,_l=!1,Hm=!1,D0={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},$m=null,Um="#__nuxt",Cf="nuxt-app",bl=36e5,jm="vite:preloadError";function Sf(e=Cf){return Fm(e,{asyncContext:!1})}const Bm="__nuxt_plugin";function Vm(e){let t=0;const n={_id:e.id||Cf||"nuxt-app",_scope:Yr(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.21.8"},get vue(){return n.vueApp.version}},payload:Dt({...e.ssrContext?.payload||{},data:Dt({}),state:sn({}),once:new Set,_errors:Dt({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!dr()?n._scope.run(()=>vl(n,s)):vl(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Dt({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=Nm(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;cs(n,i,o),cs(n.vueApp.config.globalProperties,i,o)},cs(n.vueApp,"$nuxt",n),cs(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(jm,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ue;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Wm(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function Km(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function Gm(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const u=l.dependsOn?.filter(c=>t.some(f=>f._name===c)&&!n.has(c))??[];if(u.length>0)r.push([new Set(u),l]);else{const c=Km(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([f,d])=>{f.has(l._name)&&(f.delete(l._name),f.size===0&&(i++,await a(d)))})))}).catch(f=>{if(!l.parallel&&!e.payload.error)throw f;o||=f});l.parallel?s.push(c):await c}}for(const l of t)Wm(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Bm]:!0,_name:t})}const qm=Ge;function vl(e,t,n){const r=()=>t();return Sf(e._id).set(e),e.vueApp.runWithContext(r)}function Rf(e){let t;return Jr()&&(t=Fn()?.appContext.app.$nuxt),t||=Sf(e).tryUse(),t||null}function ue(e){const t=Rf(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function so(e){return ue().$config}function cs(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Po(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function pi(e,t,n=".",r){if(!Po(t))return pi(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Po(i)&&Po(s[o])?s[o]=pi(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function Tf(e){return(...t)=>t.reduce((n,r)=>pi(n,r,"",e),{})}const Lf=Tf();function Ym(e,t){try{return t in e}catch{return!1}}class El extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:gi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=kf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function Xm(e){if(typeof e=="string")return new El(e);if(Jm(e))return e;const t=new El(e.message??e.statusMessage??"",{cause:e.cause||e});if(Ym(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=gi(e.statusCode,t.statusCode):e.status&&(t.statusCode=gi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;kf(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function Jm(e){return e?.constructor?.__h3_error__===!0}const Qm=/[^\u0009\u0020-\u007E]/g;function kf(e=""){return e.replace(Qm,"")}function gi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Af=Symbol("layout-meta"),Mn=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const tt=()=>ue()?.$router,la=()=>Jr()?Fe(Mn,ue()._route):ue()._route;function F0(e){return e}const zm=()=>{try{if(ue()._processingMiddleware)return!0}catch{return!1}return!1},H0=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?Zm(e):tt().resolve(e).href;if(t?.open){const{protocol:u}=new URL(n,window.location.href);if(u&&ci(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`);const{target:c="_blank",windowFeatures:f={}}=t.open,d=[];for(const[h,_]of Object.entries(f))_!==void 0&&d.push(`${h.toLowerCase()}=${_}`);return open(n,c,d.join(", ")),Promise.resolve()}const r=an(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:u}=new URL(n,window.location.href);if(u&&ci(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`)}const o=zm();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:u,search:c,hash:f}=oa(e);return{path:u,...c&&{query:sa(c)},...f&&{hash:f},replace:!0}}return{...e,replace:!0}}return e}const i=tt(),a=ue();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?ey(e):e;return t?.replace?i.replace(l):i.push(l)};function Zm(e){return ro(e.path||"",e.query||{})+(e.hash||"")}function ey(e){const t=oa(e);return qg(Yg(t.pathname))+t.search+t.hash}const Pf="__nuxt_error",oo=()=>lu(ue().payload,"error"),Rn=e=>{const t=In(e);try{const n=oo();ue().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},ty=async(e={})=>{const t=ue(),n=oo();t.callHook("app:error:cleared",e),e.redirect&&await tt().replace(e.redirect),n.value=$m},Of=e=>!!e&&typeof e=="object"&&Pf in e,In=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=Xm(e);return Object.defineProperty(t,Pf,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let If;const or=e=>If=e,Nf=Symbol();function mi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Or;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Or||(Or={}));function ny(){const e=Yr(!0),t=e.run(()=>et({}));let n=[],r=[];const s=Xi({install(o){or(s),s._a=o,o.provide(Nf,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const xf=()=>{};function wl(e,t,n,r=xf){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&dr()&&Nr(s),s}function Un(e,...t){e.forEach(n=>{n(...t)})}const ry=e=>e(),Cl=Symbol(),Oo=Symbol();function yi(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];mi(s)&&mi(r)&&e.hasOwnProperty(n)&&!ve(r)&&!Ht(r)?e[n]=yi(s,r):e[n]=r}return e}const sy=Symbol();function oy(e){return!mi(e)||!Object.prototype.hasOwnProperty.call(e,sy)}const{assign:un}=Object;function iy(e){return!!(ve(e)&&e.effect)}function ay(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=s?s():{});const c=Dh(n.state.value[e]);return un(c,o,Object.keys(i||{}).reduce((f,d)=>(f[d]=Xi(ke(()=>{or(n);const h=n._s.get(e);return i[d].call(h,h)})),f),{}))}return l=Mf(e,u,t,n,r,!0),l}function Mf(e,t,n={},r,s,o){let i;const a=un({actions:{}},n),l={deep:!0};let u,c,f=new Set,d=new Set,h;const _=r.state.value[e];!o&&!_&&(r.state.value[e]={});let m;function R(F){let N;u=c=!1,typeof F=="function"?(F(r.state.value[e]),N={type:Or.patchFunction,storeId:e,events:h}):(yi(r.state.value[e],F),N={type:Or.patchObject,payload:F,storeId:e,events:h});const D=m=Symbol();nn().then(()=>{m===D&&(u=!0)}),c=!0,Un(f,N,r.state.value[e])}const b=o?function(){const{state:N}=n,D=N?N():{};this.$patch(W=>{un(W,D)})}:xf;function E(){i.stop(),f.clear(),d.clear(),r._s.delete(e)}const g=(F,N="")=>{if(Cl in F)return F[Oo]=N,F;const D=function(){or(r);const W=Array.from(arguments),$=new Set,X=new Set;function te(J){$.add(J)}function se(J){X.add(J)}Un(d,{args:W,name:D[Oo],store:C,after:te,onError:se});let K;try{K=F.apply(this&&this.$id===e?this:C,W)}catch(J){throw Un(X,J),J}return K instanceof Promise?K.then(J=>(Un($,J),J)).catch(J=>(Un(X,J),Promise.reject(J))):(Un($,K),K)};return D[Cl]=!0,D[Oo]=N,D},y={_p:r,$id:e,$onAction:wl.bind(null,d),$patch:R,$reset:b,$subscribe(F,N={}){const D=wl(f,F,N.detached,()=>W()),W=i.run(()=>at(()=>r.state.value[e],$=>{(N.flush==="sync"?c:u)&&F({storeId:e,type:Or.direct,events:h},$)},un({},l,N)));return D},$dispose:E},C=sn(y);r._s.set(e,C);const L=(r._a&&r._a.runWithContext||ry)(()=>r._e.run(()=>(i=Yr()).run(()=>t({action:g}))));for(const F in L){const N=L[F];if(ve(N)&&!iy(N)||Ht(N))o||(_&&oy(N)&&(ve(N)?N.value=_[F]:yi(N,_[F])),r.state.value[e][F]=N);else if(typeof N=="function"){const D=g(N,F);L[F]=D,a.actions[F]=N}}return un(C,L),un(ae(C),L),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:F=>{R(N=>{un(N,F)})}}),r._p.forEach(F=>{un(C,i.run(()=>F({store:C,app:r._a,pinia:r,options:a})))}),_&&o&&n.hydrate&&n.hydrate(C.$state,_),u=!0,c=!0,C}function $0(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=Jr();return i=i||(l?Fe(Nf,null):null),i&&or(i),i=If,i._s.has(e)||(s?Mf(e,t,r,i):ay(e,r,i)),i._s.get(e)}return o.$id=e,o}const ly=-1,cy=-2,uy=-3,fy=-4,dy=-5,hy=-6,py=-7,Df=2**32-1,_i=Df-1;function gy(e){return!(!Number.isInteger(e)||e<0||e>_i)}function my(e){return!(!Number.isInteger(e)||e<0||e>Df)}function yy(e){return Uint8Array.fromBase64(e).buffer}function _y(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function by(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=u)throw new Error("Invalid input");c[d]=o(l[f+1])}c.length=u}else{const u=new Array(l.length);r[i]=u;for(let c=0;c{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function Hf(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>Hf(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function Iy(e,t,n){if(e.length>0)return Hf(e,t,0,Ff(n))}function Ny(e,t,n){if(e.length>0){const r=Ff(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function Io(e,t){for(const n of[...e])n(t)}var xy=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=vi(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=vi(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(Iy,e,t)}callHookParallel(e,...t){return this.callHookWith(Ny,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&Io(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&Io(this._after,r)}):(this._after&&r&&Io(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function My(){return new xy}const Dy=["name","property","http-equiv"],Fy=new Set(["viewport","description","keywords","robots"]);function $f(e){const t=e.split(":");return t.length?Oy.has(t[1]):!1}function Ei(e){const{props:t,tag:n}=e;if(ky.has(n))return n;if(n==="link"&&t.rel==="canonical")return"canonical";if(n==="link"&&t.rel==="alternate"){if(t.hreflang)return`alternate:${t.hreflang}`;if(t.type)return`alternate:${t.type}:${t.href||""}`}if(t.charset)return"charset";if(e.tag==="meta"){for(const r of Dy)if(t[r]!==void 0){const s=t[r],o=s&&typeof s=="string"&&s.includes(":"),i=s&&Fy.has(s),l=!(o||i)&&e.key?`:key:${e.key}`:"";return`${n}:${s}${l}`}}if(e.key)return`${n}:key:${e.key}`;if(t.id)return`${n}:id:${t.id}`;if(n==="link"&&t.rel==="alternate")return`alternate:${t.href||""}`;if(Ty.has(n)){const r=e.textContent||e.innerHTML;if(r)return`${n}:content:${r}`}}function Uf(e){const t=e._h||e._d;if(t)return t;const n=e.textContent||e.innerHTML;return n||`${e.tag}:${Object.entries(e.props).map(([r,s])=>`${r}:${String(s)}`).join(",")}`}function Ns(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>Ns(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=Ns(s[i],t,i);return o}return s}function Hy(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function jf(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=bi.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=Hy(r,s);return}if(Ay.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let u=t.type;if(t.type||(u="application/json"),!u?.endsWith("json")&&u!=="speculationrules")return;t.type=u,e.props.type=u,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function $y(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=jf({tag:e,props:{}},n);return r.key&&Ry.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function Uy(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push($y(s,i))}),r.flat()}const wi=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Sl={base:-10,title:10},jy={critical:-8,high:-1,low:2},Rl={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},By=/@import/,br=e=>e===""||e===!0;function Vy(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=jy[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Rl;if(t.tag in Sl)n=Sl[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Rl.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);br(t.props.async)?n=s.script.async:t.props.src&&!br(t.props.defer)&&!br(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(br(t.props.defer)&&t.props.src&&!br(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&By.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Tl(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Wy(e={}){const t=My();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Tl(i,a),push(a,l){const u={...l||{}};delete u.head;const c=u._index??i._entryCount++,f={_i:c,input:a,options:u},d={_poll(h=!1){i.dirty=!0,!h&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(h){(!u.mode||u.mode==="server"&&n||u.mode==="client"&&!n)&&(f.input=h,r.set(c,f),d._poll())}};return d.patch(a),d},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const d=o.values().next().value;o.delete(d);const h=r.get(d);if(h){const _={tags:Uy(h.input,e.propResolvers||[]).map(m=>Object.assign(m,h.options)),entry:h};await t.callHook("entries:normalize",_),h._tags=_.tags.map((m,R)=>(m._w=Vy(i,m),m._p=(h._i<<10)+R,m._d=Ei(m),m._d||(m._h=Uf(m)),m))}}let l=!1;a.entries.flatMap(d=>(d._tags||[]).map(h=>({...h,props:{...h.props}}))).sort(wi).reduce((d,h)=>{const _=h._d||h._h;if(!d.has(_))return d.set(_,h);const m=d.get(_);if((h?.tagDuplicateStrategy||(Py.has(h.tag)?"merge":null)||(h.key&&h.key===m.key?"merge":null))==="merge"){const b={...m.props};Object.entries(h.props).forEach(([E,g])=>b[E]=E==="style"?new Map([...m.props.style||new Map,...g]):E==="class"?new Set([...m.props.class||new Set,...g]):g),d.set(_,{...h,props:b})}else h._p>>10===m._p>>10&&h.tag==="meta"&&$f(_)?(d.set(_,Object.assign([...Array.isArray(m)?m:[m],h],h)),l=!0):(h._w===m._w?h._p>m._p:h?._wTl(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const No="%separator";function Ky(e,t,n=!1){let r;if(t==="s"||t==="pageTitle")r=e.pageTitle;else if(t.includes(".")){const s=t.indexOf(".");r=e[t.substring(0,s)]?.[t.substring(s+1)]}else r=e[t];if(r!==void 0)return n?(r||"").replace(/\\/g,"\\\\").replace(/{if(a===No||!o.includes(a))return a;const l=Ky(t,a.slice(1),r);return l!==void 0?l:a}).trim(),i&&(e=e.split(No).map(a=>a.trim()).filter(a=>a!=="").join(n?` ${n} `:" ")),e}const Ll=e=>e.includes(":key")?e:e.split(":").join(":key:"),Gy={key:"aliasSorting",hooks:{"tags:resolve":e=>{let t=!1;for(const n of e.tags){const r=n.tagPriority;if(!r)continue;const s=String(r);if(s.startsWith("before:")){const o=Ll(s.slice(7)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p-1,t=!0)}else if(s.startsWith("after:")){const o=Ll(s.slice(6)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p+1,t=!0)}}t&&(e.tags=e.tags.sort(wi))}}},qy={key:"deprecations",hooks:{"entries:normalize":({tags:e})=>{for(const t of e)t.props.children&&(t.innerHTML=t.props.children,delete t.props.children),t.props.hid&&(t.key=t.props.hid,delete t.props.hid),t.props.vmid&&(t.key=t.props.vmid,delete t.props.vmid),t.props.body&&(t.tagPosition="bodyClose",delete t.props.body)}}};async function Ci(e){if(typeof e==="function")return e;if(e instanceof Promise)return await e;if(Array.isArray(e))return await Promise.all(e.map(n=>Ci(n)));if(e?.constructor===Object){const n={};for(const r of Object.keys(e))n[r]=await Ci(e[r]);return n}return e}const Yy={key:"promises",hooks:{"entries:resolve":async e=>{const t=[];for(const n in e.entries)e.entries[n]._promisesProcessed||t.push(Ci(e.entries[n].input).then(r=>{e.entries[n].input=r,e.entries[n]._promisesProcessed=!0}));await Promise.all(t)}}},Xy={meta:"content",link:"href",htmlAttrs:"lang"},Jy=["innerHTML","textContent"],Qy=e=>({key:"template-params",hooks:{"entries:normalize":t=>{const n=t.tags.filter(r=>r.tag==="templateParams"&&r.mode==="server")?.[0]?.props||{};Object.keys(n).length&&(e._ssrPayload={templateParams:{...e._ssrPayload?.templateParams||{},...n}})},"tags:resolve":({tagMap:t,tags:n})=>{const r=t.get("templateParams")?.props||{},s=r.separator||"|";delete r.separator,r.pageTitle=us(r.pageTitle||e._title||"",r,s);for(const o of n){if(o.processTemplateParams===!1)continue;const i=Xy[o.tag];if(i&&typeof o.props[i]=="string")o.props[i]=us(o.props[i],r,s);else if(o.processTemplateParams||o.tag==="titleTemplate"||o.tag==="title")for(const a of Jy)typeof o[a]=="string"&&(o[a]=us(o[a],r,s,o.tag==="script"&&o.props.type.endsWith("json")))}e._templateParams=r,e._separator=s},"tags:afterResolve":({tagMap:t})=>{const n=t.get("title");n?.textContent&&n.processTemplateParams!==!1&&(n.textContent=us(n.textContent,e._templateParams,e._separator))}}}),zy=(e,t)=>ve(t)?Ih(t):t,ca="usehead";function Zy(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(ca,e)}}.install}function e_(){if(Jr()){const e=Fe(ca);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function t_(e,t={}){const n=t.head||e_();return n.ssr?n.push(e||{},t):n_(n,e,t)}function n_(e,t,n={}){const r=et(!1);let s;return qh(()=>{const i=r.value?{}:Ns(t,zy);s?s.patch(i):s=e.push(i,n)}),Fn()&&(zr(()=>{s.dispose()}),wu(()=>{r.value=!0}),Eu(()=>{r.value=!1})),s}function r_(e){const t=e||Rf();return t?.ssrContext?.head||t?.runWithContext(()=>{if(Jr())return Fe(ca)})}function s_(e,t={}){const n=r_(t.nuxt);if(n)return t_(e,{head:n,...t})}const o_=(e,t)=>[],Bf=e=>Lf({},...o_("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),i_=Bf;let _s;function a_(){let e;return e=$fetch(aa(`builds/meta/${so().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),_s=e,e.catch(t=>{_s===e&&(_s=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Vf(){return _s||a_()}function Wf(e){const t=typeof e=="string"?e:e.path;try{return i_(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function kl(e,t={}){return null}async function l_(e){return null}let Cn=null;async function c_(){if(Cn)return Cn;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await u_(e.textContent||""),n=e.dataset.src?await l_(e.dataset.src):void 0;return Cn={...t,...n,...window.__NUXT__},Cn.config?.public&&(Cn.config.public=sn(Cn.config.public)),Cn}async function u_(e){return await Cy(e,ue()._payloadRevivers)}function Kf(e,t){ue()._payloadRevivers[e]=t}const f_=qm(()=>{Kf("skipHydrate",e=>{})}),d_=[["NuxtError",e=>In(e)],["EmptyShallowRef",e=>Nn(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["EmptyRef",e=>et(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["ShallowRef",e=>Nn(e)],["ShallowReactive",e=>Dt(e)],["Ref",e=>et(e)],["Reactive",e=>sn(e)]],h_=Ge({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of d_)Kf(r,s);Object.assign(e.payload,([t,n]=On(()=>e.runWithContext(c_)),t=await t,n(),t)),window.__NUXT__=e.payload}});async function ua(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(h=>{e.resolveTags().then(_=>{h(_.map(m=>{const R=o.get(m._d)||0,b={tag:m,id:(R?`${m._d}:${R}`:m._d)||m._h,shouldRender:!0};return m._d&&$f(m._d)&&o.set(m._d,R+1),b}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const h of["body","head"]){const _=n[h]?.children;for(const m of _){const R=m.tagName.toLowerCase();if(!bi.has(R))continue;const b=jf({tag:R,props:{}},{innerHTML:m.innerHTML,...m.getAttributeNames().reduce((E,g)=>(E[g]=m.getAttribute(g),E),{})||{}});if(b.key=m.getAttribute("data-hid")||void 0,b._d=Ei(b)||Uf(b),a.elMap.has(b._d)){let E=1,g=b._d;for(;a.elMap.has(g);)g=`${b._d}:${E++}`;a.elMap.set(g,m)}else a.elMap.set(b._d,m)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(h,_,m){const R=`${h}:${_}`;a.sideEffects[R]=m,delete a.pendingSideEffects[R]}function u({id:h,$el:_,tag:m}){const R=m.tag.endsWith("Attrs");a.elMap.set(h,_),R||(m.textContent&&m.textContent!==_.textContent&&(_.textContent=m.textContent),m.innerHTML&&m.innerHTML!==_.innerHTML&&(_.innerHTML=m.innerHTML),l(h,"el",()=>{_?.remove(),a.elMap.delete(h)}));for(const b in m.props){if(!Object.prototype.hasOwnProperty.call(m.props,b))continue;const E=m.props[b];if(b.startsWith("on")&&typeof E=="function"){const y=_?.dataset;if(y&&y[`${b}fired`]){const C=b.slice(0,-5);E.call(_,new Event(C.substring(2)))}_.getAttribute(`data-${b}`)!==""&&((m.tag==="bodyAttrs"?n.defaultView:_).addEventListener(b.substring(2),E.bind(_)),_.setAttribute(`data-${b}`,""));continue}const g=`attr:${b}`;if(b==="class"){if(!E)continue;for(const y of E)R&&l(h,`${g}:${y}`,()=>_.classList.remove(y)),!_.classList.contains(y)&&_.classList.add(y)}else if(b==="style"){if(!E)continue;for(const[y,C]of E)l(h,`${g}:${y}`,()=>{_.style.removeProperty(y)}),_.style.setProperty(y,C)}else E!==!1&&E!==null&&(_.getAttribute(b)!==E&&_.setAttribute(b,E===!0?"":String(E)),R&&l(h,g,()=>_.removeAttribute(b)))}}const c=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},d=await i;for(const h of d){const{tag:_,shouldRender:m,id:R}=h;if(m){if(_.tag==="title"){n.title=_.textContent,l("title","",()=>n.title=a.title);continue}h.$el=h.$el||a.elMap.get(R),h.$el?u(h):bi.has(_.tag)&&c.push(h)}}for(const h of c){const _=h.tag.tagPosition||"head";h.$el=n.createElement(h.tag.tag),u(h),f[_]=f[_]||n.createDocumentFragment(),f[_].appendChild(h.$el)}for(const h of d)await e.hooks.callHook("dom:renderTag",h,n,l);f.head&&n.head.appendChild(f.head),f.bodyOpen&&n.body.insertBefore(f.bodyOpen,n.body.firstChild),f.bodyClose&&n.body.appendChild(f.bodyClose);for(const h in a.pendingSideEffects)a.pendingSideEffects[h]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:d}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function p_(e={}){const t=e.domOptions?.render||ua;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Wy({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function g_(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function m_(e={}){const t=p_({domOptions:{render:g_(()=>ua(t),n=>setTimeout(n,0))},...e});return t.install=Zy(t),t}const y_={disableDefaults:!0,disableCapoSorting:!1,plugins:[qy,Yy,Qy,Gy]},__=Ge({name:"nuxt:head",enforce:"pre",setup(e){const t=m_(y_);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await ua(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const u=e["~transitionPromise"];u?u.then(l):l()},a})}}});const Bn=typeof document<"u";function Gf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function b_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Gf(e.default)}const he=Object.assign;function xo(e,t){const n={};for(const r in t){const s=t[r];n[r]=Ct(s)?s.map(e):e(s)}return n}const Ir=()=>{},Ct=Array.isArray;function Al(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const qf=/#/g,v_=/&/g,E_=/\//g,w_=/=/g,C_=/\?/g,Yf=/\+/g,S_=/%5B/g,R_=/%5D/g,Xf=/%5E/g,T_=/%60/g,Jf=/%7B/g,L_=/%7C/g,Qf=/%7D/g,k_=/%20/g;function fa(e){return e==null?"":encodeURI(""+e).replace(L_,"|").replace(S_,"[").replace(R_,"]")}function A_(e){return fa(e).replace(Jf,"{").replace(Qf,"}").replace(Xf,"^")}function Si(e){return fa(e).replace(Yf,"%2B").replace(k_,"+").replace(qf,"%23").replace(v_,"%26").replace(T_,"`").replace(Jf,"{").replace(Qf,"}").replace(Xf,"^")}function P_(e){return Si(e).replace(w_,"%3D")}function O_(e){return fa(e).replace(qf,"%23").replace(C_,"%3F")}function I_(e){return O_(e).replace(E_,"%2F")}function Vr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const N_=/\/$/,x_=e=>e.replace(N_,"");function Mo(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=H_(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Vr(i)}}function M_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Pl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function D_(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&ir(t.matched[r],n.matched[s])&&zf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ir(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function zf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!F_(e[n],t[n]))return!1;return!0}function F_(e,t){return Ct(e)?Ol(e,t):Ct(t)?Ol(t,e):e?.valueOf()===t?.valueOf()}function Ol(e,t){return Ct(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function H_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ri=(function(e){return e.pop="pop",e.push="push",e})({}),Do=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function $_(e){if(!e)if(Bn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),x_(e)}const U_=/^[^#]+#/;function j_(e,t){return e.replace(U_,"#")+t}function B_(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const io=()=>({left:window.scrollX,top:window.scrollY});function V_(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=B_(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Il(e,t){return(history.state?history.state.position-t:-1)+e}const Ti=new Map;function W_(e,t){Ti.set(e,t)}function K_(e){const t=Ti.get(e);return Ti.delete(e),t}function G_(e){return typeof e=="string"||e&&typeof e=="object"}function Zf(e){return typeof e=="string"||typeof e=="symbol"}let Te=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const ed=Symbol("");Te.MATCHER_NOT_FOUND+"",Te.NAVIGATION_GUARD_REDIRECT+"",Te.NAVIGATION_ABORTED+"",Te.NAVIGATION_CANCELLED+"",Te.NAVIGATION_DUPLICATED+"";function ar(e,t){return he(new Error,{type:e,[ed]:!0},t)}function Vt(e,t){return e instanceof Error&&ed in e&&(t==null||!!(e.type&t))}const q_=["params","query","hash"];function Y_(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of q_)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function X_(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&Si(s)):[r&&Si(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function J_(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Ct(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Q_=Symbol(""),xl=Symbol(""),da=Symbol(""),ha=Symbol(""),Li=Symbol("");function vr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function dn(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(ar(Te.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?l(d):G_(d)?l(ar(Te.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),a())},c=o(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function Fo(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(Gf(l)){const u=(l.__vccOpts||l)[t];u&&o.push(dn(u,n,r,i,a,s))}else{let u=l();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const f=b_(c)?c.default:c;i.mods[a]=c,i.components[a]=f;const d=(f.__vccOpts||f)[t];return d&&dn(d,n,r,i,a,s)()}))}}return o}function z_(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iir(u,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(u=>ir(u,l))||s.push(l))}return[n,r,s]}let Z_=()=>location.protocol+"//"+location.host;function td(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),Pl(a,"")}return Pl(n,e)+r+s}function eb(e,t,n,r){let s=[],o=[],i=null;const a=({state:d})=>{const h=td(e,location),_=n.value,m=t.value;let R=0;if(d){if(n.value=h,t.value=d,i&&i===_){i=null;return}R=m?d.position-m.position:0}else r(h);s.forEach(b=>{b(n.value,_,{delta:R,type:Ri.pop,direction:R?R>0?Do.forward:Do.back:Do.unknown})})};function l(){i=n.value}function u(d){s.push(d);const h=()=>{const _=s.indexOf(d);_>-1&&s.splice(_,1)};return o.push(h),h}function c(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(he({},d.state,{scroll:io()}),"")}}function f(){for(const d of o)d();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:u,destroy:f}}function Ml(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?io():null}}function tb(e){const{history:t,location:n}=window,r={value:td(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Z_()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(h){console.error(h),n[c?"replace":"assign"](d)}}function i(l,u){o(l,he({},t.state,Ml(s.value.back,l,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=l}function a(l,u){const c=he({},s.value,t.state,{forward:l,scroll:io()});o(c.current,c,!0),o(l,he({},Ml(r.value,l,null),{position:c.position+1},u),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function nb(e){e=$_(e);const t=tb(e),n=eb(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=he({location:"",base:e,go:r,createHref:j_.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Tn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var xe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(xe||{});const rb={type:Tn.Static,value:""},sb=/[a-zA-Z0-9_]/;function ob(e){if(!e)return[[]];if(e==="/")return[[rb]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=xe.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,u="",c="";function f(){u&&(n===xe.Static?o.push({type:Tn.Static,value:u}):n===xe.Param||n===xe.ParamRegExp||n===xe.ParamRegExpEnd?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Tn.Param,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;at.length?t.length===1&&t[0]===Xe.Static+Xe.Segment?1:-1:0}function nd(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ub={strict:!1,end:!0,sensitive:!1};function fb(e,t,n){const r=lb(ob(e.path),n),s=he(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function db(e,t){const n=[],r=new Map;t=Al(ub,t);function s(f){return r.get(f)}function o(f,d,h){const _=!h,m=$l(f);m.aliasOf=h&&h.record;const R=Al(t,f),b=[m];if("alias"in f){const y=typeof f.alias=="string"?[f.alias]:f.alias;for(const C of y)b.push($l(he({},m,{components:h?h.record.components:m.components,path:C,aliasOf:h?h.record:m})))}let E,g;for(const y of b){const{path:C}=y;if(d&&C[0]!=="/"){const A=d.record.path,L=A[A.length-1]==="/"?"":"/";y.path=d.record.path+(C&&L+C)}if(E=fb(y,d,R),h?h.alias.push(E):(g=g||E,g!==E&&g.alias.push(E),_&&f.name&&!Ul(E)&&i(f.name)),rd(E)&&l(E),m.children){const A=m.children;for(let L=0;L{i(g)}:Ir}function i(f){if(Zf(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=gb(f,n);n.splice(d,0,f),f.record.name&&!Ul(f)&&r.set(f.record.name,f)}function u(f,d){let h,_={},m,R;if("name"in f&&f.name){if(h=r.get(f.name),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f});R=h.record.name,_=he(Hl(d.params,h.keys.filter(g=>!g.optional).concat(h.parent?h.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&Hl(f.params,h.keys.map(g=>g.name))),m=h.stringify(_)}else if(f.path!=null)m=f.path,h=n.find(g=>g.re.test(m)),h&&(_=h.parse(m),R=h.record.name);else{if(h=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f,currentLocation:d});R=h.record.name,_=he({},d.params,f.params),m=h.stringify(_)}const b=[];let E=h;for(;E;)b.unshift(E.record),E=E.parent;return{name:R,path:m,params:_,matched:b,meta:pb(b)}}e.forEach(f=>o(f));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function Hl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function $l(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:hb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function hb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ul(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pb(e){return e.reduce((t,n)=>he(t,n.meta),{})}function gb(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;nd(e,t[o])<0?r=o:n=o+1}const s=mb(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function mb(e){let t=e;for(;t=t.parent;)if(rd(t)&&nd(e,t)===0)return t}function rd({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function jl(e){const t=Fe(da),n=Fe(ha),r=ke(()=>{const l=me(e.to);return t.resolve(l)}),s=ke(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(ir.bind(null,c));if(d>-1)return d;const h=Bl(l[u-2]);return u>1&&Bl(c)===h&&f[f.length-1].path!==h?f.findIndex(ir.bind(null,l[u-2])):d}),o=ke(()=>s.value>-1&&Eb(n.params,r.value.params)),i=ke(()=>s.value>-1&&s.value===n.matched.length-1&&zf(n.params,r.value.params));function a(l={}){if(vb(l)){const u=t[me(e.replace)?"replace":"push"](me(e.to)).catch(Ir);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:ke(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function yb(e){return e.length===1?e[0]:e}const _b=St({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:jl,setup(e,{slots:t}){const n=sn(jl(e)),{options:r}=Fe(da),s=ke(()=>({[Vl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Vl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&yb(t.default(n));return e.custom?o:Ie("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),bb=_b;function vb(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Eb(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Ct(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function Bl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Vl=(e,t,n)=>e??t??n,wb=St({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Fe(Li),s=ke(()=>e.route||r.value),o=Fe(xl,0),i=ke(()=>{let u=me(o);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=ke(()=>s.value.matched[i.value]);gn(xl,ke(()=>i.value+1)),gn(Q_,a),gn(Li,s);const l=et();return at(()=>[l.value,a.value,e.name],([u,c,f],[d,h,_])=>{c&&(c.instances[f]=u,h&&h!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),u&&c&&(!h||!ir(c,h)||!d)&&(c.enterCallbacks[f]||[]).forEach(m=>m(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return Wl(n.default,{Component:d,route:u});const h=f.props[c],_=h?h===!0?u.params:typeof h=="function"?h(u):h:null,R=Ie(d,he({},_,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return Wl(n.default,{Component:R,route:u})||R}}});function Wl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const sd=wb;function Cb(e){const t=db(e.routes,e),n=e.parseQuery||X_,r=e.stringifyQuery||Nl,s=e.history,o=vr(),i=vr(),a=vr(),l=Nn(dt);let u=dt;Bn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=xo.bind(null,H=>""+H),f=xo.bind(null,I_),d=xo.bind(null,Vr);function h(H,Y){let B,Q;return Zf(H)?(B=t.getRecordMatcher(H),Q=Y):Q=H,t.addRoute(Q,B)}function _(H){const Y=t.getRecordMatcher(H);Y&&t.removeRoute(Y)}function m(){return t.getRoutes().map(H=>H.record)}function R(H){return!!t.getRecordMatcher(H)}function b(H,Y){if(Y=he({},Y||l.value),typeof H=="string"){const S=Mo(n,H,Y.path),P=t.resolve({path:S.path},Y),U=s.createHref(S.fullPath);return he(S,P,{params:d(P.params),hash:Vr(S.hash),redirectedFrom:void 0,href:U})}let B;if(H.path!=null)B=he({},H,{path:Mo(n,H.path,Y.path).path});else{const S=he({},H.params);for(const P in S)S[P]==null&&delete S[P];B=he({},H,{params:f(S)}),Y.params=f(Y.params)}const Q=t.resolve(B,Y),ne=H.hash||"";Q.params=c(d(Q.params));const _e=M_(r,he({},H,{hash:A_(ne),path:Q.path})),v=s.createHref(_e);return he({fullPath:_e,hash:ne,query:r===Nl?J_(H.query):H.query||{}},Q,{redirectedFrom:void 0,href:v})}function E(H){return typeof H=="string"?Mo(n,H,l.value.path):he({},H)}function g(H,Y){if(u!==H)return ar(Te.NAVIGATION_CANCELLED,{from:Y,to:H})}function y(H){return L(H)}function C(H){return y(he(E(H),{replace:!0}))}function A(H,Y){const B=H.matched[H.matched.length-1];if(B&&B.redirect){const{redirect:Q}=B;let ne=typeof Q=="function"?Q(H,Y):Q;return typeof ne=="string"&&(ne=ne.includes("?")||ne.includes("#")?ne=E(ne):{path:ne},ne.params={}),he({query:H.query,hash:H.hash,params:ne.path!=null?{}:H.params},ne)}}function L(H,Y){const B=u=b(H),Q=l.value,ne=H.state,_e=H.force,v=H.replace===!0,S=A(B,Q);if(S)return L(he(E(S),{state:typeof S=="object"?he({},ne,S.state):ne,force:_e,replace:v}),Y||B);const P=B;P.redirectedFrom=Y;let U;return!_e&&D_(r,Q,B)&&(U=ar(Te.NAVIGATION_DUPLICATED,{to:P,from:Q}),qe(Q,Q,!0,!1)),(U?Promise.resolve(U):D(P,Q)).catch(M=>Vt(M)?Vt(M,Te.NAVIGATION_GUARD_REDIRECT)?M:nt(M):q(M,P,Q)).then(M=>{if(M){if(Vt(M,Te.NAVIGATION_GUARD_REDIRECT))return L(he({replace:v},E(M.to),{state:typeof M.to=="object"?he({},ne,M.to.state):ne,force:_e}),Y||P)}else M=$(P,Q,!0,v,ne);return W(P,Q,M),M})}function F(H,Y){const B=g(H,Y);return B?Promise.reject(B):Promise.resolve()}function N(H){const Y=Tt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext(H):H()}function D(H,Y){let B;const[Q,ne,_e]=z_(H,Y);B=Fo(Q.reverse(),"beforeRouteLeave",H,Y);for(const S of Q)S.leaveGuards.forEach(P=>{B.push(dn(P,H,Y))});const v=F.bind(null,H,Y);return B.push(v),Ve(B).then(()=>{B=[];for(const S of o.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).then(()=>{B=Fo(ne,"beforeRouteUpdate",H,Y);for(const S of ne)S.updateGuards.forEach(P=>{B.push(dn(P,H,Y))});return B.push(v),Ve(B)}).then(()=>{B=[];for(const S of _e)if(S.beforeEnter)if(Ct(S.beforeEnter))for(const P of S.beforeEnter)B.push(dn(P,H,Y));else B.push(dn(S.beforeEnter,H,Y));return B.push(v),Ve(B)}).then(()=>(H.matched.forEach(S=>S.enterCallbacks={}),B=Fo(_e,"beforeRouteEnter",H,Y,N),B.push(v),Ve(B))).then(()=>{B=[];for(const S of i.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).catch(S=>Vt(S,Te.NAVIGATION_CANCELLED)?S:Promise.reject(S))}function W(H,Y,B){a.list().forEach(Q=>N(()=>Q(H,Y,B)))}function $(H,Y,B,Q,ne){const _e=g(H,Y);if(_e)return _e;const v=Y===dt,S=Bn?history.state:{};B&&(Q||v?s.replace(H.fullPath,he({scroll:v&&S&&S.scroll},ne)):s.push(H.fullPath,ne)),l.value=H,qe(H,Y,B,v),nt()}let X;function te(){X||(X=s.listen((H,Y,B)=>{if(!Lt.listening)return;const Q=b(H),ne=A(Q,Lt.currentRoute.value);if(ne){L(he(ne,{replace:!0,force:!0}),Q).catch(Ir);return}u=Q;const _e=l.value;Bn&&W_(Il(_e.fullPath,B.delta),io()),D(Q,_e).catch(v=>Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_CANCELLED)?v:Vt(v,Te.NAVIGATION_GUARD_REDIRECT)?(L(he(E(v.to),{force:!0}),Q).then(S=>{Vt(S,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&!B.delta&&B.type===Ri.pop&&s.go(-1,!1)}).catch(Ir),Promise.reject()):(B.delta&&s.go(-B.delta,!1),q(v,Q,_e))).then(v=>{v=v||$(Q,_e,!1),v&&(B.delta&&!Vt(v,Te.NAVIGATION_CANCELLED)?s.go(-B.delta,!1):B.type===Ri.pop&&Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),W(Q,_e,v)}).catch(Ir)}))}let se=vr(),K=vr(),J;function q(H,Y,B){nt(H);const Q=K.list();return Q.length?Q.forEach(ne=>ne(H,Y,B)):console.error(H),Promise.reject(H)}function re(){return J&&l.value!==dt?Promise.resolve():new Promise((H,Y)=>{se.add([H,Y])})}function nt(H){return J||(J=!H,te(),se.list().forEach(([Y,B])=>H?B(H):Y()),se.reset()),H}function qe(H,Y,B,Q){const{scrollBehavior:ne}=e;if(!Bn||!ne)return Promise.resolve();const _e=!B&&K_(Il(H.fullPath,0))||(Q||!B)&&history.state&&history.state.scroll||null;return nn().then(()=>ne(H,Y,_e)).then(v=>v&&V_(v)).catch(v=>q(v,H,Y))}const $e=H=>s.go(H);let Rt;const Tt=new Set,Lt={currentRoute:l,listening:!0,addRoute:h,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:R,getRoutes:m,resolve:b,options:e,push:y,replace:C,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:K.add,isReady:re,install(H){H.component("RouterLink",bb),H.component("RouterView",sd),H.config.globalProperties.$router=Lt,Object.defineProperty(H.config.globalProperties,"$route",{enumerable:!0,get:()=>me(l)}),Bn&&!Rt&&l.value===dt&&(Rt=!0,y(s.location).catch(Q=>{}));const Y={};for(const Q in dt)Object.defineProperty(Y,Q,{get:()=>l.value[Q],enumerable:!0});H.provide(da,Lt),H.provide(ha,Dt(Y)),H.provide(Li,l);const B=H.unmount;Tt.add(H),H.unmount=function(){Tt.delete(H),Tt.size<1&&(u=dt,X&&X(),X=null,l.value=dt,Rt=!1,J=!1),B()}}};function Ve(H){return H.reduce((Y,B)=>Y.then(()=>N(B)),Promise.resolve())}return Lt}function od(e){return Fe(ha)}const Sb=/(:\w+)\([^)]+\)/g,Rb=/(:\w+)[?+*]/g,Tb=/:\w+/g,Lb=(e,t)=>t.path.replace(Sb,"$1").replace(Rb,"$1").replace(Tb,n=>e.params[n.slice(1)]?.toString()||""),ki=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Lb(e.route,n));return typeof r=="function"?r(e.route):r},kb=(e,t)=>({default:()=>e?Ie(op,e===!0?{}:e,t):t});function id(e){return Array.isArray(e)?e:[e]}const Ab="modulepreload",Pb=function(e,t){return new URL(e,t).href},Kl={},vt=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let u=function(c){return Promise.all(c.map(f=>Promise.resolve(f).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=u(n.map(c=>{if(c=Pb(c,r),c in Kl)return;Kl[c]=!0;const f=c.endsWith(".css"),d=f?'[rel="stylesheet"]':"";if(r)for(let _=i.length-1;_>=0;_--){const m=i[_];if(m.href===c&&(!f||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${d}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":Ab,f||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),f)return new Promise((_,m)=>{h.addEventListener("load",_),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},Ho=[{name:"index",path:"/",meta:{middleware:"auth"},component:()=>vt(()=>import("./CqyNVJx6.js"),[],import.meta.url)},{name:"login",path:"/login",component:()=>vt(()=>import("./9W9VXtTt.js"),__vite__mapDeps([0,1,2]),import.meta.url)},{name:"garages",path:"/garages",meta:{middleware:"auth"},component:()=>vt(()=>import("./zPyClsoP.js"),[],import.meta.url)},{name:"packages",path:"/packages",meta:{middleware:"auth"},component:()=>vt(()=>import("./ncKxzOzI.js"),__vite__mapDeps([3,4]),import.meta.url)},{name:"permissions",path:"/permissions",meta:{middleware:"auth"},component:()=>vt(()=>import("./BO90Bn6x.js"),[],import.meta.url)}],ad=(e,t)=>({default:()=>e?Ie(ig,e===!0?{}:e,t):t.default?.()}),Ob=/(:\w+)\([^)]+\)/g,Ib=/(:\w+)[?+*]/g,Nb=/:\w+/g;function Gl(e){const t=e?.meta.key??e.path.replace(Ob,"$1").replace(Ib,"$1").replace(Nb,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function xb(e,t){return e===t||t===dt?!1:Gl(e)!==Gl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ql(e){return Array.isArray(e)?e:[e]}function ld(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ql(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ql(n.onBeforeLeave):void 0});return Lf(...t)}const Mb={scrollBehavior(e,t,n){const r=ue(),s=tt().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:cd(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===dt?Yl(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(Yl(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function cd(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Yl(e,t,n,r){return n||(e.hash?{el:e.hash,top:cd(e.hash),behavior:xb(e,t)?r:"instant"}:{left:0,top:0})}const Db={hashMode:!1,scrollBehaviorType:"auto"},cn={...Db,...Mb},Fb=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=On(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=In({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},Hb=e=>{const t=Wf({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return an(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},$b=[Fb,Hb],Ai={auth:()=>vt(()=>import("./DuYZ8wdr.js"),[],import.meta.url)};function Ub(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const u=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(u);return c[0]!=="/"&&(c="/"+c),hl(c,"")}const a=hl(r,e),l=!n||_f(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const jb=Ge({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=so().app.baseURL;const s=cn.history?.(r)??nb(r),o=cn.routes?([t,n]=On(()=>cn.routes(Ho)),t=await t,n(),t??Ho):Ho;let i;const a=Cb({...cn,scrollBehavior:(b,E,g)=>{if(E===dt){i=g;return}if(cn.scrollBehavior){if(a.options.scrollBehavior=cn.scrollBehavior,"scrollRestoration"in window.history){const y=a.beforeEach(()=>{y(),window.history.scrollRestoration="manual"})}return cn.scrollBehavior(b,dt,i||g)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Nn(a.currentRoute.value);a.afterEach((b,E)=>{l.value=E}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=Ub(r,window.location,e.payload.path),c=Nn(a.currentRoute.value),f=()=>{c.value=a.currentRoute.value};a.afterEach((b,E)=>{const g=b.matched.at(-1)?.components?.default,y=E.matched.at(-1)?.components?.default;if(g===y){f();return}b.matched.lengthC.components?.default===E.matched[A]?.components?.default)&&f()});const d={sync:f};for(const b in c.value)Object.defineProperty(d,b,{get:()=>c.value[b],enumerable:!0});e._route=Dt(d),e._middleware||={global:[],named:{}};const h=oo();a.afterEach(async(b,E,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(ty),g&&await e.callHook("page:loading:end")});try{[t,n]=On(()=>a.isReady()),await t,n()}catch(b){[t,n]=On(()=>e.runWithContext(()=>Rn(b))),await t,n()}const _=u!==a.currentRoute.value.fullPath?a.resolve(u):a.currentRoute.value,m=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&u!==e.payload.path&&_f(a.currentRoute.value.path,e.payload.path);f();const R=e.payload.state._layout;return a.beforeEach(async(b,E)=>{await e.callHook("page:loading:start"),b.meta=sn(b.meta),e.isHydrating&&R&&!Ut(b.meta.layout)&&(b.meta.layout=R),e._processingMiddleware=!0;{const g=new Set([...$b,...e._middleware.global]);for(const C of b.matched){const A=C.meta.middleware;if(A)for(const L of id(A))g.add(L)}const y=Wf({path:b.path});if(y.appMiddleware)for(const C in y.appMiddleware)y.appMiddleware[C]?g.add(C):g.delete(C);for(const C of g){const A=typeof C=="string"?e._middleware.named[C]||await Ai[C]?.().then(L=>L.default||L):C;if(!A)throw new Error(`Unknown route middleware: '${C}'.`);try{const L=await e.runWithContext(()=>A(b,E));if(!e.payload.serverRendered&&e.isHydrating&&(L===!1||L instanceof Error)){const F=L||In({status:404,statusText:`Page Not Found: ${u}`});return await e.runWithContext(()=>Rn(F)),!1}if(L===!0)continue;if(L===!1)return L;if(L)return Of(L)&&L.fatal&&await e.runWithContext(()=>Rn(L)),L}catch(L){const F=In(L);return F.fatal&&await e.runWithContext(()=>Rn(F)),F}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(b=>{if(b.matched.length===0&&!h.value)return e.runWithContext(()=>Rn(In({status:404,fatal:!1,statusText:`Page not found: ${b.fullPath}`,data:{path:b.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in _&&(_.name=void 0),m){const b=a.resolve(e.payload.path);"name"in b&&(b.name=void 0),await a.replace({...b,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({..._,force:!0})})}else await a.replace({..._,force:!0});a.options.scrollBehavior=cn.scrollBehavior}catch(b){await e.runWithContext(()=>Rn(b))}}),{provide:{router:a}}}}),Xl=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),U0=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),pa=e=>{const t=ue();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Xl(()=>e())}):Xl(()=>e())},Bb=Ge({name:"nuxt:payload",setup(e){const t=new Set;tt().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await kl(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),pa(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await kl().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Vf,1e3)})}}),Vb=Ge(()=>{const e=tt();pa(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Wb=Ge(e=>{let t;async function n(){let r;try{r=await Vf()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,bl);try{const s=await $fetch(aa("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}pa(()=>{t=setTimeout(n,bl)})});function Kb(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&ci(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=Ur(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=Pn(n.app.baseURL,o.fullPath);Kb({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function Jl(e){return typeof e=="string"?`'${e}'`:new qb().serialize(e)}const qb=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})();function Yb(e,t){return e===t||Jl(e)===Jl(t)}const Xb="$s";function ud(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const s=Xb+n,o=ue(),i=lu(o.payload.state,s);if(i.value===void 0&&r){const a=r();if(ve(a))return o.payload.state[s]=a,a;i.value=a}return i}const Jb=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function Qb(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n=new Jb,r=t||{},s=r.decode||zb;let o=0;for(;o{const t=decodeURIComponent(e),n=Ur(t);return typeof n=="number"&&(!Number.isFinite(n)||String(n)!==t)?t:n},encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},ds=globalThis.cookieStore;function fd(e,t){const n={...tv,...t};n.filter??=u=>u===e;const r=zl(n)||{};let s;n.maxAge!==void 0?s=n.maxAge*1e3:n.expires&&(s=n.expires.getTime()-Date.now());const o=s!==void 0&&s<=0,i=o||r[e]===void 0||r[e]===null,a=_t(o?void 0:r[e]??n.default?.()),l=s&&!o?sv(a,s,n.watch&&n.watch!=="shallow"):et(a);{let u=null;try{!ds&&typeof BroadcastChannel<"u"&&(u=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const c=(_=!1)=>{!_&&(n.readonly||Yb(l.value,r[e]))||(rv(e,l.value,n),r[e]=_t(l.value),u?.postMessage({value:n.encode(l.value)}))},f=_=>{const m=_.refresh?zl(n)?.[e]:n.decode(_.value);d=!0,l.value=m,r[e]=_t(m),nn(()=>{d=!1})};let d=!1;const h=!!dr();if(h&&Nr(()=>{d=!0,c(),u?.close()}),ds){const _=m=>{const R=m.changed.find(E=>E.name===e),b=m.deleted.find(E=>E.name===e);R&&f({value:R.value}),b&&f({value:null})};ds.addEventListener("change",_),h&&Nr(()=>ds.removeEventListener("change",_))}else u&&(u.onmessage=({data:_})=>f(_));n.watch&&at(l,()=>{d||c()},{deep:n.watch!=="shallow"}),i&&c(i)}return l}function zl(e={}){return Qb(document.cookie,e)}function nv(e,t,n={}){return t==null?Ql(e,t,{...n,maxAge:-1}):Ql(e,t,n)}function rv(e,t,n={}){document.cookie=nv(e,t,n)}const Zl=2147483647;function sv(e,t,n){let r,s,o=0;const i=n?et(e):{value:e};return dr()&&Nr(()=>{s?.(),clearTimeout(r)}),Mh((a,l)=>{n&&(s=at(i,l));function u(){const f=t-o,d=f{if(o+=d,o4)return Promise.all(s).then(()=>iv(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}function dd(e){return new URL(globalThis.location.href)}const av=Ge({name:"pinia",setup(e){const t=ny();return e.vueApp.use(t),or(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ue();e.payload.pinia=ae(e.$pinia).state.value,or(void 0)}}}),lv=Ge({name:"nuxt:global-components"}),pn={default:Qo(()=>vt(()=>import("./CC4zKGJo.js"),__vite__mapDeps([5,1,4,2]),import.meta.url).then(e=>e.default||e))},cv=Ge({name:"nuxt:prefetch",setup(e){const t=tt();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof pn[r]=="function"&&await pn[r]()})}),e.hooks.hook("link:prefetch",n=>{if(an(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=id(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof Ai[i]=="function"&&Ai[i]();typeof s=="string"&&s in pn&&ov(pn[s])})}});function uv(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const xs=typeof window<"u",yn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),fv=(e,t,n)=>dv({l:e,k:t,s:n}),dv=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),hd=e=>lo(e)==="[object Date]",Ms=e=>lo(e)==="[object RegExp]",ao=e=>fe(e)&&Object.keys(e).length===0,Ae=Object.assign,hv=Object.create,ye=(e=null)=>hv(e);function ec(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function tc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function pv(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,s,o)=>`${s}="${tc(o)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,s,o)=>`${s}='${tc(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const gv=Object.prototype.hasOwnProperty;function gt(e,t){return gv.call(e,t)}const Le=Array.isArray,Ce=e=>typeof e=="function",G=e=>typeof e=="string",Se=e=>typeof e=="boolean",ce=e=>e!==null&&typeof e=="object",mv=e=>ce(e)&&Ce(e.then)&&Ce(e.catch),pd=Object.prototype.toString,lo=e=>pd.call(e),fe=e=>lo(e)==="[object Object]",yv=e=>e==null?"":Le(e)||fe(e)&&e.toString===pd?JSON.stringify(e,null,2):String(e);function ga(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}const hs=e=>!ce(e)||Le(e);function zn(e,t){if(hs(e)||hs(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(o=>{o!=="__proto__"&&(ce(r[o])&&!ce(s[o])&&(s[o]=Array.isArray(r[o])?[]:ye()),hs(s[o])||hs(r[o])?s[o]=r[o]:n.push({src:r[o],des:s[o]}))})}}function _v(e,t=e.getCurrentLanguage(),n=e.getCurrentDirection()){const r={htmlAttrs:{},link:[],meta:[]};if(e.dir&&(r.htmlAttrs.dir=n),e.lang&&t&&(r.htmlAttrs.lang=t),e.seo){const s=vv(e);r.link=r.link.concat(s,wv(e)),r.meta=r.meta.concat(Cv(e),Sv(e),Rv(e,e.locales.map(o=>o.language||o.code)))}return r}function bv(e){const t=new Map;for(const n of e){if(!n.language){console.warn("Locale `language` ISO code is required to generate alternate link");continue}const[r,s]=n.language.split("-");r&&s&&(n.isCatchallLocale||!t.has(r))&&t.set(r,n),t.set(n.language,n)}return t}function vv(e){if(!e.hreflangLinks)return[];const t=[],n=bv(e.locales);for(const[r,s]of n.entries()){const o=Ev(r,s,e);o&&(t.push(o),e.defaultLocale&&e.defaultLocale===s.code&&t[0].hreflang!=="x-default"&&t.unshift({[e.key]:"i18n-xd",rel:"alternate",href:o.href,hreflang:"x-default"}))}return t}function Ev(e,t,n,r=n.strictCanonicals?n.getRouteWithoutQuery():void 0){const s=n.getLocalizedRoute(t.code,r);if(!s)return;const o=ro(an(s)?s:Pn(n.baseUrl,s),n.strictCanonicals?md(n):{});return{[n.key]:`i18n-alt-${e}`,rel:"alternate",href:o,hreflang:e}}function gd(e,t=e.getCurrentRoute()){const n=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}));return n?ro(Pn(e.baseUrl,n.path),md(e)):""}function wv(e,t=gd(e)){return t?[{[e.key]:"i18n-can",rel:"canonical",href:t}]:[]}function md(e,t=e.getCurrentRoute()){const r=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}))?.query??{},s={};for(const o of e.canonicalQueries.filter(i=>i in r)){s[o]??=[];for(const i of Tv(r[o]))s[o].push(i||"")}return s}function Cv(e,t=gd(e)){return t?[{[e.key]:"i18n-og-url",property:"og:url",content:t}]:[]}function Sv(e,t=e.getCurrentLanguage()){return t?[{[e.key]:"i18n-og",property:"og:locale",content:yd(t)}]:[]}function Rv(e,t,n=e.getCurrentLanguage()){return t.filter(s=>s&&s!==n).map(s=>({[e.key]:`i18n-og-alt-${s}`,property:"og:locale:alternate",content:yd(s)}))}function yd(e=""){return e.replace(/-/g,"_")}function Tv(e){return Array.isArray(e)?e:[e]}function _d(e,t,n=e.getLocale()){if(G(t)&&an(t,{acceptRelative:!0}))return t;try{return vd(e,t,n).fullPath}catch{return""}}function bd(e,t,n=e.getLocale()){try{return vd(e,t,n)}catch{return}}function Lv(e){if(!G(e))return Ae({},e);if(e[0]==="/"){const{pathname:t,search:n,hash:r}=fi(e);return{path:t,query:sa(n),hash:r}}return{name:e}}function vd(e,t,n){const r=Lv(t),s=e.router.resolve(e.resolveLocalizedRouteObject(r,n));return s.name?s:e.router.resolve(t)}function Ed(e,t,n=e.router.currentRoute.value){const r=e.getRouteBaseName(n);if(!r)return"";const s={name:r,params:Ae({},n.params,e.getLocalizedDynamicParams(t)),fullPath:n.fullPath,query:n.query,hash:n.hash,path:n.path,meta:n.meta},o=_d(e,s,t);return e.afterSwitchLocalePath(o,t)}function kv(e,t,n=e.getLocale(),r=e.getLocales(),s=e.getBaseUrl()){const o=r.find(a=>a.code===n)||{},i=typeof t.seo=="object"&&t.seo?.canonicalQueries||[];return s||console.warn("I18n `baseUrl` is required to generate valid SEO tag links."),{...t,key:"id",locales:r,baseUrl:s,canonicalQueries:i,hreflangLinks:e.routingOptions.hreflangLinks,defaultLocale:e.routingOptions.defaultLocale,strictCanonicals:e.routingOptions.strictCanonicals,getRouteBaseName:e.getRouteBaseName,getCurrentRoute:()=>e.router.currentRoute.value,getCurrentLanguage:()=>o.language,getCurrentDirection:()=>o.dir||"ltr",getLocaleRoute:a=>bd(e,a),getLocalizedRoute:(a,l)=>Ed(e,a,l),getRouteWithoutQuery:()=>{try{return Ae({},e.router.resolve({query:{}}),{meta:e.router.currentRoute.value.meta})}catch{return}}}}function Av(e,{dir:t=!0,lang:n=!0,seo:r=!0}){return _v(kv(e,{dir:t,lang:n,seo:r}))}function Pv(e=0){return t=>{const s=(typeof t=="string"?t:t.pathname).split("?")[0].split("/");return s[0]===""&&s.shift(),s.length>e&&s[e]||""}}const wd="___";function Cd(e){return typeof e=="string"?e:e!=null?e.toString():""}function $o(e){return Cd(typeof e=="object"?e?.name:e).split(wd)[0]}const Ov=Pv(0),Pi=e=>Ov(e),Iv=e=>e.split(wd).at(1)??"";function Nv(e){return String(typeof e!="object"?e:e?.name||e?.path||"")}function xv(e){const t=Nv(e);if(t[0]==="/")return Pi(t);const n=Iv(t);return n||(typeof e=="object"&&e?.path?Pi(String(e.path)):"")}function Mv(e){return t=>Cd(t)}function Dv(e){return t=>t}const Wr=["hu","en"],Ds={hu:[{key:"locale_hu_46json_ee06c965",load:()=>vt(()=>import("./DP_n9i02.js"),[],import.meta.url),cache:!0}],en:[{key:"locale_en_46json_0b63539c",load:()=>vt(()=>import("./CgyjcGAF.js"),[],import.meta.url),cache:!0}]},Fv=[],es=[{code:"hu",iso:"hu-HU",name:"Magyar",language:void 0},{code:"en",iso:"en-GB",name:"English",language:void 0}],Sd=new Map,Hv=Tf((e,t,n)=>{if(t==="messages"||t==="datetimeFormats"||t==="numberFormats")return e[t]??=ye(null),zn(n,e[t]),!0});async function $v(e){const t=ue();let n={messages:ye(null)};for(const r of e){const s=await r().then(i=>Rd(i)?i.default:i),o=Ce(s)?await t.runWithContext(()=>s()):s;n=Hv(ye(null),o,n)}return n.fallbackLocale??=!1,n}const Rd=e=>lo(e)==="[object Module]";async function Uv(e,t){const n=ue();try{const r=await n.runWithContext(t.load).then(s=>Rd(s)?s.default:s);return Ce(r)?await n.runWithContext(()=>r(e)):r}catch(r){throw new Error(`Failed loading locale (${e}): `+r.message)}}async function jv(e,t=[]){const n=ue(),r=await Promise.all(t.map(async o=>{const i=Bv(o),a=i||await n.runWithContext(()=>Uv(e,o));return!i&&o.cache!==!1&&Sd.set(o.key,{ttl:Date.now()+86400*1e3,value:a}),a})),s={};for(const o of r)zn(o,s);return s}function Bv(e){if(e.cache===!1)return;const t=Sd.get(e.key);if(t!=null)return t.ttl>Date.now()?t.value:void 0}function ma(e){return e!=null&&"global"in e&&"mode"in e?e.global:e}function ps(e){const t=ma(e);return"__composer"in t?t.__composer:t}function co(e,t){return e?e.$config.public.i18n:so().public.i18n}function uo(e){const t=co(e).detectBrowserLanguage,n=t||{};return{...n,enabled:!!t,cookieKey:n.cookieKey||"i18n_redirected"}}function Vv(e){if(e)return{path:"/"+(G(e)?e:e.path).replace(/^\//,""),code:!G(e)&&e.statusCode||302}}function Wv(e){return Array.isArray(e)?e:[e]}function Kv(e,t,n){const r=(o="")=>o.replace(/https?:\/\//,""),s=e.filter(o=>r(o.domain)===t||Wv(o.domains).includes(t));return s.length<=1?s[0]?.code:s.find(o=>o.code===n)?.code||s.find(o=>o.defaultForDomains?.includes(t)??o.domainDefault)?.code}function Gv(e,t,n){const r=es.find(o=>o.code===n),s=e?.[n]?.domain||r?.domain||r?.domains?.find(o=>o===t.host);if(s)return an(s,{strict:!0})?s:t.protocol+"//"+s}function qv(e){const t={};for(const n of Wr){const r=Yv(e,[n]),s=Xv(n,r);t[n]={fallbacks:r,cacheable:s}}return t}function Yv(e,t){if(e===!1)return[];if(Le(e))return e;let n=[];if(G(e))return t.every(s=>s!==e)&&n.push(e),n;const r=[...t,"default"];for(const s of r)s in e&&(n=[...n,...e[s].filter(Boolean)]);return n}function nc(e){return Ds[e]!=null&&Ds[e].every(t=>t.cache!==!1)}function Xv(e,t){return nc(e)&&t.every(n=>nc(n))}function Jv(e){return es.find(t=>!!t.defaultForDomains?.includes(e))?.code}const Zn=e=>Wr.includes(e||""),rc=e=>Zn(e)?e:void 0;var Qv={hu:"349b7781",en:"349b7781"};const Td=()=>ud("i18n:cached-locale-configs",()=>{}),Ld=()=>ud("i18n:resolved-locale",()=>"");function zv({cookieCrossOrigin:e,cookieDomain:t,cookieSecure:n,cookieKey:r}){const s=new Date;return fd(r||"i18n_redirected",{path:"/",readonly:!1,expires:new Date(s.setDate(s.getDate()+365)),sameSite:e?"none":"lax",domain:t||void 0,secure:e||n})}function Zv(e,t,n){const r=ma(t),s=co(e),o=uo(e),i=Td(),a=zv(o),l=new Set,u=R=>i.value[R],c=R=>Gv(s.domainLocales,dd(),R),f=hE(e,s.baseUrl),d=Ld(),h=async R=>{const b=u(R)?.fallbacks??[];b.includes(R)||b.push(R);for(const E of b){const g=await e.runWithContext(()=>jv(E,Ds[E]));r.mergeLocaleMessage(E,g)}},_=async R=>{if(!(R in Ds))return;const b=u(R)?.cacheable?{}:{"Cache-Control":"no-cache"},g=Pn("","/_i18n",Qv[R],R,"messages.json"),y=await $fetch(g,{headers:b});for(const C of Object.keys(y))r.mergeLocaleMessage(C,y[C])},m={vueI18n:t,initial:!0,preloaded:!1,config:s,rootRedirect:Vv(s.rootRedirect),redirectStatusCode:s.redirectStatusCode??302,dynamicResourcesSSG:!1,getDefaultLocale:()=>n,getLocale:()=>me(r.locale),setLocale:async R=>{const b=m.getLocale();R===b||!Zn(R)||(ve(r.locale)?r.locale.value=R:r.locale=R,await e.callHook("i18n:localeSwitched",{newLocale:R,oldLocale:b}),d.value=R)},setLocaleSuspend:async R=>{Zn(R)&&(m.vueI18n.__pendingLocale=R,m.vueI18n.__pendingLocalePromise=new Promise(b=>{m.vueI18n.__resolvePendingLocalePromise=async()=>{m.setCookieLocale(R),await m.setLocale(R),m.vueI18n.__pendingLocale=void 0,b()}}),(e.isHydrating||!m.config.skipSettingLocaleOnNavigate)&&await m.vueI18n.__resolvePendingLocalePromise?.())},getLocales:()=>me(r.locales).map(R=>G(R)?{code:R}:R),setCookieLocale:R=>{o.useCookie&&Zn(R)&&(a.value=R)},getBaseUrl:R=>Pn(R&&c(R)||f(),e.$config.app.baseURL),loadMessages:async R=>{if(!(e.isHydrating&&l.has(R)))try{return m.dynamicResourcesSSG?await h(R):await _(R)}catch(b){console.warn(`Failed to load messages for locale "${R}"`,b)}finally{l.add(R)}},composableCtx:void 0};return m.composableCtx=cE(m,e),m}function ya(e){if(e._nuxtI18n==null)throw new Error("Nuxt I18n context has not been set up yet.");return e._nuxtI18n}function eE(e,t){const n=[];for(const[r,s]of t.entries()){const o=e.find(i=>i.language?.toLowerCase()===s.toLowerCase());if(o){n.push({code:o.code,score:1-r/t.length});break}}for(const[r,s]of t.entries()){const o=s.split("-")[0].toLowerCase(),i=e.find(a=>a.language?.split("-")[0].toLowerCase()===o);if(i){n.push({code:i.code,score:.999-r/t.length});break}}return n}function tE(e,t){return e.score===t.score?t.code.length-e.code.length:t.score-e.score}function nE(e,t){return eE(e.map(r=>({code:r.code,language:r.language||r.code})),t).sort(tE).at(0)?.code??""}const rE=(e,t)=>fd(t).value||void 0,sE=(e,t)=>xv(t),oE=e=>nE(es,navigator.languages),iE=(e,t,n)=>{const r=new URL(window.location.href).host,s=es.map(o=>({...o,domain:n[o.code]?.domain??o.domain}));return Kv(s,r,Pi(t))},_a=(e,t,n)=>{const r=co(n);return{cookie:()=>rE(e,t.cookieKey),header:()=>{},navigator:()=>oE(),host:s=>iE(e,s,r.domainLocales),route:s=>sE(e,s)}},aE=e=>!!e.path&&!e.name;function fo(e){const t=e?._nuxtI18n?.composableCtx;if(!t)throw new Error("i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.");return t}const lE=Br;function cE(e,t=ue()){const n=tt();_a(void 0,uo(t),t);const r=e.getDefaultLocale(),s=Mv();function o(u,c){u.name=$o(u.name||n.currentRoute.value);const f=s(u.name,c);return n.hasRoute(f)&&(u.name=f),u.name=f,u}const i=Dv();function a(u,c){const f=i(u,c),d=$o(f);if(d){const h=s(d,c);return n.hasRoute(h),f.name=h,f}return f.path=lE(f.path,!0),f}const l={router:n,_head:void 0,get head(){return this._head??=s_({}),this._head},metaState:{htmlAttrs:{},meta:[],link:[]},seoSettings:{dir:!1,lang:!1,seo:!1},localePathPayload:uE(),routingOptions:{defaultLocale:r,strictCanonicals:e.config.experimental.alternateLinkCanonicalQueries??!0,hreflangLinks:!1},getLocale:e.getLocale,getLocales:e.getLocales,getBaseUrl:e.getBaseUrl,getRouteBaseName:$o,getRouteLocalizedParams:()=>n.currentRoute.value.meta.nuxtI18nInternal??{},getLocalizedDynamicParams:u=>l.getRouteLocalizedParams()?.[u],afterSwitchLocalePath:(u,c)=>(l.getRouteLocalizedParams(),u),resolveLocalizedRouteObject:(u,c)=>aE(u)?a(u,c):o(u,c)};return l}function uE(e=ue()){const t=document.querySelector(`[data-nuxt-i18n-slp="${e._id}"]`)?.textContent;return JSON.parse(t||"{}")}async function kd(e,t){const n=ya(e),r=n.getLocale();if(t===r&&!n.initial&&(!n.vueI18n.__pendingLocale||n.vueI18n.__pendingLocale===t))return t;const s={oldLocale:r,newLocale:t,initialSetup:n.initial,context:e};let o=await e.callHook("i18n:beforeLocaleSwitch",s);return o!=null,o??=s.newLocale,Zn(o)&&(t=o),await n.loadMessages(t),await n.setLocaleSuspend(t),t}function fE(e,t,n){return!1}function dE(e,t){const n=uo(e),r=_a(void 0,n,e),s=ya(e),o=G(t)?t:t.path;function*i(){s.initial&&n.enabled&&!fE(n,o,r.route(o))&&(yield r.cookie(),yield r.header(),yield r.navigator(),yield n.fallbackLocale)}for(const a of i())if(a&&Zn(a))return a;return s.getLocale()||s.getDefaultLocale()||""}function hE(e,t,n,r){return Ce(t)?()=>t(e):()=>t??""}function pE(e,t,n){return{line:e,column:t,offset:n}}function Oi(e,t,n){return{start:e,end:t}}const pe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},gE=17;function ho(e,t,n={}){const{domain:r,messages:s,args:o}=n,i=e,a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=r,a}function mE(e){throw e}const At=" ",yE="\r",We=` -`,_E="\u2028",bE="\u2029";function vE(e){const t=e;let n=0,r=1,s=1,o=0;const i=L=>t[L]===yE&&t[L+1]===We,a=L=>t[L]===We,l=L=>t[L]===bE,u=L=>t[L]===_E,c=L=>i(L)||a(L)||l(L)||u(L),f=()=>n,d=()=>r,h=()=>s,_=()=>o,m=L=>i(L)||l(L)||u(L)?We:t[L],R=()=>m(n),b=()=>m(n+o);function E(){return o=0,c(n)&&(r++,s=0),i(n)&&n++,n++,s++,t[n]}function g(){return i(n+o)&&o++,o++,t[n+o]}function y(){n=0,r=1,s=1,o=0}function C(L=0){o=L}function A(){const L=n+o;for(;L!==n;)E();o=0}return{index:f,line:d,column:h,peekOffset:_,charAt:m,currentChar:R,currentPeek:b,next:E,peek:g,reset:y,resetPeek:C,skipToPeek:A}}const Wt=void 0,EE=".",sc="'",wE="tokenizer";function CE(e,t={}){const n=t.location!==!1,r=vE(e),s=()=>r.index(),o=()=>pE(r.line(),r.column(),r.index()),i=o(),a=s(),l={currentType:13,offset:a,startLoc:i,endLoc:i,lastType:13,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function f(p,w,k,...O){const x=u();if(w.column+=k,w.offset+=k,c){const j=n?Oi(x.startLoc,w):null,T=ho(p,j,{domain:wE,args:O});c(T)}}function d(p,w,k){p.endLoc=o(),p.currentType=w;const O={type:w};return n&&(O.loc=Oi(p.startLoc,p.endLoc)),k!=null&&(O.value=k),O}const h=p=>d(p,13);function _(p,w){return p.currentChar()===w?(p.next(),w):(f(pe.EXPECTED_TOKEN,o(),0,w),"")}function m(p){let w="";for(;p.currentPeek()===At||p.currentPeek()===We;)w+=p.currentPeek(),p.peek();return w}function R(p){const w=m(p);return p.skipToPeek(),w}function b(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w===95}function E(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=48&&w<=57}function g(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function y(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()==="-"?p.peek():p.currentPeek(),x=E(O);return p.resetPeek(),x}function C(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()===sc;return p.resetPeek(),O}function A(p,w){const{currentType:k}=w;if(k!==7)return!1;m(p);const O=p.currentPeek()===".";return p.resetPeek(),O}function L(p,w){const{currentType:k}=w;if(k!==8)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function F(p,w){const{currentType:k}=w;if(!(k===7||k===11))return!1;m(p);const O=p.currentPeek()===":";return p.resetPeek(),O}function N(p,w){const{currentType:k}=w;if(k!==9)return!1;const O=()=>{const j=p.currentPeek();return j==="{"?b(p.peek()):j==="@"||j==="|"||j===":"||j==="."||j===At||!j?!1:j===We?(p.peek(),O()):W(p,!1)},x=O();return p.resetPeek(),x}function D(p){m(p);const w=p.currentPeek()==="|";return p.resetPeek(),w}function W(p,w=!0){const k=(x=!1,j="")=>{const T=p.currentPeek();return T==="{"||T==="@"||!T?x:T==="|"?!(j===At||j===We):T===At?(p.peek(),k(!0,At)):T===We?(p.peek(),k(!0,We)):!0},O=k();return w&&p.resetPeek(),O}function $(p,w){const k=p.currentChar();return k===Wt?Wt:w(k)?(p.next(),k):null}function X(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36}function te(p){return $(p,X)}function se(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36||w===45}function K(p){return $(p,se)}function J(p){const w=p.charCodeAt(0);return w>=48&&w<=57}function q(p){return $(p,J)}function re(p){const w=p.charCodeAt(0);return w>=48&&w<=57||w>=65&&w<=70||w>=97&&w<=102}function nt(p){return $(p,re)}function qe(p){let w="",k="";for(;w=q(p);)k+=w;return k}function $e(p){let w="";for(;;){const k=p.currentChar();if(k==="\\"){const O=p.peek();O==="{"||O==="}"||O==="@"||O==="|"||O==="\\"?(w+=k+O,p.next(),p.next()):(p.resetPeek(),w+=k,p.next())}else{if(k==="{"||k==="}"||k==="@"||k==="|"||!k)break;if(k===At||k===We)if(W(p))w+=k,p.next();else{if(D(p))break;w+=k,p.next()}else w+=k,p.next()}}return w}function Rt(p){R(p);let w="",k="";for(;w=K(p);)k+=w;const O=p.currentChar();if(O&&O!=="}"&&O!==Wt&&O!==At&&O!==We&&O!==" "){const x=Q(p);return f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k+x),k+x}return p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k}function Tt(p){R(p);let w="";return p.currentChar()==="-"?(p.next(),w+=`-${qe(p)}`):w+=qe(p),p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w}function Lt(p){return p!==sc&&p!==We}function Ve(p){R(p),_(p,"'");let w="",k="";for(;w=$(p,Lt);)w==="\\"?k+=H(p):k+=w;const O=p.currentChar();return O===We||O===Wt?(f(pe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),O===We&&(p.next(),_(p,"'")),k):(_(p,"'"),k)}function H(p){const w=p.currentChar();switch(w){case"\\":case"'":return p.next(),`\\${w}`;case"u":return Y(p,w,4);case"U":return Y(p,w,6);default:return f(pe.UNKNOWN_ESCAPE_SEQUENCE,o(),0,w),""}}function Y(p,w,k){_(p,w);let O="";for(let x=0;x{const O=p.currentChar();return O==="{"||O==="@"||O==="|"||O==="("||O===")"||!O||O===At?k:(k+=O,p.next(),w(k))};return w("")}function v(p){R(p);const w=_(p,"|");return R(p),w}function S(p,w){let k=null;switch(p.currentChar()){case"{":return w.braceNest>=1&&f(pe.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),p.next(),k=d(w,2,"{"),R(p),w.braceNest++,k;case"}":return w.braceNest>0&&w.currentType===2&&f(pe.EMPTY_PLACEHOLDER,o(),0),p.next(),k=d(w,3,"}"),w.braceNest--,w.braceNest>0&&R(p),w.inLinked&&w.braceNest===0&&(w.inLinked=!1),k;case"@":return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=P(p,w)||h(w),w.braceNest=0,k;default:{let x=!0,j=!0,T=!0;if(D(p))return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(w.braceNest>0&&(w.currentType===4||w.currentType===5||w.currentType===6))return f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w.braceNest=0,U(p,w);if(x=g(p,w))return k=d(w,4,Rt(p)),R(p),k;if(j=y(p,w))return k=d(w,5,Tt(p)),R(p),k;if(T=C(p,w))return k=d(w,6,Ve(p)),R(p),k;if(!x&&!j&&!T)return k=d(w,12,Q(p)),f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k.value),R(p),k;break}}return k}function P(p,w){const{currentType:k}=w;let O=null;const x=p.currentChar();switch((k===7||k===8||k===11||k===9)&&(x===We||x===At)&&f(pe.INVALID_LINKED_FORMAT,o(),0),x){case"@":return p.next(),O=d(w,7,"@"),w.inLinked=!0,O;case".":return R(p),p.next(),d(w,8,".");case":":return R(p),p.next(),d(w,9,":");default:return D(p)?(O=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,O):A(p,w)||F(p,w)?(R(p),P(p,w)):L(p,w)?(R(p),d(w,11,ne(p))):N(p,w)?(R(p),x==="{"?S(p,w)||O:d(w,10,_e(p))):(k===7&&f(pe.INVALID_LINKED_FORMAT,o(),0),w.braceNest=0,w.inLinked=!1,U(p,w))}}function U(p,w){let k={type:13};if(w.braceNest>0)return S(p,w)||h(w);if(w.inLinked)return P(p,w)||h(w);switch(p.currentChar()){case"{":return S(p,w)||h(w);case"}":return f(pe.UNBALANCED_CLOSING_BRACE,o(),0),p.next(),d(w,3,"}");case"@":return P(p,w)||h(w);default:{if(D(p))return k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(W(p))return d(w,0,$e(p));break}}return k}function M(){const{currentType:p,offset:w,startLoc:k,endLoc:O}=l;return l.lastType=p,l.lastOffset=w,l.lastStartLoc=k,l.lastEndLoc=O,l.offset=s(),l.startLoc=o(),r.currentChar()===Wt?d(l,13):U(r,l)}return{nextToken:M,currentOffset:s,currentPosition:o,context:u}}const SE="parser",RE=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g,TE=/\\([\\@{}|])/g;function LE(e,t){return t}function kE(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function AE(e={}){const t=e.location!==!1,{onError:n}=e;function r(b,E,g,y,...C){const A=b.currentPosition();if(A.offset+=y,A.column+=y,n){const L=t?Oi(g,A):null,F=ho(E,L,{domain:SE,args:C});n(F)}}function s(b,E,g){const y={type:b};return t&&(y.start=E,y.end=E,y.loc={start:g,end:g}),y}function o(b,E,g,y){t&&(b.end=E,b.loc&&(b.loc.end=g))}function i(b,E){const g=b.context(),y=s(3,g.offset,g.startLoc);return y.value=E.replace(TE,LE),o(y,b.currentOffset(),b.currentPosition()),y}function a(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(5,y,C);return A.index=parseInt(E,10),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function l(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(4,y,C);return A.key=E,b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function u(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(9,y,C);return A.value=E.replace(RE,kE),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function c(b){const E=b.nextToken(),g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(8,y,C);return E.type!==11?(r(b,pe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),A.value="",o(A,y,C),{nextConsumeToken:E,node:A}):(E.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Pt(E)),A.value=E.value||"",o(A,b.currentOffset(),b.currentPosition()),{node:A})}function f(b,E){const g=b.context(),y=s(7,g.offset,g.startLoc);return y.value=E,o(y,b.currentOffset(),b.currentPosition()),y}function d(b){const E=b.context(),g=s(6,E.offset,E.startLoc);let y=b.nextToken();if(y.type===8){const C=c(b);g.modifier=C.node,y=C.nextConsumeToken||b.nextToken()}switch(y.type!==9&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),y=b.nextToken(),y.type===2&&(y=b.nextToken()),y.type){case 10:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=f(b,y.value||"");break;case 4:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=l(b,y.value||"");break;case 5:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=a(b,y.value||"");break;case 6:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=u(b,y.value||"");break;default:{r(b,pe.UNEXPECTED_EMPTY_LINKED_KEY,E.lastStartLoc,0);const C=b.context(),A=s(7,C.offset,C.startLoc);return A.value="",o(A,C.offset,C.startLoc),g.key=A,o(g,C.offset,C.startLoc),{nextConsumeToken:y,node:g}}}return o(g,b.currentOffset(),b.currentPosition()),{node:g}}function h(b){const E=b.context(),g=E.currentType===1?b.currentOffset():E.offset,y=E.currentType===1?E.endLoc:E.startLoc,C=s(2,g,y);C.items=[];let A=null;do{const N=A||b.nextToken();switch(A=null,N.type){case 0:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(i(b,N.value||""));break;case 5:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(a(b,N.value||""));break;case 4:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(l(b,N.value||""));break;case 6:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(u(b,N.value||""));break;case 7:{const D=d(b);C.items.push(D.node),A=D.nextConsumeToken||null;break}}}while(E.currentType!==13&&E.currentType!==1);const L=E.currentType===1?E.lastOffset:b.currentOffset(),F=E.currentType===1?E.lastEndLoc:b.currentPosition();return o(C,L,F),C}function _(b,E,g,y){const C=b.context();let A=y.items.length===0;const L=s(1,E,g);L.cases=[],L.cases.push(y);do{const F=h(b);A||(A=F.items.length===0),L.cases.push(F)}while(C.currentType!==13);return A&&r(b,pe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),o(L,b.currentOffset(),b.currentPosition()),L}function m(b){const E=b.context(),{offset:g,startLoc:y}=E,C=h(b);return E.currentType===13?C:_(b,g,y,C)}function R(b){const E=CE(b,Ae({},e)),g=E.context(),y=s(0,g.offset,g.startLoc);return t&&y.loc&&(y.loc.source=b),y.body=m(E),e.onCacheKey&&(y.cacheKey=e.onCacheKey(b)),g.currentType!==13&&r(E,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,b[g.offset]||""),o(y,E.currentOffset(),E.currentPosition()),y}return{parse:R}}function Pt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function PE(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:o=>(n.helpers.add(o),o)}}function oc(e,t){for(let n=0;nic(n)),e}function ic(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(m,R){i.code+=m}function u(m,R=!0){const b=R?r:"";l(s?b+" ".repeat(m):b)}function c(m=!0){const R=++i.indentLevel;m&&u(R)}function f(m=!0){const R=--i.indentLevel;m&&u(R)}function d(){u(i.indentLevel)}return{context:a,push:l,indent:c,deindent:f,newline:d,helper:m=>`_${m}`,needIndent:()=>i.needIndent}}function xE(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),lr(e,t.key),t.modifier?(e.push(", "),lr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function ME(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let o=0;o1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let o=0;o{const n=G(t.mode)?t.mode:"normal",r=G(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,o=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=NE(e,{filename:r,breakLineCode:s,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),i.length>0&&(a.push(`const { ${ga(i.map(c=>`${c}: _${c}`),", ")} } = ctx`),a.newline()),a.push("return "),lr(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:l,map:u}=a.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function $E(e,t={}){const n=Ae({},t),r=!!n.jit,s=!!n.minify,o=n.optimize==null?!0:n.optimize,a=AE(n).parse(e);return r?(o&&IE(a),s&&Vn(a),{ast:a,code:""}):(OE(a,n),HE(a,n))}function $t(e){return ce(e)&&va(e)===0&&(gt(e,"b")||gt(e,"body"))}const Ad=["b","body"];function UE(e){return _n(e,Ad)}const Pd=["c","cases"];function jE(e){return _n(e,Pd,[])}const Od=["s","static"];function BE(e){return _n(e,Od)}const Id=["i","items"];function VE(e){return _n(e,Id,[])}const Nd=["t","type"];function va(e){return _n(e,Nd)}const xd=["v","value"];function gs(e,t){const n=_n(e,xd);if(n!=null)return n;throw Kr(t)}const Md=["m","modifier"];function WE(e){return _n(e,Md)}const Dd=["k","key"];function KE(e){const t=_n(e,Dd);if(t)return t;throw Kr(6)}function _n(e,t,n){for(let r=0;rGE(n,e)}function GE(e,t){const n=UE(t);if(n==null)throw Kr(0);if(va(n)===1){const o=jE(n);return e.plural(o.reduce((i,a)=>[...i,ac(e,a)],[]))}else return ac(e,n)}function ac(e,t){const n=BE(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=VE(t).reduce((s,o)=>[...s,Ii(e,o)],[]);return e.normalize(r)}}function Ii(e,t){const n=va(t);switch(n){case 3:return gs(t,n);case 9:return gs(t,n);case 4:{const r=t;if(gt(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(gt(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw Kr(n)}case 5:{const r=t;if(gt(r,"i")&&Ne(r.i))return e.interpolate(e.list(r.i));if(gt(r,"index")&&Ne(r.index))return e.interpolate(e.list(r.index));throw Kr(n)}case 6:{const r=t,s=WE(r),o=KE(r);return e.linked(Ii(e,o),s?Ii(e,s):void 0,e.type)}case 7:return gs(t,n);case 8:return gs(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const qE=e=>e;let ms=ye();function YE(e,t={}){let n=!1;const r=t.onError||mE;return t.onError=s=>{n=!0,r(s)},{...$E(e,t),detectError:n}}function XE(e,t){if(G(e)){Se(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||qE)(e),s=ms[r];if(s)return s;const{ast:o,detectError:i}=YE(e,{...t,location:!1,jit:!0}),a=Uo(o);return i?a:ms[r]=a}else{const n=e.cacheKey;if(n){const r=ms[n];return r||(ms[n]=Uo(e))}else return Uo(e)}}const Xt={INVALID_ARGUMENT:gE,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},JE=24;function Jt(e){return ho(e,null,void 0)}function Ea(e,t){return t.locale!=null?lc(t.locale):lc(e.locale)}let jo;function lc(e){if(G(e))return e;if(Ce(e)){if(e.resolvedOnce&&jo!=null)return jo;if(e.constructor.name==="Function"){const t=e();if(mv(t))throw Jt(Xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return jo=t}else throw Jt(Xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Jt(Xt.NOT_SUPPORT_LOCALE_TYPE)}function QE(e,t,n){return[...new Set([n,...Le(t)?t:ce(t)?Object.keys(t):G(t)?[t]:[n]])]}function Ni(e,t,n){const r=G(n)?n:Fs,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let o=s.__localeChainCache.get(r);if(!o){o=[];let i=[n];for(;Le(i);)i=cc(o,i,t);const a=Le(t)||!fe(t)?t:t.default?t.default:null;i=G(a)?[a]:a,Le(i)&&cc(o,i,!1),s.__localeChainCache.set(r,o)}return o}function cc(e,t,n){let r=!0;for(let s=0;s{i===void 0?i=a:i+=a},d[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,i===void 0||(i=sw(i),i===!1))return!1;d[1]()}};function h(){const _=e[n+1];if(r===5&&_==="'"||r===6&&_==='"')return n++,a="\\"+_,d[0](),!0}for(;r!==null;)if(n++,o=e[n],!(o==="\\"&&h())){if(l=rw(o),f=bn[r],u=f[l]||f.l||8,u===8||(r=u[0],u[1]!==void 0&&(c=d[u[1]],c&&(a=o,c()===!1))))return;if(r===7)return t}}const uc=new Map;function iw(e,t){return ce(e)?e[t]:null}function aw(e,t){if(!ce(e))return null;let n=uc.get(t);if(n||(n=ow(t),n&&uc.set(t,n)),!n)return null;const r=n.length;let s=e,o=0;for(;o`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function cw(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?fc(e):t==="vnode"&&ce(e)&&"__v_isVNode"in e?fc(e.children):e}}let Hd;function uw(e){Hd=e}let $d;function fw(e){$d=e}let Ud;function dw(e){Ud=e}let jd=null;const dc=e=>{jd=e},hw=()=>jd;let hc=0;function pw(e={}){const t=Ce(e.onWarn)?e.onWarn:uv,n=G(e.version)?e.version:lw,r=G(e.locale)||Ce(e.locale)?e.locale:Fs,s=Ce(r)?Fs:r,o=Le(e.fallbackLocale)||fe(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=fe(e.messages)?e.messages:Bo(s),a=fe(e.datetimeFormats)?e.datetimeFormats:Bo(s),l=fe(e.numberFormats)?e.numberFormats:Bo(s),u=Ae(ye(),e.modifiers,cw()),c=e.pluralRules||ye(),f=Ce(e.missing)?e.missing:null,d=Se(e.missingWarn)||Ms(e.missingWarn)?e.missingWarn:!0,h=Se(e.fallbackWarn)||Ms(e.fallbackWarn)?e.fallbackWarn:!0,_=!!e.fallbackFormat,m=!!e.unresolving,R=Ce(e.postTranslation)?e.postTranslation:null,b=fe(e.processor)?e.processor:null,E=Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,y=Ce(e.messageCompiler)?e.messageCompiler:Hd,C=Ce(e.messageResolver)?e.messageResolver:$d||iw,A=Ce(e.localeFallbacker)?e.localeFallbacker:Ud||QE,L=ce(e.fallbackContext)?e.fallbackContext:void 0,F=e,N=ce(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,D=ce(F.__numberFormatters)?F.__numberFormatters:new Map,W=ce(F.__meta)?F.__meta:{};hc++;const $={version:n,cid:hc,locale:r,fallbackLocale:o,messages:i,modifiers:u,pluralRules:c,missing:f,missingWarn:d,fallbackWarn:h,fallbackFormat:_,unresolving:m,postTranslation:R,processor:b,warnHtmlMessage:E,escapeParameter:g,messageCompiler:y,messageResolver:C,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:W};return $.datetimeFormats=a,$.numberFormats=l,$.__datetimeFormatters=N,$.__numberFormatters=D,$}const Bo=e=>({[e]:ye()});function wa(e,t,n,r,s){const{missing:o,onWarn:i}=e;if(o!==null){const a=o(e,n,t,s);return G(a)?a:t}else return t}function Er(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function gw(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function mw(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{Bd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function gc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__datetimeFormatters.has(o)&&r.__datetimeFormatters.delete(o)}}function mc(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:o,localeFallbacker:i}=e,{__numberFormatters:a}=e;if(!Ne(t[0]))return Hs;const[l,u,c,f]=Mi(...t),d=Se(c.missingWarn)?c.missingWarn:e.missingWarn;Se(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const h=!!c.part,_=Ea(e,c),m=i(e,s,_);if(!G(l)||l==="")return new Intl.NumberFormat(_.replace(/!/g,""),f).format(u);let R={},b,E=null;const g="number format";for(let A=0;A{Vd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function yc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__numberFormatters.has(o)&&r.__numberFormatters.delete(o)}}const yw=e=>e,_w=e=>"",bw="text",vw=e=>e.length===0?"":ga(e),Ew=yv;function Vo(e,t){return e=Math.abs(e),t===2?e===1?0:1:Math.min(e,2)}function ww(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return Ne(e.named?.count)?e.named.count:Ne(e.named?.n)?e.named.n:t}function Cw(e={}){const t=e.locale,n=ww(e),r=G(t)&&Ce(e.pluralRules?.[t])?e.pluralRules[t]:Vo,s=r===Vo?void 0:Vo,o=b=>b[r(n,b.length,s)],i=e.list||[],a=b=>i[b],l=e.named||ye();Ne(e.pluralIndex)&&(l.count||=e.pluralIndex,l.n||=e.pluralIndex);const u=b=>l[b];function c(b,E){const g=Ce(e.messages)?e.messages(b,!!E):ce(e.messages)?e.messages[b]:!1;return g||(e.parent?e.parent.message(b):_w)}const f=b=>e.modifiers?e.modifiers[b]:yw,d=Ce(e.processor?.normalize)?e.processor.normalize:vw,h=Ce(e.processor?.interpolate)?e.processor.interpolate:Ew,_=G(e.processor?.type)?e.processor.type:bw,R={list:a,named:u,plural:o,linked:(b,...E)=>{const[g,y]=E;let C="text",A="";E.length===1?ce(g)?(A=g.modifier||A,C=g.type||C):G(g)&&(A=g||A):E.length===2&&(G(g)&&(A=g||A),G(y)&&(C=y||C));const L=c(b,!0)(R),F=L===""||L===void 0?b:L,N=C==="vnode"&&Le(F)&&A?F[0]:F;return A?f(A)(N,C):N},message:c,type:_,interpolate:h,normalize:d,values:Ae(ye(),i,l)};return R}const _c=()=>"",Zt=e=>Ce(e);function bc(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:o,fallbackLocale:i,messages:a}=e,[l,u]=Di(...t),c=Se(u.missingWarn)?u.missingWarn:e.missingWarn,f=Se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=Se(u.escapeParameter)?u.escapeParameter:e.escapeParameter,h=!!u.resolvedMessage,_=G(u.default)||Se(u.default)?Se(u.default)?o?l:()=>l:u.default:n?o?l:()=>l:null,m=n||_!=null&&(G(_)||Ce(_)),R=Ea(e,u);d&&Sw(u);let[b,E,g]=h?[l,R,a[R]||ye()]:Wd(e,l,R,i,f,c),y=b,C=l;if(!h&&!(G(y)||$t(y)||Zt(y))&&m&&(y=_,C=y),!h&&(!(G(y)||$t(y)||Zt(y))||!G(E)))return s?po:l;let A=!1;const L=()=>{A=!0},F=Zt(y)?y:Kd(e,l,E,y,C,L);if(A)return y;const N=Lw(e,E,g,u),D=Cw(N),W=Rw(e,F,D);let $=r?r(W,l):W;return d&&G($)&&($=pv($)),$}function Sw(e){Le(e.list)?e.list=e.list.map(t=>G(t)?ec(t):t):ce(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=ec(e.named[t]))})}function Wd(e,t,n,r,s,o){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:u}=e,c=u(e,r,n);let f=ye(),d,h=null;const _="translate";for(let m=0;mr);return u.locale=n,u.key=t,u}const l=i(r,Tw(e,n,s,r,a,o));return l.locale=n,l.key=t,l.source=r,l}function Rw(e,t,n){return t(n)}function Di(...e){const[t,n,r]=e,s=ye();if(!G(t)&&!Ne(t)&&!Zt(t)&&!$t(t))throw Jt(Xt.INVALID_ARGUMENT);const o=Ne(t)?String(t):(Zt(t),t);return Ne(n)?s.plural=n:G(n)?s.default=n:fe(n)&&!ao(n)?s.named=n:Le(n)&&(s.list=n),Ne(r)?s.plural=r:G(r)?s.default=r:fe(r)&&Ae(s,r),[o,s]}function Tw(e,t,n,r,s,o){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw o&&o(i),i},onCacheKey:i=>fv(t,n,i)}}function Lw(e,t,n,r){const{modifiers:s,pluralRules:o,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,d={locale:t,modifiers:s,pluralRules:o,messages:(h,_)=>{let m=i(n,h);if(m==null&&(c||_)){const[R,,b]=Wd(c||e,h,t,a,l,u);m=R??i(b,h)}if(G(m)||$t(m)){let R=!1;const E=Kd(e,h,t,m,h,()=>{R=!0});return R?_c:E}else return Zt(m)?m:_c}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),Ne(r.plural)&&(d.pluralIndex=r.plural),d}const kw="11.4.2",lt={UNEXPECTED_RETURN_TYPE:JE,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function mt(e,...t){return ho(e,null,void 0)}const Fi=yn("__translateVNode"),Hi=yn("__datetimeParts"),$i=yn("__numberParts"),Aw=yn("__setPluralRules"),Pw=yn("__injectWithOption"),Kn=yn("__dispose");function Gr(e){if(!ce(e)||$t(e))return e;for(const t in e)if(gt(e,t))if(!t.includes("."))ce(e[t])&&Gr(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,o=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:u}=a;l?(i[l]=i[l]||ye(),zn(u,i[l])):zn(u,i)}else G(a)&&zn(JSON.parse(a),i)}),s==null&&o)for(const a in i)gt(i,a)&&Gr(i[a]);return i}function Ow(e){return e.type}function Iw(e,t,n){let r=ce(t.messages)?t.messages:ye();"__i18nGlobal"in n&&(r=Gd(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(o=>{e.mergeLocaleMessage(o,r[o])});{if(ce(t.datetimeFormats)){const o=Object.keys(t.datetimeFormats);o.length&&o.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ce(t.numberFormats)){const o=Object.keys(t.numberFormats);o.length&&o.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function vc(e){return Re(mn,null,e,0)}function qd(){return Fn()}const Ec=()=>[],Nw=()=>!1;let wc=0;function Cc(e){return((t,n,r,s)=>e(n,r,qd()||void 0,s))}function Ui(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,s=e.flatJson,o=xs?et:Nn;let i=Se(e.inheritLocale)?e.inheritLocale:!0;const a=o(t&&i?t.locale.value:G(e.locale)?e.locale:Fs),l=o(t&&i?t.fallbackLocale.value:G(e.fallbackLocale)||Le(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a.value),u=o(Gd(a.value,e)),c=o(fe(e.datetimeFormats)?e.datetimeFormats:{[a.value]:{}}),f=o(fe(e.numberFormats)?e.numberFormats:{[a.value]:{}});let d=t?t.missingWarn:Se(e.missingWarn)||Ms(e.missingWarn)?e.missingWarn:!0,h=t?t.fallbackWarn:Se(e.fallbackWarn)||Ms(e.fallbackWarn)?e.fallbackWarn:!0,_=t?t.fallbackRoot:Se(e.fallbackRoot)?e.fallbackRoot:!0,m=!!e.fallbackFormat,R=Ce(e.missing)?e.missing:null,b=Ce(e.missing)?Cc(e.missing):null,E=Ce(e.postTranslation)?e.postTranslation:null,g=t?t.warnHtmlMessage:Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter;const C=t?t.modifiers:fe(e.modifiers)?e.modifiers:{};let A=e.pluralRules||t&&t.pluralRules,L;L=(()=>{r&&dc(null);const T={version:kw,locale:a.value,fallbackLocale:l.value,messages:u.value,modifiers:C,pluralRules:A,missing:b===null?void 0:b,missingWarn:d,fallbackWarn:h,fallbackFormat:m,unresolving:!0,postTranslation:E===null?void 0:E,warnHtmlMessage:g,escapeParameter:y,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=c.value,T.numberFormats=f.value,T.__datetimeFormatters=fe(L)?L.__datetimeFormatters:void 0,T.__numberFormatters=fe(L)?L.__numberFormatters:void 0;const I=pw(T);return r&&dc(I),I})(),Er(L,a.value,l.value);function N(){return[a.value,l.value,u.value,c.value,f.value]}const D=ke({get:()=>a.value,set:T=>{L.locale=T,a.value=T}}),W=ke({get:()=>l.value,set:T=>{L.fallbackLocale=T,l.value=T,Er(L,a.value,T)}}),$=ke(()=>u.value),X=ke(()=>c.value),te=ke(()=>f.value);function se(){return Ce(E)?E:null}function K(T){E=T,L.postTranslation=T}function J(){return R}function q(T){T!==null&&(b=Cc(T)),R=T,L.missing=b}const re=(T,I,V,z,ie,oe)=>{N();let le;try{r||(L.fallbackContext=t?hw():void 0),le=T(L)}finally{r||(L.fallbackContext=void 0)}if(V!=="translate exists"&&Ne(le)&&le===po||V==="translate exists"&&!le){const[Pe,ut]=I();return t&&_?z(t):ie(Pe)}else{if(oe(le))return le;throw mt(lt.UNEXPECTED_RETURN_TYPE)}};function nt(...T){return re(I=>Reflect.apply(bc,null,[I,...T]),()=>Di(...T),"translate",I=>Reflect.apply(I.t,I,[...T]),I=>I,I=>G(I))}function qe(...T){const[I,V,z]=T;if(z&&!ce(z))throw mt(lt.INVALID_ARGUMENT);return nt(I,V,Ae({resolvedMessage:!0},z||{}))}function $e(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>xi(...T),"datetime format",I=>Reflect.apply(I.d,I,[...T]),()=>Hs,I=>G(I)||Le(I))}function Rt(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Mi(...T),"number format",I=>Reflect.apply(I.n,I,[...T]),()=>Hs,I=>G(I)||Le(I))}function Tt(T){return T.map(I=>G(I)||Ne(I)||Se(I)?vc(String(I)):I)}const Ve={normalize:Tt,interpolate:T=>T,type:"vnode"};function H(...T){return re(I=>{let V;const z=I;try{z.processor=Ve,V=Reflect.apply(bc,null,[z,...T])}finally{z.processor=null}return V},()=>Di(...T),"translate",I=>I[Fi](...T),I=>[vc(I)],I=>Le(I))}function Y(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Mi(...T),"number format",I=>I[$i](...T),Ec,I=>G(I)||Le(I))}function B(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>xi(...T),"datetime format",I=>I[Hi](...T),Ec,I=>G(I)||Le(I))}function Q(T){A=T,L.pluralRules=A}function ne(T,I){return re(()=>{if(!T)return!1;const V=G(I)?I:a.value,z=G(I)?[V]:Ni(L,l.value,V);for(let ie=0;ie[T],"translate exists",V=>Reflect.apply(V.te,V,[T,I]),Nw,V=>Se(V))}function _e(T){let I=null;const V=Ni(L,l.value,a.value);for(let z=0;z{i&&(a.value=T,L.locale=T,Er(L,a.value,l.value))}),at(t.fallbackLocale,T=>{i&&(l.value=T,L.fallbackLocale=T,Er(L,a.value,l.value))}));const j={id:wc,locale:D,fallbackLocale:W,get inheritLocale(){return i},set inheritLocale(T){i=T,T&&t&&(a.value=t.locale.value,l.value=t.fallbackLocale.value,Er(L,a.value,l.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:$,get modifiers(){return C},get pluralRules(){return A||{}},get isGlobal(){return r},get missingWarn(){return d},set missingWarn(T){d=T,L.missingWarn=d},get fallbackWarn(){return h},set fallbackWarn(T){h=T,L.fallbackWarn=h},get fallbackRoot(){return _},set fallbackRoot(T){_=T},get fallbackFormat(){return m},set fallbackFormat(T){m=T,L.fallbackFormat=m},get warnHtmlMessage(){return g},set warnHtmlMessage(T){g=T,L.warnHtmlMessage=T},get escapeParameter(){return y},set escapeParameter(T){y=T,L.escapeParameter=T},t:nt,getLocaleMessage:S,setLocaleMessage:P,mergeLocaleMessage:U,getPostTranslationHandler:se,setPostTranslationHandler:K,getMissingHandler:J,setMissingHandler:q,[Aw]:Q};return j.datetimeFormats=X,j.numberFormats=te,j.rt=qe,j.te=ne,j.tm=v,j.d=$e,j.n=Rt,j.getDateTimeFormat=M,j.setDateTimeFormat=p,j.mergeDateTimeFormat=w,j.getNumberFormat=k,j.setNumberFormat=O,j.mergeNumberFormat=x,j[Pw]=n,j[Fi]=H,j[Hi]=B,j[$i]=Y,j}const Ca={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function xw({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===Ue?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},ye())}function Yd(){return Ue}const Mw=St({name:"i18n-t",props:Ae({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},Ca),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return()=>{const o=()=>{const l=Object.keys(n).filter(f=>f[0]!=="_"),u=ye();e.locale&&(u.locale=e.locale),e.plural!==void 0&&(u.plural=G(e.plural)?+e.plural:e.plural);const c=xw(t,l);return s[Fi](e.keypath,c,u)},i=Ae(ye(),r),a=G(e.tag)||ce(e.tag)?e.tag:Yd();return ce(a)?Ie(a,i,{default:o}):Ie(a,i,o())}}}),Sc=Mw;function Dw(e){return Le(e)&&!G(e[0])}function Xd(e,t,n,r){const{slots:s,attrs:o}=t;return()=>{const i=()=>{const u={part:!0};let c=ye();e.locale&&(u.locale=e.locale),G(e.format)?u.key=e.format:ce(e.format)&&(G(e.format.key)&&(u.key=e.format.key),c=Object.keys(e.format).reduce((h,_)=>n.includes(_)?Ae(ye(),h,{[_]:e.format[_]}):h,ye()));const f=r(e.value,u,c);let d=[u.key];return Le(f)?d=f.map((h,_)=>{const m=s[h.type],R=m?m({[h.type]:h.value,index:_,parts:f}):[h.value];return Dw(R)&&(R[0].key=`${h.type}-${_}`),R}):G(f)&&(d=[f]),d},a=Ae(ye(),o),l=G(e.tag)||ce(e.tag)?e.tag:Yd();return ce(l)?Ie(l,a,{default:i}):Ie(l,a,i())}}const Fw=St({name:"i18n-n",props:Ae({value:{type:Number,required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Xd(e,t,Vd,(...r)=>n[$i](...r))}}),Rc=Fw;function Hw(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function $w(e){const t=i=>{const{instance:a,value:l}=i;if(!a||!a.$)throw mt(lt.UNEXPECTED_ERROR);const u=Hw(e,a.$),c=Tc(l);return[Reflect.apply(u.t,u,[...Lc(c)]),u]};return{created:(i,a)=>{const[l,u]=t(a);xs&&(i.__i18nWatcher=at(u.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=u,i.textContent=l},unmounted:i=>{xs&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,u=Tc(a);i.textContent=Reflect.apply(l.t,l,[...Lc(u)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function Tc(e){if(G(e))return{path:e};if(fe(e)){if(!("path"in e))throw mt(lt.REQUIRED_VALUE,"path");return e}else throw mt(lt.INVALID_VALUE)}function Lc(e){const{path:t,locale:n,args:r,choice:s,plural:o}=e,i={},a=r||{};return G(n)&&(i.locale=n),Ne(s)&&(i.plural=s),Ne(o)&&(i.plural=o),[t,a,i]}function Uw(e,t,...n){const r=fe(n[0])?n[0]:{};(!Se(r.globalInstall)||r.globalInstall)&&([Sc.name,"I18nT"].forEach(o=>e.component(o,Sc)),[Rc.name,"I18nN"].forEach(o=>e.component(o,Rc)),[Pc.name,"I18nD"].forEach(o=>e.component(o,Pc))),e.directive("t",$w(t))}const jw=yn("global-vue-i18n");function Bw(e={}){const t=Se(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,s]=Vw(e),o=yn("");function i(c){return n.get(c)||null}function a(c,f){n.set(c,f)}function l(c){n.delete(c)}const u={get mode(){return"composition"},async install(c,...f){if(c.__VUE_I18N_SYMBOL__=o,c.provide(c.__VUE_I18N_SYMBOL__,u),fe(f[0])){const _=f[0];u.__composerExtend=_.__composerExtend,u.__vueI18nExtend=_.__vueI18nExtend}let d=null;t&&(d=Jw(c,u.global)),Uw(c,u,...f);const h=c.unmount;c.unmount=()=>{d&&d(),u.dispose(),h()}},get global(){return s},dispose(){r.stop()},__instances:n,__getInstance:i,__setInstance:a,__deleteInstance:l};return u}function Sa(e={}){const t=qd();if(t==null)throw mt(lt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw mt(lt.NOT_INSTALLED);const n=Ww(t),r=Gw(n),s=Ow(t),o=Kw(e,s);if(o==="global")return Iw(r,e,s),r;if(o==="parent"){let l=kc(n,t,e.__useComponent);return l==null&&(l=r),l}if(o==="isolated"){if(n.mode!=="composition")throw mt(lt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const l=n,u=Ae({},e),c=kc(n,t);u.__root=c||r;const f=Ui(u);return l.__composerExtend&&(f[Kn]=l.__composerExtend(f)),dr()&&Nr(()=>{const h=f[Kn];h&&(h(),delete f[Kn])}),f}const i=n;let a=i.__getInstance(t);if(a==null){const l=Ae({},e);"__i18n"in s&&(l.__i18n=s.__i18n),r&&(l.__root=r),a=Ui(l),i.__composerExtend&&(a[Kn]=i.__composerExtend(a)),Yw(i,t,a),i.__setInstance(t,a)}return a}function Vw(e,t){const n=Yr(),r=n.run(()=>Ui(e));if(r==null)throw mt(lt.UNEXPECTED_ERROR);return[n,r]}function Ww(e){const t=Fe(e.isCE?jw:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw mt(e.isCE?lt.NOT_INSTALLED_WITH_PROVIDE:lt.UNEXPECTED_ERROR);return t}function Kw(e,t){return ao(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Gw(e){return e.mode==="composition"?e.global:e.global.__composer}function kc(e,t,n=!1){let r=null;const s=t.root;let o=qw(t,n);for(;o!=null;){const i=e;if(e.mode==="composition"&&(r=i.__getInstance(o)),r!=null||s===o)break;o=o.parent}return r}function qw(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Yw(e,t,n){Qs(()=>{},t),zs(()=>{const r=n;e.__deleteInstance(t);const s=r[Kn];s&&(s(),delete r[Kn])},t)}const Xw=["locale","fallbackLocale","availableLocales"],Ac=["t","rt","d","n","tm","te"];function Jw(e,t){const n=Object.create(null);return Xw.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o)throw mt(lt.UNEXPECTED_ERROR);const i=ve(o.value)?{get(){return o.value.value},set(a){o.value.value=a}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,Ac.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o||!o.value)throw mt(lt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,o)}),()=>{delete e.config.globalProperties.$i18n,Ac.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}const Qw=St({name:"i18n-d",props:Ae({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Xd(e,t,Bd,(...r)=>n[Hi](...r))}}),Pc=Qw;uw(XE);fw(aw);dw(Ni);function Oc(e=ue()){const t=fo(e);return n=>{if(n!=null)return t.getRouteBaseName(n)||void 0}}function zw(e=ue()){const t=fo(e);return(n,r)=>_d(t,n,r)}function Zw(e=ue()){const t=fo(e);return(n,r)=>bd(t,n,r)}function Jd(e=ue()){const t=fo(e);return n=>Ed(t,n)}const Ic="nuxt-i18n-slp",e0=new RegExp([``,".+?",``].join(""),"g"),t0=Ge({name:"i18n:plugin:switch-locale-path-ssr",dependsOn:["i18n:plugin"],setup(e){const t=ue(e._id),n=Jd(t);t.hook("app:rendered",r=>{r.renderResult?.html!=null&&(r.renderResult.html=r.renderResult.html.replaceAll(e0,(s,o)=>{const i=encodeURI(n(o??""));return s.replace(/href="([^"]+)"/,`href="${i||"#"}" `)}))})}}),n0=Ge({name:"i18n:plugin:route-locale-detect",dependsOn:["i18n:plugin"],async setup(e){let t,n;const r=ue(e._id),s=ya(r),o=Ld();[t,n]=On(()=>r.runWithContext(()=>kd(r,s.initial&&o.value||dE(r,r.$router.currentRoute.value)))),await t,n()}}),r0=Ge({name:"i18n:plugin:preload",dependsOn:["i18n:plugin"],async setup(e){}});function s0(e,{extendComposer:t,extendComposerInstance:n}){const r=Yr(),s=e.install.bind(e);e.install=(o,...i)=>{const a=Ae({},i[0]);a.__composerExtend=u=>(n(u,ps(e)),()=>{}),e.mode==="legacy"&&(a.__vueI18nExtend=u=>(n(u,ps(u)),()=>{})),Reflect.apply(s,e,[o,a]);const l=ps(e);if(r.run(()=>{t(l),e.mode==="legacy"&&"__composer"in e.global&&n(e.global,ps(e.global))}),e.mode==="composition"&&o.config.globalProperties.$i18n!=null&&n(o.config.globalProperties.$i18n,l),o.unmount){const u=o.unmount.bind(o);o.unmount=()=>{r.stop(),u()}}}}const o0=async e=>{const t=await $v(Fv);t.locale=e||t.locale||"en-US",t.defaultLocale=e,t.fallbackLocale??=!1,t.messages??={};for(const n of Wr)t.messages[n]??={};return t};var i0={hu:"349b7781",en:"349b7781"};const a0=Ge({name:"i18n:plugin",parallel:!1,async setup(e){let t,n;Object.defineProperty(e.versions,"nuxtI18n",{get:()=>"10.4.0"});const r=ue(e._id),s=co(r),o=r.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions,i=Jv(dd().host)||s.defaultLocale||"",a=o||([t,n]=On(()=>o0(i)),t=await t,n(),t),l=Td();l.value??=qv(a.fallbackLocale),Wr.map(d=>`/_i18n/${i0[d]}/${d}/messages.json`);const u=Bw(a),c=_a(void 0,uo(r),r),f=Zv(r,u,a.defaultLocale);r._nuxtI18n=f,s0(u,{extendComposer(d){d.locales=ke(()=>s.locales),d.localeCodes=ke(()=>Wr);const h=et(f.getBaseUrl());d.baseUrl=ke(()=>h.value),at(d.locale,()=>h.value=f.getBaseUrl()),d.strategy="no_prefix",d.localeProperties=ke(()=>es.find(_=>_.code===d.locale.value)||{code:d.locale.value}),d.setLocale=async _=>{await kd(r,_),await r.runWithContext(()=>(r.$router.currentRoute.value,void 0))},d.loadLocaleMessages=f.loadMessages,d.differentDomains=!1,d.defaultLocale=a.defaultLocale,d.getBrowserLocale=()=>rc(c.navigator()),d.getLocaleCookie=()=>rc(c.cookie()),d.setLocaleCookie=f.setCookieLocale,d.finalizePendingLocaleChange=async()=>{u.__pendingLocale&&await u.__resolvePendingLocalePromise?.()},d.waitForPendingLocaleChange=async()=>{await u?.__pendingLocalePromise}},extendComposerInstance(d,h){const _=[["locales",()=>h.locales],["localeCodes",()=>h.localeCodes],["baseUrl",()=>h.baseUrl],["strategy",()=>"no_prefix"],["localeProperties",()=>h.localeProperties],["setLocale",()=>m=>Reflect.apply(h.setLocale,h,[m])],["loadLocaleMessages",()=>m=>Reflect.apply(h.loadLocaleMessages,h,[m])],["differentDomains",()=>!1],["defaultLocale",()=>h.defaultLocale],["getBrowserLocale",()=>()=>Reflect.apply(h.getBrowserLocale,h,[])],["getLocaleCookie",()=>()=>Reflect.apply(h.getLocaleCookie,h,[])],["setLocaleCookie",()=>m=>Reflect.apply(h.setLocaleCookie,h,[m])],["finalizePendingLocaleChange",()=>()=>Reflect.apply(h.finalizePendingLocaleChange,h,[])],["waitForPendingLocaleChange",()=>()=>Reflect.apply(h.waitForPendingLocaleChange,h,[])]];for(const[m,R]of _)Object.defineProperty(d,m,{get:R})}}),r.vueApp.use(u),Object.defineProperty(r,"$i18n",{get:()=>ma(u)}),r.provide("localeHead",d=>Av(r._nuxtI18n.composableCtx,d)),r.provide("localePath",zw(r)),r.provide("localeRoute",Zw(r)),r.provide("routeBaseName",Oc(r)),r.provide("getRouteBaseName",Oc(r)),r.provide("switchLocalePath",Jd(r))}}),l0=Ge({name:"i18n:plugin:ssg-detect",dependsOn:["i18n:plugin","i18n:plugin:route-locale-detect"],enforce:"post",setup(e){}}),c0=[f_,h_,__,jb,Bb,Vb,Wb,Gb,av,lv,cv,t0,n0,r0,a0,l0],Qd=(e="RouteProvider")=>St({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return gn(Mn,Dt(s)),()=>t.vnode?Ie(t.vnode,{ref:t.vnodeRef}):t.vnode}}),u0=Qd(),Nc=new WeakMap,f0=St({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ue(),o=et(),i=Fe(Mn,null);let a;r({pageRef:o});const l=Fe(Af,null);let u;const c=s.deferHydration();let f=!1,d=!1,h=0;if(s.isHydrating){const m=s.hooks.hookOnce("app:error",c),R=tt().beforeEach(()=>{m(),R()})}e.pageKey&&at(()=>e.pageKey,(m,R)=>{m!==R&&s.callHook("page:loading:start")});let _=!1;{const m=tt().beforeResolve(()=>{_=!1});zr(()=>{m(),c()})}return()=>Ie(sd,{name:e.name,route:e.route,...t},{default:m=>{const R=d0(i,m.route,m.Component),b=i&&i.matched.length===m.route.matched.length;if(!m.Component){if(u&&!b&&!Wo(u))return u;c();return}if(u&&l&&!Wo(u)&&!l.isCurrent(m.route))return u;if(R&&i&&(!l||l?.isCurrent(i)))return(b||u)&&!Wo(u)?u:null;const E=ki(m,e.pageKey),g=h0(i,m.route,m.Component);!s.isHydrating&&a===E&&!g&&nn(()=>{_||(_=!0,s.callHook("page:loading:end"))}),f&&a!==E&&d&&h++,a=E;const y=!!(e.transition??m.route.meta.pageTransition??_l),C=y&&ld([e.transition,m.route.meta.pageTransition,_l,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",m.Component)}}]),A=e.keepalive??m.route.meta.keepalive??Hm;return u=ad(y&&C,kb(A,Ie(na,{key:h,suspensible:!0,onPending:()=>{f=!0,y&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(L=>{s["~transitionFinish"]=L})),s.callHook("page:start",m.Component)},onResolve:async()=>{f=!1,d=!0;try{await nn(),s._route.sync?.(),await s.callHook("page:finish",m.Component),!_&&!g&&(_=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const L={key:E||void 0,vnode:n.default?p0(n.default,m):m.Component,route:m.route,renderKey:E||void 0,trackRootNodes:y,vnodeRef:o};if(!A)return Ie(u0,L);const F=m.Component.type,N=F;let D=Nc.get(N);return D||(D=Qd(F.name||F.__name),Nc.set(N,D)),Ie(D,L)}}))).default(),u}})}});function d0(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&ki({route:t,Component:n})!==ki({route:e,Component:n})}function h0(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Ie(pn[e.name],e.layoutProps,t.slots)}}),m0={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},y0=St({name:"NuxtLayout",inheritAttrs:!1,props:m0,setup(e,t){const n=ue(),r=Fe(Mn),o=!r||r===la()?od():r,i=ke(()=>{let c=me(e.name)??o?.meta.layout??zd(o?.path).appLayout??"default";return c&&!(c in pn)&&e.fallback&&(c=me(e.fallback)),c}),a=Nn();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),f=tt().beforeEach(()=>{c(),f()})}let u;return()=>{const f=!!i.value&&i.value in pn&&!!(o?.meta.layoutTransition??yl),d=f&&ld([o?.meta.layoutTransition,yl,{onBeforeLeave(){n["~transitionPromise"]=new Promise(_=>{n["~transitionFinish"]=_})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),h=u;return u=i.value,ad(d,{default:()=>Ie(na,{suspensible:!0,onResolve:async()=>{await nn(l)}},{default:()=>Ie(_0,{layoutProps:nf(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:_=>_!==h&&_===i.value,hasTransition:f},t.slots)})}).default()}}}),_0=St({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&gn(Af,{isCurrent:o=>n===!1||n===(o.meta.layout??zd(o.path).appLayout??"default")});const r=Fe(Mn);if(r&&r===la()){const o=od(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}gn(Mn,Dt(i))}return()=>!n||typeof n=="string"&&!(n in pn)?t.slots.default?.():Ie(g0,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),b0=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},v0={};function E0(e,t){const n=f0,r=y0;return pt(),Mt(r,null,{default:Qi(()=>[Re(n)]),_:1})}const w0=b0(v0,[["render",E0]]),C0={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Qo(()=>vt(()=>import("./C8yzOtqa.js"),__vite__mapDeps([6,1,7]),import.meta.url)):Qo(()=>vt(()=>import("./Cx40nPNe.js"),__vite__mapDeps([8,9]),import.meta.url));return(f,d)=>(pt(),Mt(me(c),lh(ef({status:me(r),statusText:me(o),statusCode:me(r),statusMessage:me(o),description:me(i),stack:me(a)})),null,16))}},S0={key:0},xc={__name:"nuxt-root",setup(e){const t=()=>null,n=ue(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),f=tt().beforeEach(()=>{c(),f()})}const s=!1;gn(Mn,la()),n.hooks.callHookWith(c=>c.map(f=>f()),"vue:setup",[]);const o=oo(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,f,d){const h=n.vueApp.config.errorHandler;if(h&&!h.__nuxt_default)try{h(c,f,d)}catch(_){console.error("[nuxt] Error in `app.config.errorHandler`",_)}}Ru((c,f,d)=>{if(n.hooks.callHook("vue:error",c,f,d).catch(h=>console.error("[nuxt] Error in `vue:error` hook",h)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Of(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Rn(c)),l(c,f,d),!1});const u=!1;return(c,f)=>(pt(),Mt(na,{onResolve:me(r)},{default:Qi(()=>[me(i)?(pt(),Vp("div",S0)):me(o)?(pt(),Mt(me(C0),{key:1,error:me(o)},null,8,["error"])):me(u)?(pt(),Mt(me(t),{key:2,context:me(u)},null,8,["context"])):me(s)?(pt(),Mt(dp(me(s)),{key:3})):(pt(),Mt(me(w0),{key:4}))]),_:1},8,["onResolve"]))}};let Mc;{let e;Mc=async function(){if(e)return e;const r=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true")?Ig(xc):Og(xc),s=Vm({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=In(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)});try{await Gm(s,c0)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Um),await s.hooks.callHook("app:mounted",r),await nn()}catch(i){o(i)}return r},e=Mc().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{ci as $,fd as A,F0 as B,H0 as C,od as D,Sa as E,Ue as F,zs as G,P0 as H,Mt as I,k0 as J,$0 as K,ue as L,pa as M,Xl as N,zr as O,U0 as P,Ie as Q,T0 as R,sa as S,Nn as T,Zm as U,iv as V,an as W,Pn as X,ey as Y,D0 as Z,b0 as _,Zu as a,om as a0,Br as a1,so as a2,Re as b,Vp as c,tf as d,St as e,A0 as f,tt as g,me as h,Kp as i,x0 as j,R0 as k,ve as l,et as m,Gs as n,pt as o,Ef as p,N0 as q,L0 as r,sn as s,dh as t,s_ as u,O0 as v,Qi as w,ke as x,Qs as y,I0 as z}; +`)&&(os(g,0)||$n(),g.textContent=y.children)}if(D){if(se||!F||W&48){const q=g.tagName.includes("-");for(const re in D)(se&&(re.endsWith("value")||re==="indeterminate")||qr(re)&&!Ln(re)||re[0]==="."||q&&!Ln(re))&&r(g,re,null,D[re],void 0,C)}else if(D.onClick)r(g,"onClick",null,D.onClick,void 0,C);else if(W&4&&Ht(D.style))for(const q in D.style)D.style[q]}let J;(J=D&&D.onVnodeBeforeMount)&&ze(J,C,y),X&&It(y,null,C,"beforeMount"),((J=D&&D.onVnodeMounted)||X||K)&&Xu(()=>{J&&ze(J,C,y),K&&te.enter(g),X&&It(y,null,C,"mounted")},A)}return g.nextSibling},h=(g,y,C,A,L,F,N)=>{N=N||!!y.dynamicChildren;const D=y.children,W=D.length;let $=!1;for(let X=0;X{const{slotScopeIds:N}=y;N&&(L=L?L.concat(N):N);const D=i(g),W=h(o(g),y,D,C,A,L,F);return W&&Wn(W)&&W.data==="]"?o(y.anchor=W):($n(),l(y.anchor=u("]"),D,W),W)},m=(g,y,C,A,L,F)=>{if(os(g.parentElement,1)||$n(),y.el=null,F){const W=R(g);for(;;){const $=o(g);if($&&$!==W)a($);else break}}const N=o(g),D=i(g);return a(g),n(null,y,D,N,C,A,ss(D),L),C&&(C.vnode.el=y.el,to(C,y.el)),N},R=(g,y="[",C="]")=>{let A=0;for(;g;)if(g=o(g),g&&Wn(g)&&(g.data===y&&A++,g.data===C)){if(A===0)return o(g);A--}return g},b=(g,y,C)=>{const A=y.parentNode;A&&A.replaceChild(g,y);let L=C;for(;L;)L.vnode.el===y&&(L.vnode.el=L.subTree.el=g),L=L.parent},E=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[c,f]}const Fa="data-allow-mismatch",rp={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function os(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Fa);)e=e.parentElement;const n=e&&e.getAttribute(Fa);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(rp[t])}}Ks().requestIdleCallback;Ks().cancelIdleCallback;function sp(e,t){if(Wn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Wn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Qt=e=>!!e.type.__asyncLoader;function Rs(e){ee(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let u=null,c,f=0;const d=()=>(f++,u=null,h()),h=()=>{let _;return u||(_=u=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((R,b)=>{l(m,()=>R(d()),()=>b(m),f+1)});throw m}).then(m=>_!==u&&u?u:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return bt({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(_,m,R){let b=!1;(m.bu||(m.bu=[])).push(()=>b=!0);const E=()=>{b||R()},g=o?()=>{const y=o(E,C=>sp(_,C));y&&(m.bum||(m.bum=[])).push(y)}:E;c?g():h().then(()=>!m.isUnmounted&&g())},get __asyncResolved(){return c},setup(){const _=je;if(ea(_),c)return()=>is(c,_);const m=C=>{u=null,hr(C,_,13,!r)};if(a&&_.suspense||rr)return h().then(C=>()=>is(C,_)).catch(C=>(m(C),()=>r?Re(r,{error:C}):null));const R=et(!1),b=et(),E=et(!!s);let g,y;return Zs(()=>{g!=null&&clearTimeout(g),y!=null&&clearTimeout(y)}),s&&(y=setTimeout(()=>{_.isUnmounted||(E.value=!1)},s)),i!=null&&(g=setTimeout(()=>{if(!_.isUnmounted&&!R.value&&!b.value){const C=new Error(`Async component timed out after ${i}ms.`);m(C),b.value=C}},i)),h().then(()=>{_.isUnmounted||(R.value=!0,_.parent&&Qr(_.parent.vnode)&&_.parent.update())}).catch(C=>{if(_.isUnmounted){u=null;return}m(C),b.value=C}),()=>{if(R.value&&c)return is(c,_);if(b.value&&r)return Re(r,{error:b.value});if(n&&!E.value)return is(n,_)}}})}function is(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=Re(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Qr=e=>e.type.__isKeepAlive,op={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Fn(),r=n.ctx;if(!r.renderer)return()=>{const E=t.default&&t.default();return E&&E.length===1?E[0]:E};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:f}}}=r,d=f("div");r.activate=(E,g,y,C,A)=>{const L=E.component;u(E,g,y,0,a),l(L.vnode,E,g,y,L,a,C,E.slotScopeIds,A),Fe(()=>{L.isDeactivated=!1,L.a&&Yn(L.a);const F=E.props&&E.props.onVnodeMounted;F&&ze(F,L.parent,E)},a)},r.deactivate=E=>{const g=E.component;Ls(g.m),Ls(g.a),u(E,d,null,1,a),Fe(()=>{g.da&&Yn(g.da);const y=E.props&&E.props.onVnodeUnmounted;y&&ze(y,g.parent,E),g.isDeactivated=!0},a)};function h(E){Co(E),c(E,n,a,!0)}function _(E){s.forEach((g,y)=>{const C=ai(Qt(g)?g.type.__asyncResolved||{}:g.type);C&&!E(C)&&m(y)})}function m(E){const g=s.get(E);g&&(!i||!Et(g,i))?h(g):i&&Co(i),s.delete(E),o.delete(E)}lt(()=>[e.include,e.exclude],([E,g])=>{E&&_(y=>wr(E,y)),g&&_(y=>!wr(g,y))},{flush:"post",deep:!0});let R=null;const b=()=>{R!=null&&(ks(n.subTree.type)?Fe(()=>{s.set(R,as(n.subTree))},n.subTree.suspense):s.set(R,as(n.subTree)))};return zs(b),Su(b),zr(()=>{s.forEach(E=>{const{subTree:g,suspense:y}=n,C=as(g);if(E.type===C.type&&E.key===C.key){Co(C);const A=C.component.da;A&&Fe(A,y);return}h(E)})}),()=>{if(R=null,!t.default)return i=null;const E=t.default(),g=E[0];if(E.length>1)return i=null,E;if(!xn(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let y=as(g);if(y.type===Oe)return i=null,y;const C=y.type,A=ai(Qt(y)?y.type.__asyncResolved||{}:C),{include:L,exclude:F,max:N}=e;if(L&&(!A||!wr(L,A))||F&&A&&wr(F,A))return y.shapeFlag&=-257,i=y,g;const D=y.key==null?C:y.key,W=s.get(D);return y.el&&(y=rn(y),g.shapeFlag&128&&(g.ssContent=y)),R=D,W?(y.el=W.el,y.component=W.component,y.transition&&tr(y,y.transition),y.shapeFlag|=512,o.delete(D),o.add(D)):(o.add(D),N&&o.size>parseInt(N,10)&&m(o.values().next().value)),y.shapeFlag|=256,i=y,ks(g.type)?g:y}}},ip=op;function wr(e,t){return Z(e)?e.some(n=>wr(n,t)):we(e)?e.split(",").includes(t):th(e)?(e.lastIndex=0,e.test(t)):!1}function Eu(e,t){Cu(e,"a",t)}function wu(e,t){Cu(e,"da",t)}function Cu(e,t,n=je){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Qs(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Qr(s.parent.vnode)&&ap(r,t,n,s),s=s.parent}}function ap(e,t,n,r){const s=Qs(t,e,r,!0);Zs(()=>{Vi(r[t],s)},n)}function Co(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function as(e){return e.shapeFlag&128?e.ssContent:e}function Qs(e,t,n=je,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{en();const a=Zr(n),l=_t(t,n,e,i);return a(),tn(),l});return r?s.unshift(o):s.push(o),o}}const on=e=>(t,n=je)=>{(!rr||e==="sp")&&Qs(e,(...r)=>t(...r),n)},lp=on("bm"),zs=on("m"),cp=on("bu"),Su=on("u"),zr=on("bum"),Zs=on("um"),up=on("sp"),fp=on("rtg"),dp=on("rtc");function Ru(e,t=je){Qs("ec",e,t)}const Tu="components";function S0(e,t){return ku(Tu,e,!0,t)||e}const Lu=Symbol.for("v-ndc");function hp(e){return we(e)?ku(Tu,e,!1)||e:e||Lu}function ku(e,t,n=!0,r=!1){const s=Be||je;if(s){const o=s.type;{const a=ai(o,!1);if(a&&(a===t||a===Qe(t)||a===Vs(Qe(t))))return o}const i=Ha(s[e]||o[e],t)||Ha(s.appContext[e],t);return!i&&r?o:i}}function Ha(e,t){return e&&(e[t]||e[Qe(t)]||e[Vs(Qe(t))])}function R0(e,t,n,r){let s;const o=n&&n[r],i=Z(e);if(i||we(e)){const a=i&&Ht(e);let l=!1,u=!1;a&&(l=!at(e),u=Ut(e),e=Xs(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(a,l,void 0,o&&o[l]));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;l0;return t!=="default"&&(n.name=t),gt(),Mt(Ue,null,[Re("slot",n,r&&r())],u?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),gt();const i=o&&Au(o(n)),a=n.key||i&&i.key,l=Mt(Ue,{key:(a&&!ut(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||(r?r():[]),i&&e._===1?64:-2);return!s&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function Au(e){return e.some(t=>xn(t)?!(t.type===Oe||t.type===Ue&&!Au(t.children)):!0)?e:null}const Zo=e=>e?rf(e)?no(e):Zo(e.parent):null,Lr=He(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Zo(e.parent),$root:e=>Zo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ou(e),$forceUpdate:e=>e.f||(e.f=()=>{Qi(e.update)}),$nextTick:e=>e.n||(e.n=nn.bind(e.proxy)),$watch:e=>Xh.bind(e)}),So=(e,t)=>e!==be&&!e.__isScriptSetup&&ge(e,t),pp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const d=i[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(So(r,t))return i[t]=1,r[t];if(s!==be&&ge(s,t))return i[t]=2,s[t];if(ge(o,t))return i[t]=3,o[t];if(n!==be&&ge(n,t))return i[t]=4,n[t];ei&&(i[t]=0)}}const u=Lr[t];let c,f;if(u)return t==="$attrs"&&Ke(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==be&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return So(s,t)?(s[t]=n,!0):r!==be&&ge(r,t)?(r[t]=n,!0):ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==be&&a[0]!=="$"&&ge(e,a)||So(t,a)||ge(o,a)||ge(r,a)||ge(Lr,a)||ge(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $a(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ei=!0;function gp(e){const t=Ou(e),n=e.proxy,r=e.ctx;ei=!1,t.beforeCreate&&Ua(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:h,updated:_,activated:m,deactivated:R,beforeDestroy:b,beforeUnmount:E,destroyed:g,unmounted:y,render:C,renderTracked:A,renderTriggered:L,errorCaptured:F,serverPrefetch:N,expose:D,inheritAttrs:W,components:$,directives:X,filters:te}=t;if(u&&mp(u,r,null),i)for(const J in i){const q=i[J];ee(q)&&(r[J]=q.bind(n))}if(s){const J=s.call(n,n);de(J)&&(e.data=sn(J))}if(ei=!0,o)for(const J in o){const q=o[J],re=ee(q)?q.bind(n,n):ee(q.get)?q.get.bind(n,n):Ft,nt=!ee(q)&&ee(q.set)?q.set.bind(n):Ft,qe=ke({get:re,set:nt});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>qe.value,set:$e=>qe.value=$e})}if(a)for(const J in a)Pu(a[J],r,n,J);if(l){const J=ee(l)?l.call(n):l;Reflect.ownKeys(J).forEach(q=>{gn(q,J[q])})}c&&Ua(c,e,"c");function K(J,q){Z(q)?q.forEach(re=>J(re.bind(n))):q&&J(q.bind(n))}if(K(lp,f),K(zs,d),K(cp,h),K(Su,_),K(Eu,m),K(wu,R),K(Ru,F),K(dp,A),K(fp,L),K(zr,E),K(Zs,y),K(up,N),Z(D))if(D.length){const J=e.exposed||(e.exposed={});D.forEach(q=>{Object.defineProperty(J,q,{get:()=>n[q],set:re=>n[q]=re,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===Ft&&(e.render=C),W!=null&&(e.inheritAttrs=W),$&&(e.components=$),X&&(e.directives=X),N&&ea(e)}function mp(e,t,n=Ft){Z(e)&&(e=ti(e));for(const r in e){const s=e[r];let o;de(s)?"default"in s?o=xe(s.from||r,s.default,!0):o=xe(s.from||r):o=xe(s),ve(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Ua(e,t,n){_t(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pu(e,t,n,r){let s=r.includes(".")?pu(n,r):()=>n[r];if(we(e)){const o=t[e];ee(o)&<(s,o)}else if(ee(e))lt(s,e.bind(n));else if(de(e))if(Z(e))e.forEach(o=>Pu(o,t,n,r));else{const o=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(o)&<(s,o,e)}}function Ou(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>Ts(l,u,i,!0)),Ts(l,t,i)),de(t)&&o.set(t,l),l}function Ts(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Ts(e,o,n,!0),s&&s.forEach(i=>Ts(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=yp[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const yp={data:ja,props:Ba,emits:Ba,methods:Cr,computed:Cr,beforeCreate:Ye,created:Ye,beforeMount:Ye,mounted:Ye,beforeUpdate:Ye,updated:Ye,beforeDestroy:Ye,beforeUnmount:Ye,destroyed:Ye,unmounted:Ye,activated:Ye,deactivated:Ye,errorCaptured:Ye,serverPrefetch:Ye,components:Cr,directives:Cr,watch:bp,provide:ja,inject:_p};function ja(e,t){return t?e?function(){return He(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function _p(e,t){return Cr(ti(e),ti(t))}function ti(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Dn(t)}Modifiers`];function Cp(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||be;let s=n;const o=t.startsWith("update:"),i=o&&wp(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>we(c)?c.trim():c)),i.number&&(s=n.map(Ws)));let a,l=r[a=yo(t)]||r[a=yo(Qe(t))];!l&&o&&(l=r[a=yo(Dn(t))]),l&&_t(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,_t(u,e,6,s)}}const Sp=new WeakMap;function Nu(e,t,n=!1){const r=n?Sp:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!ee(e)){const l=u=>{const c=Nu(u,t,!0);c&&(a=!0,He(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(de(e)&&r.set(e,null),null):(Z(o)?o.forEach(l=>i[l]=null):He(i,o),de(e)&&r.set(e,i),i)}function eo(e,t){return!e||!qr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,Dn(t))||ge(e,t))}function Ro(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:h,ctx:_,inheritAttrs:m}=e,R=Cs(e);let b,E;try{if(n.shapeFlag&4){const y=s||r,C=y;b=ot(u.call(C,y,c,f,h,d,_)),E=a}else{const y=t;b=ot(y.length>1?y(f,{attrs:a,slots:i,emit:l}):y(f,null)),E=t.props?a:Tp(a)}}catch(y){Ar.length=0,hr(y,e,1),b=Re(Oe)}let g=b;if(E&&m!==!1){const y=Object.keys(E),{shapeFlag:C}=g;y.length&&C&7&&(o&&y.some(Us)&&(E=Lp(E,o)),g=rn(g,E,!1,!0))}return n.dirs&&(g=rn(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&tr(g,n.transition),b=g,Cs(R),b}function Rp(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||qr(n))&&((t||(t={}))[n]=e[n]);return t},Lp=(e,t)=>{const n={};for(const r in e)(!Us(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function kp(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?Va(r,i,u):!!i;if(l&8){const c=t.dynamicProps;for(let f=0;fObject.create(Mu),Fu=e=>Object.getPrototypeOf(e)===Mu;function Ap(e,t,n,r=!1){const s={},o=Du();e.propsDefaults=Object.create(null),Hu(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Dt(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Pp(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ae(s),[l]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,h]=$u(f,t,!0);He(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return de(e)&&r.set(e,Gn),Gn;if(Z(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",na=e=>Z(e)?e.map(ot):[ot(e)],Ip=(e,t,n)=>{if(t._n)return t;const r=zi((...s)=>na(t(...s)),n);return r._c=!1,r},Uu=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ta(s))continue;const o=e[s];if(ee(o))t[s]=Ip(s,o,r);else if(o!=null){const i=na(o);t[s]=()=>i}}},ju=(e,t)=>{const n=na(t);e.slots.default=()=>n},Bu=(e,t,n)=>{for(const r in t)(n||!ta(r))&&(e[r]=t[r])},Np=(e,t,n)=>{const r=e.slots=Du();if(e.vnode.shapeFlag&32){const s=t._;s?(Bu(r,t,n),n&&Uc(r,"_",s,!0)):Uu(t,r)}else t&&ju(e,t)},xp=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=be;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Bu(s,t,n):(o=!t.$stable,Uu(t,s)),i=t}else t&&(ju(e,t),i={default:1});if(o)for(const a in s)!ta(a)&&i[a]==null&&delete s[a]},Fe=Xu;function Mp(e){return Vu(e)}function Dp(e){return Vu(e,np)}function Vu(e,t){const n=Ks();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:h=Ft,insertStaticContent:_}=e,m=(v,S,P,U=null,M=null,p=null,w=void 0,k=null,O=!!S.dynamicChildren)=>{if(v===S)return;v&&!Et(v,S)&&(U=H(v),$e(v,M,p,!0),v=null),S.patchFlag===-2&&(O=!1,S.dynamicChildren=null);const{type:x,ref:j,shapeFlag:T}=S;switch(x){case mn:R(v,S,P,U);break;case Oe:b(v,S,P,U);break;case kr:v==null&&E(S,P,U,w);break;case Ue:$(v,S,P,U,M,p,w,k,O);break;default:T&1?C(v,S,P,U,M,p,w,k,O):T&6?X(v,S,P,U,M,p,w,k,O):(T&64||T&128)&&x.process(v,S,P,U,M,p,w,k,O,Q)}j!=null&&M?Jn(j,v&&v.ref,p,S||v,!S):j==null&&v&&v.ref!=null&&Jn(v.ref,null,p,v,!0)},R=(v,S,P,U)=>{if(v==null)r(S.el=a(S.children),P,U);else{const M=S.el=v.el;S.children!==v.children&&u(M,S.children)}},b=(v,S,P,U)=>{v==null?r(S.el=l(S.children||""),P,U):S.el=v.el},E=(v,S,P,U)=>{[v.el,v.anchor]=_(v.children,S,P,U,v.el,v.anchor)},g=({el:v,anchor:S},P,U)=>{let M;for(;v&&v!==S;)M=d(v),r(v,P,U),v=M;r(S,P,U)},y=({el:v,anchor:S})=>{let P;for(;v&&v!==S;)P=d(v),s(v),v=P;s(S)},C=(v,S,P,U,M,p,w,k,O)=>{if(S.type==="svg"?w="svg":S.type==="math"&&(w="mathml"),v==null)A(S,P,U,M,p,w,k,O);else{const x=v.el&&v.el._isVueCE?v.el:null;try{x&&x._beginPatch(),N(v,S,M,p,w,k,O)}finally{x&&x._endPatch()}}},A=(v,S,P,U,M,p,w,k)=>{let O,x;const{props:j,shapeFlag:T,transition:I,dirs:V}=v;if(O=v.el=i(v.type,p,j&&j.is,j),T&8?c(O,v.children):T&16&&F(v.children,O,null,U,M,To(v,p),w,k),V&&It(v,null,U,"created"),L(O,v,v.scopeId,w,U),j){for(const ie in j)ie!=="value"&&!Ln(ie)&&o(O,ie,null,j[ie],p,U);"value"in j&&o(O,"value",null,j.value,p),(x=j.onVnodeBeforeMount)&&ze(x,U,v)}V&&It(v,null,U,"beforeMount");const z=Wu(M,I);z&&I.beforeEnter(O),r(O,S,P),((x=j&&j.onVnodeMounted)||z||V)&&Fe(()=>{x&&ze(x,U,v),z&&I.enter(O),V&&It(v,null,U,"mounted")},M)},L=(v,S,P,U,M)=>{if(P&&h(v,P),U)for(let p=0;p{for(let x=O;x{const k=S.el=v.el;let{patchFlag:O,dynamicChildren:x,dirs:j}=S;O|=v.patchFlag&16;const T=v.props||be,I=S.props||be;let V;if(P&&vn(P,!1),(V=I.onVnodeBeforeUpdate)&&ze(V,P,S,v),j&&It(S,v,P,"beforeUpdate"),P&&vn(P,!0),(T.innerHTML&&I.innerHTML==null||T.textContent&&I.textContent==null)&&c(k,""),x?D(v.dynamicChildren,x,k,P,U,To(S,M),p):w||q(v,S,k,null,P,U,To(S,M),p,!1),O>0){if(O&16)W(k,T,I,P,M);else if(O&2&&T.class!==I.class&&o(k,"class",null,I.class,M),O&4&&o(k,"style",T.style,I.style,M),O&8){const z=S.dynamicProps;for(let ie=0;ie{V&&ze(V,P,S,v),j&&It(S,v,P,"updated")},U)},D=(v,S,P,U,M,p,w)=>{for(let k=0;k{if(S!==P){if(S!==be)for(const p in S)!Ln(p)&&!(p in P)&&o(v,p,S[p],null,M,U);for(const p in P){if(Ln(p))continue;const w=P[p],k=S[p];w!==k&&p!=="value"&&o(v,p,k,w,M,U)}"value"in P&&o(v,"value",S.value,P.value,M)}},$=(v,S,P,U,M,p,w,k,O)=>{const x=S.el=v?v.el:a(""),j=S.anchor=v?v.anchor:a("");let{patchFlag:T,dynamicChildren:I,slotScopeIds:V}=S;V&&(k=k?k.concat(V):V),v==null?(r(x,P,U),r(j,P,U),F(S.children||[],P,j,M,p,w,k,O)):T>0&&T&64&&I&&v.dynamicChildren&&v.dynamicChildren.length===I.length?(D(v.dynamicChildren,I,P,M,p,w,k),(S.key!=null||M&&S===M.subTree)&&Ku(v,S,!0)):q(v,S,P,j,M,p,w,k,O)},X=(v,S,P,U,M,p,w,k,O)=>{S.slotScopeIds=k,v==null?S.shapeFlag&512?M.ctx.activate(S,P,U,w,O):te(S,P,U,M,p,w,O):se(v,S,O)},te=(v,S,P,U,M,p,w)=>{const k=v.component=Xp(v,U,M);if(Qr(v)&&(k.ctx.renderer=Q),Jp(k,!1,w),k.asyncDep){if(M&&M.registerDep(k,K,w),!v.el){const O=k.subTree=Re(Oe);b(null,O,S,P),v.placeholder=O.el}}else K(k,v,S,P,M,p,w)},se=(v,S,P)=>{const U=S.component=v.component;if(kp(v,S,P))if(U.asyncDep&&!U.asyncResolved){J(U,S,P);return}else U.next=S,U.update();else S.el=v.el,U.vnode=S},K=(v,S,P,U,M,p,w)=>{const k=()=>{if(v.isMounted){let{next:T,bu:I,u:V,parent:z,vnode:ie}=v;{const rt=Gu(v);if(rt){T&&(T.el=ie.el,J(v,T,w)),rt.asyncDep.then(()=>{Fe(()=>{v.isUnmounted||x()},M)});return}}let oe=T,le;vn(v,!1),T?(T.el=ie.el,J(v,T,w)):T=ie,I&&Yn(I),(le=T.props&&T.props.onVnodeBeforeUpdate)&&ze(le,z,T,ie),vn(v,!0);const Pe=Ro(v),ft=v.subTree;v.subTree=Pe,m(ft,Pe,f(ft.el),H(ft),v,M,p),T.el=Pe.el,oe===null&&to(v,Pe.el),V&&Fe(V,M),(le=T.props&&T.props.onVnodeUpdated)&&Fe(()=>ze(le,z,T,ie),M)}else{let T;const{el:I,props:V}=S,{bm:z,m:ie,parent:oe,root:le,type:Pe}=v,ft=Qt(S);if(vn(v,!1),z&&Yn(z),!ft&&(T=V&&V.onVnodeBeforeMount)&&ze(T,oe,S),vn(v,!0),I&&_e){const rt=()=>{v.subTree=Ro(v),_e(I,v.subTree,v,M,null)};ft&&Pe.__asyncHydrate?Pe.__asyncHydrate(I,v,rt):rt()}else{le.ce&&le.ce._hasShadowRoot()&&le.ce._injectChildStyle(Pe,v.parent?v.parent.type:void 0);const rt=v.subTree=Ro(v);m(null,rt,P,U,v,M,p),S.el=rt.el}if(ie&&Fe(ie,M),!ft&&(T=V&&V.onVnodeMounted)){const rt=S;Fe(()=>ze(T,oe,rt),M)}(S.shapeFlag&256||oe&&Qt(oe.vnode)&&oe.vnode.shapeFlag&256)&&v.a&&Fe(v.a,M),v.isMounted=!0,S=P=U=null}};v.scope.on();const O=v.effect=new Gc(k);v.scope.off();const x=v.update=O.run.bind(O),j=v.job=O.runIfDirty.bind(O);j.i=v,j.id=v.uid,O.scheduler=()=>Qi(j),vn(v,!0),x()},J=(v,S,P)=>{S.component=v;const U=v.vnode.props;v.vnode=S,v.next=null,Pp(v,S.props,U,P),xp(v,S.children,P),en(),Ia(v),tn()},q=(v,S,P,U,M,p,w,k,O=!1)=>{const x=v&&v.children,j=v?v.shapeFlag:0,T=S.children,{patchFlag:I,shapeFlag:V}=S;if(I>0){if(I&128){nt(x,T,P,U,M,p,w,k,O);return}else if(I&256){re(x,T,P,U,M,p,w,k,O);return}}V&8?(j&16&&Ve(x,M,p),T!==x&&c(P,T)):j&16?V&16?nt(x,T,P,U,M,p,w,k,O):Ve(x,M,p,!0):(j&8&&c(P,""),V&16&&F(T,P,U,M,p,w,k,O))},re=(v,S,P,U,M,p,w,k,O)=>{v=v||Gn,S=S||Gn;const x=v.length,j=S.length,T=Math.min(x,j);let I;for(I=0;Ij?Ve(v,M,p,!0,!1,T):F(S,P,U,M,p,w,k,O,T)},nt=(v,S,P,U,M,p,w,k,O)=>{let x=0;const j=S.length;let T=v.length-1,I=j-1;for(;x<=T&&x<=I;){const V=v[x],z=S[x]=O?Gt(S[x]):ot(S[x]);if(Et(V,z))m(V,z,P,null,M,p,w,k,O);else break;x++}for(;x<=T&&x<=I;){const V=v[T],z=S[I]=O?Gt(S[I]):ot(S[I]);if(Et(V,z))m(V,z,P,null,M,p,w,k,O);else break;T--,I--}if(x>T){if(x<=I){const V=I+1,z=VI)for(;x<=T;)$e(v[x],M,p,!0),x++;else{const V=x,z=x,ie=new Map;for(x=z;x<=I;x++){const st=S[x]=O?Gt(S[x]):ot(S[x]);st.key!=null&&ie.set(st.key,x)}let oe,le=0;const Pe=I-z+1;let ft=!1,rt=0;const pr=new Array(Pe);for(x=0;x=Pe){$e(st,M,p,!0);continue}let kt;if(st.key!=null)kt=ie.get(st.key);else for(oe=z;oe<=I;oe++)if(pr[oe-z]===0&&Et(st,S[oe])){kt=oe;break}kt===void 0?$e(st,M,p,!0):(pr[kt-z]=x+1,kt>=rt?rt=kt:ft=!0,m(st,S[kt],P,null,M,p,w,k,O),le++)}const Ra=ft?Fp(pr):Gn;for(oe=Ra.length-1,x=Pe-1;x>=0;x--){const st=z+x,kt=S[st],Ta=S[st+1],La=st+1{const{el:p,type:w,transition:k,children:O,shapeFlag:x}=v;if(x&6){qe(v.component.subTree,S,P,U);return}if(x&128){v.suspense.move(S,P,U);return}if(x&64){w.move(v,S,P,Q);return}if(w===Ue){r(p,S,P);for(let T=0;Tk.enter(p),M));else{const{leave:T,delayLeave:I,afterLeave:V}=k,z=()=>{v.ctx.isUnmounted?s(p):r(p,S,P)},ie=()=>{const oe=p._isLeaving||!!p[pt];p._isLeaving&&p[pt](!0),k.persisted&&!oe?z():T(p,()=>{z(),V&&V()})};I?I(p,z,ie):ie()}else r(p,S,P)},$e=(v,S,P,U=!1,M=!1)=>{const{type:p,props:w,ref:k,children:O,dynamicChildren:x,shapeFlag:j,patchFlag:T,dirs:I,cacheIndex:V,memo:z}=v;if(T===-2&&(M=!1),k!=null&&(en(),Jn(k,null,P,v,!0),tn()),V!=null&&(S.renderCache[V]=void 0),j&256){S.ctx.deactivate(v);return}const ie=j&1&&I,oe=!Qt(v);let le;if(oe&&(le=w&&w.onVnodeBeforeUnmount)&&ze(le,S,v),j&6)Lt(v.component,P,U);else{if(j&128){v.suspense.unmount(P,U);return}ie&&It(v,null,S,"beforeUnmount"),j&64?v.type.remove(v,S,P,Q,U):x&&!x.hasOnce&&(p!==Ue||T>0&&T&64)?Ve(x,S,P,!1,!0):(p===Ue&&T&384||!M&&j&16)&&Ve(O,S,P),U&&Rt(v)}const Pe=z!=null&&V==null;(oe&&(le=w&&w.onVnodeUnmounted)||ie||Pe)&&Fe(()=>{le&&ze(le,S,v),ie&&It(v,null,S,"unmounted"),Pe&&(v.el=null)},P)},Rt=v=>{const{type:S,el:P,anchor:U,transition:M}=v;if(S===Ue){Tt(P,U);return}if(S===kr){y(v);return}const p=()=>{s(P),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(v.shapeFlag&1&&M&&!M.persisted){const{leave:w,delayLeave:k}=M,O=()=>w(P,p);k?k(v.el,p,O):O()}else p()},Tt=(v,S)=>{let P;for(;v!==S;)P=d(v),s(v),v=P;s(S)},Lt=(v,S,P)=>{const{bum:U,scope:M,job:p,subTree:w,um:k,m:O,a:x}=v;Ls(O),Ls(x),U&&Yn(U),M.stop(),p&&(p.flags|=8,$e(w,v,S,P)),k&&Fe(k,S),Fe(()=>{v.isUnmounted=!0},S)},Ve=(v,S,P,U=!1,M=!1,p=0)=>{for(let w=p;w{if(v.shapeFlag&6)return H(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const S=d(v.anchor||v.el),P=S&&S[Jh];return P?d(P):S};let Y=!1;const B=(v,S,P)=>{let U;v==null?S._vnode&&($e(S._vnode,null,null,!0),U=S._vnode.component):m(S._vnode||null,v,S,null,null,null,P),S._vnode=v,Y||(Y=!0,Ia(U),ws(),Y=!1)},Q={p:m,um:$e,m:qe,r:Rt,mt:te,mc:F,pc:q,pbc:D,n:H,o:e};let ne,_e;return t&&([ne,_e]=t(Q)),{render:B,hydrate:ne,createApp:Ep(B,ne)}}function To({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function vn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ku(e,t,n=!1){const r=e.children,s=t.children;if(Z(r)&&Z(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Gu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gu(t)}function Ls(e){if(e)for(let t=0;te.__isSuspense;let ri=0;const Hp={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,u){if(e==null)$p(t,n,r,s,o,i,a,l,u);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Up(e,t,n,r,s,i,a,l,u)}},hydrate:jp,normalize:Bp},ra=Hp;function Fr(e,t){const n=e.props&&e.props[t];ee(n)&&n()}function $p(e,t,n,r,s,o,i,a,l){const{p:u,o:{createElement:c}}=l,f=c("div"),d=e.suspense=Yu(e,s,r,t,f,n,o,i,a,l);u(null,d.pendingBranch=e.ssContent,f,null,r,d,o,i),d.deps>0?(Fr(e,"onPending"),Fr(e,"onFallback"),u(null,e.ssFallback,t,n,r,null,o,i),Qn(d,e.ssFallback)):d.resolve(!1,!0)}function Up(e,t,n,r,s,o,i,a,{p:l,um:u,o:{createElement:c}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:_,pendingBranch:m,isInFallback:R,isHydrating:b}=f;if(m)f.pendingBranch=d,Et(m,d)?(l(m,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():R&&(b||(l(_,h,n,r,s,null,o,i,a),Qn(f,h)))):(f.pendingId=ri++,b?(f.isHydrating=!1,f.activeBranch=m):u(m,s,f),f.deps=0,f.effects.length=0,f.hiddenContainer=c("div"),R?(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():(l(_,h,n,r,s,null,o,i,a),Qn(f,h))):_&&Et(_,d)?(l(_,d,n,r,s,f,o,i,a),f.resolve(!0)):(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0&&f.resolve()));else if(_&&Et(_,d))l(_,d,n,r,s,f,o,i,a),Qn(f,d);else if(Fr(t,"onPending"),f.pendingBranch=d,d.shapeFlag&512?f.pendingId=d.component.suspenseId:f.pendingId=ri++,l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0)f.resolve();else{const{timeout:E,pendingId:g}=f;E>0?setTimeout(()=>{f.pendingId===g&&f.fallback(h)},E):E===0&&f.fallback(h)}}function Yu(e,t,n,r,s,o,i,a,l,u,c=!1){const{p:f,m:d,um:h,n:_,o:{parentNode:m,remove:R}}=u;let b;const E=Vp(e);E&&t&&t.pendingBranch&&(b=t.pendingId,t.deps++);const g=e.props?jc(e.props.timeout):void 0,y=o,C={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:ri++,timeout:typeof g=="number"?g:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(A=!1,L=!1){const{vnode:F,activeBranch:N,pendingBranch:D,pendingId:W,effects:$,parentComponent:X,container:te,isInFallback:se}=C;let K=!1;if(C.isHydrating)C.isHydrating=!1;else if(!A){K=N&&D.transition&&D.transition.mode==="out-in";let re=!1;K&&(N.transition.afterLeave=()=>{W===C.pendingId&&(d(D,te,o===y&&!re?_(N):o,0),Qo($),se&&F.ssFallback&&(F.ssFallback.el=null))}),N&&!C.isFallbackMountPending&&(m(N.el)===te&&(o=_(N),re=!0),h(N,X,C,!0),!K&&se&&F.ssFallback&&Fe(()=>F.ssFallback.el=null,C)),K||d(D,te,o,0)}C.isFallbackMountPending=!1,Qn(C,D),C.pendingBranch=null,C.isInFallback=!1;let J=C.parent,q=!1;for(;J;){if(J.pendingBranch){J.effects.push(...$),q=!0;break}J=J.parent}!q&&!K&&Qo($),C.effects=[],E&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!L&&t.resolve()),Fr(F,"onResolve")},fallback(A){if(!C.pendingBranch)return;const{vnode:L,activeBranch:F,parentComponent:N,container:D,namespace:W}=C;Fr(L,"onFallback");const $=_(F),X=()=>{C.isFallbackMountPending=!1,C.isInFallback&&(f(null,A,D,$,N,null,W,a,l),Qn(C,A))},te=A.transition&&A.transition.mode==="out-in";te&&(C.isFallbackMountPending=!0,F.transition.afterLeave=X),C.isInFallback=!0,h(F,N,null,!0),te||X()},move(A,L,F){C.activeBranch&&d(C.activeBranch,A,L,F),C.container=A},next(){return C.activeBranch&&_(C.activeBranch)},registerDep(A,L,F){const N=!!C.pendingBranch;N&&C.deps++;const D=A.vnode.el;A.asyncDep.catch(W=>{hr(W,A,0)}).then(W=>{if(A.isUnmounted||C.isUnmounted||C.pendingId!==A.suspenseId)return;oi(),A.asyncResolved=!0;const{vnode:$}=A;ii(A,W),D&&($.el=D);const X=!D&&A.subTree.el;L(A,$,m(D||A.subTree.el),D?null:_(A.subTree),C,i,F),X&&($.placeholder=null,R(X)),to(A,$.el),N&&--C.deps===0&&C.resolve()})},unmount(A,L){C.isUnmounted=!0,C.activeBranch&&h(C.activeBranch,n,A,L),C.pendingBranch&&h(C.pendingBranch,n,A,L)}};return C}function jp(e,t,n,r,s,o,i,a,l){const u=t.suspense=Yu(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,o,i);return u.deps===0&&u.resolve(!1,!0),c}function Bp(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Ka(r?n.default:n),e.ssFallback=r?Ka(n.fallback):Re(Oe)}function Ka(e){let t;if(ee(e)){const n=nr&&e._c;n&&(e._d=!1,gt()),e=e(),n&&(e._d=!0,t=Ze,Ju())}return Z(e)&&(e=Rp(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Xu(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Qo(e)}function Qn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,to(r,s))}function Vp(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Ue=Symbol.for("v-fgt"),mn=Symbol.for("v-txt"),Oe=Symbol.for("v-cmt"),kr=Symbol.for("v-stc"),Ar=[];let Ze=null;function gt(e=!1){Ar.push(Ze=e?null:[])}function Ju(){Ar.pop(),Ze=Ar[Ar.length-1]||null}let nr=1;function As(e,t=!1){nr+=e,e<0&&Ze&&t&&(Ze.hasOnce=!0)}function Qu(e){return e.dynamicChildren=nr>0?Ze||Gn:null,Ju(),nr>0&&Ze&&Ze.push(e),e}function Wp(e,t,n,r,s,o){return Qu(Zu(e,t,n,r,s,o,!0))}function Mt(e,t,n,r,s){return Qu(Re(e,t,n,r,s,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function Et(e,t){return e.type===t.type&&e.key===t.key}const zu=({key:e})=>e??null,ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||ve(e)||ee(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function Zu(e,t=null,n=null,r=0,s=null,o=e===Ue?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zu(t),ref:t&&ys(t),scopeId:hu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return a?(sa(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=we(n)?8:16),nr>0&&!i&&Ze&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Ze.push(l),l}const Re=Kp;function Kp(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Lu)&&(e=Oe),xn(e)){const a=rn(e,t,!0);return n&&sa(a,n),nr>0&&!o&&Ze&&(a.shapeFlag&6?Ze[Ze.indexOf(e)]=a:Ze.push(a)),a.patchFlag=-2,a}if(eg(e)&&(e=e.__vccOpts),t){t=ef(t);let{class:a,style:l}=t;a&&!we(a)&&(t.class=qs(a)),de(l)&&(Js(l)&&!Z(l)&&(l=He({},l)),t.style=Gs(l))}const i=we(e)?1:ks(e)?128:gu(e)?64:de(e)?4:ee(e)?2:0;return Zu(e,t,n,r,s,i,o,!0)}function ef(e){return e?Js(e)||Fu(e)?He({},e):e:null}function rn(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,u=t?nf(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&zu(u),ref:t&&t.ref?n&&o?Z(o)?o.concat(ys(t)):[o,ys(t)]:ys(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rn(e.ssContent),ssFallback:e.ssFallback&&rn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&tr(c,l.clone(c)),c}function tf(e=" ",t=0){return Re(mn,null,e,t)}function L0(e,t){const n=Re(kr,null,e);return n.staticCount=t,n}function Gp(e="",t=!1){return t?(gt(),Mt(Oe,null,e)):Re(Oe,null,e)}function ot(e){return e==null||typeof e=="boolean"?Re(Oe):Z(e)?Re(Ue,null,e.slice()):xn(e)?Gt(e):Re(mn,null,String(e))}function Gt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:rn(e)}function sa(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),sa(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Fu(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ee(t)?(t={default:t,_ctx:Be},n=32):(t=String(t),r&64?(n=16,t=[tf(t)]):n=8);e.children=t,e.shapeFlag|=n}function nf(...e){const t={};for(let n=0;nje||Be;let Ps,si;{const e=Ks(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Ps=t("__VUE_INSTANCE_SETTERS__",n=>je=n),si=t("__VUE_SSR_SETTERS__",n=>rr=n)}const Zr=e=>{const t=je;return Ps(e),e.scope.on(),()=>{e.scope.off(),Ps(t)}},oi=()=>{je&&je.scope.off(),Ps(null)};function rf(e){return e.vnode.shapeFlag&4}let rr=!1;function Jp(e,t=!1,n=!1){t&&si(t);const{props:r,children:s}=e.vnode,o=rf(e);Ap(e,r,o,t),Np(e,s,n||t);const i=o?Qp(e,t):void 0;return t&&si(!1),i}function Qp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pp);const{setup:r}=n;if(r){en();const s=e.setupContext=r.length>1?Zp(e):null,o=Zr(e),i=Xr(r,e,0,[e.props,s]),a=Fc(i);if(tn(),o(),(a||e.sp)&&!Qt(e)&&ea(e),a){if(i.then(oi,oi),t)return i.then(l=>{ii(e,l)}).catch(l=>{hr(l,e,0)});e.asyncDep=i}else ii(e,i)}else sf(e)}function ii(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=au(t)),sf(e)}function sf(e,t,n){const r=e.type;e.render||(e.render=r.render||Ft);{const s=Zr(e);en();try{gp(e)}finally{tn(),s()}}}const zp={get(e,t){return Ke(e,"get",""),e[t]}};function Zp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,zp),slots:e.slots,emit:e.emit,expose:t}}function no(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(au(Ji(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Lr)return Lr[n](e)},has(t,n){return n in t||n in Lr}})):e.proxy}function ai(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function eg(e){return ee(e)&&"__vccOpts"in e}const ke=(e,t)=>jh(e,t,rr);function Ie(e,t,n){try{As(-1);const r=arguments.length;return r===2?de(t)&&!Z(t)?xn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xn(n)&&(n=[n]),Re(e,t,n))}finally{As(1)}}const tg="3.5.38";let li;const Ga=typeof window<"u"&&window.trustedTypes;if(Ga)try{li=Ga.createPolicy("vue",{createHTML:e=>e})}catch{}const of=li?e=>li.createHTML(e):e=>e,ng="http://www.w3.org/2000/svg",rg="http://www.w3.org/1998/Math/MathML",Kt=typeof document<"u"?document:null,qa=Kt&&Kt.createElement("template"),sg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Kt.createElementNS(ng,e):t==="mathml"?Kt.createElementNS(rg,e):n?Kt.createElement(e,{is:n}):Kt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Kt.createTextNode(e),createComment:e=>Kt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Kt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{qa.innerHTML=of(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=qa.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ln="transition",yr="animation",Hr=Symbol("_vtc"),af={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},og=He({},mu,af),ig=e=>(e.displayName="Transition",e.props=og,e),ag=ig((e,{slots:t})=>Ie(Zh,lg(e),t)),En=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ya=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function lg(e){const t={};for(const $ in e)$ in af||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:u=i,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,_=cg(s),m=_&&_[0],R=_&&_[1],{onBeforeEnter:b,onEnter:E,onEnterCancelled:g,onLeave:y,onLeaveCancelled:C,onBeforeAppear:A=b,onAppear:L=E,onAppearCancelled:F=g}=t,N=($,X,te,se)=>{$._enterCancelled=se,wn($,X?c:a),wn($,X?u:i),te&&te()},D=($,X)=>{$._isLeaving=!1,wn($,f),wn($,h),wn($,d),X&&X()},W=$=>(X,te)=>{const se=$?L:E,K=()=>N(X,$,te);En(se,[X,K]),Xa(()=>{wn(X,$?l:o),Bt(X,$?c:a),Ya(se)||Ja(X,r,m,K)})};return He(t,{onBeforeEnter($){En(b,[$]),Bt($,o),Bt($,i)},onBeforeAppear($){En(A,[$]),Bt($,l),Bt($,u)},onEnter:W(!1),onAppear:W(!0),onLeave($,X){$._isLeaving=!0;const te=()=>D($,X);Bt($,f),$._enterCancelled?(Bt($,d),Za($)):(Za($),Bt($,d)),Xa(()=>{$._isLeaving&&(wn($,f),Bt($,h),Ya(y)||Ja($,r,R,te))}),En(y,[$,te])},onEnterCancelled($){N($,!1,void 0,!0),En(g,[$])},onAppearCancelled($){N($,!0,void 0,!0),En(F,[$])},onLeaveCancelled($){D($),En(C,[$])}})}function cg(e){if(e==null)return null;if(de(e))return[Lo(e.enter),Lo(e.leave)];{const t=Lo(e);return[t,t]}}function Lo(e){return jc(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Hr]||(e[Hr]=new Set)).add(t)}function wn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Hr];n&&(n.delete(t),n.size||(e[Hr]=void 0))}function Xa(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ug=0;function Ja(e,t,n,r){const s=e._endId=++ug,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=fg(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),o()},d=h=>{h.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[_]||"").split(", "),s=r(`${ln}Delay`),o=r(`${ln}Duration`),i=Qa(s,o),a=r(`${yr}Delay`),l=r(`${yr}Duration`),u=Qa(a,l);let c=null,f=0,d=0;t===ln?i>0&&(c=ln,f=i,d=o.length):t===yr?u>0&&(c=yr,f=u,d=l.length):(f=Math.max(i,u),c=f>0?i>u?ln:yr:null,d=c?c===ln?o.length:l.length:0);const h=c===ln&&/\b(?:transform|all)(?:,|$)/.test(r(`${ln}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:h}}function Qa(e,t){for(;e.lengthza(n)+za(e[r])))}function za(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Za(e){return(e?e.ownerDocument:document).body.offsetHeight}function dg(e,t,n){const r=e[Hr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Os=Symbol("_vod"),lf=Symbol("_vsh"),k0={name:"show",beforeMount(e,{value:t},{transition:n}){e[Os]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):_r(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),_r(e,!0),r.enter(e)):r.leave(e,()=>{_r(e,!1)}):_r(e,t))},beforeUnmount(e,{value:t}){_r(e,t)}};function _r(e,t){e.style.display=t?e[Os]:"none",e[lf]=!t}const hg=Symbol(""),pg=/(?:^|;)\s*display\s*:/;function gg(e,t,n){const r=e.style,s=we(n);let o=!1;if(n&&!s){if(t)if(we(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Sr(r,a,"")}else for(const i in t)n[i]==null&&Sr(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?yg(e,i,!we(t)&&t?t[i]:void 0,a)||Sr(r,i,a):Sr(r,i,"")}}else if(s){if(t!==n){const i=r[hg];i&&(n+=";"+i),r.cssText=n,o=pg.test(n)}}else t&&e.removeAttribute("style");Os in e&&(e[Os]=o?r.display:"",e[lf]&&(r.display="none"))}const el=/\s*!important$/;function Sr(e,t,n){if(Z(n))n.forEach(r=>Sr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=mg(e,t);el.test(n)?e.setProperty(Dn(r),n.replace(el,""),"important"):e[r]=n}}const tl=["Webkit","Moz","ms"],ko={};function mg(e,t){const n=ko[t];if(n)return n;let r=Qe(t);if(r!=="filter"&&r in e)return ko[t]=r;r=Vs(r);for(let s=0;sAo||(Eg.then(()=>Ao=0),Ao=Date.now());function Cg(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(Z(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sg=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?dg(e,r,i):t==="style"?gg(e,n,r):qr(t)?Us(t)||bg(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rg(e,t,r,i))?(sl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&rl(e,t,r,i,o,t!=="value")):e._isVueCE&&(Tg(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!we(r)))?sl(e,Qe(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),rl(e,t,r,i))};function Rg(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&al(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return al(t)&&we(n)?!1:t in e}function Tg(e,t){const n=e._def.props;if(!n)return!1;const r=Qe(t);return Array.isArray(n)?n.some(s=>Qe(s)===r):Object.keys(n).some(s=>Qe(s)===r)}const sr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?n=>Yn(t,n):t};function Lg(e){e.target.composing=!0}function ll(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const zt=Symbol("_assign");function cl(e,t,n){return t&&(e=e.trim()),n&&(e=Ws(e)),e}const A0={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[zt]=sr(s);const o=r||s.props&&s.props.type==="number";hn(e,t?"change":"input",i=>{i.target.composing||e[zt](cl(e.value,n,o))}),(n||o)&&hn(e,"change",()=>{e.value=cl(e.value,n,o)}),t||(hn(e,"compositionstart",Lg),hn(e,"compositionend",ll),hn(e,"change",ll))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[zt]=sr(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Ws(e.value):e.value,l=t??"";if(a===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},P0={deep:!0,created(e,t,n){e[zt]=sr(n),hn(e,"change",()=>{const r=e._modelValue,s=$r(e),o=e.checked,i=e[zt];if(Z(r)){const a=Wi(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const u=[...r];u.splice(a,1),i(u)}}else if(cr(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(cf(e,o))})},mounted:ul,beforeUpdate(e,t,n){e[zt]=sr(n),ul(e,t,n)}};function ul(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(Z(t))s=Wi(t,r.props.value)>-1;else if(cr(t))s=t.has(r.props.value);else{if(t===n)return;s=fr(t,cf(e,!0))}e.checked!==s&&(e.checked=s)}const O0={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=cr(t);hn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Ws($r(i)):$r(i));e[zt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,nn(()=>{e._assigning=!1})}),e[zt]=sr(r)},mounted(e,{value:t}){fl(e,t)},beforeUpdate(e,t,n){e[zt]=sr(n)},updated(e,{value:t}){e._assigning||fl(e,t)}};function fl(e,t){const n=e.multiple,r=Z(t);if(!(n&&!r&&!cr(t))){for(let s=0,o=e.options.length;sString(u)===String(a)):i.selected=Wi(t,a)>-1}else i.selected=t.has(a);else if(fr($r(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function $r(e){return"_value"in e?e._value:e.value}function cf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const kg=["ctrl","shift","alt","meta"],Ag={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>kg.some(n=>e[`${n}Key`]&&!t.includes(n))},I0=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const t=Pg().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(!s)return;const o=t._component;!ee(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,ff(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ng=((...e)=>{const t=Og().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(s)return n(s,!0,ff(s))},t});function ff(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function df(e){return we(e)?document.querySelector(e):e}const xg=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Mg=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Dg=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Fg(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Hg(e);return}return t}function Hg(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ur(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Dg.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(xg.test(e)||Mg.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Fg)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const hf=/#/g,pf=/&/g,$g=/\//g,Ug=/=/g,jg=/\?/g,ro=/\+/g,Bg=/%5e/gi,Vg=/%60/gi,Wg=/%7c/gi,Kg=/%20/gi,Gg=/%2f/gi,qg=/%252f/gi;function gf(e){return encodeURI(""+e).replace(Wg,"|")}function ci(e){return gf(typeof e=="string"?e:JSON.stringify(e)).replace(ro,"%2B").replace(Kg,"+").replace(hf,"%23").replace(pf,"%26").replace(Vg,"`").replace(Bg,"^").replace($g,"%2F")}function Po(e){return ci(e).replace(Ug,"%3D")}function Yg(e){return gf(e).replace(hf,"%23").replace(jg,"%3F").replace(qg,"%2F").replace(pf,"%26").replace(ro,"%2B")}function jr(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Xg(e){return jr(e.replace(Gg,"%252F"))}function Jg(e){return jr(e.replace(ro," "))}function Qg(e){return jr(e.replace(ro," "))}function oa(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=Jg(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=Qg(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function zg(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Po(e)}=${ci(n)}`).join("&"):`${Po(e)}=${ci(t)}`:Po(e)}function Zg(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>zg(t,e[t])).filter(Boolean).join("&")}const em=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,tm=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,nm=/^([/\\]\s*){2,}[^/\\]/,rm=/^[\s\0]*(blob|data|javascript|vbscript):$/i,sm=/\/$|\/\?|\/#/,om=/^\.?\//;function an(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?em.test(e):tm.test(e)||(t.acceptRelative?nm.test(e):!1)}function ui(e){return!!e&&rm.test(e)}function fi(e="",t){return t?sm.test(e):e.endsWith("/")}function Br(e="",t){if(!t)return(fi(e)?e.slice(0,-1):e)||"/";if(!fi(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function im(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(fi(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function am(e,t){if(mf(t)||an(e))return e;const n=Br(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return Pn(n,e)}function hl(e,t){if(mf(t))return e;const n=Br(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function so(e,t){const n=ia(e),r={...oa(n.search),...t};return n.search=Zg(r),cm(n)}function mf(e){return!e||e==="/"}function lm(e){return e&&e!=="/"}function Pn(e,...t){let n=e||"";for(const r of t.filter(s=>lm(s)))if(n){const s=r.replace(om,"");n=im(n)+s}else n=r;return n}function yf(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&an(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function _f(e,t){return jr(Br(e))===jr(Br(t))}const bf=Symbol.for("ufo:protocolRelative");function ia(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,d=""]=n;return{protocol:f.toLowerCase(),pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!an(e,{acceptRelative:!0}))return di(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:u,hash:c}=di(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:u,hash:c,[bf]:!r}}function di(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function cm(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[bf]?(e.protocol||"")+"//":"")+s+o+t+n+r}class um extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function fm(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new um(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,u]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[u]}});return a}const dm=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function pl(e="GET"){return dm.has(e.toUpperCase())}function hm(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const pm=new Set(["image/svg","application/xml","application/xhtml","application/html"]),gm=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function mm(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return gm.test(t)?"json":t==="text/event-stream"?"stream":pm.has(t)||t.startsWith("text/")?"text":"blob"}function ym(e,t,n,r){const s=_m(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function _m(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function ls(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const bm=new Set([408,409,425,429,500,502,503,504]),vm=new Set([101,204,205,304]);function vf(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=pl(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):bm.has(f))){const d=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),o(a.request,{...a.options,retry:c-1})}}const u=fm(a);throw Error.captureStackTrace&&Error.captureStackTrace(u,o),u}const o=async function(l,u={}){const c={request:l,options:ym(l,u,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await ls(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=am(c.request,c.options.baseURL)),c.options.query&&(c.request=so(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&pl(c.options.method))if(hm(c.options.body)){const h=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=h==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),h||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let f;if(!c.options.signal&&c.options.timeout){const h=new r;f=setTimeout(()=>{const _=new Error("[TimeoutError]: The operation was aborted due to timeout");_.name="TimeoutError",_.code=23,h.abort(_)},c.options.timeout),c.options.signal=h.signal}try{c.response=await t(c.request,c.options)}catch(h){return c.error=h,c.options.onRequestError&&await ls(c,c.options.onRequestError),await s(c)}finally{f&&clearTimeout(f)}if((c.response.body||c.response._bodyInit)&&!vm.has(c.response.status)&&c.options.method!=="HEAD"){const h=(c.options.parseResponse?"json":c.options.responseType)||mm(c.response.headers.get("content-type")||"");switch(h){case"json":{const _=await c.response.text(),m=c.options.parseResponse||Ur;c.response._data=m(_);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[h]()}}return c.options.onResponse&&await ls(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await ls(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,u){return(await o(l,u))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>vf({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Is=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),Em=Is.fetch?(...e)=>Is.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),wm=Is.Headers,Cm=Is.AbortController,Sm=vf({fetch:Em,Headers:wm,AbortController:Cm}),Rm=Sm,Tm=()=>window?.__NUXT__?.config||{},aa=()=>Tm().app,Lm=()=>aa().baseURL,km=()=>aa().buildAssetsDir,la=(...e)=>yf(Ef(),km(),...e),Ef=(...e)=>{const t=aa(),n=t.cdnURL||t.baseURL;return e.length?yf(n,...e):n};globalThis.__buildAssetsURL=la,globalThis.__publicAssetsURL=Ef;globalThis.$fetch||(globalThis.$fetch=Rm.create({baseURL:Lm()}));"global"in globalThis||(globalThis.global=globalThis);function hi(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?hi(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const Am={run:e=>e()},Pm=()=>Am,wf=typeof console.createTask<"u"?console.createTask:Pm;function Om(e,t){const n=t.shift(),r=wf(n);return e.reduce((s,o)=>s.then(()=>r.run(()=>o(...t))),Promise.resolve())}function Im(e,t){const n=t.shift(),r=wf(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}function Oo(e,t){for(const n of[...e])n(t)}let Nm=class{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const s=t;let o;for(;this._deprecatedHooks[t];)o=this._deprecatedHooks[t],t=o.to;if(o&&!r.allowDeprecated){let i=o.message;i||(i=`${s} hook has been deprecated`+(o.to?`, please use ${o.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,s=(...o)=>(typeof r=="function"&&r(),r=void 0,s=void 0,n(...o));return r=this.hook(t,s),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const s of r)this.hook(t,s)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=hi(t),r=Object.keys(n).map(s=>this.hook(s,n[s]));return()=>{for(const s of r.splice(0,r.length))s()}}removeHooks(t){const n=hi(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Om,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Im,t,...n)}callHookWith(t,n,...r){const s=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&Oo(this._before,s);const o=t(n in this._hooks?[...this._hooks[n]]:[],r);return o instanceof Promise?o.finally(()=>{this._after&&s&&Oo(this._after,s)}):(this._after&&s&&Oo(this._after,s),o)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}};function xm(){return new Nm}function Mm(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},u=()=>t===i?l:void 0;pi.add(u);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{pi.delete(u)}}}}function Dm(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Mm({...e,...r})),t[n]}}}const Ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},gl="__unctx__",Fm=Ns[gl]||(Ns[gl]=Dm()),Hm=(e,t={})=>Fm.get(e,t),ml="__unctx_async_handlers__",pi=Ns[ml]||(Ns[ml]=new Set);function On(e){const t=[];for(const s of pi){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const yl=!1,_l=!1,$m=!1,x0={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},Um=null,jm="#__nuxt",Cf="nuxt-app",bl=36e5,Bm="vite:preloadError";function Sf(e=Cf){return Hm(e,{asyncContext:!1})}const Vm="__nuxt_plugin";function Wm(e){let t=0;const n={_id:e.id||Cf||"nuxt-app",_scope:Yr(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.21.8"},get vue(){return n.vueApp.version}},payload:Dt({...e.ssrContext?.payload||{},data:Dt({}),state:sn({}),once:new Set,_errors:Dt({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!dr()?n._scope.run(()=>vl(n,s)):vl(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Dt({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=xm(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;cs(n,i,o),cs(n.vueApp.config.globalProperties,i,o)},cs(n.vueApp,"$nuxt",n),cs(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(Bm,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ue;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Km(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function Gm(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function qm(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const u=l.dependsOn?.filter(c=>t.some(f=>f._name===c)&&!n.has(c))??[];if(u.length>0)r.push([new Set(u),l]);else{const c=Gm(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([f,d])=>{f.has(l._name)&&(f.delete(l._name),f.size===0&&(i++,await a(d)))})))}).catch(f=>{if(!l.parallel&&!e.payload.error)throw f;o||=f});l.parallel?s.push(c):await c}}for(const l of t)Km(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Vm]:!0,_name:t})}const Ym=Ge;function vl(e,t,n){const r=()=>t();return Sf(e._id).set(e),e.vueApp.runWithContext(r)}function Rf(e){let t;return Jr()&&(t=Fn()?.appContext.app.$nuxt),t||=Sf(e).tryUse(),t||null}function ue(e){const t=Rf(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function oo(e){return ue().$config}function cs(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Io(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function gi(e,t,n=".",r){if(!Io(t))return gi(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Io(i)&&Io(s[o])?s[o]=gi(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function Tf(e){return(...t)=>t.reduce((n,r)=>gi(n,r,"",e),{})}const Lf=Tf();function Xm(e,t){try{return t in e}catch{return!1}}class El extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:mi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=kf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function Jm(e){if(typeof e=="string")return new El(e);if(Qm(e))return e;const t=new El(e.message??e.statusMessage??"",{cause:e.cause||e});if(Xm(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=mi(e.statusCode,t.statusCode):e.status&&(t.statusCode=mi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;kf(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function Qm(e){return e?.constructor?.__h3_error__===!0}const zm=/[^\u0009\u0020-\u007E]/g;function kf(e=""){return e.replace(zm,"")}function mi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Af=Symbol("layout-meta"),Mn=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const tt=()=>ue()?.$router,ca=()=>Jr()?xe(Mn,ue()._route):ue()._route;function M0(e){return e}const Zm=()=>{try{if(ue()._processingMiddleware)return!0}catch{return!1}return!1},D0=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?ey(e):tt().resolve(e).href;if(t?.open){const{protocol:u}=new URL(n,window.location.href);if(u&&ui(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`);const{target:c="_blank",windowFeatures:f={}}=t.open,d=[];for(const[h,_]of Object.entries(f))_!==void 0&&d.push(`${h.toLowerCase()}=${_}`);return open(n,c,d.join(", ")),Promise.resolve()}const r=an(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:u}=new URL(n,window.location.href);if(u&&ui(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`)}const o=Zm();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:u,search:c,hash:f}=ia(e);return{path:u,...c&&{query:oa(c)},...f&&{hash:f},replace:!0}}return{...e,replace:!0}}return e}const i=tt(),a=ue();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?ty(e):e;return t?.replace?i.replace(l):i.push(l)};function ey(e){return so(e.path||"",e.query||{})+(e.hash||"")}function ty(e){const t=ia(e);return Yg(Xg(t.pathname))+t.search+t.hash}const Pf="__nuxt_error",io=()=>lu(ue().payload,"error"),Rn=e=>{const t=In(e);try{const n=io();ue().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},ny=async(e={})=>{const t=ue(),n=io();t.callHook("app:error:cleared",e),e.redirect&&await tt().replace(e.redirect),n.value=Um},Of=e=>!!e&&typeof e=="object"&&Pf in e,In=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=Jm(e);return Object.defineProperty(t,Pf,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let If;const or=e=>If=e,Nf=Symbol();function yi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Or;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Or||(Or={}));function ry(){const e=Yr(!0),t=e.run(()=>et({}));let n=[],r=[];const s=Ji({install(o){or(s),s._a=o,o.provide(Nf,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const xf=()=>{};function wl(e,t,n,r=xf){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&dr()&&Nr(s),s}function Un(e,...t){e.forEach(n=>{n(...t)})}const sy=e=>e(),Cl=Symbol(),No=Symbol();function _i(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];yi(s)&&yi(r)&&e.hasOwnProperty(n)&&!ve(r)&&!Ht(r)?e[n]=_i(s,r):e[n]=r}return e}const oy=Symbol();function iy(e){return!yi(e)||!Object.prototype.hasOwnProperty.call(e,oy)}const{assign:un}=Object;function ay(e){return!!(ve(e)&&e.effect)}function ly(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=s?s():{});const c=Fh(n.state.value[e]);return un(c,o,Object.keys(i||{}).reduce((f,d)=>(f[d]=Ji(ke(()=>{or(n);const h=n._s.get(e);return i[d].call(h,h)})),f),{}))}return l=Mf(e,u,t,n,r,!0),l}function Mf(e,t,n={},r,s,o){let i;const a=un({actions:{}},n),l={deep:!0};let u,c,f=new Set,d=new Set,h;const _=r.state.value[e];!o&&!_&&(r.state.value[e]={});let m;function R(F){let N;u=c=!1,typeof F=="function"?(F(r.state.value[e]),N={type:Or.patchFunction,storeId:e,events:h}):(_i(r.state.value[e],F),N={type:Or.patchObject,payload:F,storeId:e,events:h});const D=m=Symbol();nn().then(()=>{m===D&&(u=!0)}),c=!0,Un(f,N,r.state.value[e])}const b=o?function(){const{state:N}=n,D=N?N():{};this.$patch(W=>{un(W,D)})}:xf;function E(){i.stop(),f.clear(),d.clear(),r._s.delete(e)}const g=(F,N="")=>{if(Cl in F)return F[No]=N,F;const D=function(){or(r);const W=Array.from(arguments),$=new Set,X=new Set;function te(J){$.add(J)}function se(J){X.add(J)}Un(d,{args:W,name:D[No],store:C,after:te,onError:se});let K;try{K=F.apply(this&&this.$id===e?this:C,W)}catch(J){throw Un(X,J),J}return K instanceof Promise?K.then(J=>(Un($,J),J)).catch(J=>(Un(X,J),Promise.reject(J))):(Un($,K),K)};return D[Cl]=!0,D[No]=N,D},y={_p:r,$id:e,$onAction:wl.bind(null,d),$patch:R,$reset:b,$subscribe(F,N={}){const D=wl(f,F,N.detached,()=>W()),W=i.run(()=>lt(()=>r.state.value[e],$=>{(N.flush==="sync"?c:u)&&F({storeId:e,type:Or.direct,events:h},$)},un({},l,N)));return D},$dispose:E},C=sn(y);r._s.set(e,C);const L=(r._a&&r._a.runWithContext||sy)(()=>r._e.run(()=>(i=Yr()).run(()=>t({action:g}))));for(const F in L){const N=L[F];if(ve(N)&&!ay(N)||Ht(N))o||(_&&iy(N)&&(ve(N)?N.value=_[F]:_i(N,_[F])),r.state.value[e][F]=N);else if(typeof N=="function"){const D=g(N,F);L[F]=D,a.actions[F]=N}}return un(C,L),un(ae(C),L),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:F=>{R(N=>{un(N,F)})}}),r._p.forEach(F=>{un(C,i.run(()=>F({store:C,app:r._a,pinia:r,options:a})))}),_&&o&&n.hydrate&&n.hydrate(C.$state,_),u=!0,c=!0,C}function F0(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=Jr();return i=i||(l?xe(Nf,null):null),i&&or(i),i=If,i._s.has(e)||(s?Mf(e,t,r,i):ly(e,r,i)),i._s.get(e)}return o.$id=e,o}const cy=-1,uy=-2,fy=-3,dy=-4,hy=-5,py=-6,gy=-7,Df=2**32-1,bi=Df-1;function my(e){return!(!Number.isInteger(e)||e<0||e>bi)}function yy(e){return!(!Number.isInteger(e)||e<0||e>Df)}function _y(e){return Uint8Array.fromBase64(e).buffer}function by(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function vy(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=u)throw new Error("Invalid input");c[d]=o(l[f+1])}c.length=u}else{const u=new Array(l.length);r[i]=u;for(let c=0;c{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function Hf(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>Hf(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function Ny(e,t,n){if(e.length>0)return Hf(e,t,0,Ff(n))}function xy(e,t,n){if(e.length>0){const r=Ff(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function xo(e,t){for(const n of[...e])n(t)}var My=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=Ei(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=Ei(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(Ny,e,t)}callHookParallel(e,...t){return this.callHookWith(xy,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&xo(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&xo(this._after,r)}):(this._after&&r&&xo(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function Dy(){return new My}const Fy=["name","property","http-equiv"],Hy=new Set(["viewport","description","keywords","robots"]);function $f(e){const t=e.split(":");return t.length?Iy.has(t[1]):!1}function wi(e){const{props:t,tag:n}=e;if(Ay.has(n))return n;if(n==="link"&&t.rel==="canonical")return"canonical";if(n==="link"&&t.rel==="alternate"){if(t.hreflang)return`alternate:${t.hreflang}`;if(t.type)return`alternate:${t.type}:${t.href||""}`}if(t.charset)return"charset";if(e.tag==="meta"){for(const r of Fy)if(t[r]!==void 0){const s=t[r],o=s&&typeof s=="string"&&s.includes(":"),i=s&&Hy.has(s),l=!(o||i)&&e.key?`:key:${e.key}`:"";return`${n}:${s}${l}`}}if(e.key)return`${n}:key:${e.key}`;if(t.id)return`${n}:id:${t.id}`;if(n==="link"&&t.rel==="alternate")return`alternate:${t.href||""}`;if(Ly.has(n)){const r=e.textContent||e.innerHTML;if(r)return`${n}:content:${r}`}}function Uf(e){const t=e._h||e._d;if(t)return t;const n=e.textContent||e.innerHTML;return n||`${e.tag}:${Object.entries(e.props).map(([r,s])=>`${r}:${String(s)}`).join(",")}`}function xs(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>xs(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=xs(s[i],t,i);return o}return s}function $y(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function jf(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=vi.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=$y(r,s);return}if(Py.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let u=t.type;if(t.type||(u="application/json"),!u?.endsWith("json")&&u!=="speculationrules")return;t.type=u,e.props.type=u,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function Uy(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=jf({tag:e,props:{}},n);return r.key&&Ty.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function jy(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push(Uy(s,i))}),r.flat()}const Ci=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Sl={base:-10,title:10},By={critical:-8,high:-1,low:2},Rl={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},Vy=/@import/,br=e=>e===""||e===!0;function Wy(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=By[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Rl;if(t.tag in Sl)n=Sl[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Rl.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);br(t.props.async)?n=s.script.async:t.props.src&&!br(t.props.defer)&&!br(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(br(t.props.defer)&&t.props.src&&!br(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&Vy.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Tl(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Ky(e={}){const t=Dy();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Tl(i,a),push(a,l){const u={...l||{}};delete u.head;const c=u._index??i._entryCount++,f={_i:c,input:a,options:u},d={_poll(h=!1){i.dirty=!0,!h&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(h){(!u.mode||u.mode==="server"&&n||u.mode==="client"&&!n)&&(f.input=h,r.set(c,f),d._poll())}};return d.patch(a),d},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const d=o.values().next().value;o.delete(d);const h=r.get(d);if(h){const _={tags:jy(h.input,e.propResolvers||[]).map(m=>Object.assign(m,h.options)),entry:h};await t.callHook("entries:normalize",_),h._tags=_.tags.map((m,R)=>(m._w=Wy(i,m),m._p=(h._i<<10)+R,m._d=wi(m),m._d||(m._h=Uf(m)),m))}}let l=!1;a.entries.flatMap(d=>(d._tags||[]).map(h=>({...h,props:{...h.props}}))).sort(Ci).reduce((d,h)=>{const _=h._d||h._h;if(!d.has(_))return d.set(_,h);const m=d.get(_);if((h?.tagDuplicateStrategy||(Oy.has(h.tag)?"merge":null)||(h.key&&h.key===m.key?"merge":null))==="merge"){const b={...m.props};Object.entries(h.props).forEach(([E,g])=>b[E]=E==="style"?new Map([...m.props.style||new Map,...g]):E==="class"?new Set([...m.props.class||new Set,...g]):g),d.set(_,{...h,props:b})}else h._p>>10===m._p>>10&&h.tag==="meta"&&$f(_)?(d.set(_,Object.assign([...Array.isArray(m)?m:[m],h],h)),l=!0):(h._w===m._w?h._p>m._p:h?._wTl(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Mo="%separator";function Gy(e,t,n=!1){let r;if(t==="s"||t==="pageTitle")r=e.pageTitle;else if(t.includes(".")){const s=t.indexOf(".");r=e[t.substring(0,s)]?.[t.substring(s+1)]}else r=e[t];if(r!==void 0)return n?(r||"").replace(/\\/g,"\\\\").replace(/{if(a===Mo||!o.includes(a))return a;const l=Gy(t,a.slice(1),r);return l!==void 0?l:a}).trim(),i&&(e=e.split(Mo).map(a=>a.trim()).filter(a=>a!=="").join(n?` ${n} `:" ")),e}const Ll=e=>e.includes(":key")?e:e.split(":").join(":key:"),qy={key:"aliasSorting",hooks:{"tags:resolve":e=>{let t=!1;for(const n of e.tags){const r=n.tagPriority;if(!r)continue;const s=String(r);if(s.startsWith("before:")){const o=Ll(s.slice(7)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p-1,t=!0)}else if(s.startsWith("after:")){const o=Ll(s.slice(6)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p+1,t=!0)}}t&&(e.tags=e.tags.sort(Ci))}}},Yy={key:"deprecations",hooks:{"entries:normalize":({tags:e})=>{for(const t of e)t.props.children&&(t.innerHTML=t.props.children,delete t.props.children),t.props.hid&&(t.key=t.props.hid,delete t.props.hid),t.props.vmid&&(t.key=t.props.vmid,delete t.props.vmid),t.props.body&&(t.tagPosition="bodyClose",delete t.props.body)}}};async function Si(e){if(typeof e==="function")return e;if(e instanceof Promise)return await e;if(Array.isArray(e))return await Promise.all(e.map(n=>Si(n)));if(e?.constructor===Object){const n={};for(const r of Object.keys(e))n[r]=await Si(e[r]);return n}return e}const Xy={key:"promises",hooks:{"entries:resolve":async e=>{const t=[];for(const n in e.entries)e.entries[n]._promisesProcessed||t.push(Si(e.entries[n].input).then(r=>{e.entries[n].input=r,e.entries[n]._promisesProcessed=!0}));await Promise.all(t)}}},Jy={meta:"content",link:"href",htmlAttrs:"lang"},Qy=["innerHTML","textContent"],zy=e=>({key:"template-params",hooks:{"entries:normalize":t=>{const n=t.tags.filter(r=>r.tag==="templateParams"&&r.mode==="server")?.[0]?.props||{};Object.keys(n).length&&(e._ssrPayload={templateParams:{...e._ssrPayload?.templateParams||{},...n}})},"tags:resolve":({tagMap:t,tags:n})=>{const r=t.get("templateParams")?.props||{},s=r.separator||"|";delete r.separator,r.pageTitle=us(r.pageTitle||e._title||"",r,s);for(const o of n){if(o.processTemplateParams===!1)continue;const i=Jy[o.tag];if(i&&typeof o.props[i]=="string")o.props[i]=us(o.props[i],r,s);else if(o.processTemplateParams||o.tag==="titleTemplate"||o.tag==="title")for(const a of Qy)typeof o[a]=="string"&&(o[a]=us(o[a],r,s,o.tag==="script"&&o.props.type.endsWith("json")))}e._templateParams=r,e._separator=s},"tags:afterResolve":({tagMap:t})=>{const n=t.get("title");n?.textContent&&n.processTemplateParams!==!1&&(n.textContent=us(n.textContent,e._templateParams,e._separator))}}}),Zy=(e,t)=>ve(t)?Nh(t):t,ua="usehead";function e_(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(ua,e)}}.install}function t_(){if(Jr()){const e=xe(ua);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function n_(e,t={}){const n=t.head||t_();return n.ssr?n.push(e||{},t):r_(n,e,t)}function r_(e,t,n={}){const r=et(!1);let s;return Yh(()=>{const i=r.value?{}:xs(t,Zy);s?s.patch(i):s=e.push(i,n)}),Fn()&&(zr(()=>{s.dispose()}),wu(()=>{r.value=!0}),Eu(()=>{r.value=!1})),s}function s_(e){const t=e||Rf();return t?.ssrContext?.head||t?.runWithContext(()=>{if(Jr())return xe(ua)})}function Bf(e,t={}){const n=s_(t.nuxt);if(n)return n_(e,{head:n,...t})}const o_=(e,t)=>[],Vf=e=>Lf({},...o_("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),i_=Vf;let _s;function a_(){let e;return e=$fetch(la(`builds/meta/${oo().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),_s=e,e.catch(t=>{_s===e&&(_s=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Wf(){return _s||a_()}function Kf(e){const t=typeof e=="string"?e:e.path;try{return i_(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function kl(e,t={}){return null}async function l_(e){return null}let Cn=null;async function c_(){if(Cn)return Cn;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await u_(e.textContent||""),n=e.dataset.src?await l_(e.dataset.src):void 0;return Cn={...t,...n,...window.__NUXT__},Cn.config?.public&&(Cn.config.public=sn(Cn.config.public)),Cn}async function u_(e){return await Sy(e,ue()._payloadRevivers)}function Gf(e,t){ue()._payloadRevivers[e]=t}const f_=Ym(()=>{Gf("skipHydrate",e=>{})}),d_=[["NuxtError",e=>In(e)],["EmptyShallowRef",e=>Nn(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["EmptyRef",e=>et(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["ShallowRef",e=>Nn(e)],["ShallowReactive",e=>Dt(e)],["Ref",e=>et(e)],["Reactive",e=>sn(e)]],h_=Ge({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of d_)Gf(r,s);Object.assign(e.payload,([t,n]=On(()=>e.runWithContext(c_)),t=await t,n(),t)),window.__NUXT__=e.payload}});async function fa(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(h=>{e.resolveTags().then(_=>{h(_.map(m=>{const R=o.get(m._d)||0,b={tag:m,id:(R?`${m._d}:${R}`:m._d)||m._h,shouldRender:!0};return m._d&&$f(m._d)&&o.set(m._d,R+1),b}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const h of["body","head"]){const _=n[h]?.children;for(const m of _){const R=m.tagName.toLowerCase();if(!vi.has(R))continue;const b=jf({tag:R,props:{}},{innerHTML:m.innerHTML,...m.getAttributeNames().reduce((E,g)=>(E[g]=m.getAttribute(g),E),{})||{}});if(b.key=m.getAttribute("data-hid")||void 0,b._d=wi(b)||Uf(b),a.elMap.has(b._d)){let E=1,g=b._d;for(;a.elMap.has(g);)g=`${b._d}:${E++}`;a.elMap.set(g,m)}else a.elMap.set(b._d,m)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(h,_,m){const R=`${h}:${_}`;a.sideEffects[R]=m,delete a.pendingSideEffects[R]}function u({id:h,$el:_,tag:m}){const R=m.tag.endsWith("Attrs");a.elMap.set(h,_),R||(m.textContent&&m.textContent!==_.textContent&&(_.textContent=m.textContent),m.innerHTML&&m.innerHTML!==_.innerHTML&&(_.innerHTML=m.innerHTML),l(h,"el",()=>{_?.remove(),a.elMap.delete(h)}));for(const b in m.props){if(!Object.prototype.hasOwnProperty.call(m.props,b))continue;const E=m.props[b];if(b.startsWith("on")&&typeof E=="function"){const y=_?.dataset;if(y&&y[`${b}fired`]){const C=b.slice(0,-5);E.call(_,new Event(C.substring(2)))}_.getAttribute(`data-${b}`)!==""&&((m.tag==="bodyAttrs"?n.defaultView:_).addEventListener(b.substring(2),E.bind(_)),_.setAttribute(`data-${b}`,""));continue}const g=`attr:${b}`;if(b==="class"){if(!E)continue;for(const y of E)R&&l(h,`${g}:${y}`,()=>_.classList.remove(y)),!_.classList.contains(y)&&_.classList.add(y)}else if(b==="style"){if(!E)continue;for(const[y,C]of E)l(h,`${g}:${y}`,()=>{_.style.removeProperty(y)}),_.style.setProperty(y,C)}else E!==!1&&E!==null&&(_.getAttribute(b)!==E&&_.setAttribute(b,E===!0?"":String(E)),R&&l(h,g,()=>_.removeAttribute(b)))}}const c=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},d=await i;for(const h of d){const{tag:_,shouldRender:m,id:R}=h;if(m){if(_.tag==="title"){n.title=_.textContent,l("title","",()=>n.title=a.title);continue}h.$el=h.$el||a.elMap.get(R),h.$el?u(h):vi.has(_.tag)&&c.push(h)}}for(const h of c){const _=h.tag.tagPosition||"head";h.$el=n.createElement(h.tag.tag),u(h),f[_]=f[_]||n.createDocumentFragment(),f[_].appendChild(h.$el)}for(const h of d)await e.hooks.callHook("dom:renderTag",h,n,l);f.head&&n.head.appendChild(f.head),f.bodyOpen&&n.body.insertBefore(f.bodyOpen,n.body.firstChild),f.bodyClose&&n.body.appendChild(f.bodyClose);for(const h in a.pendingSideEffects)a.pendingSideEffects[h]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:d}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function p_(e={}){const t=e.domOptions?.render||fa;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Ky({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function g_(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function m_(e={}){const t=p_({domOptions:{render:g_(()=>fa(t),n=>setTimeout(n,0))},...e});return t.install=e_(t),t}const y_={disableDefaults:!0,disableCapoSorting:!1,plugins:[Yy,Xy,zy,qy]},__=Ge({name:"nuxt:head",enforce:"pre",setup(e){const t=m_(y_);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await fa(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const u=e["~transitionPromise"];u?u.then(l):l()},a})}}});const Bn=typeof document<"u";function qf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function b_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&qf(e.default)}const he=Object.assign;function Do(e,t){const n={};for(const r in t){const s=t[r];n[r]=St(s)?s.map(e):e(s)}return n}const Ir=()=>{},St=Array.isArray;function Al(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Yf=/#/g,v_=/&/g,E_=/\//g,w_=/=/g,C_=/\?/g,Xf=/\+/g,S_=/%5B/g,R_=/%5D/g,Jf=/%5E/g,T_=/%60/g,Qf=/%7B/g,L_=/%7C/g,zf=/%7D/g,k_=/%20/g;function da(e){return e==null?"":encodeURI(""+e).replace(L_,"|").replace(S_,"[").replace(R_,"]")}function A_(e){return da(e).replace(Qf,"{").replace(zf,"}").replace(Jf,"^")}function Ri(e){return da(e).replace(Xf,"%2B").replace(k_,"+").replace(Yf,"%23").replace(v_,"%26").replace(T_,"`").replace(Qf,"{").replace(zf,"}").replace(Jf,"^")}function P_(e){return Ri(e).replace(w_,"%3D")}function O_(e){return da(e).replace(Yf,"%23").replace(C_,"%3F")}function I_(e){return O_(e).replace(E_,"%2F")}function Vr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const N_=/\/$/,x_=e=>e.replace(N_,"");function Fo(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=H_(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Vr(i)}}function M_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Pl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function D_(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&ir(t.matched[r],n.matched[s])&&Zf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ir(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Zf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!F_(e[n],t[n]))return!1;return!0}function F_(e,t){return St(e)?Ol(e,t):St(t)?Ol(t,e):e?.valueOf()===t?.valueOf()}function Ol(e,t){return St(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function H_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const ht={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ti=(function(e){return e.pop="pop",e.push="push",e})({}),Ho=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function $_(e){if(!e)if(Bn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),x_(e)}const U_=/^[^#]+#/;function j_(e,t){return e.replace(U_,"#")+t}function B_(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const ao=()=>({left:window.scrollX,top:window.scrollY});function V_(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=B_(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Il(e,t){return(history.state?history.state.position-t:-1)+e}const Li=new Map;function W_(e,t){Li.set(e,t)}function K_(e){const t=Li.get(e);return Li.delete(e),t}function G_(e){return typeof e=="string"||e&&typeof e=="object"}function ed(e){return typeof e=="string"||typeof e=="symbol"}let Te=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const td=Symbol("");Te.MATCHER_NOT_FOUND+"",Te.NAVIGATION_GUARD_REDIRECT+"",Te.NAVIGATION_ABORTED+"",Te.NAVIGATION_CANCELLED+"",Te.NAVIGATION_DUPLICATED+"";function ar(e,t){return he(new Error,{type:e,[td]:!0},t)}function Vt(e,t){return e instanceof Error&&td in e&&(t==null||!!(e.type&t))}const q_=["params","query","hash"];function Y_(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of q_)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function X_(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&Ri(s)):[r&&Ri(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function J_(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=St(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Q_=Symbol(""),xl=Symbol(""),lo=Symbol(""),ha=Symbol(""),ki=Symbol("");function vr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function dn(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(ar(Te.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?l(d):G_(d)?l(ar(Te.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),a())},c=o(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function $o(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(qf(l)){const u=(l.__vccOpts||l)[t];u&&o.push(dn(u,n,r,i,a,s))}else{let u=l();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const f=b_(c)?c.default:c;i.mods[a]=c,i.components[a]=f;const d=(f.__vccOpts||f)[t];return d&&dn(d,n,r,i,a,s)()}))}}return o}function z_(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iir(u,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(u=>ir(u,l))||s.push(l))}return[n,r,s]}let Z_=()=>location.protocol+"//"+location.host;function nd(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),Pl(a,"")}return Pl(n,e)+r+s}function eb(e,t,n,r){let s=[],o=[],i=null;const a=({state:d})=>{const h=nd(e,location),_=n.value,m=t.value;let R=0;if(d){if(n.value=h,t.value=d,i&&i===_){i=null;return}R=m?d.position-m.position:0}else r(h);s.forEach(b=>{b(n.value,_,{delta:R,type:Ti.pop,direction:R?R>0?Ho.forward:Ho.back:Ho.unknown})})};function l(){i=n.value}function u(d){s.push(d);const h=()=>{const _=s.indexOf(d);_>-1&&s.splice(_,1)};return o.push(h),h}function c(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(he({},d.state,{scroll:ao()}),"")}}function f(){for(const d of o)d();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:u,destroy:f}}function Ml(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ao():null}}function tb(e){const{history:t,location:n}=window,r={value:nd(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Z_()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(h){console.error(h),n[c?"replace":"assign"](d)}}function i(l,u){o(l,he({},t.state,Ml(s.value.back,l,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=l}function a(l,u){const c=he({},s.value,t.state,{forward:l,scroll:ao()});o(c.current,c,!0),o(l,he({},Ml(r.value,l,null),{position:c.position+1},u),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function nb(e){e=$_(e);const t=tb(e),n=eb(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=he({location:"",base:e,go:r,createHref:j_.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Tn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Me=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Me||{});const rb={type:Tn.Static,value:""},sb=/[a-zA-Z0-9_]/;function ob(e){if(!e)return[[]];if(e==="/")return[[rb]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=Me.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,u="",c="";function f(){u&&(n===Me.Static?o.push({type:Tn.Static,value:u}):n===Me.Param||n===Me.ParamRegExp||n===Me.ParamRegExpEnd?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Tn.Param,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;at.length?t.length===1&&t[0]===Xe.Static+Xe.Segment?1:-1:0}function rd(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ub={strict:!1,end:!0,sensitive:!1};function fb(e,t,n){const r=lb(ob(e.path),n),s=he(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function db(e,t){const n=[],r=new Map;t=Al(ub,t);function s(f){return r.get(f)}function o(f,d,h){const _=!h,m=$l(f);m.aliasOf=h&&h.record;const R=Al(t,f),b=[m];if("alias"in f){const y=typeof f.alias=="string"?[f.alias]:f.alias;for(const C of y)b.push($l(he({},m,{components:h?h.record.components:m.components,path:C,aliasOf:h?h.record:m})))}let E,g;for(const y of b){const{path:C}=y;if(d&&C[0]!=="/"){const A=d.record.path,L=A[A.length-1]==="/"?"":"/";y.path=d.record.path+(C&&L+C)}if(E=fb(y,d,R),h?h.alias.push(E):(g=g||E,g!==E&&g.alias.push(E),_&&f.name&&!Ul(E)&&i(f.name)),sd(E)&&l(E),m.children){const A=m.children;for(let L=0;L{i(g)}:Ir}function i(f){if(ed(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=gb(f,n);n.splice(d,0,f),f.record.name&&!Ul(f)&&r.set(f.record.name,f)}function u(f,d){let h,_={},m,R;if("name"in f&&f.name){if(h=r.get(f.name),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f});R=h.record.name,_=he(Hl(d.params,h.keys.filter(g=>!g.optional).concat(h.parent?h.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&Hl(f.params,h.keys.map(g=>g.name))),m=h.stringify(_)}else if(f.path!=null)m=f.path,h=n.find(g=>g.re.test(m)),h&&(_=h.parse(m),R=h.record.name);else{if(h=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f,currentLocation:d});R=h.record.name,_=he({},d.params,f.params),m=h.stringify(_)}const b=[];let E=h;for(;E;)b.unshift(E.record),E=E.parent;return{name:R,path:m,params:_,matched:b,meta:pb(b)}}e.forEach(f=>o(f));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function Hl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function $l(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:hb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function hb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ul(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pb(e){return e.reduce((t,n)=>he(t,n.meta),{})}function gb(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;rd(e,t[o])<0?r=o:n=o+1}const s=mb(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function mb(e){let t=e;for(;t=t.parent;)if(sd(t)&&rd(e,t)===0)return t}function sd({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function jl(e){const t=xe(lo),n=xe(ha),r=ke(()=>{const l=me(e.to);return t.resolve(l)}),s=ke(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(ir.bind(null,c));if(d>-1)return d;const h=Bl(l[u-2]);return u>1&&Bl(c)===h&&f[f.length-1].path!==h?f.findIndex(ir.bind(null,l[u-2])):d}),o=ke(()=>s.value>-1&&Eb(n.params,r.value.params)),i=ke(()=>s.value>-1&&s.value===n.matched.length-1&&Zf(n.params,r.value.params));function a(l={}){if(vb(l)){const u=t[me(e.replace)?"replace":"push"](me(e.to)).catch(Ir);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:ke(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function yb(e){return e.length===1?e[0]:e}const _b=bt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:jl,setup(e,{slots:t}){const n=sn(jl(e)),{options:r}=xe(lo),s=ke(()=>({[Vl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Vl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&yb(t.default(n));return e.custom?o:Ie("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),bb=_b;function vb(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Eb(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!St(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function Bl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Vl=(e,t,n)=>e??t??n,wb=bt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=xe(ki),s=ke(()=>e.route||r.value),o=xe(xl,0),i=ke(()=>{let u=me(o);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=ke(()=>s.value.matched[i.value]);gn(xl,ke(()=>i.value+1)),gn(Q_,a),gn(ki,s);const l=et();return lt(()=>[l.value,a.value,e.name],([u,c,f],[d,h,_])=>{c&&(c.instances[f]=u,h&&h!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),u&&c&&(!h||!ir(c,h)||!d)&&(c.enterCallbacks[f]||[]).forEach(m=>m(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return Wl(n.default,{Component:d,route:u});const h=f.props[c],_=h?h===!0?u.params:typeof h=="function"?h(u):h:null,R=Ie(d,he({},_,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return Wl(n.default,{Component:R,route:u})||R}}});function Wl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const od=wb;function Cb(e){const t=db(e.routes,e),n=e.parseQuery||X_,r=e.stringifyQuery||Nl,s=e.history,o=vr(),i=vr(),a=vr(),l=Nn(ht);let u=ht;Bn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Do.bind(null,H=>""+H),f=Do.bind(null,I_),d=Do.bind(null,Vr);function h(H,Y){let B,Q;return ed(H)?(B=t.getRecordMatcher(H),Q=Y):Q=H,t.addRoute(Q,B)}function _(H){const Y=t.getRecordMatcher(H);Y&&t.removeRoute(Y)}function m(){return t.getRoutes().map(H=>H.record)}function R(H){return!!t.getRecordMatcher(H)}function b(H,Y){if(Y=he({},Y||l.value),typeof H=="string"){const S=Fo(n,H,Y.path),P=t.resolve({path:S.path},Y),U=s.createHref(S.fullPath);return he(S,P,{params:d(P.params),hash:Vr(S.hash),redirectedFrom:void 0,href:U})}let B;if(H.path!=null)B=he({},H,{path:Fo(n,H.path,Y.path).path});else{const S=he({},H.params);for(const P in S)S[P]==null&&delete S[P];B=he({},H,{params:f(S)}),Y.params=f(Y.params)}const Q=t.resolve(B,Y),ne=H.hash||"";Q.params=c(d(Q.params));const _e=M_(r,he({},H,{hash:A_(ne),path:Q.path})),v=s.createHref(_e);return he({fullPath:_e,hash:ne,query:r===Nl?J_(H.query):H.query||{}},Q,{redirectedFrom:void 0,href:v})}function E(H){return typeof H=="string"?Fo(n,H,l.value.path):he({},H)}function g(H,Y){if(u!==H)return ar(Te.NAVIGATION_CANCELLED,{from:Y,to:H})}function y(H){return L(H)}function C(H){return y(he(E(H),{replace:!0}))}function A(H,Y){const B=H.matched[H.matched.length-1];if(B&&B.redirect){const{redirect:Q}=B;let ne=typeof Q=="function"?Q(H,Y):Q;return typeof ne=="string"&&(ne=ne.includes("?")||ne.includes("#")?ne=E(ne):{path:ne},ne.params={}),he({query:H.query,hash:H.hash,params:ne.path!=null?{}:H.params},ne)}}function L(H,Y){const B=u=b(H),Q=l.value,ne=H.state,_e=H.force,v=H.replace===!0,S=A(B,Q);if(S)return L(he(E(S),{state:typeof S=="object"?he({},ne,S.state):ne,force:_e,replace:v}),Y||B);const P=B;P.redirectedFrom=Y;let U;return!_e&&D_(r,Q,B)&&(U=ar(Te.NAVIGATION_DUPLICATED,{to:P,from:Q}),qe(Q,Q,!0,!1)),(U?Promise.resolve(U):D(P,Q)).catch(M=>Vt(M)?Vt(M,Te.NAVIGATION_GUARD_REDIRECT)?M:nt(M):q(M,P,Q)).then(M=>{if(M){if(Vt(M,Te.NAVIGATION_GUARD_REDIRECT))return L(he({replace:v},E(M.to),{state:typeof M.to=="object"?he({},ne,M.to.state):ne,force:_e}),Y||P)}else M=$(P,Q,!0,v,ne);return W(P,Q,M),M})}function F(H,Y){const B=g(H,Y);return B?Promise.reject(B):Promise.resolve()}function N(H){const Y=Tt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext(H):H()}function D(H,Y){let B;const[Q,ne,_e]=z_(H,Y);B=$o(Q.reverse(),"beforeRouteLeave",H,Y);for(const S of Q)S.leaveGuards.forEach(P=>{B.push(dn(P,H,Y))});const v=F.bind(null,H,Y);return B.push(v),Ve(B).then(()=>{B=[];for(const S of o.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).then(()=>{B=$o(ne,"beforeRouteUpdate",H,Y);for(const S of ne)S.updateGuards.forEach(P=>{B.push(dn(P,H,Y))});return B.push(v),Ve(B)}).then(()=>{B=[];for(const S of _e)if(S.beforeEnter)if(St(S.beforeEnter))for(const P of S.beforeEnter)B.push(dn(P,H,Y));else B.push(dn(S.beforeEnter,H,Y));return B.push(v),Ve(B)}).then(()=>(H.matched.forEach(S=>S.enterCallbacks={}),B=$o(_e,"beforeRouteEnter",H,Y,N),B.push(v),Ve(B))).then(()=>{B=[];for(const S of i.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).catch(S=>Vt(S,Te.NAVIGATION_CANCELLED)?S:Promise.reject(S))}function W(H,Y,B){a.list().forEach(Q=>N(()=>Q(H,Y,B)))}function $(H,Y,B,Q,ne){const _e=g(H,Y);if(_e)return _e;const v=Y===ht,S=Bn?history.state:{};B&&(Q||v?s.replace(H.fullPath,he({scroll:v&&S&&S.scroll},ne)):s.push(H.fullPath,ne)),l.value=H,qe(H,Y,B,v),nt()}let X;function te(){X||(X=s.listen((H,Y,B)=>{if(!Lt.listening)return;const Q=b(H),ne=A(Q,Lt.currentRoute.value);if(ne){L(he(ne,{replace:!0,force:!0}),Q).catch(Ir);return}u=Q;const _e=l.value;Bn&&W_(Il(_e.fullPath,B.delta),ao()),D(Q,_e).catch(v=>Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_CANCELLED)?v:Vt(v,Te.NAVIGATION_GUARD_REDIRECT)?(L(he(E(v.to),{force:!0}),Q).then(S=>{Vt(S,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&!B.delta&&B.type===Ti.pop&&s.go(-1,!1)}).catch(Ir),Promise.reject()):(B.delta&&s.go(-B.delta,!1),q(v,Q,_e))).then(v=>{v=v||$(Q,_e,!1),v&&(B.delta&&!Vt(v,Te.NAVIGATION_CANCELLED)?s.go(-B.delta,!1):B.type===Ti.pop&&Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),W(Q,_e,v)}).catch(Ir)}))}let se=vr(),K=vr(),J;function q(H,Y,B){nt(H);const Q=K.list();return Q.length?Q.forEach(ne=>ne(H,Y,B)):console.error(H),Promise.reject(H)}function re(){return J&&l.value!==ht?Promise.resolve():new Promise((H,Y)=>{se.add([H,Y])})}function nt(H){return J||(J=!H,te(),se.list().forEach(([Y,B])=>H?B(H):Y()),se.reset()),H}function qe(H,Y,B,Q){const{scrollBehavior:ne}=e;if(!Bn||!ne)return Promise.resolve();const _e=!B&&K_(Il(H.fullPath,0))||(Q||!B)&&history.state&&history.state.scroll||null;return nn().then(()=>ne(H,Y,_e)).then(v=>v&&V_(v)).catch(v=>q(v,H,Y))}const $e=H=>s.go(H);let Rt;const Tt=new Set,Lt={currentRoute:l,listening:!0,addRoute:h,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:R,getRoutes:m,resolve:b,options:e,push:y,replace:C,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:K.add,isReady:re,install(H){H.component("RouterLink",bb),H.component("RouterView",od),H.config.globalProperties.$router=Lt,Object.defineProperty(H.config.globalProperties,"$route",{enumerable:!0,get:()=>me(l)}),Bn&&!Rt&&l.value===ht&&(Rt=!0,y(s.location).catch(Q=>{}));const Y={};for(const Q in ht)Object.defineProperty(Y,Q,{get:()=>l.value[Q],enumerable:!0});H.provide(lo,Lt),H.provide(ha,Dt(Y)),H.provide(ki,l);const B=H.unmount;Tt.add(H),H.unmount=function(){Tt.delete(H),Tt.size<1&&(u=ht,X&&X(),X=null,l.value=ht,Rt=!1,J=!1),B()}}};function Ve(H){return H.reduce((Y,B)=>Y.then(()=>N(B)),Promise.resolve())}return Lt}function H0(){return xe(lo)}function id(e){return xe(ha)}const Sb=/(:\w+)\([^)]+\)/g,Rb=/(:\w+)[?+*]/g,Tb=/:\w+/g,Lb=(e,t)=>t.path.replace(Sb,"$1").replace(Rb,"$1").replace(Tb,n=>e.params[n.slice(1)]?.toString()||""),Ai=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Lb(e.route,n));return typeof r=="function"?r(e.route):r},kb=(e,t)=>({default:()=>e?Ie(ip,e===!0?{}:e,t):t});function ad(e){return Array.isArray(e)?e:[e]}const Ab="modulepreload",Pb=function(e,t){return new URL(e,t).href},Kl={},it=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let u=function(c){return Promise.all(c.map(f=>Promise.resolve(f).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=u(n.map(c=>{if(c=Pb(c,r),c in Kl)return;Kl[c]=!0;const f=c.endsWith(".css"),d=f?'[rel="stylesheet"]':"";if(r)for(let _=i.length-1;_>=0;_--){const m=i[_];if(m.href===c&&(!f||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${d}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":Ab,f||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),f)return new Promise((_,m)=>{h.addEventListener("load",_),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},Ob={layout:"blank"},Uo=[{name:"index",path:"/",meta:{middleware:"auth"},component:()=>it(()=>import("./D5l8f-my.js"),[],import.meta.url)},{name:"login",path:"/login",meta:Ob||{},component:()=>it(()=>import("./C8W4Ef6u.js"),__vite__mapDeps([0,1,2]),import.meta.url)},{name:"garages",path:"/garages",meta:{middleware:"auth"},component:()=>it(()=>import("./C3lSWcZz.js"),[],import.meta.url)},{name:"packages",path:"/packages",meta:{middleware:"auth"},component:()=>it(()=>import("./d4dk63Pu.js"),__vite__mapDeps([3,4]),import.meta.url)},{name:"permissions",path:"/permissions",meta:{middleware:"auth"},component:()=>it(()=>import("./DyJFDhDL.js"),[],import.meta.url)},{name:"garages-id",path:"/garages/:id()",meta:{middleware:"auth"},component:()=>it(()=>import("./KwNF0Piy.js"),[],import.meta.url)}],ld=(e,t)=>({default:()=>e?Ie(ag,e===!0?{}:e,t):t.default?.()}),Ib=/(:\w+)\([^)]+\)/g,Nb=/(:\w+)[?+*]/g,xb=/:\w+/g;function Gl(e){const t=e?.meta.key??e.path.replace(Ib,"$1").replace(Nb,"$1").replace(xb,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function Mb(e,t){return e===t||t===ht?!1:Gl(e)!==Gl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ql(e){return Array.isArray(e)?e:[e]}function cd(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ql(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ql(n.onBeforeLeave):void 0});return Lf(...t)}const Db={scrollBehavior(e,t,n){const r=ue(),s=tt().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:ud(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===ht?Yl(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(Yl(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function ud(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Yl(e,t,n,r){return n||(e.hash?{el:e.hash,top:ud(e.hash),behavior:Mb(e,t)?r:"instant"}:{left:0,top:0})}const Fb={hashMode:!1,scrollBehaviorType:"auto"},cn={...Fb,...Db},Hb=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=On(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=In({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},$b=e=>{const t=Kf({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return an(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},Ub=[Hb,$b],Pi={auth:()=>it(()=>import("./DSOY2KzZ.js"),__vite__mapDeps([5,2]),import.meta.url)};function jb(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const u=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(u);return c[0]!=="/"&&(c="/"+c),hl(c,"")}const a=hl(r,e),l=!n||_f(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const Bb=Ge({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=oo().app.baseURL;const s=cn.history?.(r)??nb(r),o=cn.routes?([t,n]=On(()=>cn.routes(Uo)),t=await t,n(),t??Uo):Uo;let i;const a=Cb({...cn,scrollBehavior:(b,E,g)=>{if(E===ht){i=g;return}if(cn.scrollBehavior){if(a.options.scrollBehavior=cn.scrollBehavior,"scrollRestoration"in window.history){const y=a.beforeEach(()=>{y(),window.history.scrollRestoration="manual"})}return cn.scrollBehavior(b,ht,i||g)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Nn(a.currentRoute.value);a.afterEach((b,E)=>{l.value=E}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=jb(r,window.location,e.payload.path),c=Nn(a.currentRoute.value),f=()=>{c.value=a.currentRoute.value};a.afterEach((b,E)=>{const g=b.matched.at(-1)?.components?.default,y=E.matched.at(-1)?.components?.default;if(g===y){f();return}b.matched.lengthC.components?.default===E.matched[A]?.components?.default)&&f()});const d={sync:f};for(const b in c.value)Object.defineProperty(d,b,{get:()=>c.value[b],enumerable:!0});e._route=Dt(d),e._middleware||={global:[],named:{}};const h=io();a.afterEach(async(b,E,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(ny),g&&await e.callHook("page:loading:end")});try{[t,n]=On(()=>a.isReady()),await t,n()}catch(b){[t,n]=On(()=>e.runWithContext(()=>Rn(b))),await t,n()}const _=u!==a.currentRoute.value.fullPath?a.resolve(u):a.currentRoute.value,m=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&u!==e.payload.path&&_f(a.currentRoute.value.path,e.payload.path);f();const R=e.payload.state._layout;return a.beforeEach(async(b,E)=>{await e.callHook("page:loading:start"),b.meta=sn(b.meta),e.isHydrating&&R&&!Ut(b.meta.layout)&&(b.meta.layout=R),e._processingMiddleware=!0;{const g=new Set([...Ub,...e._middleware.global]);for(const C of b.matched){const A=C.meta.middleware;if(A)for(const L of ad(A))g.add(L)}const y=Kf({path:b.path});if(y.appMiddleware)for(const C in y.appMiddleware)y.appMiddleware[C]?g.add(C):g.delete(C);for(const C of g){const A=typeof C=="string"?e._middleware.named[C]||await Pi[C]?.().then(L=>L.default||L):C;if(!A)throw new Error(`Unknown route middleware: '${C}'.`);try{const L=await e.runWithContext(()=>A(b,E));if(!e.payload.serverRendered&&e.isHydrating&&(L===!1||L instanceof Error)){const F=L||In({status:404,statusText:`Page Not Found: ${u}`});return await e.runWithContext(()=>Rn(F)),!1}if(L===!0)continue;if(L===!1)return L;if(L)return Of(L)&&L.fatal&&await e.runWithContext(()=>Rn(L)),L}catch(L){const F=In(L);return F.fatal&&await e.runWithContext(()=>Rn(F)),F}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(b=>{if(b.matched.length===0&&!h.value)return e.runWithContext(()=>Rn(In({status:404,fatal:!1,statusText:`Page not found: ${b.fullPath}`,data:{path:b.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in _&&(_.name=void 0),m){const b=a.resolve(e.payload.path);"name"in b&&(b.name=void 0),await a.replace({...b,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({..._,force:!0})})}else await a.replace({..._,force:!0});a.options.scrollBehavior=cn.scrollBehavior}catch(b){await e.runWithContext(()=>Rn(b))}}),{provide:{router:a}}}}),Xl=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),$0=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),pa=e=>{const t=ue();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Xl(()=>e())}):Xl(()=>e())},Vb=Ge({name:"nuxt:payload",setup(e){const t=new Set;tt().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await kl(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),pa(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await kl().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Wf,1e3)})}}),Wb=Ge(()=>{const e=tt();pa(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Kb=Ge(e=>{let t;async function n(){let r;try{r=await Wf()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,bl);try{const s=await $fetch(la("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}pa(()=>{t=setTimeout(n,bl)})});function Gb(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&ui(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=Ur(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=Pn(n.app.baseURL,o.fullPath);Gb({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function Jl(e){return typeof e=="string"?`'${e}'`:new Yb().serialize(e)}const Yb=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})();function Xb(e,t){return e===t||Jl(e)===Jl(t)}const Jb="$s";function fd(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const s=Jb+n,o=ue(),i=lu(o.payload.state,s);if(i.value===void 0&&r){const a=r();if(ve(a))return o.payload.state[s]=a,a;i.value=a}return i}const Qb=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function zb(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n=new Qb,r=t||{},s=r.decode||Zb;let o=0;for(;o{const t=decodeURIComponent(e),n=Ur(t);return typeof n=="number"&&(!Number.isFinite(n)||String(n)!==t)?t:n},encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},ds=globalThis.cookieStore;function dd(e,t){const n={...nv,...t};n.filter??=u=>u===e;const r=zl(n)||{};let s;n.maxAge!==void 0?s=n.maxAge*1e3:n.expires&&(s=n.expires.getTime()-Date.now());const o=s!==void 0&&s<=0,i=o||r[e]===void 0||r[e]===null,a=vt(o?void 0:r[e]??n.default?.()),l=s&&!o?ov(a,s,n.watch&&n.watch!=="shallow"):et(a);{let u=null;try{!ds&&typeof BroadcastChannel<"u"&&(u=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const c=(_=!1)=>{!_&&(n.readonly||Xb(l.value,r[e]))||(sv(e,l.value,n),r[e]=vt(l.value),u?.postMessage({value:n.encode(l.value)}))},f=_=>{const m=_.refresh?zl(n)?.[e]:n.decode(_.value);d=!0,l.value=m,r[e]=vt(m),nn(()=>{d=!1})};let d=!1;const h=!!dr();if(h&&Nr(()=>{d=!0,c(),u?.close()}),ds){const _=m=>{const R=m.changed.find(E=>E.name===e),b=m.deleted.find(E=>E.name===e);R&&f({value:R.value}),b&&f({value:null})};ds.addEventListener("change",_),h&&Nr(()=>ds.removeEventListener("change",_))}else u&&(u.onmessage=({data:_})=>f(_));n.watch&<(l,()=>{d||c()},{deep:n.watch!=="shallow"}),i&&c(i)}return l}function zl(e={}){return zb(document.cookie,e)}function rv(e,t,n={}){return t==null?Ql(e,t,{...n,maxAge:-1}):Ql(e,t,n)}function sv(e,t,n={}){document.cookie=rv(e,t,n)}const Zl=2147483647;function ov(e,t,n){let r,s,o=0;const i=n?et(e):{value:e};return dr()&&Nr(()=>{s?.(),clearTimeout(r)}),Dh((a,l)=>{n&&(s=lt(i,l));function u(){const f=t-o,d=f{if(o+=d,o4)return Promise.all(s).then(()=>av(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}function hd(e){return new URL(globalThis.location.href)}const lv=Ge({name:"pinia",setup(e){const t=ry();return e.vueApp.use(t),or(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ue();e.payload.pinia=ae(e.$pinia).state.value,or(void 0)}}}),cv=Ge({name:"nuxt:global-components"}),pn={blank:Rs(()=>it(()=>import("./B2nIQl38.js"),__vite__mapDeps([6,7]),import.meta.url).then(e=>e.default||e)),default:Rs(()=>it(()=>import("./BezjjCqI.js"),__vite__mapDeps([8,1,4,2]),import.meta.url).then(e=>e.default||e))},uv=Ge({name:"nuxt:prefetch",setup(e){const t=tt();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof pn[r]=="function"&&await pn[r]()})}),e.hooks.hook("link:prefetch",n=>{if(an(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=ad(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof Pi[i]=="function"&&Pi[i]();typeof s=="string"&&s in pn&&iv(pn[s])})}});function fv(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ms=typeof window<"u",yn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),dv=(e,t,n)=>hv({l:e,k:t,s:n}),hv=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),pd=e=>uo(e)==="[object Date]",Ds=e=>uo(e)==="[object RegExp]",co=e=>fe(e)&&Object.keys(e).length===0,Ae=Object.assign,pv=Object.create,ye=(e=null)=>pv(e);function ec(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function tc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function gv(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,s,o)=>`${s}="${tc(o)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,s,o)=>`${s}='${tc(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const mv=Object.prototype.hasOwnProperty;function mt(e,t){return mv.call(e,t)}const Le=Array.isArray,Ce=e=>typeof e=="function",G=e=>typeof e=="string",Se=e=>typeof e=="boolean",ce=e=>e!==null&&typeof e=="object",yv=e=>ce(e)&&Ce(e.then)&&Ce(e.catch),gd=Object.prototype.toString,uo=e=>gd.call(e),fe=e=>uo(e)==="[object Object]",_v=e=>e==null?"":Le(e)||fe(e)&&e.toString===gd?JSON.stringify(e,null,2):String(e);function ga(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}const hs=e=>!ce(e)||Le(e);function zn(e,t){if(hs(e)||hs(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(o=>{o!=="__proto__"&&(ce(r[o])&&!ce(s[o])&&(s[o]=Array.isArray(r[o])?[]:ye()),hs(s[o])||hs(r[o])?s[o]=r[o]:n.push({src:r[o],des:s[o]}))})}}function bv(e,t=e.getCurrentLanguage(),n=e.getCurrentDirection()){const r={htmlAttrs:{},link:[],meta:[]};if(e.dir&&(r.htmlAttrs.dir=n),e.lang&&t&&(r.htmlAttrs.lang=t),e.seo){const s=Ev(e);r.link=r.link.concat(s,Cv(e)),r.meta=r.meta.concat(Sv(e),Rv(e),Tv(e,e.locales.map(o=>o.language||o.code)))}return r}function vv(e){const t=new Map;for(const n of e){if(!n.language){console.warn("Locale `language` ISO code is required to generate alternate link");continue}const[r,s]=n.language.split("-");r&&s&&(n.isCatchallLocale||!t.has(r))&&t.set(r,n),t.set(n.language,n)}return t}function Ev(e){if(!e.hreflangLinks)return[];const t=[],n=vv(e.locales);for(const[r,s]of n.entries()){const o=wv(r,s,e);o&&(t.push(o),e.defaultLocale&&e.defaultLocale===s.code&&t[0].hreflang!=="x-default"&&t.unshift({[e.key]:"i18n-xd",rel:"alternate",href:o.href,hreflang:"x-default"}))}return t}function wv(e,t,n,r=n.strictCanonicals?n.getRouteWithoutQuery():void 0){const s=n.getLocalizedRoute(t.code,r);if(!s)return;const o=so(an(s)?s:Pn(n.baseUrl,s),n.strictCanonicals?yd(n):{});return{[n.key]:`i18n-alt-${e}`,rel:"alternate",href:o,hreflang:e}}function md(e,t=e.getCurrentRoute()){const n=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}));return n?so(Pn(e.baseUrl,n.path),yd(e)):""}function Cv(e,t=md(e)){return t?[{[e.key]:"i18n-can",rel:"canonical",href:t}]:[]}function yd(e,t=e.getCurrentRoute()){const r=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}))?.query??{},s={};for(const o of e.canonicalQueries.filter(i=>i in r)){s[o]??=[];for(const i of Lv(r[o]))s[o].push(i||"")}return s}function Sv(e,t=md(e)){return t?[{[e.key]:"i18n-og-url",property:"og:url",content:t}]:[]}function Rv(e,t=e.getCurrentLanguage()){return t?[{[e.key]:"i18n-og",property:"og:locale",content:_d(t)}]:[]}function Tv(e,t,n=e.getCurrentLanguage()){return t.filter(s=>s&&s!==n).map(s=>({[e.key]:`i18n-og-alt-${s}`,property:"og:locale:alternate",content:_d(s)}))}function _d(e=""){return e.replace(/-/g,"_")}function Lv(e){return Array.isArray(e)?e:[e]}function bd(e,t,n=e.getLocale()){if(G(t)&&an(t,{acceptRelative:!0}))return t;try{return Ed(e,t,n).fullPath}catch{return""}}function vd(e,t,n=e.getLocale()){try{return Ed(e,t,n)}catch{return}}function kv(e){if(!G(e))return Ae({},e);if(e[0]==="/"){const{pathname:t,search:n,hash:r}=di(e);return{path:t,query:oa(n),hash:r}}return{name:e}}function Ed(e,t,n){const r=kv(t),s=e.router.resolve(e.resolveLocalizedRouteObject(r,n));return s.name?s:e.router.resolve(t)}function wd(e,t,n=e.router.currentRoute.value){const r=e.getRouteBaseName(n);if(!r)return"";const s={name:r,params:Ae({},n.params,e.getLocalizedDynamicParams(t)),fullPath:n.fullPath,query:n.query,hash:n.hash,path:n.path,meta:n.meta},o=bd(e,s,t);return e.afterSwitchLocalePath(o,t)}function Av(e,t,n=e.getLocale(),r=e.getLocales(),s=e.getBaseUrl()){const o=r.find(a=>a.code===n)||{},i=typeof t.seo=="object"&&t.seo?.canonicalQueries||[];return s||console.warn("I18n `baseUrl` is required to generate valid SEO tag links."),{...t,key:"id",locales:r,baseUrl:s,canonicalQueries:i,hreflangLinks:e.routingOptions.hreflangLinks,defaultLocale:e.routingOptions.defaultLocale,strictCanonicals:e.routingOptions.strictCanonicals,getRouteBaseName:e.getRouteBaseName,getCurrentRoute:()=>e.router.currentRoute.value,getCurrentLanguage:()=>o.language,getCurrentDirection:()=>o.dir||"ltr",getLocaleRoute:a=>vd(e,a),getLocalizedRoute:(a,l)=>wd(e,a,l),getRouteWithoutQuery:()=>{try{return Ae({},e.router.resolve({query:{}}),{meta:e.router.currentRoute.value.meta})}catch{return}}}}function Pv(e,{dir:t=!0,lang:n=!0,seo:r=!0}){return bv(Av(e,{dir:t,lang:n,seo:r}))}function Ov(e=0){return t=>{const s=(typeof t=="string"?t:t.pathname).split("?")[0].split("/");return s[0]===""&&s.shift(),s.length>e&&s[e]||""}}const Cd="___";function Sd(e){return typeof e=="string"?e:e!=null?e.toString():""}function jo(e){return Sd(typeof e=="object"?e?.name:e).split(Cd)[0]}const Iv=Ov(0),Oi=e=>Iv(e),Nv=e=>e.split(Cd).at(1)??"";function xv(e){return String(typeof e!="object"?e:e?.name||e?.path||"")}function Mv(e){const t=xv(e);if(t[0]==="/")return Oi(t);const n=Nv(t);return n||(typeof e=="object"&&e?.path?Oi(String(e.path)):"")}function Dv(e){return t=>Sd(t)}function Fv(e){return t=>t}const Wr=["hu","en"],Fs={hu:[{key:"locale_hu_46json_ee06c965",load:()=>it(()=>import("./DiHJCuau.js"),[],import.meta.url),cache:!0}],en:[{key:"locale_en_46json_0b63539c",load:()=>it(()=>import("./HwQw-d2b.js"),[],import.meta.url),cache:!0}]},Hv=[],es=[{code:"hu",iso:"hu-HU",name:"Magyar",language:void 0},{code:"en",iso:"en-GB",name:"English",language:void 0}],Rd=new Map,$v=Tf((e,t,n)=>{if(t==="messages"||t==="datetimeFormats"||t==="numberFormats")return e[t]??=ye(null),zn(n,e[t]),!0});async function Uv(e){const t=ue();let n={messages:ye(null)};for(const r of e){const s=await r().then(i=>Td(i)?i.default:i),o=Ce(s)?await t.runWithContext(()=>s()):s;n=$v(ye(null),o,n)}return n.fallbackLocale??=!1,n}const Td=e=>uo(e)==="[object Module]";async function jv(e,t){const n=ue();try{const r=await n.runWithContext(t.load).then(s=>Td(s)?s.default:s);return Ce(r)?await n.runWithContext(()=>r(e)):r}catch(r){throw new Error(`Failed loading locale (${e}): `+r.message)}}async function Bv(e,t=[]){const n=ue(),r=await Promise.all(t.map(async o=>{const i=Vv(o),a=i||await n.runWithContext(()=>jv(e,o));return!i&&o.cache!==!1&&Rd.set(o.key,{ttl:Date.now()+86400*1e3,value:a}),a})),s={};for(const o of r)zn(o,s);return s}function Vv(e){if(e.cache===!1)return;const t=Rd.get(e.key);if(t!=null)return t.ttl>Date.now()?t.value:void 0}function ma(e){return e!=null&&"global"in e&&"mode"in e?e.global:e}function ps(e){const t=ma(e);return"__composer"in t?t.__composer:t}function fo(e,t){return e?e.$config.public.i18n:oo().public.i18n}function ho(e){const t=fo(e).detectBrowserLanguage,n=t||{};return{...n,enabled:!!t,cookieKey:n.cookieKey||"i18n_redirected"}}function Wv(e){if(e)return{path:"/"+(G(e)?e:e.path).replace(/^\//,""),code:!G(e)&&e.statusCode||302}}function Kv(e){return Array.isArray(e)?e:[e]}function Gv(e,t,n){const r=(o="")=>o.replace(/https?:\/\//,""),s=e.filter(o=>r(o.domain)===t||Kv(o.domains).includes(t));return s.length<=1?s[0]?.code:s.find(o=>o.code===n)?.code||s.find(o=>o.defaultForDomains?.includes(t)??o.domainDefault)?.code}function qv(e,t,n){const r=es.find(o=>o.code===n),s=e?.[n]?.domain||r?.domain||r?.domains?.find(o=>o===t.host);if(s)return an(s,{strict:!0})?s:t.protocol+"//"+s}function Yv(e){const t={};for(const n of Wr){const r=Xv(e,[n]),s=Jv(n,r);t[n]={fallbacks:r,cacheable:s}}return t}function Xv(e,t){if(e===!1)return[];if(Le(e))return e;let n=[];if(G(e))return t.every(s=>s!==e)&&n.push(e),n;const r=[...t,"default"];for(const s of r)s in e&&(n=[...n,...e[s].filter(Boolean)]);return n}function nc(e){return Fs[e]!=null&&Fs[e].every(t=>t.cache!==!1)}function Jv(e,t){return nc(e)&&t.every(n=>nc(n))}function Qv(e){return es.find(t=>!!t.defaultForDomains?.includes(e))?.code}const Zn=e=>Wr.includes(e||""),rc=e=>Zn(e)?e:void 0;var zv={hu:"bb1d6803",en:"bb1d6803"};const Ld=()=>fd("i18n:cached-locale-configs",()=>{}),kd=()=>fd("i18n:resolved-locale",()=>"");function Zv({cookieCrossOrigin:e,cookieDomain:t,cookieSecure:n,cookieKey:r}){const s=new Date;return dd(r||"i18n_redirected",{path:"/",readonly:!1,expires:new Date(s.setDate(s.getDate()+365)),sameSite:e?"none":"lax",domain:t||void 0,secure:e||n})}function eE(e,t,n){const r=ma(t),s=fo(e),o=ho(e),i=Ld(),a=Zv(o),l=new Set,u=R=>i.value[R],c=R=>qv(s.domainLocales,hd(),R),f=pE(e,s.baseUrl),d=kd(),h=async R=>{const b=u(R)?.fallbacks??[];b.includes(R)||b.push(R);for(const E of b){const g=await e.runWithContext(()=>Bv(E,Fs[E]));r.mergeLocaleMessage(E,g)}},_=async R=>{if(!(R in Fs))return;const b=u(R)?.cacheable?{}:{"Cache-Control":"no-cache"},g=Pn("","/_i18n",zv[R],R,"messages.json"),y=await $fetch(g,{headers:b});for(const C of Object.keys(y))r.mergeLocaleMessage(C,y[C])},m={vueI18n:t,initial:!0,preloaded:!1,config:s,rootRedirect:Wv(s.rootRedirect),redirectStatusCode:s.redirectStatusCode??302,dynamicResourcesSSG:!1,getDefaultLocale:()=>n,getLocale:()=>me(r.locale),setLocale:async R=>{const b=m.getLocale();R===b||!Zn(R)||(ve(r.locale)?r.locale.value=R:r.locale=R,await e.callHook("i18n:localeSwitched",{newLocale:R,oldLocale:b}),d.value=R)},setLocaleSuspend:async R=>{Zn(R)&&(m.vueI18n.__pendingLocale=R,m.vueI18n.__pendingLocalePromise=new Promise(b=>{m.vueI18n.__resolvePendingLocalePromise=async()=>{m.setCookieLocale(R),await m.setLocale(R),m.vueI18n.__pendingLocale=void 0,b()}}),(e.isHydrating||!m.config.skipSettingLocaleOnNavigate)&&await m.vueI18n.__resolvePendingLocalePromise?.())},getLocales:()=>me(r.locales).map(R=>G(R)?{code:R}:R),setCookieLocale:R=>{o.useCookie&&Zn(R)&&(a.value=R)},getBaseUrl:R=>Pn(R&&c(R)||f(),e.$config.app.baseURL),loadMessages:async R=>{if(!(e.isHydrating&&l.has(R)))try{return m.dynamicResourcesSSG?await h(R):await _(R)}catch(b){console.warn(`Failed to load messages for locale "${R}"`,b)}finally{l.add(R)}},composableCtx:void 0};return m.composableCtx=uE(m,e),m}function ya(e){if(e._nuxtI18n==null)throw new Error("Nuxt I18n context has not been set up yet.");return e._nuxtI18n}function tE(e,t){const n=[];for(const[r,s]of t.entries()){const o=e.find(i=>i.language?.toLowerCase()===s.toLowerCase());if(o){n.push({code:o.code,score:1-r/t.length});break}}for(const[r,s]of t.entries()){const o=s.split("-")[0].toLowerCase(),i=e.find(a=>a.language?.split("-")[0].toLowerCase()===o);if(i){n.push({code:i.code,score:.999-r/t.length});break}}return n}function nE(e,t){return e.score===t.score?t.code.length-e.code.length:t.score-e.score}function rE(e,t){return tE(e.map(r=>({code:r.code,language:r.language||r.code})),t).sort(nE).at(0)?.code??""}const sE=(e,t)=>dd(t).value||void 0,oE=(e,t)=>Mv(t),iE=e=>rE(es,navigator.languages),aE=(e,t,n)=>{const r=new URL(window.location.href).host,s=es.map(o=>({...o,domain:n[o.code]?.domain??o.domain}));return Gv(s,r,Oi(t))},_a=(e,t,n)=>{const r=fo(n);return{cookie:()=>sE(e,t.cookieKey),header:()=>{},navigator:()=>iE(),host:s=>aE(e,s,r.domainLocales),route:s=>oE(e,s)}},lE=e=>!!e.path&&!e.name;function po(e){const t=e?._nuxtI18n?.composableCtx;if(!t)throw new Error("i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.");return t}const cE=Br;function uE(e,t=ue()){const n=tt();_a(void 0,ho(t),t);const r=e.getDefaultLocale(),s=Dv();function o(u,c){u.name=jo(u.name||n.currentRoute.value);const f=s(u.name,c);return n.hasRoute(f)&&(u.name=f),u.name=f,u}const i=Fv();function a(u,c){const f=i(u,c),d=jo(f);if(d){const h=s(d,c);return n.hasRoute(h),f.name=h,f}return f.path=cE(f.path,!0),f}const l={router:n,_head:void 0,get head(){return this._head??=Bf({}),this._head},metaState:{htmlAttrs:{},meta:[],link:[]},seoSettings:{dir:!1,lang:!1,seo:!1},localePathPayload:fE(),routingOptions:{defaultLocale:r,strictCanonicals:e.config.experimental.alternateLinkCanonicalQueries??!0,hreflangLinks:!1},getLocale:e.getLocale,getLocales:e.getLocales,getBaseUrl:e.getBaseUrl,getRouteBaseName:jo,getRouteLocalizedParams:()=>n.currentRoute.value.meta.nuxtI18nInternal??{},getLocalizedDynamicParams:u=>l.getRouteLocalizedParams()?.[u],afterSwitchLocalePath:(u,c)=>(l.getRouteLocalizedParams(),u),resolveLocalizedRouteObject:(u,c)=>lE(u)?a(u,c):o(u,c)};return l}function fE(e=ue()){const t=document.querySelector(`[data-nuxt-i18n-slp="${e._id}"]`)?.textContent;return JSON.parse(t||"{}")}async function Ad(e,t){const n=ya(e),r=n.getLocale();if(t===r&&!n.initial&&(!n.vueI18n.__pendingLocale||n.vueI18n.__pendingLocale===t))return t;const s={oldLocale:r,newLocale:t,initialSetup:n.initial,context:e};let o=await e.callHook("i18n:beforeLocaleSwitch",s);return o!=null,o??=s.newLocale,Zn(o)&&(t=o),await n.loadMessages(t),await n.setLocaleSuspend(t),t}function dE(e,t,n){return!1}function hE(e,t){const n=ho(e),r=_a(void 0,n,e),s=ya(e),o=G(t)?t:t.path;function*i(){s.initial&&n.enabled&&!dE(n,o,r.route(o))&&(yield r.cookie(),yield r.header(),yield r.navigator(),yield n.fallbackLocale)}for(const a of i())if(a&&Zn(a))return a;return s.getLocale()||s.getDefaultLocale()||""}function pE(e,t,n,r){return Ce(t)?()=>t(e):()=>t??""}function gE(e,t,n){return{line:e,column:t,offset:n}}function Ii(e,t,n){return{start:e,end:t}}const pe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},mE=17;function go(e,t,n={}){const{domain:r,messages:s,args:o}=n,i=e,a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=r,a}function yE(e){throw e}const At=" ",_E="\r",We=` +`,bE="\u2028",vE="\u2029";function EE(e){const t=e;let n=0,r=1,s=1,o=0;const i=L=>t[L]===_E&&t[L+1]===We,a=L=>t[L]===We,l=L=>t[L]===vE,u=L=>t[L]===bE,c=L=>i(L)||a(L)||l(L)||u(L),f=()=>n,d=()=>r,h=()=>s,_=()=>o,m=L=>i(L)||l(L)||u(L)?We:t[L],R=()=>m(n),b=()=>m(n+o);function E(){return o=0,c(n)&&(r++,s=0),i(n)&&n++,n++,s++,t[n]}function g(){return i(n+o)&&o++,o++,t[n+o]}function y(){n=0,r=1,s=1,o=0}function C(L=0){o=L}function A(){const L=n+o;for(;L!==n;)E();o=0}return{index:f,line:d,column:h,peekOffset:_,charAt:m,currentChar:R,currentPeek:b,next:E,peek:g,reset:y,resetPeek:C,skipToPeek:A}}const Wt=void 0,wE=".",sc="'",CE="tokenizer";function SE(e,t={}){const n=t.location!==!1,r=EE(e),s=()=>r.index(),o=()=>gE(r.line(),r.column(),r.index()),i=o(),a=s(),l={currentType:13,offset:a,startLoc:i,endLoc:i,lastType:13,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function f(p,w,k,...O){const x=u();if(w.column+=k,w.offset+=k,c){const j=n?Ii(x.startLoc,w):null,T=go(p,j,{domain:CE,args:O});c(T)}}function d(p,w,k){p.endLoc=o(),p.currentType=w;const O={type:w};return n&&(O.loc=Ii(p.startLoc,p.endLoc)),k!=null&&(O.value=k),O}const h=p=>d(p,13);function _(p,w){return p.currentChar()===w?(p.next(),w):(f(pe.EXPECTED_TOKEN,o(),0,w),"")}function m(p){let w="";for(;p.currentPeek()===At||p.currentPeek()===We;)w+=p.currentPeek(),p.peek();return w}function R(p){const w=m(p);return p.skipToPeek(),w}function b(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w===95}function E(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=48&&w<=57}function g(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function y(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()==="-"?p.peek():p.currentPeek(),x=E(O);return p.resetPeek(),x}function C(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()===sc;return p.resetPeek(),O}function A(p,w){const{currentType:k}=w;if(k!==7)return!1;m(p);const O=p.currentPeek()===".";return p.resetPeek(),O}function L(p,w){const{currentType:k}=w;if(k!==8)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function F(p,w){const{currentType:k}=w;if(!(k===7||k===11))return!1;m(p);const O=p.currentPeek()===":";return p.resetPeek(),O}function N(p,w){const{currentType:k}=w;if(k!==9)return!1;const O=()=>{const j=p.currentPeek();return j==="{"?b(p.peek()):j==="@"||j==="|"||j===":"||j==="."||j===At||!j?!1:j===We?(p.peek(),O()):W(p,!1)},x=O();return p.resetPeek(),x}function D(p){m(p);const w=p.currentPeek()==="|";return p.resetPeek(),w}function W(p,w=!0){const k=(x=!1,j="")=>{const T=p.currentPeek();return T==="{"||T==="@"||!T?x:T==="|"?!(j===At||j===We):T===At?(p.peek(),k(!0,At)):T===We?(p.peek(),k(!0,We)):!0},O=k();return w&&p.resetPeek(),O}function $(p,w){const k=p.currentChar();return k===Wt?Wt:w(k)?(p.next(),k):null}function X(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36}function te(p){return $(p,X)}function se(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36||w===45}function K(p){return $(p,se)}function J(p){const w=p.charCodeAt(0);return w>=48&&w<=57}function q(p){return $(p,J)}function re(p){const w=p.charCodeAt(0);return w>=48&&w<=57||w>=65&&w<=70||w>=97&&w<=102}function nt(p){return $(p,re)}function qe(p){let w="",k="";for(;w=q(p);)k+=w;return k}function $e(p){let w="";for(;;){const k=p.currentChar();if(k==="\\"){const O=p.peek();O==="{"||O==="}"||O==="@"||O==="|"||O==="\\"?(w+=k+O,p.next(),p.next()):(p.resetPeek(),w+=k,p.next())}else{if(k==="{"||k==="}"||k==="@"||k==="|"||!k)break;if(k===At||k===We)if(W(p))w+=k,p.next();else{if(D(p))break;w+=k,p.next()}else w+=k,p.next()}}return w}function Rt(p){R(p);let w="",k="";for(;w=K(p);)k+=w;const O=p.currentChar();if(O&&O!=="}"&&O!==Wt&&O!==At&&O!==We&&O!==" "){const x=Q(p);return f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k+x),k+x}return p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k}function Tt(p){R(p);let w="";return p.currentChar()==="-"?(p.next(),w+=`-${qe(p)}`):w+=qe(p),p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w}function Lt(p){return p!==sc&&p!==We}function Ve(p){R(p),_(p,"'");let w="",k="";for(;w=$(p,Lt);)w==="\\"?k+=H(p):k+=w;const O=p.currentChar();return O===We||O===Wt?(f(pe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),O===We&&(p.next(),_(p,"'")),k):(_(p,"'"),k)}function H(p){const w=p.currentChar();switch(w){case"\\":case"'":return p.next(),`\\${w}`;case"u":return Y(p,w,4);case"U":return Y(p,w,6);default:return f(pe.UNKNOWN_ESCAPE_SEQUENCE,o(),0,w),""}}function Y(p,w,k){_(p,w);let O="";for(let x=0;x{const O=p.currentChar();return O==="{"||O==="@"||O==="|"||O==="("||O===")"||!O||O===At?k:(k+=O,p.next(),w(k))};return w("")}function v(p){R(p);const w=_(p,"|");return R(p),w}function S(p,w){let k=null;switch(p.currentChar()){case"{":return w.braceNest>=1&&f(pe.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),p.next(),k=d(w,2,"{"),R(p),w.braceNest++,k;case"}":return w.braceNest>0&&w.currentType===2&&f(pe.EMPTY_PLACEHOLDER,o(),0),p.next(),k=d(w,3,"}"),w.braceNest--,w.braceNest>0&&R(p),w.inLinked&&w.braceNest===0&&(w.inLinked=!1),k;case"@":return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=P(p,w)||h(w),w.braceNest=0,k;default:{let x=!0,j=!0,T=!0;if(D(p))return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(w.braceNest>0&&(w.currentType===4||w.currentType===5||w.currentType===6))return f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w.braceNest=0,U(p,w);if(x=g(p,w))return k=d(w,4,Rt(p)),R(p),k;if(j=y(p,w))return k=d(w,5,Tt(p)),R(p),k;if(T=C(p,w))return k=d(w,6,Ve(p)),R(p),k;if(!x&&!j&&!T)return k=d(w,12,Q(p)),f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k.value),R(p),k;break}}return k}function P(p,w){const{currentType:k}=w;let O=null;const x=p.currentChar();switch((k===7||k===8||k===11||k===9)&&(x===We||x===At)&&f(pe.INVALID_LINKED_FORMAT,o(),0),x){case"@":return p.next(),O=d(w,7,"@"),w.inLinked=!0,O;case".":return R(p),p.next(),d(w,8,".");case":":return R(p),p.next(),d(w,9,":");default:return D(p)?(O=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,O):A(p,w)||F(p,w)?(R(p),P(p,w)):L(p,w)?(R(p),d(w,11,ne(p))):N(p,w)?(R(p),x==="{"?S(p,w)||O:d(w,10,_e(p))):(k===7&&f(pe.INVALID_LINKED_FORMAT,o(),0),w.braceNest=0,w.inLinked=!1,U(p,w))}}function U(p,w){let k={type:13};if(w.braceNest>0)return S(p,w)||h(w);if(w.inLinked)return P(p,w)||h(w);switch(p.currentChar()){case"{":return S(p,w)||h(w);case"}":return f(pe.UNBALANCED_CLOSING_BRACE,o(),0),p.next(),d(w,3,"}");case"@":return P(p,w)||h(w);default:{if(D(p))return k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(W(p))return d(w,0,$e(p));break}}return k}function M(){const{currentType:p,offset:w,startLoc:k,endLoc:O}=l;return l.lastType=p,l.lastOffset=w,l.lastStartLoc=k,l.lastEndLoc=O,l.offset=s(),l.startLoc=o(),r.currentChar()===Wt?d(l,13):U(r,l)}return{nextToken:M,currentOffset:s,currentPosition:o,context:u}}const RE="parser",TE=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g,LE=/\\([\\@{}|])/g;function kE(e,t){return t}function AE(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function PE(e={}){const t=e.location!==!1,{onError:n}=e;function r(b,E,g,y,...C){const A=b.currentPosition();if(A.offset+=y,A.column+=y,n){const L=t?Ii(g,A):null,F=go(E,L,{domain:RE,args:C});n(F)}}function s(b,E,g){const y={type:b};return t&&(y.start=E,y.end=E,y.loc={start:g,end:g}),y}function o(b,E,g,y){t&&(b.end=E,b.loc&&(b.loc.end=g))}function i(b,E){const g=b.context(),y=s(3,g.offset,g.startLoc);return y.value=E.replace(LE,kE),o(y,b.currentOffset(),b.currentPosition()),y}function a(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(5,y,C);return A.index=parseInt(E,10),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function l(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(4,y,C);return A.key=E,b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function u(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(9,y,C);return A.value=E.replace(TE,AE),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function c(b){const E=b.nextToken(),g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(8,y,C);return E.type!==11?(r(b,pe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),A.value="",o(A,y,C),{nextConsumeToken:E,node:A}):(E.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Pt(E)),A.value=E.value||"",o(A,b.currentOffset(),b.currentPosition()),{node:A})}function f(b,E){const g=b.context(),y=s(7,g.offset,g.startLoc);return y.value=E,o(y,b.currentOffset(),b.currentPosition()),y}function d(b){const E=b.context(),g=s(6,E.offset,E.startLoc);let y=b.nextToken();if(y.type===8){const C=c(b);g.modifier=C.node,y=C.nextConsumeToken||b.nextToken()}switch(y.type!==9&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),y=b.nextToken(),y.type===2&&(y=b.nextToken()),y.type){case 10:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=f(b,y.value||"");break;case 4:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=l(b,y.value||"");break;case 5:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=a(b,y.value||"");break;case 6:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=u(b,y.value||"");break;default:{r(b,pe.UNEXPECTED_EMPTY_LINKED_KEY,E.lastStartLoc,0);const C=b.context(),A=s(7,C.offset,C.startLoc);return A.value="",o(A,C.offset,C.startLoc),g.key=A,o(g,C.offset,C.startLoc),{nextConsumeToken:y,node:g}}}return o(g,b.currentOffset(),b.currentPosition()),{node:g}}function h(b){const E=b.context(),g=E.currentType===1?b.currentOffset():E.offset,y=E.currentType===1?E.endLoc:E.startLoc,C=s(2,g,y);C.items=[];let A=null;do{const N=A||b.nextToken();switch(A=null,N.type){case 0:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(i(b,N.value||""));break;case 5:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(a(b,N.value||""));break;case 4:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(l(b,N.value||""));break;case 6:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(u(b,N.value||""));break;case 7:{const D=d(b);C.items.push(D.node),A=D.nextConsumeToken||null;break}}}while(E.currentType!==13&&E.currentType!==1);const L=E.currentType===1?E.lastOffset:b.currentOffset(),F=E.currentType===1?E.lastEndLoc:b.currentPosition();return o(C,L,F),C}function _(b,E,g,y){const C=b.context();let A=y.items.length===0;const L=s(1,E,g);L.cases=[],L.cases.push(y);do{const F=h(b);A||(A=F.items.length===0),L.cases.push(F)}while(C.currentType!==13);return A&&r(b,pe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),o(L,b.currentOffset(),b.currentPosition()),L}function m(b){const E=b.context(),{offset:g,startLoc:y}=E,C=h(b);return E.currentType===13?C:_(b,g,y,C)}function R(b){const E=SE(b,Ae({},e)),g=E.context(),y=s(0,g.offset,g.startLoc);return t&&y.loc&&(y.loc.source=b),y.body=m(E),e.onCacheKey&&(y.cacheKey=e.onCacheKey(b)),g.currentType!==13&&r(E,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,b[g.offset]||""),o(y,E.currentOffset(),E.currentPosition()),y}return{parse:R}}function Pt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function OE(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:o=>(n.helpers.add(o),o)}}function oc(e,t){for(let n=0;nic(n)),e}function ic(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(m,R){i.code+=m}function u(m,R=!0){const b=R?r:"";l(s?b+" ".repeat(m):b)}function c(m=!0){const R=++i.indentLevel;m&&u(R)}function f(m=!0){const R=--i.indentLevel;m&&u(R)}function d(){u(i.indentLevel)}return{context:a,push:l,indent:c,deindent:f,newline:d,helper:m=>`_${m}`,needIndent:()=>i.needIndent}}function ME(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),lr(e,t.key),t.modifier?(e.push(", "),lr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function DE(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let o=0;o1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let o=0;o{const n=G(t.mode)?t.mode:"normal",r=G(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,o=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=xE(e,{filename:r,breakLineCode:s,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),i.length>0&&(a.push(`const { ${ga(i.map(c=>`${c}: _${c}`),", ")} } = ctx`),a.newline()),a.push("return "),lr(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:l,map:u}=a.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function UE(e,t={}){const n=Ae({},t),r=!!n.jit,s=!!n.minify,o=n.optimize==null?!0:n.optimize,a=PE(n).parse(e);return r?(o&&NE(a),s&&Vn(a),{ast:a,code:""}):(IE(a,n),$E(a,n))}function $t(e){return ce(e)&&va(e)===0&&(mt(e,"b")||mt(e,"body"))}const Pd=["b","body"];function jE(e){return _n(e,Pd)}const Od=["c","cases"];function BE(e){return _n(e,Od,[])}const Id=["s","static"];function VE(e){return _n(e,Id)}const Nd=["i","items"];function WE(e){return _n(e,Nd,[])}const xd=["t","type"];function va(e){return _n(e,xd)}const Md=["v","value"];function gs(e,t){const n=_n(e,Md);if(n!=null)return n;throw Kr(t)}const Dd=["m","modifier"];function KE(e){return _n(e,Dd)}const Fd=["k","key"];function GE(e){const t=_n(e,Fd);if(t)return t;throw Kr(6)}function _n(e,t,n){for(let r=0;rqE(n,e)}function qE(e,t){const n=jE(t);if(n==null)throw Kr(0);if(va(n)===1){const o=BE(n);return e.plural(o.reduce((i,a)=>[...i,ac(e,a)],[]))}else return ac(e,n)}function ac(e,t){const n=VE(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=WE(t).reduce((s,o)=>[...s,Ni(e,o)],[]);return e.normalize(r)}}function Ni(e,t){const n=va(t);switch(n){case 3:return gs(t,n);case 9:return gs(t,n);case 4:{const r=t;if(mt(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(mt(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw Kr(n)}case 5:{const r=t;if(mt(r,"i")&&Ne(r.i))return e.interpolate(e.list(r.i));if(mt(r,"index")&&Ne(r.index))return e.interpolate(e.list(r.index));throw Kr(n)}case 6:{const r=t,s=KE(r),o=GE(r);return e.linked(Ni(e,o),s?Ni(e,s):void 0,e.type)}case 7:return gs(t,n);case 8:return gs(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const YE=e=>e;let ms=ye();function XE(e,t={}){let n=!1;const r=t.onError||yE;return t.onError=s=>{n=!0,r(s)},{...UE(e,t),detectError:n}}function JE(e,t){if(G(e)){Se(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||YE)(e),s=ms[r];if(s)return s;const{ast:o,detectError:i}=XE(e,{...t,location:!1,jit:!0}),a=Bo(o);return i?a:ms[r]=a}else{const n=e.cacheKey;if(n){const r=ms[n];return r||(ms[n]=Bo(e))}else return Bo(e)}}const Xt={INVALID_ARGUMENT:mE,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},QE=24;function Jt(e){return go(e,null,void 0)}function Ea(e,t){return t.locale!=null?lc(t.locale):lc(e.locale)}let Vo;function lc(e){if(G(e))return e;if(Ce(e)){if(e.resolvedOnce&&Vo!=null)return Vo;if(e.constructor.name==="Function"){const t=e();if(yv(t))throw Jt(Xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Vo=t}else throw Jt(Xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Jt(Xt.NOT_SUPPORT_LOCALE_TYPE)}function zE(e,t,n){return[...new Set([n,...Le(t)?t:ce(t)?Object.keys(t):G(t)?[t]:[n]])]}function xi(e,t,n){const r=G(n)?n:Hs,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let o=s.__localeChainCache.get(r);if(!o){o=[];let i=[n];for(;Le(i);)i=cc(o,i,t);const a=Le(t)||!fe(t)?t:t.default?t.default:null;i=G(a)?[a]:a,Le(i)&&cc(o,i,!1),s.__localeChainCache.set(r,o)}return o}function cc(e,t,n){let r=!0;for(let s=0;s{i===void 0?i=a:i+=a},d[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,i===void 0||(i=ow(i),i===!1))return!1;d[1]()}};function h(){const _=e[n+1];if(r===5&&_==="'"||r===6&&_==='"')return n++,a="\\"+_,d[0](),!0}for(;r!==null;)if(n++,o=e[n],!(o==="\\"&&h())){if(l=sw(o),f=bn[r],u=f[l]||f.l||8,u===8||(r=u[0],u[1]!==void 0&&(c=d[u[1]],c&&(a=o,c()===!1))))return;if(r===7)return t}}const uc=new Map;function aw(e,t){return ce(e)?e[t]:null}function lw(e,t){if(!ce(e))return null;let n=uc.get(t);if(n||(n=iw(t),n&&uc.set(t,n)),!n)return null;const r=n.length;let s=e,o=0;for(;o`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function uw(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?fc(e):t==="vnode"&&ce(e)&&"__v_isVNode"in e?fc(e.children):e}}let $d;function fw(e){$d=e}let Ud;function dw(e){Ud=e}let jd;function hw(e){jd=e}let Bd=null;const dc=e=>{Bd=e},pw=()=>Bd;let hc=0;function gw(e={}){const t=Ce(e.onWarn)?e.onWarn:fv,n=G(e.version)?e.version:cw,r=G(e.locale)||Ce(e.locale)?e.locale:Hs,s=Ce(r)?Hs:r,o=Le(e.fallbackLocale)||fe(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=fe(e.messages)?e.messages:Wo(s),a=fe(e.datetimeFormats)?e.datetimeFormats:Wo(s),l=fe(e.numberFormats)?e.numberFormats:Wo(s),u=Ae(ye(),e.modifiers,uw()),c=e.pluralRules||ye(),f=Ce(e.missing)?e.missing:null,d=Se(e.missingWarn)||Ds(e.missingWarn)?e.missingWarn:!0,h=Se(e.fallbackWarn)||Ds(e.fallbackWarn)?e.fallbackWarn:!0,_=!!e.fallbackFormat,m=!!e.unresolving,R=Ce(e.postTranslation)?e.postTranslation:null,b=fe(e.processor)?e.processor:null,E=Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,y=Ce(e.messageCompiler)?e.messageCompiler:$d,C=Ce(e.messageResolver)?e.messageResolver:Ud||aw,A=Ce(e.localeFallbacker)?e.localeFallbacker:jd||zE,L=ce(e.fallbackContext)?e.fallbackContext:void 0,F=e,N=ce(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,D=ce(F.__numberFormatters)?F.__numberFormatters:new Map,W=ce(F.__meta)?F.__meta:{};hc++;const $={version:n,cid:hc,locale:r,fallbackLocale:o,messages:i,modifiers:u,pluralRules:c,missing:f,missingWarn:d,fallbackWarn:h,fallbackFormat:_,unresolving:m,postTranslation:R,processor:b,warnHtmlMessage:E,escapeParameter:g,messageCompiler:y,messageResolver:C,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:W};return $.datetimeFormats=a,$.numberFormats=l,$.__datetimeFormatters=N,$.__numberFormatters=D,$}const Wo=e=>({[e]:ye()});function wa(e,t,n,r,s){const{missing:o,onWarn:i}=e;if(o!==null){const a=o(e,n,t,s);return G(a)?a:t}else return t}function Er(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function mw(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function yw(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{Vd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function gc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__datetimeFormatters.has(o)&&r.__datetimeFormatters.delete(o)}}function mc(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:o,localeFallbacker:i}=e,{__numberFormatters:a}=e;if(!Ne(t[0]))return $s;const[l,u,c,f]=Di(...t),d=Se(c.missingWarn)?c.missingWarn:e.missingWarn;Se(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const h=!!c.part,_=Ea(e,c),m=i(e,s,_);if(!G(l)||l==="")return new Intl.NumberFormat(_.replace(/!/g,""),f).format(u);let R={},b,E=null;const g="number format";for(let A=0;A{Wd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function yc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__numberFormatters.has(o)&&r.__numberFormatters.delete(o)}}const _w=e=>e,bw=e=>"",vw="text",Ew=e=>e.length===0?"":ga(e),ww=_v;function Ko(e,t){return e=Math.abs(e),t===2?e===1?0:1:Math.min(e,2)}function Cw(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return Ne(e.named?.count)?e.named.count:Ne(e.named?.n)?e.named.n:t}function Sw(e={}){const t=e.locale,n=Cw(e),r=G(t)&&Ce(e.pluralRules?.[t])?e.pluralRules[t]:Ko,s=r===Ko?void 0:Ko,o=b=>b[r(n,b.length,s)],i=e.list||[],a=b=>i[b],l=e.named||ye();Ne(e.pluralIndex)&&(l.count||=e.pluralIndex,l.n||=e.pluralIndex);const u=b=>l[b];function c(b,E){const g=Ce(e.messages)?e.messages(b,!!E):ce(e.messages)?e.messages[b]:!1;return g||(e.parent?e.parent.message(b):bw)}const f=b=>e.modifiers?e.modifiers[b]:_w,d=Ce(e.processor?.normalize)?e.processor.normalize:Ew,h=Ce(e.processor?.interpolate)?e.processor.interpolate:ww,_=G(e.processor?.type)?e.processor.type:vw,R={list:a,named:u,plural:o,linked:(b,...E)=>{const[g,y]=E;let C="text",A="";E.length===1?ce(g)?(A=g.modifier||A,C=g.type||C):G(g)&&(A=g||A):E.length===2&&(G(g)&&(A=g||A),G(y)&&(C=y||C));const L=c(b,!0)(R),F=L===""||L===void 0?b:L,N=C==="vnode"&&Le(F)&&A?F[0]:F;return A?f(A)(N,C):N},message:c,type:_,interpolate:h,normalize:d,values:Ae(ye(),i,l)};return R}const _c=()=>"",Zt=e=>Ce(e);function bc(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:o,fallbackLocale:i,messages:a}=e,[l,u]=Fi(...t),c=Se(u.missingWarn)?u.missingWarn:e.missingWarn,f=Se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=Se(u.escapeParameter)?u.escapeParameter:e.escapeParameter,h=!!u.resolvedMessage,_=G(u.default)||Se(u.default)?Se(u.default)?o?l:()=>l:u.default:n?o?l:()=>l:null,m=n||_!=null&&(G(_)||Ce(_)),R=Ea(e,u);d&&Rw(u);let[b,E,g]=h?[l,R,a[R]||ye()]:Kd(e,l,R,i,f,c),y=b,C=l;if(!h&&!(G(y)||$t(y)||Zt(y))&&m&&(y=_,C=y),!h&&(!(G(y)||$t(y)||Zt(y))||!G(E)))return s?mo:l;let A=!1;const L=()=>{A=!0},F=Zt(y)?y:Gd(e,l,E,y,C,L);if(A)return y;const N=kw(e,E,g,u),D=Sw(N),W=Tw(e,F,D);let $=r?r(W,l):W;return d&&G($)&&($=gv($)),$}function Rw(e){Le(e.list)?e.list=e.list.map(t=>G(t)?ec(t):t):ce(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=ec(e.named[t]))})}function Kd(e,t,n,r,s,o){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:u}=e,c=u(e,r,n);let f=ye(),d,h=null;const _="translate";for(let m=0;mr);return u.locale=n,u.key=t,u}const l=i(r,Lw(e,n,s,r,a,o));return l.locale=n,l.key=t,l.source=r,l}function Tw(e,t,n){return t(n)}function Fi(...e){const[t,n,r]=e,s=ye();if(!G(t)&&!Ne(t)&&!Zt(t)&&!$t(t))throw Jt(Xt.INVALID_ARGUMENT);const o=Ne(t)?String(t):(Zt(t),t);return Ne(n)?s.plural=n:G(n)?s.default=n:fe(n)&&!co(n)?s.named=n:Le(n)&&(s.list=n),Ne(r)?s.plural=r:G(r)?s.default=r:fe(r)&&Ae(s,r),[o,s]}function Lw(e,t,n,r,s,o){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw o&&o(i),i},onCacheKey:i=>dv(t,n,i)}}function kw(e,t,n,r){const{modifiers:s,pluralRules:o,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,d={locale:t,modifiers:s,pluralRules:o,messages:(h,_)=>{let m=i(n,h);if(m==null&&(c||_)){const[R,,b]=Kd(c||e,h,t,a,l,u);m=R??i(b,h)}if(G(m)||$t(m)){let R=!1;const E=Gd(e,h,t,m,h,()=>{R=!0});return R?_c:E}else return Zt(m)?m:_c}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),Ne(r.plural)&&(d.pluralIndex=r.plural),d}const Aw="11.4.2",ct={UNEXPECTED_RETURN_TYPE:QE,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function yt(e,...t){return go(e,null,void 0)}const Hi=yn("__translateVNode"),$i=yn("__datetimeParts"),Ui=yn("__numberParts"),Pw=yn("__setPluralRules"),Ow=yn("__injectWithOption"),Kn=yn("__dispose");function Gr(e){if(!ce(e)||$t(e))return e;for(const t in e)if(mt(e,t))if(!t.includes("."))ce(e[t])&&Gr(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,o=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:u}=a;l?(i[l]=i[l]||ye(),zn(u,i[l])):zn(u,i)}else G(a)&&zn(JSON.parse(a),i)}),s==null&&o)for(const a in i)mt(i,a)&&Gr(i[a]);return i}function Iw(e){return e.type}function Nw(e,t,n){let r=ce(t.messages)?t.messages:ye();"__i18nGlobal"in n&&(r=qd(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(o=>{e.mergeLocaleMessage(o,r[o])});{if(ce(t.datetimeFormats)){const o=Object.keys(t.datetimeFormats);o.length&&o.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ce(t.numberFormats)){const o=Object.keys(t.numberFormats);o.length&&o.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function vc(e){return Re(mn,null,e,0)}function Yd(){return Fn()}const Ec=()=>[],xw=()=>!1;let wc=0;function Cc(e){return((t,n,r,s)=>e(n,r,Yd()||void 0,s))}function ji(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,s=e.flatJson,o=Ms?et:Nn;let i=Se(e.inheritLocale)?e.inheritLocale:!0;const a=o(t&&i?t.locale.value:G(e.locale)?e.locale:Hs),l=o(t&&i?t.fallbackLocale.value:G(e.fallbackLocale)||Le(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a.value),u=o(qd(a.value,e)),c=o(fe(e.datetimeFormats)?e.datetimeFormats:{[a.value]:{}}),f=o(fe(e.numberFormats)?e.numberFormats:{[a.value]:{}});let d=t?t.missingWarn:Se(e.missingWarn)||Ds(e.missingWarn)?e.missingWarn:!0,h=t?t.fallbackWarn:Se(e.fallbackWarn)||Ds(e.fallbackWarn)?e.fallbackWarn:!0,_=t?t.fallbackRoot:Se(e.fallbackRoot)?e.fallbackRoot:!0,m=!!e.fallbackFormat,R=Ce(e.missing)?e.missing:null,b=Ce(e.missing)?Cc(e.missing):null,E=Ce(e.postTranslation)?e.postTranslation:null,g=t?t.warnHtmlMessage:Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter;const C=t?t.modifiers:fe(e.modifiers)?e.modifiers:{};let A=e.pluralRules||t&&t.pluralRules,L;L=(()=>{r&&dc(null);const T={version:Aw,locale:a.value,fallbackLocale:l.value,messages:u.value,modifiers:C,pluralRules:A,missing:b===null?void 0:b,missingWarn:d,fallbackWarn:h,fallbackFormat:m,unresolving:!0,postTranslation:E===null?void 0:E,warnHtmlMessage:g,escapeParameter:y,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=c.value,T.numberFormats=f.value,T.__datetimeFormatters=fe(L)?L.__datetimeFormatters:void 0,T.__numberFormatters=fe(L)?L.__numberFormatters:void 0;const I=gw(T);return r&&dc(I),I})(),Er(L,a.value,l.value);function N(){return[a.value,l.value,u.value,c.value,f.value]}const D=ke({get:()=>a.value,set:T=>{L.locale=T,a.value=T}}),W=ke({get:()=>l.value,set:T=>{L.fallbackLocale=T,l.value=T,Er(L,a.value,T)}}),$=ke(()=>u.value),X=ke(()=>c.value),te=ke(()=>f.value);function se(){return Ce(E)?E:null}function K(T){E=T,L.postTranslation=T}function J(){return R}function q(T){T!==null&&(b=Cc(T)),R=T,L.missing=b}const re=(T,I,V,z,ie,oe)=>{N();let le;try{r||(L.fallbackContext=t?pw():void 0),le=T(L)}finally{r||(L.fallbackContext=void 0)}if(V!=="translate exists"&&Ne(le)&&le===mo||V==="translate exists"&&!le){const[Pe,ft]=I();return t&&_?z(t):ie(Pe)}else{if(oe(le))return le;throw yt(ct.UNEXPECTED_RETURN_TYPE)}};function nt(...T){return re(I=>Reflect.apply(bc,null,[I,...T]),()=>Fi(...T),"translate",I=>Reflect.apply(I.t,I,[...T]),I=>I,I=>G(I))}function qe(...T){const[I,V,z]=T;if(z&&!ce(z))throw yt(ct.INVALID_ARGUMENT);return nt(I,V,Ae({resolvedMessage:!0},z||{}))}function $e(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>Mi(...T),"datetime format",I=>Reflect.apply(I.d,I,[...T]),()=>$s,I=>G(I)||Le(I))}function Rt(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Di(...T),"number format",I=>Reflect.apply(I.n,I,[...T]),()=>$s,I=>G(I)||Le(I))}function Tt(T){return T.map(I=>G(I)||Ne(I)||Se(I)?vc(String(I)):I)}const Ve={normalize:Tt,interpolate:T=>T,type:"vnode"};function H(...T){return re(I=>{let V;const z=I;try{z.processor=Ve,V=Reflect.apply(bc,null,[z,...T])}finally{z.processor=null}return V},()=>Fi(...T),"translate",I=>I[Hi](...T),I=>[vc(I)],I=>Le(I))}function Y(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Di(...T),"number format",I=>I[Ui](...T),Ec,I=>G(I)||Le(I))}function B(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>Mi(...T),"datetime format",I=>I[$i](...T),Ec,I=>G(I)||Le(I))}function Q(T){A=T,L.pluralRules=A}function ne(T,I){return re(()=>{if(!T)return!1;const V=G(I)?I:a.value,z=G(I)?[V]:xi(L,l.value,V);for(let ie=0;ie[T],"translate exists",V=>Reflect.apply(V.te,V,[T,I]),xw,V=>Se(V))}function _e(T){let I=null;const V=xi(L,l.value,a.value);for(let z=0;z{i&&(a.value=T,L.locale=T,Er(L,a.value,l.value))}),lt(t.fallbackLocale,T=>{i&&(l.value=T,L.fallbackLocale=T,Er(L,a.value,l.value))}));const j={id:wc,locale:D,fallbackLocale:W,get inheritLocale(){return i},set inheritLocale(T){i=T,T&&t&&(a.value=t.locale.value,l.value=t.fallbackLocale.value,Er(L,a.value,l.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:$,get modifiers(){return C},get pluralRules(){return A||{}},get isGlobal(){return r},get missingWarn(){return d},set missingWarn(T){d=T,L.missingWarn=d},get fallbackWarn(){return h},set fallbackWarn(T){h=T,L.fallbackWarn=h},get fallbackRoot(){return _},set fallbackRoot(T){_=T},get fallbackFormat(){return m},set fallbackFormat(T){m=T,L.fallbackFormat=m},get warnHtmlMessage(){return g},set warnHtmlMessage(T){g=T,L.warnHtmlMessage=T},get escapeParameter(){return y},set escapeParameter(T){y=T,L.escapeParameter=T},t:nt,getLocaleMessage:S,setLocaleMessage:P,mergeLocaleMessage:U,getPostTranslationHandler:se,setPostTranslationHandler:K,getMissingHandler:J,setMissingHandler:q,[Pw]:Q};return j.datetimeFormats=X,j.numberFormats=te,j.rt=qe,j.te=ne,j.tm=v,j.d=$e,j.n=Rt,j.getDateTimeFormat=M,j.setDateTimeFormat=p,j.mergeDateTimeFormat=w,j.getNumberFormat=k,j.setNumberFormat=O,j.mergeNumberFormat=x,j[Ow]=n,j[Hi]=H,j[$i]=B,j[Ui]=Y,j}const Ca={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Mw({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===Ue?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},ye())}function Xd(){return Ue}const Dw=bt({name:"i18n-t",props:Ae({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},Ca),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return()=>{const o=()=>{const l=Object.keys(n).filter(f=>f[0]!=="_"),u=ye();e.locale&&(u.locale=e.locale),e.plural!==void 0&&(u.plural=G(e.plural)?+e.plural:e.plural);const c=Mw(t,l);return s[Hi](e.keypath,c,u)},i=Ae(ye(),r),a=G(e.tag)||ce(e.tag)?e.tag:Xd();return ce(a)?Ie(a,i,{default:o}):Ie(a,i,o())}}}),Sc=Dw;function Fw(e){return Le(e)&&!G(e[0])}function Jd(e,t,n,r){const{slots:s,attrs:o}=t;return()=>{const i=()=>{const u={part:!0};let c=ye();e.locale&&(u.locale=e.locale),G(e.format)?u.key=e.format:ce(e.format)&&(G(e.format.key)&&(u.key=e.format.key),c=Object.keys(e.format).reduce((h,_)=>n.includes(_)?Ae(ye(),h,{[_]:e.format[_]}):h,ye()));const f=r(e.value,u,c);let d=[u.key];return Le(f)?d=f.map((h,_)=>{const m=s[h.type],R=m?m({[h.type]:h.value,index:_,parts:f}):[h.value];return Fw(R)&&(R[0].key=`${h.type}-${_}`),R}):G(f)&&(d=[f]),d},a=Ae(ye(),o),l=G(e.tag)||ce(e.tag)?e.tag:Xd();return ce(l)?Ie(l,a,{default:i}):Ie(l,a,i())}}const Hw=bt({name:"i18n-n",props:Ae({value:{type:Number,required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Jd(e,t,Wd,(...r)=>n[Ui](...r))}}),Rc=Hw;function $w(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function Uw(e){const t=i=>{const{instance:a,value:l}=i;if(!a||!a.$)throw yt(ct.UNEXPECTED_ERROR);const u=$w(e,a.$),c=Tc(l);return[Reflect.apply(u.t,u,[...Lc(c)]),u]};return{created:(i,a)=>{const[l,u]=t(a);Ms&&(i.__i18nWatcher=lt(u.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=u,i.textContent=l},unmounted:i=>{Ms&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,u=Tc(a);i.textContent=Reflect.apply(l.t,l,[...Lc(u)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function Tc(e){if(G(e))return{path:e};if(fe(e)){if(!("path"in e))throw yt(ct.REQUIRED_VALUE,"path");return e}else throw yt(ct.INVALID_VALUE)}function Lc(e){const{path:t,locale:n,args:r,choice:s,plural:o}=e,i={},a=r||{};return G(n)&&(i.locale=n),Ne(s)&&(i.plural=s),Ne(o)&&(i.plural=o),[t,a,i]}function jw(e,t,...n){const r=fe(n[0])?n[0]:{};(!Se(r.globalInstall)||r.globalInstall)&&([Sc.name,"I18nT"].forEach(o=>e.component(o,Sc)),[Rc.name,"I18nN"].forEach(o=>e.component(o,Rc)),[Pc.name,"I18nD"].forEach(o=>e.component(o,Pc))),e.directive("t",Uw(t))}const Bw=yn("global-vue-i18n");function Vw(e={}){const t=Se(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,s]=Ww(e),o=yn("");function i(c){return n.get(c)||null}function a(c,f){n.set(c,f)}function l(c){n.delete(c)}const u={get mode(){return"composition"},async install(c,...f){if(c.__VUE_I18N_SYMBOL__=o,c.provide(c.__VUE_I18N_SYMBOL__,u),fe(f[0])){const _=f[0];u.__composerExtend=_.__composerExtend,u.__vueI18nExtend=_.__vueI18nExtend}let d=null;t&&(d=Qw(c,u.global)),jw(c,u,...f);const h=c.unmount;c.unmount=()=>{d&&d(),u.dispose(),h()}},get global(){return s},dispose(){r.stop()},__instances:n,__getInstance:i,__setInstance:a,__deleteInstance:l};return u}function Sa(e={}){const t=Yd();if(t==null)throw yt(ct.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw yt(ct.NOT_INSTALLED);const n=Kw(t),r=qw(n),s=Iw(t),o=Gw(e,s);if(o==="global")return Nw(r,e,s),r;if(o==="parent"){let l=kc(n,t,e.__useComponent);return l==null&&(l=r),l}if(o==="isolated"){if(n.mode!=="composition")throw yt(ct.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const l=n,u=Ae({},e),c=kc(n,t);u.__root=c||r;const f=ji(u);return l.__composerExtend&&(f[Kn]=l.__composerExtend(f)),dr()&&Nr(()=>{const h=f[Kn];h&&(h(),delete f[Kn])}),f}const i=n;let a=i.__getInstance(t);if(a==null){const l=Ae({},e);"__i18n"in s&&(l.__i18n=s.__i18n),r&&(l.__root=r),a=ji(l),i.__composerExtend&&(a[Kn]=i.__composerExtend(a)),Xw(i,t,a),i.__setInstance(t,a)}return a}function Ww(e,t){const n=Yr(),r=n.run(()=>ji(e));if(r==null)throw yt(ct.UNEXPECTED_ERROR);return[n,r]}function Kw(e){const t=xe(e.isCE?Bw:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw yt(e.isCE?ct.NOT_INSTALLED_WITH_PROVIDE:ct.UNEXPECTED_ERROR);return t}function Gw(e,t){return co(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function qw(e){return e.mode==="composition"?e.global:e.global.__composer}function kc(e,t,n=!1){let r=null;const s=t.root;let o=Yw(t,n);for(;o!=null;){const i=e;if(e.mode==="composition"&&(r=i.__getInstance(o)),r!=null||s===o)break;o=o.parent}return r}function Yw(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Xw(e,t,n){zs(()=>{},t),Zs(()=>{const r=n;e.__deleteInstance(t);const s=r[Kn];s&&(s(),delete r[Kn])},t)}const Jw=["locale","fallbackLocale","availableLocales"],Ac=["t","rt","d","n","tm","te"];function Qw(e,t){const n=Object.create(null);return Jw.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o)throw yt(ct.UNEXPECTED_ERROR);const i=ve(o.value)?{get(){return o.value.value},set(a){o.value.value=a}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,Ac.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o||!o.value)throw yt(ct.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,o)}),()=>{delete e.config.globalProperties.$i18n,Ac.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}const zw=bt({name:"i18n-d",props:Ae({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Jd(e,t,Vd,(...r)=>n[$i](...r))}}),Pc=zw;fw(JE);dw(lw);hw(xi);function Oc(e=ue()){const t=po(e);return n=>{if(n!=null)return t.getRouteBaseName(n)||void 0}}function Zw(e=ue()){const t=po(e);return(n,r)=>bd(t,n,r)}function e0(e=ue()){const t=po(e);return(n,r)=>vd(t,n,r)}function Qd(e=ue()){const t=po(e);return n=>wd(t,n)}const Ic="nuxt-i18n-slp",t0=new RegExp([``,".+?",``].join(""),"g"),n0=Ge({name:"i18n:plugin:switch-locale-path-ssr",dependsOn:["i18n:plugin"],setup(e){const t=ue(e._id),n=Qd(t);t.hook("app:rendered",r=>{r.renderResult?.html!=null&&(r.renderResult.html=r.renderResult.html.replaceAll(t0,(s,o)=>{const i=encodeURI(n(o??""));return s.replace(/href="([^"]+)"/,`href="${i||"#"}" `)}))})}}),r0=Ge({name:"i18n:plugin:route-locale-detect",dependsOn:["i18n:plugin"],async setup(e){let t,n;const r=ue(e._id),s=ya(r),o=kd();[t,n]=On(()=>r.runWithContext(()=>Ad(r,s.initial&&o.value||hE(r,r.$router.currentRoute.value)))),await t,n()}}),s0=Ge({name:"i18n:plugin:preload",dependsOn:["i18n:plugin"],async setup(e){}});function o0(e,{extendComposer:t,extendComposerInstance:n}){const r=Yr(),s=e.install.bind(e);e.install=(o,...i)=>{const a=Ae({},i[0]);a.__composerExtend=u=>(n(u,ps(e)),()=>{}),e.mode==="legacy"&&(a.__vueI18nExtend=u=>(n(u,ps(u)),()=>{})),Reflect.apply(s,e,[o,a]);const l=ps(e);if(r.run(()=>{t(l),e.mode==="legacy"&&"__composer"in e.global&&n(e.global,ps(e.global))}),e.mode==="composition"&&o.config.globalProperties.$i18n!=null&&n(o.config.globalProperties.$i18n,l),o.unmount){const u=o.unmount.bind(o);o.unmount=()=>{r.stop(),u()}}}}const i0=async e=>{const t=await Uv(Hv);t.locale=e||t.locale||"en-US",t.defaultLocale=e,t.fallbackLocale??=!1,t.messages??={};for(const n of Wr)t.messages[n]??={};return t};var a0={hu:"bb1d6803",en:"bb1d6803"};const l0=Ge({name:"i18n:plugin",parallel:!1,async setup(e){let t,n;Object.defineProperty(e.versions,"nuxtI18n",{get:()=>"10.4.0"});const r=ue(e._id),s=fo(r),o=r.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions,i=Qv(hd().host)||s.defaultLocale||"",a=o||([t,n]=On(()=>i0(i)),t=await t,n(),t),l=Ld();l.value??=Yv(a.fallbackLocale),Wr.map(d=>`/_i18n/${a0[d]}/${d}/messages.json`);const u=Vw(a),c=_a(void 0,ho(r),r),f=eE(r,u,a.defaultLocale);r._nuxtI18n=f,o0(u,{extendComposer(d){d.locales=ke(()=>s.locales),d.localeCodes=ke(()=>Wr);const h=et(f.getBaseUrl());d.baseUrl=ke(()=>h.value),lt(d.locale,()=>h.value=f.getBaseUrl()),d.strategy="no_prefix",d.localeProperties=ke(()=>es.find(_=>_.code===d.locale.value)||{code:d.locale.value}),d.setLocale=async _=>{await Ad(r,_),await r.runWithContext(()=>(r.$router.currentRoute.value,void 0))},d.loadLocaleMessages=f.loadMessages,d.differentDomains=!1,d.defaultLocale=a.defaultLocale,d.getBrowserLocale=()=>rc(c.navigator()),d.getLocaleCookie=()=>rc(c.cookie()),d.setLocaleCookie=f.setCookieLocale,d.finalizePendingLocaleChange=async()=>{u.__pendingLocale&&await u.__resolvePendingLocalePromise?.()},d.waitForPendingLocaleChange=async()=>{await u?.__pendingLocalePromise}},extendComposerInstance(d,h){const _=[["locales",()=>h.locales],["localeCodes",()=>h.localeCodes],["baseUrl",()=>h.baseUrl],["strategy",()=>"no_prefix"],["localeProperties",()=>h.localeProperties],["setLocale",()=>m=>Reflect.apply(h.setLocale,h,[m])],["loadLocaleMessages",()=>m=>Reflect.apply(h.loadLocaleMessages,h,[m])],["differentDomains",()=>!1],["defaultLocale",()=>h.defaultLocale],["getBrowserLocale",()=>()=>Reflect.apply(h.getBrowserLocale,h,[])],["getLocaleCookie",()=>()=>Reflect.apply(h.getLocaleCookie,h,[])],["setLocaleCookie",()=>m=>Reflect.apply(h.setLocaleCookie,h,[m])],["finalizePendingLocaleChange",()=>()=>Reflect.apply(h.finalizePendingLocaleChange,h,[])],["waitForPendingLocaleChange",()=>()=>Reflect.apply(h.waitForPendingLocaleChange,h,[])]];for(const[m,R]of _)Object.defineProperty(d,m,{get:R})}}),r.vueApp.use(u),Object.defineProperty(r,"$i18n",{get:()=>ma(u)}),r.provide("localeHead",d=>Pv(r._nuxtI18n.composableCtx,d)),r.provide("localePath",Zw(r)),r.provide("localeRoute",e0(r)),r.provide("routeBaseName",Oc(r)),r.provide("getRouteBaseName",Oc(r)),r.provide("switchLocalePath",Qd(r))}}),c0=Ge({name:"i18n:plugin:ssg-detect",dependsOn:["i18n:plugin","i18n:plugin:route-locale-detect"],enforce:"post",setup(e){}}),u0=[f_,h_,__,Bb,Vb,Wb,Kb,qb,lv,cv,uv,n0,r0,s0,l0,c0],zd=(e="RouteProvider")=>bt({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return gn(Mn,Dt(s)),()=>t.vnode?Ie(t.vnode,{ref:t.vnodeRef}):t.vnode}}),f0=zd(),Nc=new WeakMap,d0=bt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ue(),o=et(),i=xe(Mn,null);let a;r({pageRef:o});const l=xe(Af,null);let u;const c=s.deferHydration();let f=!1,d=!1,h=0;if(s.isHydrating){const m=s.hooks.hookOnce("app:error",c),R=tt().beforeEach(()=>{m(),R()})}e.pageKey&<(()=>e.pageKey,(m,R)=>{m!==R&&s.callHook("page:loading:start")});let _=!1;{const m=tt().beforeResolve(()=>{_=!1});zr(()=>{m(),c()})}return()=>Ie(od,{name:e.name,route:e.route,...t},{default:m=>{const R=h0(i,m.route,m.Component),b=i&&i.matched.length===m.route.matched.length;if(!m.Component){if(u&&!b&&!Go(u))return u;c();return}if(u&&l&&!Go(u)&&!l.isCurrent(m.route))return u;if(R&&i&&(!l||l?.isCurrent(i)))return(b||u)&&!Go(u)?u:null;const E=Ai(m,e.pageKey),g=p0(i,m.route,m.Component);!s.isHydrating&&a===E&&!g&&nn(()=>{_||(_=!0,s.callHook("page:loading:end"))}),f&&a!==E&&d&&h++,a=E;const y=!!(e.transition??m.route.meta.pageTransition??_l),C=y&&cd([e.transition,m.route.meta.pageTransition,_l,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",m.Component)}}]),A=e.keepalive??m.route.meta.keepalive??$m;return u=ld(y&&C,kb(A,Ie(ra,{key:h,suspensible:!0,onPending:()=>{f=!0,y&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(L=>{s["~transitionFinish"]=L})),s.callHook("page:start",m.Component)},onResolve:async()=>{f=!1,d=!0;try{await nn(),s._route.sync?.(),await s.callHook("page:finish",m.Component),!_&&!g&&(_=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const L={key:E||void 0,vnode:n.default?g0(n.default,m):m.Component,route:m.route,renderKey:E||void 0,trackRootNodes:y,vnodeRef:o};if(!A)return Ie(f0,L);const F=m.Component.type,N=F;let D=Nc.get(N);return D||(D=zd(F.name||F.__name),Nc.set(N,D)),Ie(D,L)}}))).default(),u}})}});function h0(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&Ai({route:t,Component:n})!==Ai({route:e,Component:n})}function p0(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Ie(pn[e.name],e.layoutProps,t.slots)}}),y0={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},_0=bt({name:"NuxtLayout",inheritAttrs:!1,props:y0,setup(e,t){const n=ue(),r=xe(Mn),o=!r||r===ca()?id():r,i=ke(()=>{let c=me(e.name)??o?.meta.layout??Zd(o?.path).appLayout??"default";return c&&!(c in pn)&&e.fallback&&(c=me(e.fallback)),c}),a=Nn();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),f=tt().beforeEach(()=>{c(),f()})}let u;return()=>{const f=!!i.value&&i.value in pn&&!!(o?.meta.layoutTransition??yl),d=f&&cd([o?.meta.layoutTransition,yl,{onBeforeLeave(){n["~transitionPromise"]=new Promise(_=>{n["~transitionFinish"]=_})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),h=u;return u=i.value,ld(d,{default:()=>Ie(ra,{suspensible:!0,onResolve:async()=>{await nn(l)}},{default:()=>Ie(b0,{layoutProps:nf(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:_=>_!==h&&_===i.value,hasTransition:f},t.slots)})}).default()}}}),b0=bt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&gn(Af,{isCurrent:o=>n===!1||n===(o.meta.layout??Zd(o.path).appLayout??"default")});const r=xe(Mn);if(r&&r===ca()){const o=id(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}gn(Mn,Dt(i))}return()=>!n||typeof n=="string"&&!(n in pn)?t.slots.default?.():Ie(m0,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),v0=bt({__name:"app",setup(e){return Bf({titleTemplate:t=>t?`${t} | Service Finder Admin`:"Service Finder Admin"}),(t,n)=>{const r=d0,s=_0;return gt(),Mt(s,null,{default:zi(()=>[Re(r)]),_:1})}}}),E0={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Rs(()=>it(()=>import("./JOVMCDE9.js"),__vite__mapDeps([9,1,7,10]),import.meta.url)):Rs(()=>it(()=>import("./CLBsD5qj.js"),__vite__mapDeps([11,7,12]),import.meta.url));return(f,d)=>(gt(),Mt(me(c),ch(ef({status:me(r),statusText:me(o),statusCode:me(r),statusMessage:me(o),description:me(i),stack:me(a)})),null,16))}},w0={key:0},xc={__name:"nuxt-root",setup(e){const t=()=>null,n=ue(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),f=tt().beforeEach(()=>{c(),f()})}const s=!1;gn(Mn,ca()),n.hooks.callHookWith(c=>c.map(f=>f()),"vue:setup",[]);const o=io(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,f,d){const h=n.vueApp.config.errorHandler;if(h&&!h.__nuxt_default)try{h(c,f,d)}catch(_){console.error("[nuxt] Error in `app.config.errorHandler`",_)}}Ru((c,f,d)=>{if(n.hooks.callHook("vue:error",c,f,d).catch(h=>console.error("[nuxt] Error in `vue:error` hook",h)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Of(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Rn(c)),l(c,f,d),!1});const u=!1;return(c,f)=>(gt(),Mt(ra,{onResolve:me(r)},{default:zi(()=>[me(i)?(gt(),Wp("div",w0)):me(o)?(gt(),Mt(me(E0),{key:1,error:me(o)},null,8,["error"])):me(u)?(gt(),Mt(me(t),{key:2,context:me(u)},null,8,["context"])):me(s)?(gt(),Mt(hp(me(s)),{key:3})):(gt(),Mt(me(v0),{key:4}))]),_:1},8,["onResolve"]))}};let Mc;{let e;Mc=async function(){if(e)return e;const r=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true")?Ng(xc):Ig(xc),s=Wm({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=In(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)});try{await qm(s,u0)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(jm),await s.hooks.callHook("app:mounted",r),await nn()}catch(i){o(i)}return r},e=Mc().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{ui as $,D0 as A,P0 as B,sn as C,Sa as D,id as E,Ue as F,H0 as G,M0 as H,On as I,T0 as J,Zs as K,k0 as L,Mt as M,pa as N,Xl as O,zr as P,$0 as Q,Ie as R,S0 as S,oa as T,Nn as U,ey as V,av as W,an as X,Pn as Y,ty as Z,x0 as _,Zu as a,im as a0,Br as a1,oo as a2,F0 as a3,Re as b,Wp as c,tf as d,bt as e,L0 as f,tt as g,me as h,Gp as i,I0 as j,C0 as k,ve as l,et as m,qs as n,gt as o,Ef as p,zs as q,R0 as r,O0 as s,hh as t,Bf as u,A0 as v,zi as w,ke as x,ue as y,dd as z}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/CLBsD5qj.js b/frontend_admin/.nuxt/dist/client/_nuxt/CLBsD5qj.js new file mode 100644 index 0000000..9b0fbdd --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/CLBsD5qj.js @@ -0,0 +1 @@ +import{_ as s}from"./DlAUqK2U.js";import{u as a,o as i,c as u,a as e,t as o}from"./CHWHIiGB.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:500},statusText:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return a({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(i(),u("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.status)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},h=s(f,[["__scopeId","data-v-a01dd0ba"]]);export{h as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/CWA6Xjbg.js b/frontend_admin/.nuxt/dist/client/_nuxt/CWA6Xjbg.js deleted file mode 100644 index 5933864..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/CWA6Xjbg.js +++ /dev/null @@ -1 +0,0 @@ -import{K as C,m as u,x as l,A as r}from"./CqYPuxVf.js";const g=C("auth",()=>{const t=u(null),o=u(null),c=u(!1),s=u(null),v=u(!1),h=l(()=>!!o.value&&!!t.value),k=l(()=>{const e=t.value?.role;return e?["SUPERADMIN","ADMIN","MODERATOR","SALES_REP","SERVICE_MGR"].includes(e.toUpperCase()):!1}),m=l(()=>{if(!t.value)return"";const{first_name:e,last_name:n}=t.value;return e&&n?`${e} ${n}`:e||n||t.value.email}),p=l(()=>t.value?.email??""),w=l(()=>t.value?.role??"guest");async function A(e,n){c.value=!0,s.value=null;try{const a=new URLSearchParams;a.append("username",e),a.append("password",n);const d=await $fetch("/api/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a}),y=r("access_token",{maxAge:3600*24*7,path:"/",sameSite:"lax",secure:!0});y.value=d.access_token,o.value=d.access_token,await i()}catch(a){throw s.value=a?.data?.detail||a?.message||"Login failed",a}finally{c.value=!1}}async function i(){const n=r("access_token").value||o.value;if(n)try{const a=await $fetch("/api/v1/auth/me",{headers:{Authorization:`Bearer ${n}`}});t.value=a}catch(a){throw a?.response?.status===401&&f(),a}}function f(){o.value=null,t.value=null,s.value=null;const e=r("access_token");e.value=null}async function R(){const e=r("access_token");if(e.value){o.value=e.value;try{await i()}catch{f()}}v.value=!0}function _(){s.value=null}return{user:t,token:o,isLoading:c,error:s,isInitialized:v,isAuthenticated:h,isAdmin:k,userName:m,userEmail:p,userRole:w,login:A,fetchUser:i,logout:f,init:R,clearError:_}});export{g as u}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/CgyjcGAF.js b/frontend_admin/.nuxt/dist/client/_nuxt/CgyjcGAF.js deleted file mode 100644 index 31eaf8c..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/CgyjcGAF.js +++ /dev/null @@ -1 +0,0 @@ -const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management — Role-based access control & subscription feature flags"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading permissions data..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Failed to load permissions"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Discard"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" modification(s)"}]}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Current Tier"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Full system access — user management, billing, robots, and system configuration."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garages"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garage-level access — vehicle management, service booking, customer data."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Subscription feature toggles — resolved from your current tier ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Permission Matrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Role-based access control — which roles can perform which admin actions."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Action"}},perms:{user_mgmt:{t:0,b:{t:2,i:[{t:3}],s:"User Management"}},billing_admin:{t:0,b:{t:2,i:[{t:3}],s:"Billing Administration"}},robot_config:{t:0,b:{t:2,i:[{t:3}],s:"Robot Configuration"}},system_logs:{t:0,b:{t:2,i:[{t:3}],s:"System Logs Access"}},api_keys:{t:0,b:{t:2,i:[{t:3}],s:"API Key Management"}},vehicle_crud:{t:0,b:{t:2,i:[{t:3}],s:"Vehicle CRUD"}},service_booking:{t:0,b:{t:2,i:[{t:3}],s:"Service Booking"}},customer_view:{t:0,b:{t:2,i:[{t:3}],s:"Customer Data View"}},report_export:{t:0,b:{t:2,i:[{t:3}],s:"Report Export"}},bulk_import:{t:0,b:{t:2,i:[{t:3}],s:"Bulk Import"}}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Package Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Manage subscription packages and feature flags — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading packages..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"Create Package"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"No packages yet"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Create your first subscription package to get started."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Create First Package"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Popular"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Fallback"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Trial"}},month:{t:0,b:{t:2,i:[{t:3}],s:"month"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Available Features"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Set as default"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"set as default package!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Edit Package"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Create Package"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Create"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Package updated successfully!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Delete Package"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Are you sure you want to delete "'},{t:4,k:"name"},{t:3,v:'"?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Allowances"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Vehicles"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garages"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Credits"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Tier Level"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"System Name"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Display Name"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Type"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Private"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Corporate"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Tier Level"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Higher number = more features & higher rank"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Price"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Yearly Price"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Currency"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Subtitle / Description"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Best for small businesses"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Badge Text"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Most Popular"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Custom Package (not publicly listed)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Singleton Rules"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Default Fallback Package — assigned when a subscription expires"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Trial Days on Signup"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"New organizations get this many free days. Only one package can have trial > 0."}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garages CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garage list, package management and status changes"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Total Garages"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Active Garages"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garages"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garages"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Search by name, contact or email..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"All packages"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Company Name"}},email:{t:0,b:{t:2,i:[{t:3}],s:"Email"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Status"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Current Package"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Actions"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Active"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inactive"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Suspended"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Change Package"}},view:{t:0,b:{t:2,i:[{t:3}],s:"View"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Activate"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deactivate"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"No garages match your search."}}}};export{t as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/Cx40nPNe.js b/frontend_admin/.nuxt/dist/client/_nuxt/Cx40nPNe.js deleted file mode 100644 index fb5b106..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/Cx40nPNe.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,u as a,o as i,c as u,a as e,t as o}from"./CqYPuxVf.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:500},statusText:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const n=t;return a({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,r)=>(i(),u("div",l,[r[0]||(r[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.status)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},b=s(f,[["__scopeId","data-v-a01dd0ba"]]);export{b as default}; diff --git a/frontend_admin/.output/public/_nuxt/CqyNVJx6.js b/frontend_admin/.nuxt/dist/client/_nuxt/D5l8f-my.js similarity index 99% rename from frontend_admin/.output/public/_nuxt/CqyNVJx6.js rename to frontend_admin/.nuxt/dist/client/_nuxt/D5l8f-my.js index 538a57f..039b914 100644 --- a/frontend_admin/.output/public/_nuxt/CqyNVJx6.js +++ b/frontend_admin/.nuxt/dist/client/_nuxt/D5l8f-my.js @@ -1 +1 @@ -import{e as d,o,c as r,f as a,a as e,F as c,r as m,n as x,t as l}from"./CqYPuxVf.js";const p={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},h={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},u={class:"space-y-4"},v={class:"flex-1 min-w-0"},g={class:"text-sm text-slate-300"},b={class:"text-xs text-slate-500 mt-0.5"},y=d({__name:"index",setup(f){const i=[{text:"New user registered: john.doe@example.com",time:"2 minutes ago",dotColor:"bg-emerald-400"},{text:"Vehicle #V-8842 added to catalog",time:"15 minutes ago",dotColor:"bg-cyan-400"},{text:"Payment received: €120.00 from Garage XYZ",time:"1 hour ago",dotColor:"bg-emerald-400"},{text:"System error: DVLA API timeout on request #4421",time:"2 hours ago",dotColor:"bg-rose-400"},{text:"Permission updated for user: superadmin@sf.hu",time:"3 hours ago",dotColor:"bg-indigo-400"}];return(w,t)=>(o(),r("div",null,[t[2]||(t[2]=a('

Dashboard

ServiceFinder administration overview

+12%

Active Users

2,847

1,240 new this month

+5%

Total Vehicles

12,493

342 added this month

+18%

Monthly Revenue

€48,250

€6,200 from premium

+3

Error Logs

23

3 critical today

',2)),e("div",p,[t[1]||(t[1]=a('

Quick Actions

',1)),e("div",h,[t[0]||(t[0]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Recent Activity",-1)),e("div",u,[(o(),r(c,null,m(i,(s,n)=>e("div",{key:n,class:"flex items-start gap-3"},[e("div",{class:x(["w-2 h-2 mt-2 rounded-full flex-shrink-0",s.dotColor])},null,2),e("div",v,[e("p",g,l(s.text),1),e("p",b,l(s.time),1)])])),64))])])])]))}});export{y as default}; +import{e as d,o,c as r,f as a,a as e,F as c,r as m,n as x,t as l}from"./CHWHIiGB.js";const p={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},h={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},u={class:"space-y-4"},v={class:"flex-1 min-w-0"},g={class:"text-sm text-slate-300"},b={class:"text-xs text-slate-500 mt-0.5"},y=d({__name:"index",setup(f){const i=[{text:"New user registered: john.doe@example.com",time:"2 minutes ago",dotColor:"bg-emerald-400"},{text:"Vehicle #V-8842 added to catalog",time:"15 minutes ago",dotColor:"bg-cyan-400"},{text:"Payment received: €120.00 from Garage XYZ",time:"1 hour ago",dotColor:"bg-emerald-400"},{text:"System error: DVLA API timeout on request #4421",time:"2 hours ago",dotColor:"bg-rose-400"},{text:"Permission updated for user: superadmin@sf.hu",time:"3 hours ago",dotColor:"bg-indigo-400"}];return(w,t)=>(o(),r("div",null,[t[2]||(t[2]=a('

Dashboard

ServiceFinder administration overview

+12%

Active Users

2,847

1,240 new this month

+5%

Total Vehicles

12,493

342 added this month

+18%

Monthly Revenue

€48,250

€6,200 from premium

+3

Error Logs

23

3 critical today

',2)),e("div",p,[t[1]||(t[1]=a('

Quick Actions

',1)),e("div",h,[t[0]||(t[0]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Recent Activity",-1)),e("div",u,[(o(),r(c,null,m(i,(s,n)=>e("div",{key:n,class:"flex items-start gap-3"},[e("div",{class:x(["w-2 h-2 mt-2 rounded-full flex-shrink-0",s.dotColor])},null,2),e("div",v,[e("p",g,l(s.text),1),e("p",b,l(s.time),1)])])),64))])])])]))}});export{y as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DKEj_yij.js b/frontend_admin/.nuxt/dist/client/_nuxt/DKEj_yij.js new file mode 100644 index 0000000..9372efb --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/DKEj_yij.js @@ -0,0 +1 @@ +import{a3 as C,m as u,x as l,z as r}from"./CHWHIiGB.js";const g=C("auth",()=>{const t=u(null),o=u(null),c=u(!1),s=u(null),v=u(!1),h=l(()=>!!o.value&&!!t.value),k=l(()=>{const e=t.value?.role;return e?["SUPERADMIN","ADMIN","MODERATOR","SALES_REP","SERVICE_MGR"].includes(e.toUpperCase()):!1}),m=l(()=>{if(!t.value)return"";const{first_name:e,last_name:n}=t.value;return e&&n?`${e} ${n}`:e||n||t.value.email}),p=l(()=>t.value?.email??""),w=l(()=>t.value?.role??"guest");async function R(e,n){c.value=!0,s.value=null;try{const a=new URLSearchParams;a.append("username",e),a.append("password",n);const d=await $fetch("/api/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a}),A=r("access_token",{maxAge:3600*24*7,path:"/",sameSite:"lax",secure:!0});A.value=d.access_token,o.value=d.access_token,await i()}catch(a){throw s.value=a?.data?.detail||a?.message||"Login failed",a}finally{c.value=!1}}async function i(){const n=r("access_token").value||o.value;if(n)try{const a=await $fetch("/api/v1/auth/me",{headers:{Authorization:`Bearer ${n}`}});t.value=a}catch(a){throw a?.response?.status===401&&f(),a}}function f(){o.value=null,t.value=null,s.value=null;const e=r("access_token");e.value=null}async function _(){const e=r("access_token");if(e.value){o.value=e.value;try{await i()}catch{f()}}v.value=!0}function y(){s.value=null}return{user:t,token:o,isLoading:c,error:s,isInitialized:v,isAuthenticated:h,isAdmin:k,userName:m,userEmail:p,userRole:w,login:R,fetchUser:i,logout:f,init:_,clearError:y}});export{g as u}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DP_n9i02.js b/frontend_admin/.nuxt/dist/client/_nuxt/DP_n9i02.js deleted file mode 100644 index 4ef2d4d..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/DP_n9i02.js +++ /dev/null @@ -1 +0,0 @@ -const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultság Kezelés"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management — Role-based access control & subscription feature flags"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultságok betöltése..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Nem sikerült betölteni a jogosultságokat"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Elvetés"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" módosítás"}]}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Teljes rendszer hozzáférés — felhasználók, számlázás, robotok és rendszerkonfiguráció."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garázs szintű hozzáférés — járműkezelés, szervizfoglalás, ügyféladatok."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Előfizetési funkciók — a jelenlegi csomagod alapján ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Jogosultsági Mátrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Művelet"}},perms:{user_mgmt:{t:0,b:{t:2,i:[{t:3}],s:"Felhasználókezelés"}},billing_admin:{t:0,b:{t:2,i:[{t:3}],s:"Számlázási Adminisztráció"}},robot_config:{t:0,b:{t:2,i:[{t:3}],s:"Robot Konfiguráció"}},system_logs:{t:0,b:{t:2,i:[{t:3}],s:"Rendszernaplók Elérése"}},api_keys:{t:0,b:{t:2,i:[{t:3}],s:"API Kulcs Kezelés"}},vehicle_crud:{t:0,b:{t:2,i:[{t:3}],s:"Jármű CRUD"}},service_booking:{t:0,b:{t:2,i:[{t:3}],s:"Szervizfoglalás"}},customer_view:{t:0,b:{t:2,i:[{t:3}],s:"Ügyféladatok Megtekintése"}},report_export:{t:0,b:{t:2,i:[{t:3}],s:"Jelentés Exportálás"}},bulk_import:{t:0,b:{t:2,i:[{t:3}],s:"Tömeges Import"}}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok Kezelése"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"Új Csomag"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"Még nincsenek csomagok"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Hozd létre az első előfizetési csomagot a kezdéshez."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Első Csomag Létrehozása"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Népszerű"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Visszaesési"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Próba"}},month:{t:0,b:{t:2,i:[{t:3}],s:"hó"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Elérhető Funkciók"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Szerkesztés"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Beállítás alapértelmezettként"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"alapértelmezett csomagként beállítva!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Szerkesztése"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Létrehozása"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Mégse"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Létrehozás"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Csomag sikeresen frissítve!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Törlése"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Biztosan törölni szeretnéd a "'},{t:4,k:"name"},{t:3,v:'" csomagot?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Korlátok"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Jármű"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garázs"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Havi Kredit"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szint"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"Rendszer Név"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Megjelenítési Név"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Típus"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Magán"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Vállalati"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szintszám"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Magasabb szám = több funkció és magasabb rang"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Havi Díj"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Éves Díj"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Pénznem"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Felirat / Leírás"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Ideális kisvállalkozásoknak"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Jelvény Szöveg"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Legnépszerűbb"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Egyedi Csomag (nem publikus)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Egyediségi Szabályok"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Próba Napok Regisztrációnál"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0."}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok listája, csomagkezelés és státuszmódosítás"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Összes Garázs"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Aktív Garázsok"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garázsok"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garázsok"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Keresés név, kapcsolattartó vagy e-mail alapján..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"Összes csomag"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Cégnév"}},email:{t:0,b:{t:2,i:[{t:3}],s:"E-mail"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Státusz"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Műveletek"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Aktív"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inaktív"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Felfüggesztve"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Módosítása"}},view:{t:0,b:{t:2,i:[{t:3}],s:"Megtekintés"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Aktiválás"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deaktiválás"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"Nincs a keresésnek megfelelő garázs."}}}};export{t as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DSOY2KzZ.js b/frontend_admin/.nuxt/dist/client/_nuxt/DSOY2KzZ.js new file mode 100644 index 0000000..bb2d80b --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/DSOY2KzZ.js @@ -0,0 +1 @@ +import{H as a,z as i,A as o,I as l}from"./CHWHIiGB.js";import{u as c}from"./DKEj_yij.js";const A=a(async(s,f)=>{let t,r;if(s.path==="/login")return;if(!i("access_token").value)return o("/login");const e=c();if(!e.user)try{[t,r]=l(()=>e.fetchUser()),await t,r()}catch{return e.logout(),o("/login")}if(!e.user)return e.logout(),o("/login");const u=["SUPERADMIN","ADMIN","MODERATOR","SALES_REP","SERVICE_MGR"],n=(e.user.role||"").toUpperCase();if(!u.includes(n))return e.logout(),o("/login")});export{A as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DWjNh9rV.js b/frontend_admin/.nuxt/dist/client/_nuxt/DWjNh9rV.js deleted file mode 100644 index 2450b63..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/DWjNh9rV.js +++ /dev/null @@ -1 +0,0 @@ -import{K as _,m as u,x as a}from"./CqYPuxVf.js";const h=_("region",()=>{const t=u([]),n=u(null),c=u(!1),l=u(null),o=a(()=>t.value.find(e=>e.country_code==="DEFAULT")||null),s=a(()=>{const e=new Map;for(const r of t.value)e.set(r.country_code,r);return e}),i=a(()=>n.value?.currency||o.value?.currency||"EUR"),v=a(()=>n.value?.locale_code||o.value?.locale_code||"en-EU"),f=a(()=>n.value?.default_vat_rate??o.value?.default_vat_rate??0),d=a(()=>n.value?.timezone||o.value?.timezone||"Europe/Brussels");async function g(){if(!(t.value.length>0)){c.value=!0,l.value=null;try{const e=await $fetch("/api/v1/system/regions");t.value=e||[]}catch(e){l.value=e?.data?.detail||e?.message||"Failed to load regions",console.error("[RegionStore] Fetch error:",e)}finally{c.value=!1}}}function m(e){const r=t.value.find(R=>R.country_code===e);n.value=r||o.value}function y(e){return s.value.get(e)}return{regions:t,activeRegion:n,isLoading:c,error:l,defaultRegion:o,regionMap:s,activeCurrency:i,activeLocale:v,activeVatRate:f,activeTimezone:d,fetchRegions:g,setActiveRegion:m,getRegion:y}});export{h as u}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/Da4aCGAe.js b/frontend_admin/.nuxt/dist/client/_nuxt/Da4aCGAe.js deleted file mode 100644 index 1fa16f6..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/Da4aCGAe.js +++ /dev/null @@ -1 +0,0 @@ -import{e as E,g as P,L as q,y as N,M as U,N as j,O as H,P as I,Q as A,R as _,S as V,T as D,m as F,U as O,V as W,h as f,C as z,x,W as B,X as M,Y as $,Z as Q,$ as G,a0 as X,a1 as Y,a2 as Z}from"./CqYPuxVf.js";const J=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001f\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&G(r.slice(0,c+1))?null:t}function K(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function R(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return w(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:w(i,a)}}function k(e){const s=P(),d=Z(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),S=_("RouterLink"),y=S&&typeof S!="string"?S.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:R(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:w(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:w(M(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await z(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return E({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=P(),{to:a,href:i,navigate:S,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=D(!1),m=F(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n).catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;N(()=>{const C=ee();U(()=>{g=j(()=>{m?.value?.tagName&&(n=C.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),A(_("RouterLink"),n,s.default)}const u=e.target||null,g=J(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:S,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return V(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const C=$(i.value??"");return await(e.replace?d.replace(C):d.push(C))}finally{if(c(a.value)){const C=a.value.slice(1);let L=C;try{L=decodeURIComponent(C)}catch{}document.getElementById(L)?.focus()}}}}},s.default?.())}}})}const le=K(Q);function w(t,r){const c=r==="append"?X:Y;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,R=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:R}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DiHJCuau.js b/frontend_admin/.nuxt/dist/client/_nuxt/DiHJCuau.js new file mode 100644 index 0000000..0df05e5 --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/DiHJCuau.js @@ -0,0 +1 @@ +const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultság Kezelés"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultságok betöltése..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Nem sikerült betölteni a jogosultságokat"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Elvetés"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" módosítás"}]}},domain_filter:{t:0,b:{t:2,i:[{t:3}],s:"Tartomány Szűrő (Sorok)"}},role_filter:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör Szűrő (Oszlopok)"}},select_all:{t:0,b:{t:2,i:[{t:3}],s:"Összes kiválasztása"}},deselect_all:{t:0,b:{t:2,i:[{t:3}],s:"Összes elrejtése"}},all_domains:{t:0,b:{t:2,i:[{t:3}],s:"Minden"}},permission:{t:0,b:{t:2,i:[{t:3}],s:"Engedély"}},no_permissions:{t:0,b:{t:2,i:[{t:3}],s:"Nincsenek engedélyek ebben a tartományban."}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Teljes rendszer hozzáférés — felhasználók, számlázás, robotok és rendszerkonfiguráció."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garázs szintű hozzáférés — járműkezelés, szervizfoglalás, ügyféladatok."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Előfizetési funkciók — a jelenlegi csomagod alapján ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Jogosultsági Mátrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Művelet"}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok Kezelése"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"Új Csomag"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"Még nincsenek csomagok"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Hozd létre az első előfizetési csomagot a kezdéshez."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Első Csomag Létrehozása"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Népszerű"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Visszaesési"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Próba"}},month:{t:0,b:{t:2,i:[{t:3}],s:"hó"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Elérhető Funkciók"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Szerkesztés"}},duplicate:{t:0,b:{t:2,i:[{t:3}],s:"Másolás"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Beállítás alapértelmezettként"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"alapértelmezett csomagként beállítva!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Szerkesztése"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Létrehozása"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Mégse"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Létrehozás"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Csomag sikeresen frissítve!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Törlése"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Biztosan törölni szeretnéd a "'},{t:4,k:"name"},{t:3,v:'" csomagot?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Korlátok"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Jármű"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garázs"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Havi Kredit"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szint"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"Rendszer Név"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Megjelenítési Név"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Típus"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Magán"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Vállalati"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szintszám"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Magasabb szám = több funkció és magasabb rang"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Havi Díj"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Éves Díj"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Pénznem"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Felirat / Leírás"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Ideális kisvállalkozásoknak"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Jelvény Szöveg"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Legnépszerűbb"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Egyedi Csomag (nem publikus)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Egyediségi Szabályok"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Próba Napok Regisztrációnál"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0."}},per_region_pricing:{t:0,b:{t:2,i:[{t:3}],s:"Régiók szerinti árazás"}},smart_calculator:{t:0,b:{t:2,i:[{t:3}],s:"Okos Árkalkulátor"}},calc_net_price:{t:0,b:{t:2,i:[{t:3}],s:"Nettó ár"}},calc_vat_rate:{t:0,b:{t:2,i:[{t:3}],s:"ÁFA kulcs"}},calc_currency:{t:0,b:{t:2,i:[{t:3}],s:"Pénznem"}},calc_net:{t:0,b:{t:2,i:[{t:3}],s:"Nettó"}},calc_vat:{t:0,b:{t:2,i:[{t:3}],s:"ÁFA"}},calc_gross:{t:0,b:{t:2,i:[{t:3}],s:"Bruttó"}},calc_apply:{t:0,b:{t:2,i:[{t:3}],s:"Alkalmaz a kiválasztott régióra"}},add_zone:{t:0,b:{t:2,i:[{t:3}],s:"Új Zóna Hozzáadása"}},add_zone_select:{t:0,b:{t:2,i:[{t:3}],s:"Válassz országkódot..."}},add_zone_already_exists:{t:0,b:{t:2,i:[{t:3}],s:"Ez a régió már létezik a csomag árazásában!"}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok listája, csomagkezelés és státuszmódosítás"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Összes Garázs"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Aktív Garázsok"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garázsok"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garázsok"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Keresés név, kapcsolattartó vagy e-mail alapján..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"Összes csomag"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Cégnév"}},email:{t:0,b:{t:2,i:[{t:3}],s:"E-mail"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Státusz"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},expiration_date:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat Dátuma"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Műveletek"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Aktív"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inaktív"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Felfüggesztve"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Módosítása"}},manage_subscription:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetés Kezelése"}},view:{t:0,b:{t:2,i:[{t:3}],s:"Megtekintés"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Aktiválás"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deaktiválás"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"Nincs a keresésnek megfelelő garázs."}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},members:{t:0,b:{t:2,i:[{t:3}],s:"tag"}},free_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Ingyenes / Visszaesési"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},select_package:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Kiválasztása"}},select_package_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Válassz egy előfizetési csomagot..."}},custom_expiration:{t:0,b:{t:2,i:[{t:3}],s:"Egyéni Lejárati Dátum"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"opcionális"}},custom_expiration_hint:{t:0,b:{t:2,i:[{t:3}],s:"Hagyd üresen az alapértelmezett időtartamhoz (pl. 30 nap). 2-5 éves B2B deal-eknél adj meg egyedi dátumot!"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Mégse"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Mentés"}},saving:{t:0,b:{t:2,i:[{t:3}],s:"Mentés..."}},subscription_updated:{t:0,b:{t:2,i:[{t:3}],s:"előfizetése sikeresen frissítve!"}},view_details:{t:0,b:{t:2,i:[{t:3}],s:"Részletek"}},indefinite:{t:0,b:{t:2,i:[{t:3}],s:"Határozatlan"}},details:{loading:{t:0,b:{t:2,i:[{t:3}],s:"Garázs adatainak betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Vissza a garázsokhoz"}},company_info:{t:0,b:{t:2,i:[{t:3}],s:"Cég adatok"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Cégnév"}},display_name:{t:0,b:{t:2,i:[{t:3}],s:"Megjelenítési név"}},org_type:{t:0,b:{t:2,i:[{t:3}],s:"Szervezet típusa"}},tax_number:{t:0,b:{t:2,i:[{t:3}],s:"Adószám"}},reg_number:{t:0,b:{t:2,i:[{t:3}],s:"Cégjegyzékszám"}},created_at:{t:0,b:{t:2,i:[{t:3}],s:"Létrehozva"}},address:{t:0,b:{t:2,i:[{t:3}],s:"Cím"}},subscription_info:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetés státusza"}},tier_name:{t:0,b:{t:2,i:[{t:3}],s:"Csomag"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szint"}},level_n:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:". szint"}]}},expires_at:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},asset_limit:{t:0,b:{t:2,i:[{t:3}],s:"Járműkorlát"}},vehicles:{t:0,b:{t:2,i:[{t:3}],s:"jármű"}},no_subscription:{t:0,b:{t:2,i:[{t:3}],s:"Nincs aktív előfizetés"}},contact_info:{t:0,b:{t:2,i:[{t:3}],s:"Elérhetőség"}},contact_name:{t:0,b:{t:2,i:[{t:3}],s:"Kapcsolattartó neve"}},contact_role:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör"}},contact_department:{t:0,b:{t:2,i:[{t:3}],s:"Osztály"}},contact_phone:{t:0,b:{t:2,i:[{t:3}],s:"Telefonszám"}},no_contact:{t:0,b:{t:2,i:[{t:3}],s:"Nincs elsődleges kapcsolattartó"}},coming_soon:{t:0,b:{t:2,i:[{t:3}],s:"Ez a funkció hamarosan elérhető lesz..."}}}}};export{t as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DlAUqK2U.js b/frontend_admin/.nuxt/dist/client/_nuxt/DlAUqK2U.js new file mode 100644 index 0000000..718edd3 --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/DlAUqK2U.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DuYZ8wdr.js b/frontend_admin/.nuxt/dist/client/_nuxt/DuYZ8wdr.js deleted file mode 100644 index dd6b0cc..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/DuYZ8wdr.js +++ /dev/null @@ -1 +0,0 @@ -import{B as o,A as t,C as a}from"./CqYPuxVf.js";const s=o((e,i)=>{if(e.path==="/login")return;if(!t("access_token").value)return a("/login")});export{s as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/DyJFDhDL.js b/frontend_admin/.nuxt/dist/client/_nuxt/DyJFDhDL.js new file mode 100644 index 0000000..2bedb36 --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/DyJFDhDL.js @@ -0,0 +1 @@ +import{e as se,D as oe,q as ne,c as a,a as t,t as n,h as d,F as x,n as h,i as w,r as y,d as L,m as g,x as S,z as R,o as r}from"./CHWHIiGB.js";const ae={class:"mb-8"},re={class:"text-2xl font-bold text-white"},le={class:"text-slate-400 mt-1"},ie={key:0,class:"flex items-center justify-center py-20"},ce={class:"ml-3 text-slate-400"},de={key:1,class:"bg-red-500/10 border border-red-500/20 rounded-xl p-6 mb-8"},ue={class:"flex items-center gap-3"},pe={class:"text-red-300 font-medium"},me={class:"text-red-400/80 text-sm mt-1"},fe={class:"bg-slate-800/60 border border-slate-700 rounded-xl p-4 mb-6"},ve={class:"flex flex-col sm:flex-row sm:items-center gap-4"},xe={class:"flex-1"},he={class:"block text-xs font-semibold uppercase tracking-wider text-slate-400 mb-2"},ge={class:"flex flex-wrap gap-1.5"},be=["onClick"],_e={class:"flex-1"},ke={class:"block text-xs font-semibold uppercase tracking-wider text-slate-400 mb-2"},we={class:"flex flex-wrap gap-1.5"},ye=["onClick"],Ce={key:0,class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ze={class:"mt-2 flex gap-2"},Pe={key:1,class:"sticky top-0 z-20 -mx-4 px-4 py-3 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700 mb-4 flex items-center gap-3 rounded-t-xl"},Me={class:"text-sm text-slate-400 ml-auto"},Se={class:"overflow-x-auto rounded-xl border border-slate-700 bg-slate-800/40"},$e={class:"w-full text-sm"},Be={class:"border-b border-slate-700"},Ae={class:"sticky left-0 z-10 bg-slate-800/95 min-w-[200px] p-3 text-left"},Ve={class:"flex items-center gap-2"},je={class:"text-xs font-semibold uppercase tracking-wider text-slate-400"},Re={class:"flex flex-col items-center gap-1"},Ne={class:"text-[10px] text-slate-500"},Fe={key:0,class:"text-[10px] text-indigo-400"},De={class:"border-b border-slate-700/50"},Te={class:"flex items-center gap-2"},Ee={class:"text-[10px] text-slate-500 font-normal normal-case"},He={class:"sticky left-0 z-10 bg-slate-800/95 p-3 border-r border-slate-700/50"},Le={class:"flex flex-col min-w-0 max-w-[200px]"},Ue={class:"text-sm text-slate-200 truncate font-medium"},qe={class:"text-xs text-slate-500 truncate font-mono"},Oe={key:0,class:"text-[11px] text-slate-500 truncate mt-0.5"},Ge=["checked","disabled","onChange"],Je={key:0},Ke=["colspan"],Qe={key:2,class:"mt-6 flex items-center gap-3 pb-8"},We={class:"text-sm text-slate-400"},Ze=se({__name:"index",setup(Xe){const{t:c}=oe(),V=g(!0),$=g(null),f=g([]),P=g([]),C=g("__all__"),v=g(new Set),u=g(new Map),k=g(new Map),m=g(null),U=S(()=>{const e=new Set(P.value.map(s=>s.domain)),o=[{value:"__all__",label:c("permissions.all_domains")}];for(const s of Array.from(e).sort())o.push({value:s,label:s.charAt(0).toUpperCase()+s.slice(1)});return o}),q=S(()=>{const e=new Set(P.value.map(s=>s.domain)),o=Array.from(e).sort();return C.value==="__all__"?o:o.filter(s=>s===C.value)}),N=S(()=>C.value==="__all__"?P.value:P.value.filter(e=>e.domain===C.value)),B=S(()=>v.value.size===0?f.value:f.value.filter(e=>v.value.has(e.id))),F=S(()=>u.value.size>0);function O(e){const o=new Set(v.value);o.has(e)?o.delete(e):o.add(e),v.value=o}function G(){v.value=new Set(f.value.map(e=>e.id))}function J(){v.value=new Set}function K(e){return e.rank>=100?"bg-purple-500/20 text-purple-300":e.rank>=80?"bg-indigo-500/20 text-indigo-300":e.rank>=50?"bg-cyan-500/20 text-cyan-300":"bg-slate-500/20 text-slate-300"}function Q(e){return{fleet:"text-emerald-400",user:"text-sky-400",finance:"text-amber-400",permissions:"text-purple-400",system:"text-rose-400",service:"text-teal-400",organization:"text-orange-400",vehicle:"text-cyan-400",subscription:"text-pink-400",moderation:"text-violet-400"}[e]||"text-slate-400"}function W(e,o){return A(e)?"bg-purple-900/5":j(e.id,o.id)?"bg-emerald-900/10":""}function X(e){return e.code.replace(/:/g," ").replace(/\b\w/g,o=>o.toUpperCase())}function D(e){return N.value.filter(o=>o.domain===e)}function j(e,o){if(u.value.has(e))return u.value.get(e).has(o);const s=f.value.find(i=>i.id===e);return s?s.permission_ids.includes(o):!1}function A(e){return e.is_system&&e.rank>=100}function Y(e,o,s){const p=s.target.checked;if(!k.value.has(e)){const z=f.value.find(te=>te.id===e);z&&k.value.set(e,[...z.permission_ids])}let l=u.value.get(e);if(l)l=new Set(l);else{const z=k.value.get(e)||[];l=new Set(z)}p?l.add(o):l.delete(o);const b=k.value.get(e)||[],_=new Set(b);Z(l,_)?(u.value.delete(e),k.value.delete(e)):u.value.set(e,l),u.value=new Map(u.value)}function Z(e,o){if(e.size!==o.size)return!1;for(const s of e)if(!o.has(s))return!1;return!0}function M(){setTimeout(()=>{m.value=null},5e3)}async function T(){m.value=null;try{const o=R("access_token").value;if(!o){m.value={type:"error",message:"Not authenticated"},M();return}if(u.value.size===0){m.value={type:"error",message:"No changes to save"},M();return}const s=[];u.value.forEach((l,b)=>{s.push({roleId:b,permissionIds:Array.from(l).sort((_,z)=>_-z)})});const p=(await Promise.allSettled(s.map(l=>$fetch(`/api/v1/admin/permissions/roles/${l.roleId}/permissions`,{method:"PUT",headers:{Authorization:`Bearer ${o}`,"Content-Type":"application/json"},body:{permission_ids:l.permissionIds}})))).filter(l=>l.status==="rejected");if(p.length>0){const l=p.map(b=>{const _=b.reason;return _?.data?.detail||_?.message||"Unknown error"});m.value={type:"error",message:`Failed to save ${p.length} role(s): ${l.join("; ")}`},M();return}for(const l of s){const b=f.value.find(_=>_.id===l.roleId);b&&(b.permission_ids=l.permissionIds)}u.value=new Map,k.value=new Map,m.value={type:"success",message:`Successfully saved permissions for ${s.length} role(s).`},M()}catch(e){console.error("[Permissions] Save failed:",e),m.value={type:"error",message:e?.data?.detail||e?.message||"Failed to save permissions"},M()}}function E(){u.value=new Map,k.value=new Map,m.value=null}async function I(){try{const o=R("access_token").value;if(!o){console.warn("[Permissions] No access token found for roles");return}const s=await $fetch("/api/v1/admin/permissions/roles",{headers:{Authorization:`Bearer ${o}`}});f.value=s}catch(e){throw console.error("[Permissions] Roles fetch failed:",e?.message||e),e}}async function ee(){try{const o=R("access_token").value;if(!o){console.warn("[Permissions] No access token found for permissions");return}const s=await $fetch("/api/v1/admin/permissions",{headers:{Authorization:`Bearer ${o}`}});P.value=s}catch(e){throw console.error("[Permissions] Permissions fetch failed:",e?.message||e),e}}async function H(){V.value=!0,$.value=null;try{await Promise.all([I(),ee()]),v.value=new Set(f.value.map(e=>e.id))}catch(e){console.error("[Permissions] fetchAll failed:",e?.message||e),$.value=e?.data?.detail||e?.message||"Failed to load permissions data"}finally{V.value=!1}}return ne(()=>{H()}),(e,o)=>(r(),a("div",null,[t("div",ae,[t("h1",re,n(d(c)("permissions.title")),1),t("p",le,n(d(c)("permissions.subtitle")),1)]),V.value?(r(),a("div",ie,[o[0]||(o[0]=t("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),t("span",ce,n(d(c)("permissions.loading")),1)])):$.value?(r(),a("div",de,[t("div",ue,[o[1]||(o[1]=t("svg",{class:"w-6 h-6 text-red-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),t("div",null,[t("h3",pe,n(d(c)("permissions.error_title")),1),t("p",me,n($.value),1)])]),t("button",{onClick:H,class:"mt-4 px-4 py-2 text-sm bg-red-600 hover:bg-red-500 text-white rounded-lg transition"},n(d(c)("permissions.retry")),1)])):(r(),a(x,{key:2},[m.value?(r(),a("div",{key:0,class:h(["mb-6 px-4 py-3 rounded-lg text-sm font-medium",m.value.type==="success"?"bg-emerald-500/10 border border-emerald-500/20 text-emerald-300":"bg-red-500/10 border border-red-500/20 text-red-300"])},n(m.value.message),3)):w("",!0),t("div",fe,[t("div",ve,[t("div",xe,[t("label",he,n(d(c)("permissions.domain_filter")),1),t("div",ge,[(r(!0),a(x,null,y(U.value,s=>(r(),a("button",{key:s.value,onClick:i=>C.value=s.value,class:h(["px-3 py-1.5 text-xs font-medium rounded-lg transition",C.value===s.value?"bg-indigo-600 text-white shadow-sm":"bg-slate-700/60 text-slate-400 hover:bg-slate-700 hover:text-white"])},n(s.label),11,be))),128))])]),t("div",_e,[t("label",ke,n(d(c)("permissions.role_filter")),1),t("div",we,[(r(!0),a(x,null,y(f.value,s=>(r(),a("button",{key:s.id,onClick:i=>O(s.id),class:h(["px-3 py-1.5 text-xs font-medium rounded-lg transition flex items-center gap-1.5",v.value.has(s.id)?s.rank>=100?"bg-purple-600/30 text-purple-300 border border-purple-500/30":"bg-indigo-600/30 text-indigo-300 border border-indigo-500/30":"bg-slate-700/60 text-slate-500 hover:bg-slate-700 hover:text-slate-300 border border-transparent"])},[v.value.has(s.id)?(r(),a("svg",Ce,[...o[2]||(o[2]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",d:"M5 13l4 4L19 7"},null,-1)])])):w("",!0),t("span",null,n(s.name),1)],10,ye))),128))]),t("div",ze,[t("button",{onClick:G,class:"text-xs text-indigo-400 hover:text-indigo-300 transition"},n(d(c)("permissions.select_all")),1),t("button",{onClick:J,class:"text-xs text-slate-500 hover:text-slate-400 transition"},n(d(c)("permissions.deselect_all")),1)])])])]),F.value?(r(),a("div",Pe,[t("button",{onClick:T,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[o[3]||(o[3]=t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),L(" "+n(d(c)("permissions.save_changes")),1)]),t("button",{onClick:E,class:"px-4 py-2.5 bg-slate-700 hover:bg-slate-600 text-slate-300 font-medium rounded-lg transition"},n(d(c)("permissions.discard")),1),t("span",Me,n(d(c)("permissions.modified_count",{count:u.value.size})),1)])):w("",!0),t("div",Se,[t("table",$e,[t("thead",null,[t("tr",Be,[t("th",Ae,[t("div",Ve,[o[4]||(o[4]=t("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),t("span",je,n(d(c)("permissions.permission")),1)])]),(r(!0),a(x,null,y(B.value,s=>(r(),a("th",{key:s.id,class:h(["min-w-[120px] p-3 text-center border-l border-slate-700",s.rank>=100?"bg-purple-900/10":""])},[t("div",Re,[t("span",{class:h(["text-xs font-semibold px-2 py-0.5 rounded-full",K(s)])},n(s.name),3),t("span",Ne,"Rank "+n(s.rank),1),s.is_system?(r(),a("span",Fe,"system")):w("",!0)])],2))),128))])]),t("tbody",null,[(r(!0),a(x,null,y(q.value,s=>(r(),a(x,{key:s},[t("tr",De,[t("td",{colspan:"1",class:h(["sticky left-0 z-10 bg-slate-800/95 px-3 py-2 text-xs font-bold uppercase tracking-wider",Q(s)])},[t("div",Te,[t("span",null,n(s),1),t("span",Ee," ("+n(D(s).length)+") ",1)])],2),(r(!0),a(x,null,y(B.value,i=>(r(),a("td",{key:"hdr-"+i.id,class:"border-l border-slate-700/50 bg-slate-800/60 px-3 py-2"}))),128))]),(r(!0),a(x,null,y(D(s),i=>(r(),a("tr",{key:i.id,class:"border-b border-slate-700/30 hover:bg-slate-700/20 transition"},[t("td",He,[t("div",Le,[t("span",Ue,n(X(i)),1),t("span",qe,n(i.code),1),i.description?(r(),a("span",Oe,n(i.description),1)):w("",!0)])]),(r(!0),a(x,null,y(B.value,p=>(r(),a("td",{key:"cell-"+p.id+"-"+i.id,class:h(["p-3 text-center border-l border-slate-700/30",W(p,i)])},[t("label",{class:h(["relative inline-flex items-center justify-center cursor-pointer",{"cursor-not-allowed opacity-40":A(p)}])},[t("input",{type:"checkbox",checked:j(p.id,i.id),class:"sr-only peer",disabled:A(p),onChange:l=>Y(p.id,i.id,l)},null,40,Ge),t("div",{class:h(["w-9 h-5 rounded-full peer peer-focus:outline-none peer-focus:ring-2 transition-all after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all",A(p)?"bg-slate-600":j(p.id,i.id)?"bg-emerald-600 peer-focus:ring-emerald-500/50 peer-checked:after:translate-x-full peer-checked:after:border-white":"bg-slate-600 peer-focus:ring-indigo-500/50 peer-checked:after:translate-x-full peer-checked:after:border-white peer-checked:bg-indigo-600"])},null,2)],2)],2))),128))]))),128))],64))),128)),N.value.length===0?(r(),a("tr",Je,[t("td",{colspan:B.value.length+1,class:"p-8 text-center text-slate-500 text-sm"},n(d(c)("permissions.no_permissions")),9,Ke)])):w("",!0)])])]),F.value?(r(),a("div",Qe,[t("button",{onClick:T,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[o[5]||(o[5]=t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),L(" "+n(d(c)("permissions.save_changes")),1)]),t("button",{onClick:E,class:"px-4 py-2.5 bg-slate-700 hover:bg-slate-600 text-slate-300 font-medium rounded-lg transition"},n(d(c)("permissions.discard")),1),t("span",We,n(d(c)("permissions.modified_count",{count:u.value.size})),1)])):w("",!0)],64))]))}});export{Ze as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/HwQw-d2b.js b/frontend_admin/.nuxt/dist/client/_nuxt/HwQw-d2b.js new file mode 100644 index 0000000..776d3bf --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/HwQw-d2b.js @@ -0,0 +1 @@ +const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Permission Matrix — Role-based access control"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading permissions..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Failed to load permissions"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Discard"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" changes"}]}},domain_filter:{t:0,b:{t:2,i:[{t:3}],s:"Domain Filter (Rows)"}},role_filter:{t:0,b:{t:2,i:[{t:3}],s:"Role Filter (Columns)"}},select_all:{t:0,b:{t:2,i:[{t:3}],s:"Select All"}},deselect_all:{t:0,b:{t:2,i:[{t:3}],s:"Deselect All"}},all_domains:{t:0,b:{t:2,i:[{t:3}],s:"All"}},permission:{t:0,b:{t:2,i:[{t:3}],s:"Permission"}},no_permissions:{t:0,b:{t:2,i:[{t:3}],s:"No permissions in this domain."}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Current Package"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Full system access — users, billing, robots and system configuration."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garages"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garage-level access — vehicle management, service booking, customer data."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Subscription features — based on your current plan ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Permission Matrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Role-based access control — which roles can perform which admin actions."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Action"}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Package Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Manage subscription packages and features — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading packages..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"New Package"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"No packages yet"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Create your first subscription package to get started."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Create First Package"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Popular"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Fallback"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Trial"}},month:{t:0,b:{t:2,i:[{t:3}],s:"mo"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Available Features"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},duplicate:{t:0,b:{t:2,i:[{t:3}],s:"Duplicate"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Set as Default"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"set as default package!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Edit Package"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Create Package"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Create"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Package updated successfully!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Delete Package"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Are you sure you want to delete "'},{t:4,k:"name"},{t:3,v:'"?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Allowances"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Vehicles"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garages"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Credits"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Level"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"System Name"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Display Name"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Type"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Private"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Corporate"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Tier Level"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Higher number = more features and higher rank"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Price"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Yearly Price"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Currency"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Subtitle / Description"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Ideal for small businesses"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Badge Text"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Most Popular"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Custom Package (not public)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Singleton Rules"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Default Fallback Package — expired subscriptions fall back to this"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Trial Days on Signup"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"New organizations get this many free days. Only one package can have > 0."}},per_region_pricing:{t:0,b:{t:2,i:[{t:3}],s:"Per-Region Pricing"}},smart_calculator:{t:0,b:{t:2,i:[{t:3}],s:"Smart Price Calculator"}},calc_net_price:{t:0,b:{t:2,i:[{t:3}],s:"Net Price"}},calc_vat_rate:{t:0,b:{t:2,i:[{t:3}],s:"VAT Rate"}},calc_currency:{t:0,b:{t:2,i:[{t:3}],s:"Currency"}},calc_net:{t:0,b:{t:2,i:[{t:3}],s:"Net"}},calc_vat:{t:0,b:{t:2,i:[{t:3}],s:"VAT"}},calc_gross:{t:0,b:{t:2,i:[{t:3}],s:"Gross"}},calc_apply:{t:0,b:{t:2,i:[{t:3}],s:"Apply to selected region"}},add_zone:{t:0,b:{t:2,i:[{t:3}],s:"Add New Zone"}},add_zone_select:{t:0,b:{t:2,i:[{t:3}],s:"Select country code..."}},add_zone_already_exists:{t:0,b:{t:2,i:[{t:3}],s:"This region already exists in the package pricing!"}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garages CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garage list, package management and status changes"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Total Garages"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Active Garages"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garages"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garages"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Search by name, contact or email..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"All packages"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Company Name"}},email:{t:0,b:{t:2,i:[{t:3}],s:"Email"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Status"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Current Package"}},expiration_date:{t:0,b:{t:2,i:[{t:3}],s:"Expiration Date"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Actions"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Active"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inactive"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Suspended"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Change Package"}},manage_subscription:{t:0,b:{t:2,i:[{t:3}],s:"Manage Subscription"}},view:{t:0,b:{t:2,i:[{t:3}],s:"View"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Activate"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deactivate"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"No garages match your search."}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading garages..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},members:{t:0,b:{t:2,i:[{t:3}],s:"members"}},free_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Free / Fallback"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},select_package:{t:0,b:{t:2,i:[{t:3}],s:"Select Package"}},select_package_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Select a subscription package..."}},custom_expiration:{t:0,b:{t:2,i:[{t:3}],s:"Custom Expiration Date"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"optional"}},custom_expiration_hint:{t:0,b:{t:2,i:[{t:3}],s:"Leave empty for default duration (e.g. 30 days). For 2-5 year B2B deals, set a custom date!"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save"}},saving:{t:0,b:{t:2,i:[{t:3}],s:"Saving..."}},subscription_updated:{t:0,b:{t:2,i:[{t:3}],s:"subscription updated successfully!"}},view_details:{t:0,b:{t:2,i:[{t:3}],s:"Details"}},indefinite:{t:0,b:{t:2,i:[{t:3}],s:"Indefinite"}},details:{loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading garage details..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Back to garages"}},company_info:{t:0,b:{t:2,i:[{t:3}],s:"Company Info"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Company Name"}},display_name:{t:0,b:{t:2,i:[{t:3}],s:"Display Name"}},org_type:{t:0,b:{t:2,i:[{t:3}],s:"Organization Type"}},tax_number:{t:0,b:{t:2,i:[{t:3}],s:"Tax Number"}},reg_number:{t:0,b:{t:2,i:[{t:3}],s:"Registration Number"}},created_at:{t:0,b:{t:2,i:[{t:3}],s:"Created At"}},address:{t:0,b:{t:2,i:[{t:3}],s:"Address"}},subscription_info:{t:0,b:{t:2,i:[{t:3}],s:"Subscription Status"}},tier_name:{t:0,b:{t:2,i:[{t:3}],s:"Package"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Level"}},level_n:{t:0,b:{t:2,i:[{t:3,v:"Level "},{t:4,k:"n"}]}},expires_at:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},asset_limit:{t:0,b:{t:2,i:[{t:3}],s:"Vehicle Limit"}},vehicles:{t:0,b:{t:2,i:[{t:3}],s:"vehicles"}},no_subscription:{t:0,b:{t:2,i:[{t:3}],s:"No active subscription"}},contact_info:{t:0,b:{t:2,i:[{t:3}],s:"Contact Info"}},contact_name:{t:0,b:{t:2,i:[{t:3}],s:"Contact Name"}},contact_role:{t:0,b:{t:2,i:[{t:3}],s:"Role"}},contact_department:{t:0,b:{t:2,i:[{t:3}],s:"Department"}},contact_phone:{t:0,b:{t:2,i:[{t:3}],s:"Phone"}},no_contact:{t:0,b:{t:2,i:[{t:3}],s:"No primary contact person"}},coming_soon:{t:0,b:{t:2,i:[{t:3}],s:"This feature will be available soon..."}}}}};export{t as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/JOVMCDE9.js b/frontend_admin/.nuxt/dist/client/_nuxt/JOVMCDE9.js new file mode 100644 index 0000000..f4e208c --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/JOVMCDE9.js @@ -0,0 +1 @@ +import{_ as a}from"./qc1uPXiA.js";import{_ as i}from"./DlAUqK2U.js";import{u,o as c,c as l,a as e,t as r,b as d,w as p,d as f}from"./CHWHIiGB.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},b=["textContent"],h=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:404},statusText:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return u({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=a;return c(),l("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.status)},null,8,b),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,h),e("div",x,[d(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:p(()=>[f(r(t.backHome),1)]),_:1})])])])}}},z=i(y,[["__scopeId","data-v-1bd9e11a"]]);export{z as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/KwNF0Piy.js b/frontend_admin/.nuxt/dist/client/_nuxt/KwNF0Piy.js new file mode 100644 index 0000000..d263e0e --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/KwNF0Piy.js @@ -0,0 +1 @@ +import{e as H,q as L,c as l,a as e,t as s,F as b,d as h,n as d,i as g,r as V,m as _,x as I,E as N,z as T,G as E,o as r}from"./CHWHIiGB.js";const G={key:0,class:"flex items-center justify-center py-20"},R={class:"flex flex-col items-center gap-3"},S={class:"text-slate-400 text-sm"},U={key:1,class:"flex flex-col items-center justify-center py-20 text-center"},q={class:"text-red-400 text-sm mb-2"},K={class:"mb-8"},P={class:"flex items-center justify-between"},J={class:"flex items-center gap-4"},O={class:"text-2xl font-bold text-white"},Q={class:"text-sm text-slate-400 mt-0.5"},W={key:0,class:"ml-2 text-slate-500"},X={class:"border-b border-slate-700 mb-6"},Y={class:"flex gap-6"},Z=["onClick"],ee={key:0,class:"space-y-6"},te={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},se={class:"px-6 py-4 border-b border-slate-700 flex items-center gap-3"},ae={class:"text-base font-semibold text-white"},ie={class:"px-6 py-5"},le={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},re={class:"space-y-4"},oe={class:"text-xs text-slate-500 uppercase tracking-wider"},ne={class:"text-sm text-white mt-1"},de={class:"text-xs text-slate-500 uppercase tracking-wider"},ce={class:"text-sm text-white mt-1"},ue={class:"text-xs text-slate-500 uppercase tracking-wider"},pe={class:"text-sm text-white mt-1"},ge={class:"space-y-4"},_e={class:"text-xs text-slate-500 uppercase tracking-wider"},me={class:"text-sm text-white mt-1"},he={class:"text-xs text-slate-500 uppercase tracking-wider"},ve={class:"text-sm text-white mt-1"},xe={class:"text-xs text-slate-500 uppercase tracking-wider"},be={class:"text-sm text-white mt-1"},fe={class:"mt-6 pt-6 border-t border-slate-700/50"},ye={class:"text-xs text-slate-500 uppercase tracking-wider mb-3"},ke={class:"text-sm text-white"},we={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},$e={class:"px-6 py-4 border-b border-slate-700 flex items-center gap-3"},Ce={class:"text-base font-semibold text-white"},ze={class:"px-6 py-5"},je={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Me={class:"space-y-4"},Be={class:"text-xs text-slate-500 uppercase tracking-wider"},De={class:"text-xs text-slate-500 uppercase tracking-wider"},Fe={class:"text-sm text-white mt-1"},Ae={class:"space-y-4"},He={class:"text-xs text-slate-500 uppercase tracking-wider"},Le={key:0,class:"text-sm text-white mt-1"},Ve={key:1,class:"text-sm text-slate-400 mt-1 italic"},Ie={class:"text-xs text-slate-500 uppercase tracking-wider"},Ne={class:"text-sm text-white mt-1"},Te={key:1,class:"text-center py-4"},Ee={class:"text-sm text-slate-400"},Ge={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},Re={class:"px-6 py-4 border-b border-slate-700 flex items-center gap-3"},Se={class:"text-base font-semibold text-white"},Ue={class:"px-6 py-5"},qe={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Ke={class:"space-y-4"},Pe={class:"text-xs text-slate-500 uppercase tracking-wider"},Je={class:"text-sm text-white mt-1"},Oe={class:"text-xs text-slate-500 uppercase tracking-wider"},Qe={class:"text-sm text-white mt-1"},We={class:"space-y-4"},Xe={class:"text-xs text-slate-500 uppercase tracking-wider"},Ye={class:"text-sm text-white mt-1"},Ze={class:"text-xs text-slate-500 uppercase tracking-wider"},et={class:"text-sm text-white mt-1"},tt={key:1,class:"text-center py-4"},st={class:"text-sm text-slate-400"},at={key:1,class:"flex items-center justify-center py-20"},it={class:"text-slate-500 text-sm"},ot=H({__name:"index",setup(lt){const f=N(),y=E(),c=_(!0),n=_(null),a=_(null),u=_("general"),k=[{key:"general",label:"Általános"},{key:"employees",label:"Dolgozók"},{key:"fleet",label:"Flotta"},{key:"analytics",label:"Analitika"}],w=I(()=>{if(!a.value)return"—";const t=[];a.value.address_zip&&t.push(a.value.address_zip),a.value.address_city&&t.push(a.value.address_city);const i=[];return a.value.address_street_name&&i.push(a.value.address_street_name),a.value.address_street_type&&i.push(a.value.address_street_type),a.value.address_house_number&&i.push(a.value.address_house_number),i.length>0&&t.push(i.join(" ")),t.length>0?t.join(", "):"—"});function $(){const i=T("access_token").value;return i?{Authorization:`Bearer ${i}`}:{}}async function v(){const t=f.params.id;if(!t){n.value="Invalid garage ID",c.value=!1;return}c.value=!0,n.value=null;try{const i=await $fetch(`/api/v1/admin/organizations/${t}/details`,{headers:$()});a.value=i}catch(i){console.error("[GarageDetails] Failed to fetch:",i),n.value=i?.data?.detail||i?.message||"Failed to load garage details"}finally{c.value=!1}}function C(){y.push("/garages")}function m(t){return t.display_name||t.name||t.full_name}function z(t){return t.split(" ").map(i=>i.charAt(0)).join("").toUpperCase().slice(0,2)}function j(t){const i=["bg-amber-600","bg-purple-600","bg-slate-600","bg-indigo-600","bg-emerald-600","bg-rose-600","bg-cyan-600","bg-orange-600","bg-teal-600"];let o=0;for(let p=0;p{v()}),(t,i)=>(r(),l("div",null,[c.value?(r(),l("div",G,[e("div",R,[i[0]||(i[0]=e("svg",{class:"w-8 h-8 text-indigo-400 animate-spin",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("p",S,s(t.$t("garages.details.loading")),1)])])):n.value?(r(),l("div",U,[i[1]||(i[1]=e("svg",{class:"w-12 h-12 text-red-500 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),e("p",q,s(n.value),1),e("button",{onClick:v,class:"px-4 py-2 text-sm bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},s(t.$t("garages.details.retry")),1)])):a.value?(r(),l(b,{key:2},[e("div",K,[e("button",{onClick:C,class:"inline-flex items-center gap-1.5 text-sm text-slate-400 hover:text-white transition mb-4"},[i[2]||(i[2]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)),h(" "+s(t.$t("garages.details.back")),1)]),e("div",P,[e("div",J,[e("div",{class:d(["w-12 h-12 rounded-xl flex items-center justify-center text-lg font-bold text-white",j(m(a.value))])},s(z(m(a.value))),3),e("div",null,[e("h1",O,s(m(a.value)),1),e("p",Q,[h(s(a.value.full_name)+" ",1),a.value.tax_number?(r(),l("span",W,"· "+s(t.$t("garages.details.tax_number"))+": "+s(a.value.tax_number),1)):g("",!0)])])]),e("span",{class:d(["inline-flex items-center px-3 py-1 rounded-full text-xs font-medium",M(a.value.status)])},[e("span",{class:d(["w-1.5 h-1.5 rounded-full mr-1.5",B(a.value.status)])},null,2),h(" "+s(D(a.value.status)),1)],2)])]),e("div",X,[e("nav",Y,[(r(),l(b,null,V(k,o=>e("button",{key:o.key,onClick:p=>u.value=o.key,class:d(["pb-3 text-sm font-medium transition border-b-2 -mb-px",u.value===o.key?"text-indigo-400 border-indigo-400":"text-slate-400 border-transparent hover:text-slate-300"])},s(o.label),11,Z)),64))])]),u.value==="general"?(r(),l("div",ee,[e("div",te,[e("div",se,[i[3]||(i[3]=e("div",{class:"p-2 rounded-lg bg-indigo-500/10 text-indigo-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})])],-1)),e("h3",ae,s(t.$t("garages.details.company_info")),1)]),e("div",ie,[e("div",le,[e("div",re,[e("div",null,[e("p",oe,s(t.$t("garages.details.company_name")),1),e("p",ne,s(a.value.full_name),1)]),e("div",null,[e("p",de,s(t.$t("garages.details.display_name")),1),e("p",ce,s(a.value.display_name||"—"),1)]),e("div",null,[e("p",ue,s(t.$t("garages.details.org_type")),1),e("p",pe,s(A(a.value.org_type)),1)])]),e("div",ge,[e("div",null,[e("p",_e,s(t.$t("garages.details.tax_number")),1),e("p",me,s(a.value.tax_number||"—"),1)]),e("div",null,[e("p",he,s(t.$t("garages.details.reg_number")),1),e("p",ve,s(a.value.reg_number||"—"),1)]),e("div",null,[e("p",xe,s(t.$t("garages.details.created_at")),1),e("p",be,s(x(a.value.created_at)),1)])])]),e("div",fe,[e("p",ye,s(t.$t("garages.details.address")),1),e("p",ke,s(w.value),1)])])]),e("div",we,[e("div",$e,[i[4]||(i[4]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})])],-1)),e("h3",Ce,s(t.$t("garages.details.subscription_info")),1)]),e("div",ze,[a.value.subscription?(r(),l("div",je,[e("div",Me,[e("div",null,[e("p",Be,s(t.$t("garages.details.tier_name")),1),e("span",{class:d(["inline-flex mt-1 px-2.5 py-0.5 rounded-full text-xs font-medium",F(a.value.subscription.tier_name)])},s(a.value.subscription.tier_name),3)]),e("div",null,[e("p",De,s(t.$t("garages.details.tier_level")),1),e("p",Fe,s(t.$t("garages.details.level_n",{n:a.value.subscription.tier_level})),1)])]),e("div",Ae,[e("div",null,[e("p",He,s(t.$t("garages.details.expires_at")),1),a.value.subscription.expires_at?(r(),l("p",Le,s(x(a.value.subscription.expires_at)),1)):(r(),l("p",Ve,s(t.$t("garages.indefinite")),1))]),e("div",null,[e("p",Ie,s(t.$t("garages.details.asset_limit")),1),e("p",Ne,s(a.value.subscription.asset_limit)+" "+s(t.$t("garages.details.vehicles")),1)])])])):(r(),l("div",Te,[e("p",Ee,s(t.$t("garages.details.no_subscription")),1)]))])]),e("div",Ge,[e("div",Re,[i[5]||(i[5]=e("div",{class:"p-2 rounded-lg bg-emerald-500/10 text-emerald-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"})])],-1)),e("h3",Se,s(t.$t("garages.details.contact_info")),1)]),e("div",Ue,[a.value.primary_contact?(r(),l("div",qe,[e("div",Ke,[e("div",null,[e("p",Pe,s(t.$t("garages.details.contact_name")),1),e("p",Je,s(a.value.primary_contact.full_name),1)]),e("div",null,[e("p",Oe,s(t.$t("garages.details.contact_role")),1),e("p",Qe,s(a.value.primary_contact.role),1)])]),e("div",We,[e("div",null,[e("p",Xe,s(t.$t("garages.details.contact_department")),1),e("p",Ye,s(a.value.primary_contact.department||"—"),1)]),e("div",null,[e("p",Ze,s(t.$t("garages.details.contact_phone")),1),e("p",et,s(a.value.primary_contact.phone||"—"),1)])])])):(r(),l("div",tt,[e("p",st,s(t.$t("garages.details.no_contact")),1)]))])])])):g("",!0),u.value!=="general"?(r(),l("div",at,[e("p",it,s(t.$t("garages.details.coming_soon")),1)])):g("",!0)],64)):g("",!0)]))}});export{ot as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/d4dk63Pu.js b/frontend_admin/.nuxt/dist/client/_nuxt/d4dk63Pu.js new file mode 100644 index 0000000..e760b4a --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/d4dk63Pu.js @@ -0,0 +1,5 @@ +import{e as ye,q as ve,c as i,a as e,t as o,d as S,F as D,r as L,j as Y,k as _,v as b,s as H,B as Z,i as v,h as R,n as q,m as f,x as ee,C as he,z as ke,o as c}from"./CHWHIiGB.js";import{u as te}from"./j8avB3IT.js";function we(){const x=te();function h(n,d){const u=x.activeLocale||"en-EU";try{return new Intl.NumberFormat(u,d).format(n)}catch{return new Intl.NumberFormat("en-EU",d).format(n)}}function k(n,d,u){const m=x.activeLocale||"en-EU",p=d||x.activeCurrency||"EUR";try{return new Intl.NumberFormat(m,{style:"currency",currency:p,minimumFractionDigits:2,maximumFractionDigits:2,...u}).format(n)}catch{return`${n.toFixed(2)} ${p}`}}function A(n,d){const u=x.activeLocale||"en-EU",m=x.activeTimezone||"Europe/Brussels",p=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(u,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",...d}).format(p)}catch{return p.toLocaleDateString("en-GB")}}function g(n,d){const u=x.activeLocale||"en-EU",m=x.activeTimezone||"Europe/Brussels",p=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(u,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",...d}).format(p)}catch{return p.toLocaleString("en-GB")}}function O(n,d){const u=x.activeLocale||"en-EU";try{return new Intl.NumberFormat(u,{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1,...d}).format(n/100)}catch{return`${n}%`}}function F(n,d){const u=d??x.activeVatRate??0,m=n*(u/100),p=n+m;return{net:n,vat:m,gross:p,vatRate:u}}function P(n,d,u){const{net:m,vat:p,gross:U,vatRate:w}=F(n,d),$=u||x.activeCurrency||"EUR";return`Net: ${k(m,$)} | VAT: ${k(p,$)} (${w}%) | Gross: ${k(U,$)}`}return{formatNumber:h,formatCurrency:k,formatDate:A,formatDateTime:g,formatPercent:O,calculatePriceWithVat:F,formatPriceWithVat:P}}const $e={class:"mb-8 flex items-center justify-between"},Ce={class:"text-2xl font-bold text-white"},ze={class:"text-slate-400 mt-1"},Ue={key:0,class:"flex items-center justify-center py-20"},Ee={class:"flex flex-col items-center gap-3"},Ve={class:"text-slate-400 text-sm"},Fe={key:1,class:"bg-red-900/30 border border-red-700 rounded-xl p-6 text-center"},Te={class:"text-red-300 mb-3"},je={key:2,class:"bg-slate-800/50 border border-slate-700 rounded-xl p-12 text-center"},De={class:"text-lg font-medium text-slate-300 mb-2"},Le={class:"text-slate-500 mb-6"},Re={key:3,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 mb-8"},Pe={class:"flex items-center justify-between mb-4"},Ae={class:"flex items-center gap-3"},Me=["innerHTML"],Be={class:"text-lg font-semibold text-white"},Ne={class:"text-xs text-slate-500 font-mono"},Ie={class:"flex items-center gap-1.5 flex-wrap"},Se={key:0,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-indigo-500/20 text-indigo-300"},He={key:1,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-amber-500/20 text-amber-300",title:"Default fallback package for expired subscriptions"},Ze=["title"],Oe={class:"mb-4"},Je={class:"text-3xl font-bold text-white"},Ge={class:"text-sm text-slate-400 ml-1"},qe={class:"text-sm text-slate-400 mb-4 flex-1"},Ke={class:"border-t border-slate-700 pt-4 mb-4"},We={class:"text-xs font-semibold uppercase tracking-wider text-slate-500 mb-3"},Qe={class:"space-y-2"},Xe={class:"flex items-center justify-between text-sm"},Ye={class:"text-slate-400"},et={class:"text-slate-200 font-medium"},tt={class:"flex items-center justify-between text-sm"},st={class:"text-slate-400"},at={class:"text-slate-200 font-medium"},lt={class:"flex items-center justify-between text-sm"},ot={class:"text-slate-400"},rt={class:"text-slate-200 font-medium"},nt={class:"mb-4"},it={class:"text-xs text-slate-500"},ct={class:"text-xs font-mono text-slate-400"},dt={class:"flex gap-2"},ut=["onClick"],pt=["onClick","title"],_t=["onClick","title"],mt={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-3xl mx-4 shadow-2xl max-h-[90vh] flex flex-col"},ft={class:"flex items-center justify-between px-6 py-4 border-b border-slate-700"},gt={class:"text-lg font-semibold text-white"},bt={class:"flex border-b border-slate-700 px-6"},xt=["onClick"],yt={class:"flex-1 overflow-y-auto px-6 py-5"},vt={key:0,class:"space-y-4"},ht={class:"block text-sm font-medium text-slate-300 mb-1"},kt=["placeholder"],wt={class:"block text-sm font-medium text-slate-300 mb-1"},$t=["placeholder"],Ct={class:"grid grid-cols-2 gap-4"},zt={class:"block text-sm font-medium text-slate-300 mb-1"},Ut={value:"private"},Et={value:"corporate"},Vt={class:"block text-sm font-medium text-slate-300 mb-1"},Ft={class:"text-xs text-slate-500 mt-1"},Tt={class:"grid grid-cols-2 gap-4"},jt={class:"block text-sm font-medium text-slate-300 mb-1"},Dt=["placeholder"],Lt={class:"block text-sm font-medium text-slate-300 mb-1"},Rt=["placeholder"],Pt={class:"flex items-center gap-3"},At={for:"is_custom",class:"text-sm text-slate-300"},Mt={class:"border-t border-slate-700 pt-4"},Bt={class:"text-sm font-semibold text-slate-300 mb-3"},Nt={class:"space-y-4"},It={class:"flex items-center gap-3"},St={for:"is_default_fallback",class:"text-sm text-slate-300"},Ht={class:"block text-sm text-slate-300 mb-1"},Zt={class:"text-xs text-slate-500 mt-1"},Ot={key:1,class:"space-y-6"},Jt={class:"text-sm font-semibold text-slate-300 mb-3"},Gt={class:"overflow-x-auto"},qt={class:"w-full text-sm"},Kt={class:"border-b border-slate-700"},Wt={class:"text-left py-2 px-3 text-slate-400 font-medium"},Qt={class:"text-left py-2 px-3 text-slate-400 font-medium"},Xt={class:"text-left py-2 px-3 text-slate-400 font-medium"},Yt={class:"py-2 px-3 text-slate-200 font-medium"},es={class:"inline-flex items-center gap-1.5"},ts={class:"text-xs text-slate-500"},ss={class:"py-2 px-3"},as=["value","onInput"],ls={class:"py-2 px-3"},os=["value","onInput"],rs={class:"py-2 px-3"},ns=["value","onInput"],is={class:"py-2 px-3"},cs=["value","onInput"],ds={class:"py-2 px-3 text-center"},us=["onClick","title"],ps={class:"flex items-center gap-3 mt-4"},_s={value:"",disabled:""},ms=["value"],fs=["disabled"],gs={class:"border-t border-slate-700 pt-5"},bs={class:"text-sm font-semibold text-slate-300 mb-3"},xs={class:"bg-slate-700/30 rounded-xl p-4 space-y-4"},ys={class:"grid grid-cols-3 gap-4"},vs={class:"block text-xs text-slate-400 mb-1"},hs={class:"block text-xs text-slate-400 mb-1"},ks=["value"],ws={class:"block text-xs text-slate-400 mb-1"},$s=["value"],Cs={class:"grid grid-cols-3 gap-4 pt-2"},zs={class:"bg-slate-800 rounded-lg p-3 text-center"},Us={class:"text-xs text-slate-400 mb-1"},Es={class:"text-lg font-bold text-white"},Vs={class:"bg-slate-800 rounded-lg p-3 text-center"},Fs={class:"text-xs text-slate-400 mb-1"},Ts={class:"text-lg font-bold text-amber-400"},js={class:"bg-slate-800 rounded-lg p-3 text-center ring-2 ring-emerald-500/50"},Ds={class:"text-xs text-slate-400 mb-1"},Ls={class:"text-lg font-bold text-emerald-400"},Rs={class:"flex justify-end pt-1"},Ps={key:2,class:"space-y-5"},As={class:"text-sm font-semibold text-slate-300 mb-3"},Ms={class:"grid grid-cols-3 gap-4"},Bs={class:"block text-xs text-slate-400 mb-1"},Ns={class:"block text-xs text-slate-400 mb-1"},Is={class:"block text-xs text-slate-400 mb-1"},Ss={class:"border-t border-slate-700 pt-4"},Hs={class:"grid grid-cols-3 gap-4"},Zs={class:"flex items-center h-[38px]"},Os={class:"relative inline-flex items-center cursor-pointer"},Js={class:"ms-3 text-sm text-slate-300"},Gs={class:"flex items-center h-[38px]"},qs={class:"relative inline-flex items-center cursor-pointer"},Ks={class:"ms-3 text-sm text-slate-300"},Ws={class:"border-t border-slate-700 pt-4"},Qs={class:"text-sm font-semibold text-slate-300 mb-3"},Xs={class:"text-xs text-slate-500 mt-1"},Ys={key:0,class:"text-xs text-red-400 mt-1"},ea={class:"flex items-center justify-between px-6 py-4 border-t border-slate-700"},ta={class:"text-xs text-slate-500"},sa={class:"flex items-center gap-3"},aa=["disabled"],la={key:0,class:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},oa={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-md mx-4 p-6 shadow-2xl"},ra={class:"text-lg font-semibold text-white mb-2"},na={class:"text-slate-400 text-sm mb-6"},ia={class:"flex items-center justify-end gap-3"},ca=["disabled"],pa=ye({__name:"index",setup(x){const h=te(),{formatCurrency:k}=we(),A=[{key:"basic",label:"📋 Basic Info"},{key:"pricing",label:"💰 Pricing"},{key:"features",label:"⚡ Features"}],g=f("basic"),O=ee(()=>{const t=A.find(s=>s.key===g.value);return t?t.label:""}),F=f([]),P=f(!0),n=f(null),d=f(!1),u=f(!1),m=f(null),p=f(null),U=f(!1),w=f(!1),$=f(null),M=f(null),T=f(""),se=ee(()=>h.regions.filter(t=>t.country_code!=="DEFAULT"&&!l.pricing_zones[t.country_code]));function ae(){if(!T.value)return;const t=T.value;if(l.pricing_zones[t]){y("error",`Region ${t} already exists in pricing zones`);return}const s=h.getRegion(t);l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:s?.currency||"EUR"},T.value="",y("success",`Added pricing zone for ${t}`)}function le(t){t!=="DEFAULT"&&(delete l.pricing_zones[t],y("success",`Removed pricing zone for ${t}`))}const E=f(0),j=f(27),V=f("EUR"),K={name:"",display_name:"",type:"private",tier_level:0,monthly_price:0,yearly_price:0,currency:"EUR",max_vehicles:1,max_garages:1,monthly_free_credits:0,max_cost_category_depth:3,advanced_reports:!1,export_data:!1,subtitle:"",badge:"",is_custom:!1,is_default_fallback:!1,trial_days_on_signup:0,feature_capabilities_json:`{ + "ai_analysis": false, + "priority_support": false, + "api_access": false +}`,pricing_zones:{}},l=he({...K});function W(t,s){const a=l.pricing_zones[t];return a?s==="monthly"?a.monthly_price:a.yearly_price:0}function Q(t,s,a){const r=parseFloat(a)||0;l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:"EUR"}),s==="monthly"?l.pricing_zones[t].monthly_price=r:l.pricing_zones[t].yearly_price=r}function oe(t){const s=l.pricing_zones[t];return s?s.credit_price??0:0}function re(t,s){const a=parseFloat(s)||0;l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:"EUR"}),l.pricing_zones[t].credit_price=a}function ne(t){const s=l.pricing_zones[t];return s?s.currency:"EUR"}function ie(t,s){l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:"EUR"}),l.pricing_zones[t].currency=s.toUpperCase()}function ce(){const t=h.regions.find(a=>a.default_vat_rate===j);if(!t){y("error","No region found with the selected VAT rate");return}const s=t.country_code;l.pricing_zones[s]||(l.pricing_zones[s]={monthly_price:0,yearly_price:0,credit_price:0,currency:t.currency}),l.pricing_zones[s].monthly_price=E,l.pricing_zones[s].currency=V,y("success",`Applied net price ${k(E,V)} to ${s} region`)}function B(){const s=ke("access_token").value;return s?{Authorization:`Bearer ${s}`}:{}}async function N(){P.value=!0,n.value=null;try{const t=await $fetch("/api/v1/admin/packages",{headers:B()});F.value=t.tiers||[]}catch(t){n.value=t?.data?.detail||t?.message||"Failed to load packages",console.error("[Packages] Fetch error:",t)}finally{P.value=!1}}function I(t){return t.rules?.display_name||t.name}function de(t){return t.rules?.marketing?.subtitle||t.rules?.marketing?.badge||""}function ue(t){const s=t.rules?.pricing_zones,a=t.rules?.pricing;if(s&&s.DEFAULT){const r=s.DEFAULT,C=r.currency==="HUF"?"Ft":"€";return`${r.monthly_price} ${C}`}if(a){const r=a.currency==="HUF"?"Ft":"€";return`${a.monthly_price} ${r}`}return"—"}function J(t,s){const a=t.rules?.allowances;return a?a[s]??"—":"—"}function pe(t){return t>=2?"bg-purple-500/10 text-purple-400":t>=1?"bg-amber-500/10 text-amber-400":"bg-slate-500/10 text-slate-400"}function _e(t){return t>=2?"🏢":t>=1?"⭐":"🔓"}function X(){U.value=!0,m.value=null,g.value="basic",Object.assign(l,K),d.value=!0}function me(t){U.value=!1,m.value=t,g.value="basic";const s=t.rules||{},a=s.pricing_zones?.DEFAULT||s.pricing||{},r=s.allowances||{};l.name=t.name,l.display_name=s.display_name||"",l.type=s.type||"private",l.tier_level=t.tier_level,l.monthly_price=a.monthly_price||0,l.yearly_price=a.yearly_price||0,l.currency=a.currency||"EUR",l.max_vehicles=r.max_vehicles||1,l.max_garages=r.max_garages||1,l.monthly_free_credits=r.monthly_free_credits||0,l.subtitle=s.marketing?.subtitle||"",l.badge=s.marketing?.badge||"",l.is_custom=t.is_custom,l.is_default_fallback=t.is_default_fallback,l.trial_days_on_signup=t.trial_days_on_signup;const C=t.feature_capabilities||{};if(l.max_cost_category_depth=C.max_cost_category_depth??3,l.advanced_reports=C.advanced_reports??!1,l.export_data=C.export_data??!1,l.pricing_zones={},s.pricing_zones)for(const[G,z]of Object.entries(s.pricing_zones))l.pricing_zones[G]={monthly_price:z.monthly_price||0,yearly_price:z.yearly_price||0,credit_price:z.credit_price||0,currency:z.currency||"EUR"};l.feature_capabilities_json=JSON.stringify(t.feature_capabilities||{},null,2),d.value=!0}function fe(t){p.value=t,u.value=!0}function ge(t){U.value=!0,m.value=null,g.value="basic";const s=t.rules||{},a=s.pricing_zones?.DEFAULT||s.pricing||{},r=s.allowances||{};l.name=t.name+"_copy",l.display_name=(s.display_name||t.name)+" (másolat)",l.type=s.type||"private",l.tier_level=t.tier_level,l.monthly_price=a.monthly_price||0,l.yearly_price=a.yearly_price||0,l.currency=a.currency||"EUR",l.max_vehicles=r.max_vehicles||1,l.max_garages=r.max_garages||1,l.monthly_free_credits=r.monthly_free_credits||0,l.subtitle=s.marketing?.subtitle||"",l.badge=s.marketing?.badge||"",l.is_custom=t.is_custom,l.is_default_fallback=!1,l.trial_days_on_signup=t.trial_days_on_signup;const C=t.feature_capabilities||{};if(l.max_cost_category_depth=C.max_cost_category_depth??3,l.advanced_reports=C.advanced_reports??!1,l.export_data=C.export_data??!1,l.pricing_zones={},s.pricing_zones)for(const[G,z]of Object.entries(s.pricing_zones))l.pricing_zones[G]={monthly_price:z.monthly_price||0,yearly_price:z.yearly_price||0,credit_price:z.credit_price||0,currency:z.currency||"EUR"};l.feature_capabilities_json=JSON.stringify(t.feature_capabilities||{},null,2),d.value=!0}async function be(){if(!l.name.trim()){y("error","Package name is required");return}let t={};try{t=JSON.parse(l.feature_capabilities_json),M.value=null}catch{M.value="Invalid JSON in feature capabilities",g.value="features";return}w.value=!0;try{const s={...l.pricing_zones};s.DEFAULT||(s.DEFAULT={monthly_price:l.monthly_price,yearly_price:l.yearly_price,credit_price:0,currency:l.currency.toUpperCase()});const a={...t,max_cost_category_depth:l.max_cost_category_depth,advanced_reports:l.advanced_reports,export_data:l.export_data},r={type:l.type,display_name:l.display_name||null,pricing_zones:s,allowances:{max_vehicles:l.max_vehicles,max_garages:l.max_garages,monthly_free_credits:l.monthly_free_credits},marketing:{subtitle:l.subtitle||null,badge:l.badge||null},lifecycle:{is_public:!0}};U.value?(await $fetch("/api/v1/admin/packages",{method:"POST",headers:{...B(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:r,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:a,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),y("success",`Package "${l.name}" created successfully`)):m.value&&(await $fetch(`/api/v1/admin/packages/${m.value.id}`,{method:"PATCH",headers:{...B(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:r,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:a,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),y("success",`Package "${l.name}" updated successfully`)),d.value=!1,await N()}catch(s){const a=s?.data?.detail||s?.message||"Operation failed";y("error",a),console.error("[Packages] Save error:",s)}finally{w.value=!1}}async function xe(){if(p.value){w.value=!0;try{await $fetch(`/api/v1/admin/packages/${p.value.id}`,{method:"DELETE",headers:B()}),y("success",`Package "${I(p.value)}" deactivated`),u.value=!1,p.value=null,await N()}catch(t){const s=t?.data?.detail||t?.message||"Delete failed";y("error",s),console.error("[Packages] Delete error:",t)}finally{w.value=!1}}}function y(t,s){$.value={type:t,message:s},setTimeout(()=>{$.value=null},4e3)}return ve(()=>{N(),h.fetchRegions()}),(t,s)=>(c(),i("div",null,[e("div",$e,[e("div",null,[e("h1",Ce,o(t.$t("packages.title")),1),e("p",ze,o(t.$t("packages.subtitle")),1)]),e("button",{onClick:X,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[s[25]||(s[25]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),S(" "+o(t.$t("packages.create_new")),1)])]),P.value?(c(),i("div",Ue,[e("div",Ee,[s[26]||(s[26]=e("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("span",Ve,o(t.$t("packages.loading")),1)])])):n.value?(c(),i("div",Fe,[e("p",Te,o(n.value),1),e("button",{onClick:N,class:"px-4 py-2 bg-red-700 hover:bg-red-600 text-white rounded-lg transition text-sm"},o(t.$t("packages.retry")),1)])):F.value.length===0?(c(),i("div",je,[s[27]||(s[27]=e("svg",{class:"w-16 h-16 mx-auto text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"})],-1)),e("h3",De,o(t.$t("packages.no_packages")),1),e("p",Le,o(t.$t("packages.no_packages_desc")),1),e("button",{onClick:X,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.create_first")),1)])):(c(),i("div",Re,[(c(!0),i(D,null,L(F.value,a=>(c(),i("div",{key:a.id,class:"bg-slate-800 rounded-xl border border-slate-700 p-6 flex flex-col transition-all hover:border-slate-600"},[e("div",Pe,[e("div",Ae,[e("div",{class:q(["p-2 rounded-lg",pe(a.tier_level)])},[e("span",{class:"w-5 h-5 text-lg",innerHTML:_e(a.tier_level)},null,8,Me)],2),e("div",null,[e("h2",Be,o(I(a)),1),e("span",Ne,o(a.name),1)])]),e("div",Ie,[a.tier_level>=1?(c(),i("span",Se,o(t.$t("packages.popular")),1)):v("",!0),a.is_default_fallback?(c(),i("span",He," 🔒 "+o(t.$t("packages.fallback_badge")),1)):v("",!0),a.trial_days_on_signup>0?(c(),i("span",{key:2,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-emerald-500/20 text-emerald-300",title:`${a.trial_days_on_signup} days trial on signup`}," 🎯 "+o(t.$t("packages.trial_badge"))+": "+o(a.trial_days_on_signup)+"d ",9,Ze)):v("",!0)])]),e("div",Oe,[e("span",Je,o(ue(a)),1),e("span",Ge,"/ "+o(t.$t("packages.month")),1)]),e("p",qe,o(de(a)),1),e("div",Ke,[e("h3",We,o(t.$t("packages.allowances")),1),e("div",Qe,[e("div",Xe,[e("span",Ye,o(t.$t("packages.max_vehicles")),1),e("span",et,o(J(a,"max_vehicles")),1)]),e("div",tt,[e("span",st,o(t.$t("packages.max_garages")),1),e("span",at,o(J(a,"max_garages")),1)]),e("div",lt,[e("span",ot,o(t.$t("packages.monthly_credits")),1),e("span",rt,o(J(a,"monthly_free_credits")),1)])])]),e("div",nt,[e("span",it,o(t.$t("packages.tier_level"))+": ",1),e("span",ct,o(a.tier_level),1)]),e("div",dt,[e("button",{onClick:r=>me(a),class:"flex-1 px-4 py-2.5 bg-indigo-600 hover:bg-indigo-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.edit")),9,ut),e("button",{onClick:r=>ge(a),class:"px-3 py-2.5 bg-emerald-700 hover:bg-emerald-600 text-emerald-200 rounded-lg transition",title:t.$t("packages.duplicate")},[...s[28]||(s[28]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])],8,pt),e("button",{onClick:r=>fe(a),class:"px-3 py-2.5 bg-red-700 hover:bg-red-600 text-red-200 rounded-lg transition",title:t.$t("packages.delete")},[...s[29]||(s[29]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,_t)])]))),128))])),d.value?(c(),i("div",{key:4,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[22]||(s[22]=Y(a=>d.value=!1,["self"]))},[e("div",mt,[e("div",ft,[e("h3",gt,o(U.value?t.$t("packages.create_title"):t.$t("packages.edit_title")+": "+I(m.value)),1),e("button",{onClick:s[0]||(s[0]=a=>d.value=!1),class:"p-1 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"},[...s[30]||(s[30]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e("div",bt,[(c(),i(D,null,L(A,a=>e("button",{key:a.key,onClick:r=>g.value=a.key,class:q(["px-4 py-3 text-sm font-medium border-b-2 transition",g.value===a.key?"border-indigo-500 text-indigo-300":"border-transparent text-slate-400 hover:text-slate-200 hover:border-slate-500"])},o(a.label),11,xt)),64))]),e("div",yt,[g.value==="basic"?(c(),i("div",vt,[e("div",null,[e("label",ht,o(t.$t("packages.form_name")),1),_(e("input",{"onUpdate:modelValue":s[1]||(s[1]=a=>l.name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_name_placeholder")},null,8,kt),[[b,l.name]])]),e("div",null,[e("label",wt,o(t.$t("packages.form_display_name")),1),_(e("input",{"onUpdate:modelValue":s[2]||(s[2]=a=>l.display_name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_display_name_placeholder")},null,8,$t),[[b,l.display_name]])]),e("div",Ct,[e("div",null,[e("label",zt,o(t.$t("packages.form_type")),1),_(e("select",{"onUpdate:modelValue":s[3]||(s[3]=a=>l.type=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},[e("option",Ut,o(t.$t("packages.type_private")),1),e("option",Et,o(t.$t("packages.type_corporate")),1)],512),[[H,l.type]])]),e("div",null,[e("label",Vt,o(t.$t("packages.form_tier_level")),1),_(e("input",{"onUpdate:modelValue":s[4]||(s[4]=a=>l.tier_level=a),type:"number",min:"0",max:"10",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.tier_level,void 0,{number:!0}]]),e("p",Ft,o(t.$t("packages.form_tier_level_hint")),1)])]),e("div",Tt,[e("div",null,[e("label",jt,o(t.$t("packages.form_subtitle")),1),_(e("input",{"onUpdate:modelValue":s[5]||(s[5]=a=>l.subtitle=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_subtitle_placeholder")},null,8,Dt),[[b,l.subtitle]])]),e("div",null,[e("label",Lt,o(t.$t("packages.form_badge")),1),_(e("input",{"onUpdate:modelValue":s[6]||(s[6]=a=>l.badge=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_badge_placeholder")},null,8,Rt),[[b,l.badge]])])]),e("div",Pt,[_(e("input",{"onUpdate:modelValue":s[7]||(s[7]=a=>l.is_custom=a),type:"checkbox",id:"is_custom",class:"rounded bg-slate-700 border-slate-600 text-indigo-600 focus:ring-indigo-500"},null,512),[[Z,l.is_custom]]),e("label",At,o(t.$t("packages.form_is_custom")),1)]),e("div",Mt,[e("h4",Bt,o(t.$t("packages.singleton_rules")),1),e("div",Nt,[e("div",It,[_(e("input",{"onUpdate:modelValue":s[8]||(s[8]=a=>l.is_default_fallback=a),type:"checkbox",id:"is_default_fallback",class:"rounded bg-slate-700 border-slate-600 text-amber-500 focus:ring-amber-500"},null,512),[[Z,l.is_default_fallback]]),e("label",St,o(t.$t("packages.form_is_default_fallback")),1)]),e("div",null,[e("label",Ht,o(t.$t("packages.form_trial_days")),1),_(e("input",{"onUpdate:modelValue":s[9]||(s[9]=a=>l.trial_days_on_signup=a),type:"number",min:"0",max:"365",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},null,512),[[b,l.trial_days_on_signup,void 0,{number:!0}]]),e("p",Zt,o(t.$t("packages.form_trial_days_hint")),1)])])])])):v("",!0),g.value==="pricing"?(c(),i("div",Ot,[e("div",null,[e("h4",Jt,o(t.$t("packages.per_region_pricing")),1),e("div",Gt,[e("table",qt,[e("thead",null,[e("tr",Kt,[s[31]||(s[31]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},"Region",-1)),e("th",Wt,o(t.$t("packages.form_monthly_price")),1),e("th",Qt,o(t.$t("packages.form_yearly_price")),1),s[32]||(s[32]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},"Kredit Ár",-1)),e("th",Xt,o(t.$t("packages.form_currency")),1),s[33]||(s[33]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},null,-1))])]),e("tbody",null,[(c(!0),i(D,null,L(R(h).regions,a=>(c(),i("tr",{key:a.country_code,class:"border-b border-slate-700/50"},[e("td",Yt,[e("span",es,[e("span",null,o(a.country_code),1),e("span",ts,"("+o(a.currency)+", "+o(a.default_vat_rate)+"% VAT)",1)])]),e("td",ss,[e("input",{value:W(a.country_code,"monthly"),onInput:r=>Q(a.country_code,"monthly",r.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,as)]),e("td",ls,[e("input",{value:W(a.country_code,"yearly"),onInput:r=>Q(a.country_code,"yearly",r.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,os)]),e("td",rs,[e("input",{value:oe(a.country_code),onInput:r=>re(a.country_code,r.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,ns)]),e("td",is,[e("input",{value:ne(a.country_code),onInput:r=>ie(a.country_code,r.target.value),type:"text",maxlength:"3",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent uppercase"},null,40,cs)]),e("td",ds,[e("button",{onClick:r=>le(a.country_code),class:"p-1.5 rounded-lg text-red-400 hover:text-red-300 hover:bg-red-500/10 transition",title:"Remove "+a.country_code},[...s[34]||(s[34]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,us)])]))),128))])])]),e("div",ps,[_(e("select",{"onUpdate:modelValue":s[10]||(s[10]=a=>T.value=a),class:"px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},[e("option",_s,o(t.$t("packages.add_zone_select")),1),(c(!0),i(D,null,L(se.value,a=>(c(),i("option",{key:a.country_code,value:a.country_code},o(a.country_code)+" — "+o(a.name)+" ("+o(a.currency)+", "+o(a.default_vat_rate)+"% VAT) ",9,ms))),128))],512),[[H,T.value]]),e("button",{onClick:ae,disabled:!T.value,class:"px-4 py-2 bg-indigo-600 hover:bg-indigo-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white text-sm font-medium rounded-lg transition flex items-center gap-2"},[s[35]||(s[35]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),S(" "+o(t.$t("packages.add_zone")),1)],8,fs)])]),e("div",gs,[e("h4",bs,"🧮 "+o(t.$t("packages.smart_calculator")),1),e("div",xs,[e("div",ys,[e("div",null,[e("label",vs,o(t.$t("packages.calc_net_price")),1),_(e("input",{"onUpdate:modelValue":s[11]||(s[11]=a=>E.value=a),type:"number",step:"0.01",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent",placeholder:"0.00"},null,512),[[b,E.value,void 0,{number:!0}]])]),e("div",null,[e("label",hs,o(t.$t("packages.calc_vat_rate")),1),_(e("select",{"onUpdate:modelValue":s[12]||(s[12]=a=>j.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(c(!0),i(D,null,L(R(h).regions,a=>(c(),i("option",{key:a.country_code,value:a.default_vat_rate},o(a.country_code)+" — "+o(a.default_vat_rate)+"% ",9,ks))),128))],512),[[H,j.value]])]),e("div",null,[e("label",ws,o(t.$t("packages.calc_currency")),1),_(e("select",{"onUpdate:modelValue":s[13]||(s[13]=a=>V.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(c(!0),i(D,null,L(R(h).regions,a=>(c(),i("option",{key:a.country_code,value:a.currency},o(a.currency)+" ("+o(a.country_code)+") ",9,$s))),128))],512),[[H,V.value]])])]),e("div",Cs,[e("div",zs,[e("p",Us,o(t.$t("packages.calc_net")),1),e("p",Es,o(R(k)(E.value,V.value)),1)]),e("div",Vs,[e("p",Fs,o(t.$t("packages.calc_vat"))+" ("+o(j.value)+"%)",1),e("p",Ts,o(R(k)(E.value*(j.value/100),V.value)),1)]),e("div",js,[e("p",Ds,o(t.$t("packages.calc_gross")),1),e("p",Ls,o(R(k)(E.value*(1+j.value/100),V.value)),1)])]),e("div",Rs,[e("button",{onClick:ce,class:"px-4 py-2 bg-emerald-600 hover:bg-emerald-500 text-white text-sm font-medium rounded-lg transition flex items-center gap-2"},[s[36]||(s[36]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"})],-1)),S(" "+o(t.$t("packages.calc_apply")),1)])])])])])):v("",!0),g.value==="features"?(c(),i("div",Ps,[e("div",null,[e("h4",As,o(t.$t("packages.allowances")),1),e("div",Ms,[e("div",null,[e("label",Bs,o(t.$t("packages.max_vehicles")),1),_(e("input",{"onUpdate:modelValue":s[14]||(s[14]=a=>l.max_vehicles=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.max_vehicles,void 0,{number:!0}]])]),e("div",null,[e("label",Ns,o(t.$t("packages.max_garages")),1),_(e("input",{"onUpdate:modelValue":s[15]||(s[15]=a=>l.max_garages=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.max_garages,void 0,{number:!0}]])]),e("div",null,[e("label",Is,o(t.$t("packages.monthly_credits")),1),_(e("input",{"onUpdate:modelValue":s[16]||(s[16]=a=>l.monthly_free_credits=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.monthly_free_credits,void 0,{number:!0}]])])])]),e("div",Ss,[s[42]||(s[42]=e("h4",{class:"text-sm font-semibold text-slate-300 mb-3"},"SaaS Allowances",-1)),e("div",Hs,[e("div",null,[s[37]||(s[37]=e("label",{class:"block text-xs text-slate-400 mb-1"},"Költségkategória mélység (max_cost_category_depth)",-1)),_(e("input",{"onUpdate:modelValue":s[17]||(s[17]=a=>l.max_cost_category_depth=a),type:"number",min:"0",max:"10",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.max_cost_category_depth,void 0,{number:!0}]])]),e("div",null,[s[39]||(s[39]=e("label",{class:"block text-xs text-slate-400 mb-1"},"Statisztika (advanced_reports)",-1)),e("div",Zs,[e("label",Os,[_(e("input",{"onUpdate:modelValue":s[18]||(s[18]=a=>l.advanced_reports=a),type:"checkbox",class:"sr-only peer"},null,512),[[Z,l.advanced_reports]]),s[38]||(s[38]=e("div",{class:"w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"},null,-1)),e("span",Js,o(l.advanced_reports?"Enabled":"Disabled"),1)])])]),e("div",null,[s[41]||(s[41]=e("label",{class:"block text-xs text-slate-400 mb-1"},"PDF/CSV Export (export_data)",-1)),e("div",Gs,[e("label",qs,[_(e("input",{"onUpdate:modelValue":s[19]||(s[19]=a=>l.export_data=a),type:"checkbox",class:"sr-only peer"},null,512),[[Z,l.export_data]]),s[40]||(s[40]=e("div",{class:"w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"},null,-1)),e("span",Ks,o(l.export_data?"Enabled":"Disabled"),1)])])])])]),e("div",Ws,[e("h4",Qs,o(t.$t("packages.feature_capabilities")),1),_(e("textarea",{"onUpdate:modelValue":s[20]||(s[20]=a=>l.feature_capabilities_json=a),rows:"8",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm font-mono focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:'{\\n "ai_analysis": true,\\n "priority_support": false,\\n "api_access": true\\n}'},null,512),[[b,l.feature_capabilities_json]]),e("p",Xs,o(t.$t("packages.feature_capabilities_hint")),1),M.value?(c(),i("p",Ys,o(M.value),1)):v("",!0)])])):v("",!0)]),e("div",ea,[e("div",ta,o(O.value),1),e("div",sa,[e("button",{onClick:s[21]||(s[21]=a=>d.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:be,disabled:w.value,class:"px-6 py-2 bg-emerald-600 hover:bg-emerald-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[w.value?(c(),i("svg",la,[...s[43]||(s[43]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):v("",!0),S(" "+o(U.value?t.$t("packages.create"):t.$t("packages.save")),1)],8,aa)])])])])):v("",!0),u.value&&p.value?(c(),i("div",{key:5,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[24]||(s[24]=Y(a=>u.value=!1,["self"]))},[e("div",oa,[e("h3",ra,o(t.$t("packages.delete_title")),1),e("p",na,o(t.$t("packages.delete_confirm",{name:I(p.value)})),1),e("div",ia,[e("button",{onClick:s[23]||(s[23]=a=>u.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:xe,disabled:w.value,class:"px-6 py-2 bg-red-600 hover:bg-red-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.delete_btn")),9,ca)])])])):v("",!0),$.value?(c(),i("div",{key:6,class:q(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",$.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},o($.value.message),3)):v("",!0)]))}});export{pa as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/j8avB3IT.js b/frontend_admin/.nuxt/dist/client/_nuxt/j8avB3IT.js new file mode 100644 index 0000000..3301a18 --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/j8avB3IT.js @@ -0,0 +1 @@ +import{a3 as _,m as u,x as a}from"./CHWHIiGB.js";const h=_("region",()=>{const t=u([]),n=u(null),c=u(!1),l=u(null),o=a(()=>t.value.find(e=>e.country_code==="DEFAULT")||null),s=a(()=>{const e=new Map;for(const r of t.value)e.set(r.country_code,r);return e}),i=a(()=>n.value?.currency||o.value?.currency||"EUR"),v=a(()=>n.value?.locale_code||o.value?.locale_code||"en-EU"),f=a(()=>n.value?.default_vat_rate??o.value?.default_vat_rate??0),d=a(()=>n.value?.timezone||o.value?.timezone||"Europe/Brussels");async function g(){if(!(t.value.length>0)){c.value=!0,l.value=null;try{const e=await $fetch("/api/v1/system/regions");t.value=e||[]}catch(e){l.value=e?.data?.detail||e?.message||"Failed to load regions",console.error("[RegionStore] Fetch error:",e)}finally{c.value=!1}}}function m(e){const r=t.value.find(R=>R.country_code===e);n.value=r||o.value}function y(e){return s.value.get(e)}return{regions:t,activeRegion:n,isLoading:c,error:l,defaultRegion:o,regionMap:s,activeCurrency:i,activeLocale:v,activeVatRate:f,activeTimezone:d,fetchRegions:g,setActiveRegion:m,getRegion:y}});export{h as u}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/ncKxzOzI.js b/frontend_admin/.nuxt/dist/client/_nuxt/ncKxzOzI.js deleted file mode 100644 index 02672aa..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/ncKxzOzI.js +++ /dev/null @@ -1,5 +0,0 @@ -import{e as de,y as ue,c as r,a as e,t as o,d as H,F as j,r as D,j as K,k as _,v as x,q as O,z as Q,i as y,h as E,n as Z,m as g,x as pe,s as me,A as _e,o as i}from"./CqYPuxVf.js";import{u as X}from"./DWjNh9rV.js";function ge(){const f=X();function $(n,c){const d=f.activeLocale||"en-EU";try{return new Intl.NumberFormat(d,c).format(n)}catch{return new Intl.NumberFormat("en-EU",c).format(n)}}function v(n,c,d){const m=f.activeLocale||"en-EU",u=c||f.activeCurrency||"EUR";try{return new Intl.NumberFormat(m,{style:"currency",currency:u,minimumFractionDigits:2,maximumFractionDigits:2,...d}).format(n)}catch{return`${n.toFixed(2)} ${u}`}}function L(n,c){const d=f.activeLocale||"en-EU",m=f.activeTimezone||"Europe/Brussels",u=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(d,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",...c}).format(u)}catch{return u.toLocaleDateString("en-GB")}}function b(n,c){const d=f.activeLocale||"en-EU",m=f.activeTimezone||"Europe/Brussels",u=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(d,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",...c}).format(u)}catch{return u.toLocaleString("en-GB")}}function A(n,c){const d=f.activeLocale||"en-EU";try{return new Intl.NumberFormat(d,{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1,...c}).format(n/100)}catch{return`${n}%`}}function V(n,c){const d=c??f.activeVatRate??0,m=n*(d/100),u=n+m;return{net:n,vat:m,gross:u,vatRate:d}}function T(n,c,d){const{net:m,vat:u,gross:C,vatRate:h}=V(n,c),k=d||f.activeCurrency||"EUR";return`Net: ${v(m,k)} | VAT: ${v(u,k)} (${h}%) | Gross: ${v(C,k)}`}return{formatNumber:$,formatCurrency:v,formatDate:L,formatDateTime:b,formatPercent:A,calculatePriceWithVat:V,formatPriceWithVat:T}}const fe={class:"mb-8 flex items-center justify-between"},be={class:"text-2xl font-bold text-white"},xe={class:"text-slate-400 mt-1"},ye={key:0,class:"flex items-center justify-center py-20"},ve={class:"flex flex-col items-center gap-3"},he={class:"text-slate-400 text-sm"},ke={key:1,class:"bg-red-900/30 border border-red-700 rounded-xl p-6 text-center"},we={class:"text-red-300 mb-3"},$e={key:2,class:"bg-slate-800/50 border border-slate-700 rounded-xl p-12 text-center"},Ce={class:"text-lg font-medium text-slate-300 mb-2"},Ue={class:"text-slate-500 mb-6"},ze={key:3,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 mb-8"},Ve={class:"flex items-center justify-between mb-4"},Fe={class:"flex items-center gap-3"},Ee=["innerHTML"],Te={class:"text-lg font-semibold text-white"},je={class:"text-xs text-slate-500 font-mono"},De={class:"flex items-center gap-1.5 flex-wrap"},Le={key:0,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-indigo-500/20 text-indigo-300"},Pe={key:1,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-amber-500/20 text-amber-300",title:"Default fallback package for expired subscriptions"},Me=["title"],Re={class:"mb-4"},Ne={class:"text-3xl font-bold text-white"},Ae={class:"text-sm text-slate-400 ml-1"},Be={class:"text-sm text-slate-400 mb-4 flex-1"},Ie={class:"border-t border-slate-700 pt-4 mb-4"},Se={class:"text-xs font-semibold uppercase tracking-wider text-slate-500 mb-3"},He={class:"space-y-2"},Oe={class:"flex items-center justify-between text-sm"},Ze={class:"text-slate-400"},Ge={class:"text-slate-200 font-medium"},Je={class:"flex items-center justify-between text-sm"},qe={class:"text-slate-400"},We={class:"text-slate-200 font-medium"},Ke={class:"flex items-center justify-between text-sm"},Qe={class:"text-slate-400"},Xe={class:"text-slate-200 font-medium"},Ye={class:"mb-4"},et={class:"text-xs text-slate-500"},tt={class:"text-xs font-mono text-slate-400"},st={class:"flex gap-2"},at=["onClick"],lt=["onClick","title"],ot={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-3xl mx-4 shadow-2xl max-h-[90vh] flex flex-col"},nt={class:"flex items-center justify-between px-6 py-4 border-b border-slate-700"},rt={class:"text-lg font-semibold text-white"},it={class:"flex border-b border-slate-700 px-6"},ct=["onClick"],dt={class:"flex-1 overflow-y-auto px-6 py-5"},ut={key:0,class:"space-y-4"},pt={class:"block text-sm font-medium text-slate-300 mb-1"},mt=["placeholder"],_t={class:"block text-sm font-medium text-slate-300 mb-1"},gt=["placeholder"],ft={class:"grid grid-cols-2 gap-4"},bt={class:"block text-sm font-medium text-slate-300 mb-1"},xt={value:"private"},yt={value:"corporate"},vt={class:"block text-sm font-medium text-slate-300 mb-1"},ht={class:"text-xs text-slate-500 mt-1"},kt={class:"grid grid-cols-2 gap-4"},wt={class:"block text-sm font-medium text-slate-300 mb-1"},$t=["placeholder"],Ct={class:"block text-sm font-medium text-slate-300 mb-1"},Ut=["placeholder"],zt={class:"flex items-center gap-3"},Vt={for:"is_custom",class:"text-sm text-slate-300"},Ft={class:"border-t border-slate-700 pt-4"},Et={class:"text-sm font-semibold text-slate-300 mb-3"},Tt={class:"space-y-4"},jt={class:"flex items-center gap-3"},Dt={for:"is_default_fallback",class:"text-sm text-slate-300"},Lt={class:"block text-sm text-slate-300 mb-1"},Pt={class:"text-xs text-slate-500 mt-1"},Mt={key:1,class:"space-y-6"},Rt={class:"text-sm font-semibold text-slate-300 mb-3"},Nt={class:"overflow-x-auto"},At={class:"w-full text-sm"},Bt={class:"border-b border-slate-700"},It={class:"text-left py-2 px-3 text-slate-400 font-medium"},St={class:"text-left py-2 px-3 text-slate-400 font-medium"},Ht={class:"text-left py-2 px-3 text-slate-400 font-medium"},Ot={class:"py-2 px-3 text-slate-200 font-medium"},Zt={class:"inline-flex items-center gap-1.5"},Gt={class:"text-xs text-slate-500"},Jt={class:"py-2 px-3"},qt=["value","onInput"],Wt={class:"py-2 px-3"},Kt=["value","onInput"],Qt={class:"py-2 px-3"},Xt=["value","onInput"],Yt={class:"border-t border-slate-700 pt-5"},es={class:"text-sm font-semibold text-slate-300 mb-3"},ts={class:"bg-slate-700/30 rounded-xl p-4 space-y-4"},ss={class:"grid grid-cols-3 gap-4"},as={class:"block text-xs text-slate-400 mb-1"},ls={class:"block text-xs text-slate-400 mb-1"},os=["value"],ns={class:"block text-xs text-slate-400 mb-1"},rs=["value"],is={class:"grid grid-cols-3 gap-4 pt-2"},cs={class:"bg-slate-800 rounded-lg p-3 text-center"},ds={class:"text-xs text-slate-400 mb-1"},us={class:"text-lg font-bold text-white"},ps={class:"bg-slate-800 rounded-lg p-3 text-center"},ms={class:"text-xs text-slate-400 mb-1"},_s={class:"text-lg font-bold text-amber-400"},gs={class:"bg-slate-800 rounded-lg p-3 text-center ring-2 ring-emerald-500/50"},fs={class:"text-xs text-slate-400 mb-1"},bs={class:"text-lg font-bold text-emerald-400"},xs={class:"flex justify-end pt-1"},ys={key:2,class:"space-y-5"},vs={class:"text-sm font-semibold text-slate-300 mb-3"},hs={class:"grid grid-cols-3 gap-4"},ks={class:"block text-xs text-slate-400 mb-1"},ws={class:"block text-xs text-slate-400 mb-1"},$s={class:"block text-xs text-slate-400 mb-1"},Cs={class:"border-t border-slate-700 pt-4"},Us={class:"text-sm font-semibold text-slate-300 mb-3"},zs={class:"text-xs text-slate-500 mt-1"},Vs={key:0,class:"text-xs text-red-400 mt-1"},Fs={class:"flex items-center justify-between px-6 py-4 border-t border-slate-700"},Es={class:"text-xs text-slate-500"},Ts={class:"flex items-center gap-3"},js=["disabled"],Ds={key:0,class:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},Ls={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-md mx-4 p-6 shadow-2xl"},Ps={class:"text-lg font-semibold text-white mb-2"},Ms={class:"text-slate-400 text-sm mb-6"},Rs={class:"flex items-center justify-end gap-3"},Ns=["disabled"],Is=de({__name:"index",setup(f){const $=X(),{formatCurrency:v}=ge(),L=[{key:"basic",label:"📋 Basic Info"},{key:"pricing",label:"💰 Pricing"},{key:"features",label:"⚡ Features"}],b=g("basic"),A=pe(()=>{const t=L.find(s=>s.key===b.value);return t?t.label:""}),V=g([]),T=g(!0),n=g(null),c=g(!1),d=g(!1),m=g(null),u=g(null),C=g(!1),h=g(!1),k=g(null),P=g(null),U=g(0),F=g(27),z=g("EUR"),G={name:"",display_name:"",type:"private",tier_level:0,monthly_price:0,yearly_price:0,currency:"EUR",max_vehicles:1,max_garages:1,monthly_free_credits:0,subtitle:"",badge:"",is_custom:!1,is_default_fallback:!1,trial_days_on_signup:0,feature_capabilities_json:`{ - "ai_analysis": false, - "priority_support": false, - "api_access": false -}`,pricing_zones:{}},l=me({...G});function J(t,s){const a=l.pricing_zones[t];return a?s==="monthly"?a.monthly_price:a.yearly_price:0}function q(t,s,a){const p=parseFloat(a)||0;l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,currency:"EUR"}),s==="monthly"?l.pricing_zones[t].monthly_price=p:l.pricing_zones[t].yearly_price=p}function Y(t){const s=l.pricing_zones[t];return s?s.currency:"EUR"}function ee(t,s){l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,currency:"EUR"}),l.pricing_zones[t].currency=s.toUpperCase()}function te(){const t=$.regions.find(a=>a.default_vat_rate===F);if(!t){w("error","No region found with the selected VAT rate");return}const s=t.country_code;l.pricing_zones[s]||(l.pricing_zones[s]={monthly_price:0,yearly_price:0,currency:t.currency}),l.pricing_zones[s].monthly_price=U,l.pricing_zones[s].currency=z,w("success",`Applied net price ${v(U,z)} to ${s} region`)}function M(){const s=_e("access_token").value;return s?{Authorization:`Bearer ${s}`}:{}}async function R(){T.value=!0,n.value=null;try{const t=await $fetch("/api/v1/admin/packages",{headers:M()});V.value=t.tiers||[]}catch(t){n.value=t?.data?.detail||t?.message||"Failed to load packages",console.error("[Packages] Fetch error:",t)}finally{T.value=!1}}function N(t){return t.rules?.display_name||t.name}function se(t){return t.rules?.marketing?.subtitle||t.rules?.marketing?.badge||""}function ae(t){const s=t.rules?.pricing_zones,a=t.rules?.pricing;if(s&&s.DEFAULT){const p=s.DEFAULT,I=p.currency==="HUF"?"Ft":"€";return`${p.monthly_price} ${I}`}if(a){const p=a.currency==="HUF"?"Ft":"€";return`${a.monthly_price} ${p}`}return"—"}function B(t,s){const a=t.rules?.allowances;return a?a[s]??"—":"—"}function le(t){return t>=2?"bg-purple-500/10 text-purple-400":t>=1?"bg-amber-500/10 text-amber-400":"bg-slate-500/10 text-slate-400"}function oe(t){return t>=2?"🏢":t>=1?"⭐":"🔓"}function W(){C.value=!0,m.value=null,b.value="basic",Object.assign(l,G),c.value=!0}function ne(t){C.value=!1,m.value=t,b.value="basic";const s=t.rules||{},a=s.pricing_zones?.DEFAULT||s.pricing||{},p=s.allowances||{};if(l.name=t.name,l.display_name=s.display_name||"",l.type=s.type||"private",l.tier_level=t.tier_level,l.monthly_price=a.monthly_price||0,l.yearly_price=a.yearly_price||0,l.currency=a.currency||"EUR",l.max_vehicles=p.max_vehicles||1,l.max_garages=p.max_garages||1,l.monthly_free_credits=p.monthly_free_credits||0,l.subtitle=s.marketing?.subtitle||"",l.badge=s.marketing?.badge||"",l.is_custom=t.is_custom,l.is_default_fallback=t.is_default_fallback,l.trial_days_on_signup=t.trial_days_on_signup,l.pricing_zones={},s.pricing_zones)for(const[I,S]of Object.entries(s.pricing_zones))l.pricing_zones[I]={monthly_price:S.monthly_price||0,yearly_price:S.yearly_price||0,currency:S.currency||"EUR"};l.feature_capabilities_json=JSON.stringify(t.feature_capabilities||{},null,2),c.value=!0}function re(t){u.value=t,d.value=!0}async function ie(){if(!l.name.trim()){w("error","Package name is required");return}let t={};try{t=JSON.parse(l.feature_capabilities_json),P.value=null}catch{P.value="Invalid JSON in feature capabilities",b.value="features";return}h.value=!0;try{const s={...l.pricing_zones};s.DEFAULT||(s.DEFAULT={monthly_price:l.monthly_price,yearly_price:l.yearly_price,currency:l.currency.toUpperCase()});const a={type:l.type,display_name:l.display_name||null,pricing_zones:s,allowances:{max_vehicles:l.max_vehicles,max_garages:l.max_garages,monthly_free_credits:l.monthly_free_credits},marketing:{subtitle:l.subtitle||null,badge:l.badge||null},lifecycle:{is_public:!0}};C.value?(await $fetch("/api/v1/admin/packages",{method:"POST",headers:{...M(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:a,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:t,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),w("success",`Package "${l.name}" created successfully`)):m.value&&(await $fetch(`/api/v1/admin/packages/${m.value.id}`,{method:"PATCH",headers:{...M(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:a,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:t,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),w("success",`Package "${l.name}" updated successfully`)),c.value=!1,await R()}catch(s){const a=s?.data?.detail||s?.message||"Operation failed";w("error",a),console.error("[Packages] Save error:",s)}finally{h.value=!1}}async function ce(){if(u.value){h.value=!0;try{await $fetch(`/api/v1/admin/packages/${u.value.id}`,{method:"DELETE",headers:M()}),w("success",`Package "${N(u.value)}" deactivated`),d.value=!1,u.value=null,await R()}catch(t){const s=t?.data?.detail||t?.message||"Delete failed";w("error",s),console.error("[Packages] Delete error:",t)}finally{h.value=!1}}}function w(t,s){k.value={type:t,message:s},setTimeout(()=>{k.value=null},4e3)}return ue(()=>{R(),$.fetchRegions()}),(t,s)=>(i(),r("div",null,[e("div",fe,[e("div",null,[e("h1",be,o(t.$t("packages.title")),1),e("p",xe,o(t.$t("packages.subtitle")),1)]),e("button",{onClick:W,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[s[21]||(s[21]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),H(" "+o(t.$t("packages.create_new")),1)])]),T.value?(i(),r("div",ye,[e("div",ve,[s[22]||(s[22]=e("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("span",he,o(t.$t("packages.loading")),1)])])):n.value?(i(),r("div",ke,[e("p",we,o(n.value),1),e("button",{onClick:R,class:"px-4 py-2 bg-red-700 hover:bg-red-600 text-white rounded-lg transition text-sm"},o(t.$t("packages.retry")),1)])):V.value.length===0?(i(),r("div",$e,[s[23]||(s[23]=e("svg",{class:"w-16 h-16 mx-auto text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"})],-1)),e("h3",Ce,o(t.$t("packages.no_packages")),1),e("p",Ue,o(t.$t("packages.no_packages_desc")),1),e("button",{onClick:W,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.create_first")),1)])):(i(),r("div",ze,[(i(!0),r(j,null,D(V.value,a=>(i(),r("div",{key:a.id,class:"bg-slate-800 rounded-xl border border-slate-700 p-6 flex flex-col transition-all hover:border-slate-600"},[e("div",Ve,[e("div",Fe,[e("div",{class:Z(["p-2 rounded-lg",le(a.tier_level)])},[e("span",{class:"w-5 h-5 text-lg",innerHTML:oe(a.tier_level)},null,8,Ee)],2),e("div",null,[e("h2",Te,o(N(a)),1),e("span",je,o(a.name),1)])]),e("div",De,[a.tier_level>=1?(i(),r("span",Le,o(t.$t("packages.popular")),1)):y("",!0),a.is_default_fallback?(i(),r("span",Pe," 🔒 "+o(t.$t("packages.fallback_badge")),1)):y("",!0),a.trial_days_on_signup>0?(i(),r("span",{key:2,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-emerald-500/20 text-emerald-300",title:`${a.trial_days_on_signup} days trial on signup`}," 🎯 "+o(t.$t("packages.trial_badge"))+": "+o(a.trial_days_on_signup)+"d ",9,Me)):y("",!0)])]),e("div",Re,[e("span",Ne,o(ae(a)),1),e("span",Ae,"/ "+o(t.$t("packages.month")),1)]),e("p",Be,o(se(a)),1),e("div",Ie,[e("h3",Se,o(t.$t("packages.allowances")),1),e("div",He,[e("div",Oe,[e("span",Ze,o(t.$t("packages.max_vehicles")),1),e("span",Ge,o(B(a,"max_vehicles")),1)]),e("div",Je,[e("span",qe,o(t.$t("packages.max_garages")),1),e("span",We,o(B(a,"max_garages")),1)]),e("div",Ke,[e("span",Qe,o(t.$t("packages.monthly_credits")),1),e("span",Xe,o(B(a,"monthly_free_credits")),1)])])]),e("div",Ye,[e("span",et,o(t.$t("packages.tier_level"))+": ",1),e("span",tt,o(a.tier_level),1)]),e("div",st,[e("button",{onClick:p=>ne(a),class:"flex-1 px-4 py-2.5 bg-indigo-600 hover:bg-indigo-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.edit")),9,at),e("button",{onClick:p=>re(a),class:"px-3 py-2.5 bg-red-700 hover:bg-red-600 text-red-200 rounded-lg transition",title:t.$t("packages.delete")},[...s[24]||(s[24]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,lt)])]))),128))])),c.value?(i(),r("div",{key:4,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[18]||(s[18]=K(a=>c.value=!1,["self"]))},[e("div",ot,[e("div",nt,[e("h3",rt,o(C.value?t.$t("packages.create_title"):t.$t("packages.edit_title")+": "+N(m.value)),1),e("button",{onClick:s[0]||(s[0]=a=>c.value=!1),class:"p-1 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"},[...s[25]||(s[25]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e("div",it,[(i(),r(j,null,D(L,a=>e("button",{key:a.key,onClick:p=>b.value=a.key,class:Z(["px-4 py-3 text-sm font-medium border-b-2 transition",b.value===a.key?"border-indigo-500 text-indigo-300":"border-transparent text-slate-400 hover:text-slate-200 hover:border-slate-500"])},o(a.label),11,ct)),64))]),e("div",dt,[b.value==="basic"?(i(),r("div",ut,[e("div",null,[e("label",pt,o(t.$t("packages.form_name")),1),_(e("input",{"onUpdate:modelValue":s[1]||(s[1]=a=>l.name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_name_placeholder")},null,8,mt),[[x,l.name]])]),e("div",null,[e("label",_t,o(t.$t("packages.form_display_name")),1),_(e("input",{"onUpdate:modelValue":s[2]||(s[2]=a=>l.display_name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_display_name_placeholder")},null,8,gt),[[x,l.display_name]])]),e("div",ft,[e("div",null,[e("label",bt,o(t.$t("packages.form_type")),1),_(e("select",{"onUpdate:modelValue":s[3]||(s[3]=a=>l.type=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},[e("option",xt,o(t.$t("packages.type_private")),1),e("option",yt,o(t.$t("packages.type_corporate")),1)],512),[[O,l.type]])]),e("div",null,[e("label",vt,o(t.$t("packages.form_tier_level")),1),_(e("input",{"onUpdate:modelValue":s[4]||(s[4]=a=>l.tier_level=a),type:"number",min:"0",max:"10",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.tier_level,void 0,{number:!0}]]),e("p",ht,o(t.$t("packages.form_tier_level_hint")),1)])]),e("div",kt,[e("div",null,[e("label",wt,o(t.$t("packages.form_subtitle")),1),_(e("input",{"onUpdate:modelValue":s[5]||(s[5]=a=>l.subtitle=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_subtitle_placeholder")},null,8,$t),[[x,l.subtitle]])]),e("div",null,[e("label",Ct,o(t.$t("packages.form_badge")),1),_(e("input",{"onUpdate:modelValue":s[6]||(s[6]=a=>l.badge=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_badge_placeholder")},null,8,Ut),[[x,l.badge]])])]),e("div",zt,[_(e("input",{"onUpdate:modelValue":s[7]||(s[7]=a=>l.is_custom=a),type:"checkbox",id:"is_custom",class:"rounded bg-slate-700 border-slate-600 text-indigo-600 focus:ring-indigo-500"},null,512),[[Q,l.is_custom]]),e("label",Vt,o(t.$t("packages.form_is_custom")),1)]),e("div",Ft,[e("h4",Et,o(t.$t("packages.singleton_rules")),1),e("div",Tt,[e("div",jt,[_(e("input",{"onUpdate:modelValue":s[8]||(s[8]=a=>l.is_default_fallback=a),type:"checkbox",id:"is_default_fallback",class:"rounded bg-slate-700 border-slate-600 text-amber-500 focus:ring-amber-500"},null,512),[[Q,l.is_default_fallback]]),e("label",Dt,o(t.$t("packages.form_is_default_fallback")),1)]),e("div",null,[e("label",Lt,o(t.$t("packages.form_trial_days")),1),_(e("input",{"onUpdate:modelValue":s[9]||(s[9]=a=>l.trial_days_on_signup=a),type:"number",min:"0",max:"365",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},null,512),[[x,l.trial_days_on_signup,void 0,{number:!0}]]),e("p",Pt,o(t.$t("packages.form_trial_days_hint")),1)])])])])):y("",!0),b.value==="pricing"?(i(),r("div",Mt,[e("div",null,[e("h4",Rt,o(t.$t("packages.per_region_pricing")),1),e("div",Nt,[e("table",At,[e("thead",null,[e("tr",Bt,[s[26]||(s[26]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},"Region",-1)),e("th",It,o(t.$t("packages.form_monthly_price")),1),e("th",St,o(t.$t("packages.form_yearly_price")),1),e("th",Ht,o(t.$t("packages.form_currency")),1)])]),e("tbody",null,[(i(!0),r(j,null,D(E($).regions,a=>(i(),r("tr",{key:a.country_code,class:"border-b border-slate-700/50"},[e("td",Ot,[e("span",Zt,[e("span",null,o(a.country_code),1),e("span",Gt,"("+o(a.currency)+", "+o(a.default_vat_rate)+"% VAT)",1)])]),e("td",Jt,[e("input",{value:J(a.country_code,"monthly"),onInput:p=>q(a.country_code,"monthly",p.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,qt)]),e("td",Wt,[e("input",{value:J(a.country_code,"yearly"),onInput:p=>q(a.country_code,"yearly",p.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,Kt)]),e("td",Qt,[e("input",{value:Y(a.country_code),onInput:p=>ee(a.country_code,p.target.value),type:"text",maxlength:"3",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent uppercase"},null,40,Xt)])]))),128))])])])]),e("div",Yt,[e("h4",es,"🧮 "+o(t.$t("packages.smart_calculator")),1),e("div",ts,[e("div",ss,[e("div",null,[e("label",as,o(t.$t("packages.calc_net_price")),1),_(e("input",{"onUpdate:modelValue":s[10]||(s[10]=a=>U.value=a),type:"number",step:"0.01",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent",placeholder:"0.00"},null,512),[[x,U.value,void 0,{number:!0}]])]),e("div",null,[e("label",ls,o(t.$t("packages.calc_vat_rate")),1),_(e("select",{"onUpdate:modelValue":s[11]||(s[11]=a=>F.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(i(!0),r(j,null,D(E($).regions,a=>(i(),r("option",{key:a.country_code,value:a.default_vat_rate},o(a.country_code)+" — "+o(a.default_vat_rate)+"% ",9,os))),128))],512),[[O,F.value]])]),e("div",null,[e("label",ns,o(t.$t("packages.calc_currency")),1),_(e("select",{"onUpdate:modelValue":s[12]||(s[12]=a=>z.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(i(!0),r(j,null,D(E($).regions,a=>(i(),r("option",{key:a.country_code,value:a.currency},o(a.currency)+" ("+o(a.country_code)+") ",9,rs))),128))],512),[[O,z.value]])])]),e("div",is,[e("div",cs,[e("p",ds,o(t.$t("packages.calc_net")),1),e("p",us,o(E(v)(U.value,z.value)),1)]),e("div",ps,[e("p",ms,o(t.$t("packages.calc_vat"))+" ("+o(F.value)+"%)",1),e("p",_s,o(E(v)(U.value*(F.value/100),z.value)),1)]),e("div",gs,[e("p",fs,o(t.$t("packages.calc_gross")),1),e("p",bs,o(E(v)(U.value*(1+F.value/100),z.value)),1)])]),e("div",xs,[e("button",{onClick:te,class:"px-4 py-2 bg-emerald-600 hover:bg-emerald-500 text-white text-sm font-medium rounded-lg transition flex items-center gap-2"},[s[27]||(s[27]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"})],-1)),H(" "+o(t.$t("packages.calc_apply")),1)])])])])])):y("",!0),b.value==="features"?(i(),r("div",ys,[e("div",null,[e("h4",vs,o(t.$t("packages.allowances")),1),e("div",hs,[e("div",null,[e("label",ks,o(t.$t("packages.max_vehicles")),1),_(e("input",{"onUpdate:modelValue":s[13]||(s[13]=a=>l.max_vehicles=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.max_vehicles,void 0,{number:!0}]])]),e("div",null,[e("label",ws,o(t.$t("packages.max_garages")),1),_(e("input",{"onUpdate:modelValue":s[14]||(s[14]=a=>l.max_garages=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.max_garages,void 0,{number:!0}]])]),e("div",null,[e("label",$s,o(t.$t("packages.monthly_credits")),1),_(e("input",{"onUpdate:modelValue":s[15]||(s[15]=a=>l.monthly_free_credits=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.monthly_free_credits,void 0,{number:!0}]])])])]),e("div",Cs,[e("h4",Us,o(t.$t("packages.feature_capabilities")),1),_(e("textarea",{"onUpdate:modelValue":s[16]||(s[16]=a=>l.feature_capabilities_json=a),rows:"8",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm font-mono focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:'{\\n "ai_analysis": true,\\n "priority_support": false,\\n "api_access": true\\n}'},null,512),[[x,l.feature_capabilities_json]]),e("p",zs,o(t.$t("packages.feature_capabilities_hint")),1),P.value?(i(),r("p",Vs,o(P.value),1)):y("",!0)])])):y("",!0)]),e("div",Fs,[e("div",Es,o(A.value),1),e("div",Ts,[e("button",{onClick:s[17]||(s[17]=a=>c.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:ie,disabled:h.value,class:"px-6 py-2 bg-emerald-600 hover:bg-emerald-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[h.value?(i(),r("svg",Ds,[...s[28]||(s[28]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):y("",!0),H(" "+o(C.value?t.$t("packages.create"):t.$t("packages.save")),1)],8,js)])])])])):y("",!0),d.value&&u.value?(i(),r("div",{key:5,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[20]||(s[20]=K(a=>d.value=!1,["self"]))},[e("div",Ls,[e("h3",Ps,o(t.$t("packages.delete_title")),1),e("p",Ms,o(t.$t("packages.delete_confirm",{name:N(u.value)})),1),e("div",Rs,[e("button",{onClick:s[19]||(s[19]=a=>d.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:ce,disabled:h.value,class:"px-6 py-2 bg-red-600 hover:bg-red-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.delete_btn")),9,Ns)])])])):y("",!0),k.value?(i(),r("div",{key:6,class:Z(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",k.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},o(k.value.message),3)):y("",!0)]))}});export{Is as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/qc1uPXiA.js b/frontend_admin/.nuxt/dist/client/_nuxt/qc1uPXiA.js new file mode 100644 index 0000000..5e50387 --- /dev/null +++ b/frontend_admin/.nuxt/dist/client/_nuxt/qc1uPXiA.js @@ -0,0 +1 @@ +import{e as E,g as L,y as q,q as N,N as U,O as j,P as H,Q as I,R as P,S as _,T as V,U as D,m as F,V as O,W,h as f,A as z,x,X as B,Y as M,Z as $,_ as Q,$ as G,a0 as X,a1 as Y,a2 as Z}from"./CHWHIiGB.js";const J=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001f\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&G(r.slice(0,c+1))?null:t}function K(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return C(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:C(i,a)}}function k(e){const s=L(),d=Z(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),S=_("RouterLink"),y=S&&typeof S!="string"?S.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:w(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:C(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:C(M(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await z(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return E({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=L(),{to:a,href:i,navigate:S,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=D(!1),m=F(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n).catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;N(()=>{const R=ee();U(()=>{g=j(()=>{m?.value?.tagName&&(n=R.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),P(_("RouterLink"),n,s.default)}const u=e.target||null,g=J(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:S,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return V(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:P("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const R=$(i.value??"");return await(e.replace?d.replace(R):d.push(R))}finally{if(c(a.value)){const R=a.value.slice(1);let A=R;try{A=decodeURIComponent(R)}catch{}document.getElementById(A)?.focus()}}}}},s.default?.())}}})}const le=K(Q);function C(t,r){const c=r==="append"?X:Y;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,w=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:w}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/zPyClsoP.js b/frontend_admin/.nuxt/dist/client/_nuxt/zPyClsoP.js deleted file mode 100644 index 47970a2..0000000 --- a/frontend_admin/.nuxt/dist/client/_nuxt/zPyClsoP.js +++ /dev/null @@ -1 +0,0 @@ -import{e as G,c as i,a as e,t as a,k as _,v as H,q as K,F as k,r as w,i as g,n as r,m as v,s as T,x as h,o as n,d as y}from"./CqYPuxVf.js";const V={class:"mb-8"},F={class:"text-2xl font-bold text-white"},L={class:"text-slate-400 mt-1"},D={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-8"},P={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},U={class:"flex items-center gap-3"},q={class:"text-xs text-slate-400 uppercase tracking-wider"},E={class:"text-2xl font-bold text-white"},Z={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},Q={class:"flex items-center gap-3"},R={class:"text-xs text-slate-400 uppercase tracking-wider"},I={class:"text-2xl font-bold text-emerald-400"},J={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},O={class:"flex items-center gap-3"},W={class:"text-xs text-slate-400 uppercase tracking-wider"},X={class:"text-2xl font-bold text-amber-400"},Y={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},ee={class:"flex items-center gap-3"},te={class:"text-xs text-slate-400 uppercase tracking-wider"},se={class:"text-2xl font-bold text-purple-400"},oe={class:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-6"},ae={class:"relative flex-1 max-w-md"},le=["placeholder"],ie={class:"flex items-center gap-2"},re={value:"all"},ne={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},de={class:"overflow-x-auto"},ce={class:"w-full text-sm"},ue={class:"border-b border-slate-700 bg-slate-800/80"},pe={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},me={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},ge={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},ve={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},he={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},xe={class:"py-3.5 px-4 text-slate-400 font-mono text-xs"},fe={class:"py-3.5 px-4"},be={class:"flex items-center gap-3"},_e={class:"text-sm font-medium text-white"},ke={class:"text-xs text-slate-500"},we={class:"py-3.5 px-4 text-slate-300"},ye={class:"py-3.5 px-4"},Ce={class:"py-3.5 px-4"},$e={class:"flex items-center gap-2"},Ne=["onClick","title"],ze={key:0,class:"absolute right-0 mt-1 w-44 bg-slate-800 border border-slate-700 rounded-lg shadow-xl py-1 z-40"},Me=["onClick"],je={key:0,class:"ml-auto"},Be={class:"py-3.5 px-4"},Se={class:"flex items-center gap-2"},Ae=["onClick"],Ge=["onClick"],He={key:0,class:"flex flex-col items-center justify-center py-16 text-center"},Ke={class:"text-slate-400 text-sm"},Fe=G({__name:"index",setup(Te){const u=v(""),p=v("all"),m=v(null),c=v(null),C=["free","premium","enterprise"],d=T([{id:1,companyName:"Kovács Autószerviz",contactName:"Kovács István",email:"kovacs@autoserviz.hu",status:"active",tier:"premium",initials:"KA",colorClass:"bg-amber-600"},{id:2,companyName:"Nagy Gépjárműjavító Kft.",contactName:"Nagy Péter",email:"info@nagygepjarmu.hu",status:"active",tier:"enterprise",initials:"NG",colorClass:"bg-purple-600"},{id:3,companyName:"Tóth Autó és Motorgarázs",contactName:"Tóth Gábor",email:"toth@garazs.hu",status:"active",tier:"free",initials:"TA",colorClass:"bg-slate-600"},{id:4,companyName:"Szabó Flottakezelő Kft.",contactName:"Szabó Márta",email:"szabo@flotta.hu",status:"inactive",tier:"premium",initials:"SZ",colorClass:"bg-amber-600"},{id:5,companyName:"Horváth Autótechnika",contactName:"Horváth László",email:"horvath@autotechnika.hu",status:"suspended",tier:"free",initials:"HA",colorClass:"bg-slate-600"},{id:6,companyName:"Kiss & Társa Szerviz",contactName:"Kiss Anna",email:"kiss@szerviz.hu",status:"active",tier:"enterprise",initials:"KT",colorClass:"bg-purple-600"},{id:7,companyName:"Molnár Autóház Kft.",contactName:"Molnár Zoltán",email:"molnar@autohaz.hu",status:"active",tier:"premium",initials:"MA",colorClass:"bg-amber-600"},{id:8,companyName:"Farkas Gépjármű Szerviz",contactName:"Farkas Béla",email:"farkas@gepjarmu.hu",status:"inactive",tier:"free",initials:"FG",colorClass:"bg-slate-600"}]),$=h(()=>d.filter(t=>t.status==="active").length),N=h(()=>d.filter(t=>t.tier==="premium").length),z=h(()=>d.filter(t=>t.tier==="enterprise").length),x=h(()=>d.filter(t=>{if(u.value){const s=u.value.toLowerCase();if(!(t.companyName.toLowerCase().includes(s)||t.contactName.toLowerCase().includes(s)||t.email.toLowerCase().includes(s)))return!1}return!(p.value!=="all"&&t.tier!==p.value)}));function M(t){return t==="enterprise"?"bg-purple-500/20 text-purple-300":t==="premium"?"bg-amber-500/20 text-amber-300":"bg-slate-500/20 text-slate-300"}function j(t){m.value=m.value===t?null:t}function B(t,s){const o=d.find(b=>b.id===t);if(!o)return;const l=o.tier;o.tier=s,m.value=null,f("success",`"${o.companyName}" csomag módosítva: ${l} → ${s}`),console.log(`[Garages] Package changed: garage=${t}, from=${l}, to=${s}`)}function S(t){console.log(`[Garages] View garage: ${t}`)}function A(t){const s=d.find(o=>o.id===t);s&&(s.status=s.status==="active"?"inactive":"active",f("success",`"${s.companyName}" státusz módosítva: ${s.status}`),console.log(`[Garages] Status toggled: garage=${t}, newStatus=${s.status}`))}function f(t,s){c.value={type:t,message:s},setTimeout(()=>{c.value=null},4e3)}return(t,s)=>(n(),i("div",null,[e("div",V,[e("h1",F,a(t.$t("garages.title")),1),e("p",L,a(t.$t("garages.subtitle")),1)]),e("div",D,[e("div",P,[e("div",U,[s[2]||(s[2]=e("div",{class:"p-2 rounded-lg bg-indigo-500/10 text-indigo-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})])],-1)),e("div",null,[e("p",q,a(t.$t("garages.total_garages")),1),e("p",E,a(d.length),1)])])]),e("div",Z,[e("div",Q,[s[3]||(s[3]=e("div",{class:"p-2 rounded-lg bg-emerald-500/10 text-emerald-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})])],-1)),e("div",null,[e("p",R,a(t.$t("garages.active_garages")),1),e("p",I,a($.value),1)])])]),e("div",J,[e("div",O,[s[4]||(s[4]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})])],-1)),e("div",null,[e("p",W,a(t.$t("garages.premium_garages")),1),e("p",X,a(N.value),1)])])]),e("div",Y,[e("div",ee,[s[5]||(s[5]=e("div",{class:"p-2 rounded-lg bg-purple-500/10 text-purple-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"})])],-1)),e("div",null,[e("p",te,a(t.$t("garages.enterprise_garages")),1),e("p",se,a(z.value),1)])])])]),e("div",oe,[e("div",ae,[s[6]||(s[6]=e("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),_(e("input",{"onUpdate:modelValue":s[0]||(s[0]=o=>u.value=o),type:"text",placeholder:t.$t("garages.search_placeholder"),class:"w-full pl-10 pr-4 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 transition"},null,8,le),[[H,u.value]])]),e("div",ie,[_(e("select",{"onUpdate:modelValue":s[1]||(s[1]=o=>p.value=o),class:"px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},[e("option",re,a(t.$t("garages.all_tiers")),1),s[7]||(s[7]=e("option",{value:"free"},"Free",-1)),s[8]||(s[8]=e("option",{value:"premium"},"Premium",-1)),s[9]||(s[9]=e("option",{value:"enterprise"},"Enterprise",-1))],512),[[K,p.value]])])]),e("div",ne,[e("div",de,[e("table",ce,[e("thead",null,[e("tr",ue,[s[10]||(s[10]=e("th",{class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},"ID",-1)),e("th",pe,a(t.$t("garages.company_name")),1),e("th",me,a(t.$t("garages.email")),1),e("th",ge,a(t.$t("garages.status")),1),e("th",ve,a(t.$t("garages.current_package")),1),e("th",he,a(t.$t("garages.actions")),1)])]),e("tbody",null,[(n(!0),i(k,null,w(x.value,o=>(n(),i("tr",{key:o.id,class:"border-b border-slate-700/50 hover:bg-slate-700/30 transition"},[e("td",xe,a(o.id),1),e("td",fe,[e("div",be,[e("div",{class:r(["w-8 h-8 rounded-lg flex items-center justify-center text-sm font-bold text-white",o.colorClass])},a(o.initials),3),e("div",null,[e("p",_e,a(o.companyName),1),e("p",ke,a(o.contactName),1)])])]),e("td",we,a(o.email),1),e("td",ye,[e("span",{class:r(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",o.status==="active"?"bg-emerald-500/10 text-emerald-400":o.status==="suspended"?"bg-red-500/10 text-red-400":"bg-slate-500/10 text-slate-400"])},[e("span",{class:r(["w-1.5 h-1.5 rounded-full mr-1.5",o.status==="active"?"bg-emerald-400":o.status==="suspended"?"bg-red-400":"bg-slate-400"])},null,2),y(" "+a(o.status==="active"?t.$t("garages.active"):o.status==="suspended"?t.$t("garages.suspended"):t.$t("garages.inactive")),1)],2)]),e("td",Ce,[e("div",$e,[e("span",{class:r(["px-2.5 py-0.5 rounded-full text-xs font-medium",M(o.tier)])},a(o.tier),3),e("div",{class:"relative",ref_for:!0,ref:"dropdownRefs"},[e("button",{onClick:l=>j(o.id),class:"p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",title:t.$t("garages.change_package")},[...s[11]||(s[11]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1)])],8,Ne),m.value===o.id?(n(),i("div",ze,[(n(),i(k,null,w(C,l=>e("button",{key:l,onClick:b=>B(o.id,l),class:r(["flex items-center gap-2 w-full px-3 py-2 text-sm text-left transition",o.tier===l?"text-indigo-400 bg-indigo-500/10":"text-slate-300 hover:bg-slate-700 hover:text-white"])},[e("span",{class:r(["w-2 h-2 rounded-full",l==="free"?"bg-slate-400":l==="premium"?"bg-amber-400":"bg-purple-400"])},null,2),y(" "+a(l.charAt(0).toUpperCase()+l.slice(1))+" ",1),o.tier===l?(n(),i("span",je,[...s[12]||(s[12]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])])):g("",!0)],10,Me)),64))])):g("",!0)],512)])]),e("td",Be,[e("div",Se,[e("button",{onClick:l=>S(o.id),class:"px-3 py-1.5 text-xs font-medium bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},a(t.$t("garages.view")),9,Ae),e("button",{onClick:l=>A(o.id),class:r(["px-3 py-1.5 text-xs font-medium rounded-lg transition",o.status==="active"?"bg-red-500/10 text-red-300 hover:bg-red-500/20":"bg-emerald-500/10 text-emerald-300 hover:bg-emerald-500/20"])},a(o.status==="active"?t.$t("garages.deactivate"):t.$t("garages.activate")),11,Ge)])])]))),128))])])]),x.value.length===0?(n(),i("div",He,[s[13]||(s[13]=e("svg",{class:"w-12 h-12 text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})],-1)),e("p",Ke,a(t.$t("garages.no_results")),1)])):g("",!0)]),c.value?(n(),i("div",{key:0,class:r(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",c.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},a(c.value.message),3)):g("",!0)]))}});export{Fe as default}; diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js b/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js new file mode 100644 index 0000000..0925438 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js @@ -0,0 +1,11 @@ +const _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; +export { + _export_sfc as _ +}; +//# sourceMappingURL=_plugin-vue_export-helper-1tPrXgE0.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js.map new file mode 100644 index 0000000..43a5fc7 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js.map @@ -0,0 +1 @@ +{"version":3,"file":"_plugin-vue_export-helper-1tPrXgE0.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js.map.json new file mode 100644 index 0000000..b5333fd --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js.map.json @@ -0,0 +1 @@ +{"file":"_plugin-vue_export-helper-1tPrXgE0.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js b/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js new file mode 100644 index 0000000..d7511d3 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js @@ -0,0 +1,54 @@ +import { executeAsync } from "/app/node_modules/unctx/dist/index.mjs"; +import { d as defineNuxtRouteMiddleware, c as useCookie, n as navigateTo } from "../server.mjs"; +import { u as useAuthStore } from "./auth-RwMj9LdV.js"; +import "vue"; +import "/app/node_modules/ofetch/dist/node.mjs"; +import "#internal/nuxt/paths"; +import "/app/node_modules/hookable/dist/index.mjs"; +import "/app/node_modules/h3/dist/index.mjs"; +import "pinia"; +import "/app/node_modules/defu/dist/defu.mjs"; +import "vue-router"; +import "/app/node_modules/ufo/dist/index.mjs"; +import "/app/node_modules/klona/dist/index.mjs"; +import "/app/node_modules/cookie-es/dist/index.mjs"; +import "/app/node_modules/destr/dist/index.mjs"; +import "/app/node_modules/ohash/dist/index.mjs"; +import "/app/node_modules/@unhead/vue/dist/index.mjs"; +import "@vue/devtools-api"; +import "vue/server-renderer"; +const auth = defineNuxtRouteMiddleware(async (to, from) => { + let __temp, __restore; + if (to.path === "/login") { + return; + } + const tokenCookie = useCookie("access_token"); + if (!tokenCookie.value) { + return navigateTo("/login"); + } + const authStore = useAuthStore(); + if (!authStore.user) { + try { + ; + [__temp, __restore] = executeAsync(() => authStore.fetchUser()), await __temp, __restore(); + ; + } catch { + authStore.logout(); + return navigateTo("/login"); + } + } + if (!authStore.user) { + authStore.logout(); + return navigateTo("/login"); + } + const allowedRoles = ["SUPERADMIN", "ADMIN", "MODERATOR", "SALES_REP", "SERVICE_MGR"]; + const userRole = (authStore.user.role || "").toUpperCase(); + if (!allowedRoles.includes(userRole)) { + authStore.logout(); + return navigateTo("/login"); + } +}); +export { + auth as default +}; +//# sourceMappingURL=auth-9ekP0oPk.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js.map new file mode 100644 index 0000000..8308618 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auth-9ekP0oPk.js","sources":["../../../../middleware/auth.ts"],"sourcesContent":["export default defineNuxtRouteMiddleware(async (to, from) => {\n // Skip auth check on the login page itself\n if (to.path === '/login') {\n return\n }\n\n // Check for the access_token cookie\n const tokenCookie = useCookie('access_token')\n if (!tokenCookie.value) {\n return navigateTo('/login')\n }\n\n // ── RBAC: Verify user role from Pinia authStore ──────────────────────\n const authStore = useAuthStore()\n\n // If the user profile hasn't been loaded yet, try to fetch it\n if (!authStore.user) {\n try {\n await authStore.fetchUser()\n } catch {\n // Token is invalid or expired — clear and redirect to login\n authStore.logout()\n return navigateTo('/login')\n }\n }\n\n // After fetch, check if user is still null (fetch failed silently)\n if (!authStore.user) {\n authStore.logout()\n return navigateTo('/login')\n }\n\n // Allowed staff roles that can access the admin panel\n const allowedRoles = ['SUPERADMIN', 'ADMIN', 'MODERATOR', 'SALES_REP', 'SERVICE_MGR']\n const userRole = (authStore.user.role || '').toUpperCase()\n\n if (!allowedRoles.includes(userRole)) {\n // Standard USER or unknown role — kick them out, clear token, redirect\n authStore.logout()\n return navigateTo('/login')\n }\n})\n"],"names":["__executeAsync"],"mappings":";;;;;;;;;;;;;;;;;;;AAEE,MAAA,iCAA0B,OAAA,IAAA,SAAA;AAAA,MAAA,QAAA;AACxB,MAAA,GAAA,SAAA,UAAA;AACF;AAAA,EAGA;AACA,sBAAiB,UAAO,cAAA;AACtB,MAAA,CAAA,mBAAkB;AACpB,WAAA,WAAA,QAAA;AAAA,EAGA;AAGA,oBAAe,aAAM;AACnB,MAAA,CAAA,UAAI,MAAA;AACF,QAAA;AACF;AAAA,MAAA,CAAA,QAAQ,SAAA,IAAAA,aAAA,MAAA,UAAA,UAAA,CAAA,GAAA,MAAA,QAAA,UAAA;AAAA;AAAA,IAEN,QAAA;AACA;AACF,aAAA,WAAA,QAAA;AAAA,IACF;AAAA,EAGA;AACE,MAAA,CAAA,UAAU,MAAO;AACjB;AACF,WAAA,WAAA,QAAA;AAAA,EAGA;AACA,QAAM,eAAY,CAAA,cAAe,SAAY,aAAY,aAAA,aAAA;AAEzD,QAAK,YAAa,UAAS,KAAA,QAAW,IAAA,YAAA;AAEpC,MAAA,CAAA,aAAU,SAAO,QAAA,GAAA;AACjB;AACF,WAAA,WAAA,QAAA;AAAA,EACF;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js.map.json new file mode 100644 index 0000000..6c26dd2 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js.map.json @@ -0,0 +1 @@ +{"file":"auth-9ekP0oPk.js","mappings":";;;;;;;;;;;;;;;;;;;AAEE,MAAA,iCAA0B,OAAA,IAAA,SAAA;AAAA,MAAA,QAAA;AACxB,MAAA,GAAA,SAAA,UAAA;AACF;AAAA,EAGA;AACA,sBAAiB,UAAO,cAAA;AACtB,MAAA,CAAA,mBAAkB;AACpB,WAAA,WAAA,QAAA;AAAA,EAGA;AAGA,oBAAe,aAAM;AACnB,MAAA,CAAA,UAAI,MAAA;AACF,QAAA;AACF;AAAA,MAAA,CAAA,QAAQ,SAAA,IAAAA,aAAA,MAAA,UAAA,UAAA,CAAA,GAAA,MAAA,QAAA,UAAA;AAAA;AAAA,IAEN,QAAA;AACA;AACF,aAAA,WAAA,QAAA;AAAA,IACF;AAAA,EAGA;AACE,MAAA,CAAA,UAAU,MAAO;AACjB;AACF,WAAA,WAAA,QAAA;AAAA,EAGA;AACA,QAAM,eAAY,CAAA,cAAe,SAAY,aAAY,aAAA,aAAA;AAEzD,QAAK,YAAa,UAAS,KAAA,QAAW,IAAA,YAAA;AAEpC,MAAA,CAAA,aAAU,SAAO,QAAA,GAAA;AACjB;AACF,WAAA,WAAA,QAAA;AAAA,EACF;;","names":["__executeAsync"],"sources":["../../../../middleware/auth.ts"],"sourcesContent":["export default defineNuxtRouteMiddleware(async (to, from) => {\n // Skip auth check on the login page itself\n if (to.path === '/login') {\n return\n }\n\n // Check for the access_token cookie\n const tokenCookie = useCookie('access_token')\n if (!tokenCookie.value) {\n return navigateTo('/login')\n }\n\n // ── RBAC: Verify user role from Pinia authStore ──────────────────────\n const authStore = useAuthStore()\n\n // If the user profile hasn't been loaded yet, try to fetch it\n if (!authStore.user) {\n try {\n await authStore.fetchUser()\n } catch {\n // Token is invalid or expired — clear and redirect to login\n authStore.logout()\n return navigateTo('/login')\n }\n }\n\n // After fetch, check if user is still null (fetch failed silently)\n if (!authStore.user) {\n authStore.logout()\n return navigateTo('/login')\n }\n\n // Allowed staff roles that can access the admin panel\n const allowedRoles = ['SUPERADMIN', 'ADMIN', 'MODERATOR', 'SALES_REP', 'SERVICE_MGR']\n const userRole = (authStore.user.role || '').toUpperCase()\n\n if (!allowedRoles.includes(userRole)) {\n // Standard USER or unknown role — kick them out, clear token, redirect\n authStore.logout()\n return navigateTo('/login')\n }\n})\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js b/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js deleted file mode 100644 index 52c36f2..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js +++ /dev/null @@ -1,31 +0,0 @@ -import { d as defineNuxtRouteMiddleware, b as useCookie, n as navigateTo } from "../server.mjs"; -import "vue"; -import "/app/node_modules/ofetch/dist/node.mjs"; -import "#internal/nuxt/paths"; -import "/app/node_modules/hookable/dist/index.mjs"; -import "/app/node_modules/unctx/dist/index.mjs"; -import "/app/node_modules/h3/dist/index.mjs"; -import "pinia"; -import "/app/node_modules/defu/dist/defu.mjs"; -import "vue-router"; -import "/app/node_modules/ufo/dist/index.mjs"; -import "/app/node_modules/klona/dist/index.mjs"; -import "/app/node_modules/cookie-es/dist/index.mjs"; -import "/app/node_modules/destr/dist/index.mjs"; -import "/app/node_modules/ohash/dist/index.mjs"; -import "/app/node_modules/@unhead/vue/dist/index.mjs"; -import "@vue/devtools-api"; -import "vue/server-renderer"; -const auth = defineNuxtRouteMiddleware((to, from) => { - if (to.path === "/login") { - return; - } - const tokenCookie = useCookie("access_token"); - if (!tokenCookie.value) { - return navigateTo("/login"); - } -}); -export { - auth as default -}; -//# sourceMappingURL=auth-BgwR5zMA.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js.map deleted file mode 100644 index d636c2b..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth-BgwR5zMA.js","sources":["../../../../middleware/auth.ts"],"sourcesContent":["export default defineNuxtRouteMiddleware((to, from) => {\n // Skip auth check on the login page itself\n if (to.path === '/login') {\n return\n }\n\n // Check for the access_token cookie\n const tokenCookie = useCookie('access_token')\n if (!tokenCookie.value) {\n return navigateTo('/login')\n }\n\n // If the store is already initialized, check isAuthenticated\n // Otherwise, the token cookie presence is sufficient for the guard\n // The store's init() will validate the token on app mount\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,MAAA,OAAe,0BAA0B,CAAC,IAAI,SAAS;AAErD,MAAI,GAAG,SAAS,UAAU;AACxB;AAAA,EACF;AAGA,QAAM,cAAc,UAAU,cAAc;AAC5C,MAAI,CAAC,YAAY,OAAO;AACtB,WAAO,WAAW,QAAQ;AAAA,EAC5B;AAKF,CAAC;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js.map.json deleted file mode 100644 index 8a7d7e4..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"auth-BgwR5zMA.js","mappings":";;;;;;;;;;;;;;;;;;AAAA,MAAA,OAAe,0BAA0B,CAAC,IAAI,SAAS;AAErD,MAAI,GAAG,SAAS,UAAU;AACxB;AAAA,EACF;AAGA,QAAM,cAAc,UAAU,cAAc;AAC5C,MAAI,CAAC,YAAY,OAAO;AACtB,WAAO,WAAW,QAAQ;AAAA,EAC5B;AAKF,CAAC;","names":[],"sources":["../../../../middleware/auth.ts"],"sourcesContent":["export default defineNuxtRouteMiddleware((to, from) => {\n // Skip auth check on the login page itself\n if (to.path === '/login') {\n return\n }\n\n // Check for the access_token cookie\n const tokenCookie = useCookie('access_token')\n if (!tokenCookie.value) {\n return navigateTo('/login')\n }\n\n // If the store is already initialized, check isAuthenticated\n // Otherwise, the token cookie presence is sufficient for the guard\n // The store's init() will validate the token on app mount\n})\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js b/frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js similarity index 97% rename from frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js rename to frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js index 9288898..c61ad7f 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js @@ -1,6 +1,6 @@ import { defineStore } from "pinia"; import { ref, computed } from "vue"; -import { b as useCookie } from "../server.mjs"; +import { c as useCookie } from "../server.mjs"; const useAuthStore = defineStore("auth", () => { const user = ref(null); const token = ref(null); @@ -113,4 +113,4 @@ const useAuthStore = defineStore("auth", () => { export { useAuthStore as u }; -//# sourceMappingURL=auth-mCjBoLcA.js.map +//# sourceMappingURL=auth-RwMj9LdV.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js.map similarity index 99% rename from frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js.map rename to frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js.map index 69e50ff..4fa643f 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js.map +++ b/frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js.map @@ -1 +1 @@ -{"version":3,"file":"auth-mCjBoLcA.js","sources":["../../../../stores/auth.ts"],"sourcesContent":["import { defineStore } from 'pinia'\nimport { ref, computed } from 'vue'\n\nexport interface UserProfile {\n id: number\n email: string\n first_name: string | null\n last_name: string | null\n is_active: boolean\n role: string\n region_code: string\n subscription_plan: string\n subscription_expires_at?: string | null\n max_vehicles?: number\n max_garages?: number\n scope_level: string\n scope_id: string | null\n ui_mode: string\n active_organization_id: number | null\n preferred_language: string\n person_id: number | null\n person: Record | null\n system_capabilities?: Record\n org_capabilities?: Record>\n}\n\nexport const useAuthStore = defineStore('auth', () => {\n // ── State ──────────────────────────────────────────────────────────\n const user = ref(null)\n const token = ref(null)\n const isLoading = ref(false)\n const error = ref(null)\n const isInitialized = ref(false)\n\n // ── Getters ────────────────────────────────────────────────────────\n const isAuthenticated = computed(() => !!token.value && !!user.value)\n\n const isAdmin = computed(() => {\n const role = user.value?.role\n if (!role) return false\n const staffRoles = ['SUPERADMIN', 'ADMIN', 'MODERATOR', 'SALES_REP', 'SERVICE_MGR']\n return staffRoles.includes(role.toUpperCase())\n })\n\n const userName = computed(() => {\n if (!user.value) return ''\n const { first_name, last_name } = user.value\n if (first_name && last_name) return `${first_name} ${last_name}`\n return first_name || last_name || user.value.email\n })\n\n const userEmail = computed(() => user.value?.email ?? '')\n const userRole = computed(() => user.value?.role ?? 'guest')\n\n // ── Actions ────────────────────────────────────────────────────────\n\n /**\n * Login with email + password.\n * Calls the FastAPI /auth/login endpoint using OAuth2PasswordRequestForm.\n * Stores the JWT token in a cookie (via useCookie) for SSR compatibility.\n */\n async function login(email: string, password: string) {\n isLoading.value = true\n error.value = null\n\n try {\n const body = new URLSearchParams()\n body.append('username', email)\n body.append('password', password)\n\n const res = await $fetch<{\n access_token: string\n refresh_token?: string\n token_type: string\n is_active: boolean\n }>('/api/v1/auth/login', {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body,\n })\n\n // Persist token in a cookie (SSR-safe) and in memory\n const tokenCookie = useCookie('access_token', {\n maxAge: 60 * 60 * 24 * 7, // 7 days\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n tokenCookie.value = res.access_token\n token.value = res.access_token\n\n // Fetch user profile\n await fetchUser()\n } catch (err: any) {\n error.value = err?.data?.detail || err?.message || 'Login failed'\n throw err\n } finally {\n isLoading.value = false\n }\n }\n\n /**\n * Fetch the current user profile from /auth/me.\n */\n async function fetchUser() {\n const tokenCookie = useCookie('access_token')\n const currentToken = tokenCookie.value || token.value\n if (!currentToken) return\n\n try {\n const res = await $fetch('/api/v1/auth/me', {\n headers: { Authorization: `Bearer ${currentToken}` },\n })\n user.value = res\n } catch (err: any) {\n if (err?.response?.status === 401) {\n logout()\n }\n throw err\n }\n }\n\n /**\n * Logout — clear token, user state, and cookie.\n */\n function logout() {\n token.value = null\n user.value = null\n error.value = null\n const tokenCookie = useCookie('access_token')\n tokenCookie.value = null\n }\n\n /**\n * Initialize the store on app load — if a token cookie exists, fetch the user.\n */\n async function init() {\n const tokenCookie = useCookie('access_token')\n if (tokenCookie.value) {\n token.value = tokenCookie.value\n try {\n await fetchUser()\n } catch {\n logout()\n }\n }\n isInitialized.value = true\n }\n\n /**\n * Clear any stored error message.\n */\n function clearError() {\n error.value = null\n }\n\n return {\n // State\n user,\n token,\n isLoading,\n error,\n isInitialized,\n\n // Getters\n isAuthenticated,\n isAdmin,\n userName,\n userEmail,\n userRole,\n\n // Actions\n login,\n fetchUser,\n logout,\n init,\n clearError,\n }\n})\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"auth-RwMj9LdV.js","sources":["../../../../stores/auth.ts"],"sourcesContent":["import { defineStore } from 'pinia'\nimport { ref, computed } from 'vue'\n\nexport interface UserProfile {\n id: number\n email: string\n first_name: string | null\n last_name: string | null\n is_active: boolean\n role: string\n region_code: string\n subscription_plan: string\n subscription_expires_at?: string | null\n max_vehicles?: number\n max_garages?: number\n scope_level: string\n scope_id: string | null\n ui_mode: string\n active_organization_id: number | null\n preferred_language: string\n person_id: number | null\n person: Record | null\n system_capabilities?: Record\n org_capabilities?: Record>\n}\n\nexport const useAuthStore = defineStore('auth', () => {\n // ── State ──────────────────────────────────────────────────────────\n const user = ref(null)\n const token = ref(null)\n const isLoading = ref(false)\n const error = ref(null)\n const isInitialized = ref(false)\n\n // ── Getters ────────────────────────────────────────────────────────\n const isAuthenticated = computed(() => !!token.value && !!user.value)\n\n const isAdmin = computed(() => {\n const role = user.value?.role\n if (!role) return false\n const staffRoles = ['SUPERADMIN', 'ADMIN', 'MODERATOR', 'SALES_REP', 'SERVICE_MGR']\n return staffRoles.includes(role.toUpperCase())\n })\n\n const userName = computed(() => {\n if (!user.value) return ''\n const { first_name, last_name } = user.value\n if (first_name && last_name) return `${first_name} ${last_name}`\n return first_name || last_name || user.value.email\n })\n\n const userEmail = computed(() => user.value?.email ?? '')\n const userRole = computed(() => user.value?.role ?? 'guest')\n\n // ── Actions ────────────────────────────────────────────────────────\n\n /**\n * Login with email + password.\n * Calls the FastAPI /auth/login endpoint using OAuth2PasswordRequestForm.\n * Stores the JWT token in a cookie (via useCookie) for SSR compatibility.\n */\n async function login(email: string, password: string) {\n isLoading.value = true\n error.value = null\n\n try {\n const body = new URLSearchParams()\n body.append('username', email)\n body.append('password', password)\n\n const res = await $fetch<{\n access_token: string\n refresh_token?: string\n token_type: string\n is_active: boolean\n }>('/api/v1/auth/login', {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body,\n })\n\n // Persist token in a cookie (SSR-safe) and in memory\n const tokenCookie = useCookie('access_token', {\n maxAge: 60 * 60 * 24 * 7, // 7 days\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n tokenCookie.value = res.access_token\n token.value = res.access_token\n\n // Fetch user profile\n await fetchUser()\n } catch (err: any) {\n error.value = err?.data?.detail || err?.message || 'Login failed'\n throw err\n } finally {\n isLoading.value = false\n }\n }\n\n /**\n * Fetch the current user profile from /auth/me.\n */\n async function fetchUser() {\n const tokenCookie = useCookie('access_token')\n const currentToken = tokenCookie.value || token.value\n if (!currentToken) return\n\n try {\n const res = await $fetch('/api/v1/auth/me', {\n headers: { Authorization: `Bearer ${currentToken}` },\n })\n user.value = res\n } catch (err: any) {\n if (err?.response?.status === 401) {\n logout()\n }\n throw err\n }\n }\n\n /**\n * Logout — clear token, user state, and cookie.\n */\n function logout() {\n token.value = null\n user.value = null\n error.value = null\n const tokenCookie = useCookie('access_token')\n tokenCookie.value = null\n }\n\n /**\n * Initialize the store on app load — if a token cookie exists, fetch the user.\n */\n async function init() {\n const tokenCookie = useCookie('access_token')\n if (tokenCookie.value) {\n token.value = tokenCookie.value\n try {\n await fetchUser()\n } catch {\n logout()\n }\n }\n isInitialized.value = true\n }\n\n /**\n * Clear any stored error message.\n */\n function clearError() {\n error.value = null\n }\n\n return {\n // State\n user,\n token,\n isLoading,\n error,\n isInitialized,\n\n // Getters\n isAuthenticated,\n isAdmin,\n userName,\n userEmail,\n userRole,\n\n // Actions\n login,\n fetchUser,\n logout,\n init,\n clearError,\n }\n})\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js.map.json similarity index 99% rename from frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js.map.json rename to frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js.map.json index d6550d5..7658139 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js.map.json +++ b/frontend_admin/.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js.map.json @@ -1 +1 @@ -{"file":"auth-mCjBoLcA.js","mappings":"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","names":[],"sources":["../../../../stores/auth.ts"],"sourcesContent":["import { defineStore } from 'pinia'\nimport { ref, computed } from 'vue'\n\nexport interface UserProfile {\n id: number\n email: string\n first_name: string | null\n last_name: string | null\n is_active: boolean\n role: string\n region_code: string\n subscription_plan: string\n subscription_expires_at?: string | null\n max_vehicles?: number\n max_garages?: number\n scope_level: string\n scope_id: string | null\n ui_mode: string\n active_organization_id: number | null\n preferred_language: string\n person_id: number | null\n person: Record | null\n system_capabilities?: Record\n org_capabilities?: Record>\n}\n\nexport const useAuthStore = defineStore('auth', () => {\n // ── State ──────────────────────────────────────────────────────────\n const user = ref(null)\n const token = ref(null)\n const isLoading = ref(false)\n const error = ref(null)\n const isInitialized = ref(false)\n\n // ── Getters ────────────────────────────────────────────────────────\n const isAuthenticated = computed(() => !!token.value && !!user.value)\n\n const isAdmin = computed(() => {\n const role = user.value?.role\n if (!role) return false\n const staffRoles = ['SUPERADMIN', 'ADMIN', 'MODERATOR', 'SALES_REP', 'SERVICE_MGR']\n return staffRoles.includes(role.toUpperCase())\n })\n\n const userName = computed(() => {\n if (!user.value) return ''\n const { first_name, last_name } = user.value\n if (first_name && last_name) return `${first_name} ${last_name}`\n return first_name || last_name || user.value.email\n })\n\n const userEmail = computed(() => user.value?.email ?? '')\n const userRole = computed(() => user.value?.role ?? 'guest')\n\n // ── Actions ────────────────────────────────────────────────────────\n\n /**\n * Login with email + password.\n * Calls the FastAPI /auth/login endpoint using OAuth2PasswordRequestForm.\n * Stores the JWT token in a cookie (via useCookie) for SSR compatibility.\n */\n async function login(email: string, password: string) {\n isLoading.value = true\n error.value = null\n\n try {\n const body = new URLSearchParams()\n body.append('username', email)\n body.append('password', password)\n\n const res = await $fetch<{\n access_token: string\n refresh_token?: string\n token_type: string\n is_active: boolean\n }>('/api/v1/auth/login', {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body,\n })\n\n // Persist token in a cookie (SSR-safe) and in memory\n const tokenCookie = useCookie('access_token', {\n maxAge: 60 * 60 * 24 * 7, // 7 days\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n tokenCookie.value = res.access_token\n token.value = res.access_token\n\n // Fetch user profile\n await fetchUser()\n } catch (err: any) {\n error.value = err?.data?.detail || err?.message || 'Login failed'\n throw err\n } finally {\n isLoading.value = false\n }\n }\n\n /**\n * Fetch the current user profile from /auth/me.\n */\n async function fetchUser() {\n const tokenCookie = useCookie('access_token')\n const currentToken = tokenCookie.value || token.value\n if (!currentToken) return\n\n try {\n const res = await $fetch('/api/v1/auth/me', {\n headers: { Authorization: `Bearer ${currentToken}` },\n })\n user.value = res\n } catch (err: any) {\n if (err?.response?.status === 401) {\n logout()\n }\n throw err\n }\n }\n\n /**\n * Logout — clear token, user state, and cookie.\n */\n function logout() {\n token.value = null\n user.value = null\n error.value = null\n const tokenCookie = useCookie('access_token')\n tokenCookie.value = null\n }\n\n /**\n * Initialize the store on app load — if a token cookie exists, fetch the user.\n */\n async function init() {\n const tokenCookie = useCookie('access_token')\n if (tokenCookie.value) {\n token.value = tokenCookie.value\n try {\n await fetchUser()\n } catch {\n logout()\n }\n }\n isInitialized.value = true\n }\n\n /**\n * Clear any stored error message.\n */\n function clearError() {\n error.value = null\n }\n\n return {\n // State\n user,\n token,\n isLoading,\n error,\n isInitialized,\n\n // Getters\n isAuthenticated,\n isAdmin,\n userName,\n userEmail,\n userRole,\n\n // Actions\n login,\n fetchUser,\n logout,\n init,\n clearError,\n }\n})\n"],"version":3} \ No newline at end of file +{"file":"auth-RwMj9LdV.js","mappings":"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","names":[],"sources":["../../../../stores/auth.ts"],"sourcesContent":["import { defineStore } from 'pinia'\nimport { ref, computed } from 'vue'\n\nexport interface UserProfile {\n id: number\n email: string\n first_name: string | null\n last_name: string | null\n is_active: boolean\n role: string\n region_code: string\n subscription_plan: string\n subscription_expires_at?: string | null\n max_vehicles?: number\n max_garages?: number\n scope_level: string\n scope_id: string | null\n ui_mode: string\n active_organization_id: number | null\n preferred_language: string\n person_id: number | null\n person: Record | null\n system_capabilities?: Record\n org_capabilities?: Record>\n}\n\nexport const useAuthStore = defineStore('auth', () => {\n // ── State ──────────────────────────────────────────────────────────\n const user = ref(null)\n const token = ref(null)\n const isLoading = ref(false)\n const error = ref(null)\n const isInitialized = ref(false)\n\n // ── Getters ────────────────────────────────────────────────────────\n const isAuthenticated = computed(() => !!token.value && !!user.value)\n\n const isAdmin = computed(() => {\n const role = user.value?.role\n if (!role) return false\n const staffRoles = ['SUPERADMIN', 'ADMIN', 'MODERATOR', 'SALES_REP', 'SERVICE_MGR']\n return staffRoles.includes(role.toUpperCase())\n })\n\n const userName = computed(() => {\n if (!user.value) return ''\n const { first_name, last_name } = user.value\n if (first_name && last_name) return `${first_name} ${last_name}`\n return first_name || last_name || user.value.email\n })\n\n const userEmail = computed(() => user.value?.email ?? '')\n const userRole = computed(() => user.value?.role ?? 'guest')\n\n // ── Actions ────────────────────────────────────────────────────────\n\n /**\n * Login with email + password.\n * Calls the FastAPI /auth/login endpoint using OAuth2PasswordRequestForm.\n * Stores the JWT token in a cookie (via useCookie) for SSR compatibility.\n */\n async function login(email: string, password: string) {\n isLoading.value = true\n error.value = null\n\n try {\n const body = new URLSearchParams()\n body.append('username', email)\n body.append('password', password)\n\n const res = await $fetch<{\n access_token: string\n refresh_token?: string\n token_type: string\n is_active: boolean\n }>('/api/v1/auth/login', {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body,\n })\n\n // Persist token in a cookie (SSR-safe) and in memory\n const tokenCookie = useCookie('access_token', {\n maxAge: 60 * 60 * 24 * 7, // 7 days\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n tokenCookie.value = res.access_token\n token.value = res.access_token\n\n // Fetch user profile\n await fetchUser()\n } catch (err: any) {\n error.value = err?.data?.detail || err?.message || 'Login failed'\n throw err\n } finally {\n isLoading.value = false\n }\n }\n\n /**\n * Fetch the current user profile from /auth/me.\n */\n async function fetchUser() {\n const tokenCookie = useCookie('access_token')\n const currentToken = tokenCookie.value || token.value\n if (!currentToken) return\n\n try {\n const res = await $fetch('/api/v1/auth/me', {\n headers: { Authorization: `Bearer ${currentToken}` },\n })\n user.value = res\n } catch (err: any) {\n if (err?.response?.status === 401) {\n logout()\n }\n throw err\n }\n }\n\n /**\n * Logout — clear token, user state, and cookie.\n */\n function logout() {\n token.value = null\n user.value = null\n error.value = null\n const tokenCookie = useCookie('access_token')\n tokenCookie.value = null\n }\n\n /**\n * Initialize the store on app load — if a token cookie exists, fetch the user.\n */\n async function init() {\n const tokenCookie = useCookie('access_token')\n if (tokenCookie.value) {\n token.value = tokenCookie.value\n try {\n await fetchUser()\n } catch {\n logout()\n }\n }\n isInitialized.value = true\n }\n\n /**\n * Clear any stored error message.\n */\n function clearError() {\n error.value = null\n }\n\n return {\n // State\n user,\n token,\n isLoading,\n error,\n isInitialized,\n\n // Getters\n isAuthenticated,\n isAdmin,\n userName,\n userEmail,\n userRole,\n\n // Actions\n login,\n fetchUser,\n logout,\n init,\n clearError,\n }\n})\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js b/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js new file mode 100644 index 0000000..0a02d56 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js @@ -0,0 +1,20 @@ +import { mergeProps, useSSRContext } from "vue"; +import { ssrRenderAttrs, ssrRenderSlot } from "vue/server-renderer"; +import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js"; +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(``); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("layouts/blank.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const blank = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); +export { + blank as default +}; +//# sourceMappingURL=blank-DWT4RB69.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js.map new file mode 100644 index 0000000..51a7389 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blank-DWT4RB69.js","sources":["../../../../layouts/blank.vue"],"sourcesContent":["\n"],"names":["_ssrRenderAttrs","_mergeProps"],"mappings":";;;;;AACO,QAAA,OAAAA,eAAAC,WAAA,EAAA,OAAM,+BAA2B,MAAA,CAAA,CAAA,GAAA;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js.map.json new file mode 100644 index 0000000..19d84e3 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/blank-DWT4RB69.js.map.json @@ -0,0 +1 @@ +{"file":"blank-DWT4RB69.js","mappings":";;;;;AACO,QAAA,OAAAA,eAAAC,WAAA,EAAA,OAAM,+BAA2B,MAAA,CAAA,CAAA,GAAA;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps"],"sources":["../../../../layouts/blank.vue"],"sourcesContent":["\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js.map deleted file mode 100644 index 8e9e38b..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"default-B9tlXlqE.js","sources":["../../../../layouts/default.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_ssrRenderClass","_createVNode","_ssrRenderList","_ssrRenderStyle","_ssrInterpolate","_toDisplayString","locale","_createBlock"],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js.map.json deleted file mode 100644 index 67eaff8..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"default-B9tlXlqE.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_ssrRenderClass","_createVNode","_ssrRenderList","_ssrRenderStyle","_ssrInterpolate","_toDisplayString","locale","_createBlock"],"sources":["../../../../layouts/default.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js b/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js similarity index 97% rename from frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js rename to frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js index 67c69a3..f7af486 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/default-B9tlXlqE.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js @@ -1,11 +1,11 @@ import { _ as __nuxt_component_0 } from "./nuxt-link-Cp-CAJwR.js"; -import { defineComponent, computed, ref, mergeProps, withCtx, createVNode, toDisplayString, openBlock, createBlock, createTextVNode, useSSRContext } from "vue"; +import { defineComponent, computed, ref, mergeProps, withCtx, createVNode, toDisplayString, unref, openBlock, createBlock, createTextVNode, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderAttr, ssrRenderList, ssrRenderStyle, ssrInterpolate, ssrRenderSlot } from "vue/server-renderer"; import { publicAssetsURL } from "#internal/nuxt/paths"; import { useRoute } from "vue-router"; import { u as useRegionStore } from "./region-0mvXqaMM.js"; -import { a as useRouter, c as useI18n } from "../server.mjs"; -import { u as useAuthStore } from "./auth-mCjBoLcA.js"; +import { a as useRouter, b as useI18n } from "../server.mjs"; +import { u as useAuthStore } from "./auth-RwMj9LdV.js"; import "/app/node_modules/klona/dist/index.mjs"; import "/app/node_modules/hookable/dist/index.mjs"; import "/app/node_modules/ufo/dist/index.mjs"; @@ -36,10 +36,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const dropdownOpen = ref(false); ref(null); const expandedGroups = ref(/* @__PURE__ */ new Set(["Központ"])); - const userEmail = computed(() => authStore.userEmail || "admin@servicefinder.hu"); + const userEmail = computed(() => authStore.userEmail || "Ismeretlen Felhasználó"); const userInitials = computed(() => { const email = authStore.userEmail; - if (!email) return "AD"; + if (!email) return "??"; return email.split("@")[0].split(".").map((s) => s[0]).join("").toUpperCase().slice(0, 2); }); const menuGroups = [ @@ -237,7 +237,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }); _push(`
`); if (dropdownOpen.value) { - _push(`

${ssrInterpolate(userEmail.value)}

Administrator

`); + _push(`

${ssrInterpolate(userEmail.value)}

${ssrInterpolate(unref(authStore).userRole === "SUPERADMIN" ? "Super Administrator" : unref(authStore).userRole || "Administrator")}

`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/profile", class: "flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition", @@ -286,4 +286,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=default-B9tlXlqE.js.map +//# sourceMappingURL=default-DOjdWE8b.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js.map new file mode 100644 index 0000000..bc70687 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"default-DOjdWE8b.js","sources":["../../../../layouts/default.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_ssrRenderClass","_createVNode","_ssrRenderList","_ssrRenderStyle","_ssrInterpolate","_toDisplayString","locale","_unref","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA0OA,UAAM,QAAQ,SAAA;AACC,cAAA;AAEf,UAAM,YAAY,aAAA;AACE,mBAAA;AAGpB,UAAM,EAAE,QAAQ,QAAA,IAAY,QAAA;AAC5B,UAAM,mBAAmB,SAAS,MAAM,QAAQ,KAAyC;AACzF,UAAM,gBAAgB,SAAS,MAAM,OAAO,KAAK;AA0BjD,UAAM,cAAc,IAAI,KAAK;AAC7B,UAAM,mBAAmB,IAAI,KAAK;AAGlC,UAAM,eAAe,IAAI,KAAK;AACV,QAAwB,IAAI;AAGhD,UAAM,iBAAiB,IAAiB,oBAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AAG5D,UAAM,YAAY,SAAS,MAAM,UAAU,aAAa,wBAAwB;AAChF,UAAM,eAAe,SAAS,MAAM;AAClC,YAAM,QAAQ,UAAU;AACxB,UAAI,CAAC,MAAO,QAAO;AACnB,aAAO,MACJ,MAAM,GAAG,EAAE,CAAC,EACZ,MAAM,GAAG,EACT,IAAI,CAAA,MAAK,EAAE,CAAC,CAAC,EACb,KAAK,EAAE,EACP,cACA,MAAM,GAAG,CAAC;AAAA,IACf,CAAC;AAqBD,UAAM,aAA0B;AAAA,MAC9B;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,UAAA;AAAA,QACR;AAAA,MACF;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,cACR;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,gBACP,MAAM;AAAA,cAAA;AAAA,YACR;AAAA,UACF;AAAA,UAEF;AAAA,YACE,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,cACR;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,gBACP,MAAM;AAAA,cAAA;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,UAAA;AAAA,QACR;AAAA,MACF;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,UAAA;AAAA,UAER;AAAA,YACE,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,cACR;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,gBACP,MAAM;AAAA,cAAA;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAIF,UAAM,YAAY,SAAS,MAAM;AAC/B,UAAI,MAAM,SAAS,IAAK,QAAO;AAC/B,UAAI,MAAM,KAAK,WAAW,cAAc,EAAG,QAAO;AAClD,UAAI,MAAM,KAAK,WAAW,UAAU,EAAG,QAAO;AAC9C,UAAI,MAAM,KAAK,WAAW,QAAQ,EAAG,QAAO;AAC5C,UAAI,MAAM,KAAK,WAAW,OAAO,EAAG,QAAO;AAC3C,UAAI,MAAM,KAAK,WAAW,WAAW,EAAG,QAAO;AAC/C,aAAO;AAAA,IACT,CAAC;AAED,aAAS,SAAS,MAAc;AAC9B,UAAI,SAAS,IAAK,QAAO,MAAM,SAAS;AACxC,aAAO,MAAM,KAAK,WAAW,IAAI;AAAA,IACnC;AAEA,aAAS,cAAc,MAAyB;AAC9C,UAAI,CAAC,KAAK,SAAU,QAAO;AAC3B,aAAO,KAAK,SAAS,KAAK,WAAS,SAAS,MAAM,IAAI,CAAC;AAAA,IACzD;;;AAjZO,YAAA,OAAAA,eAAAC,WAAA,EAAA,OAAM,+CAA2C,MAAA,CAAA,CAAA,GAAA;UAG5C,YAAA,OAAW;;;;;;;QAO+J,YAAA,UAAgB,iBAAA,QAAgB,SAAA;AAAA,MAAA;;QAMtM,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAWW,GAAAC,QAAAC,UAAA,aAAA;;kFATFC,cAAA,OAAA,UAAe,2EAGVC,eAAA,CAAA,YAAA,UAAgB,iBAAA,QAAgB,8BAAA,qBAAA,2EAAA,CAAA;;;cAJ5CC,YASM,OAAA,EATD,OAAM,qCAAiC;AAAA,gBAC1CA,YAAsE,OAAA;AAAA,kBAAjE,KAAA;AAAA,kBAAgB,OAAM;AAAA,kBAA2B,KAAI;AAAA,gBAAA;gBAC1DA,YAMM,OAAA;AAAA,kBALJ,OAAK,CAAC,6EACE,YAAA,UAAgB,iBAAA,QAAgB,8BAAA,mBAAA;AAAA,gBAAA;kBAExCA,YAA4E,OAAA,EAAvE,OAAM,6CAAA,GAA6C,gBAAc;AAAA,kBACtEA,YAAyG,OAAA,EAApG,OAAM,mFAAA,GAAmF,OAAK;AAAA,gBAAA;;;;;;;4NAY7E,iBAAA,SAAgB,2CAAA,CAAA,CAAA,0QAAA;AAWhBC,oBAAA,aAAT,UAAK;uJAGVC,eAAA,YAAA,UAAgB,iBAAA,QAAgB,OAAA,EAAA,SAAA,OAAA,CAAA,MAGrCC,eAAA,MAAM,KAAK;sBAIS,MAAM,OAAK,CAAnB,SAAI;;AAER,cAAA,KAAK,UAAQ;yCAGZJ,eAAA,CAAA,cAAc,IAAI,IAAA,qCAAA,sDAAA,sFAAA,CAAA,0CAGkB,KAAK,QAAI,yBAG3CA,eAAA,CAAA,YAAA,UAAgB,iBAAA,QAAgB,8BAAA,qBAAA,4FAAA,CAAA,MACtCI,eAAA,KAAK,KAAK;cAI+B,aAAA,eAAA,MAAe,IAAI,KAAK,KAAK;AAAA,cAAsC,eAAA,YAAA,UAAgB,iBAAA;AAAA,cAAmD,aAAA,iBAAA,UAAqB,YAAA;AAAA,YAAA,+UAchM,eAAA,MAAe,IAAI,KAAK,KAAK,MAAM,YAAA,SAAW,CAAK,iBAAA,SAAgB,OAAA,EAAA,SAAA,OAAA,CAAA;0BAIzD,KAAK,UAAQ,CAAtB,UAAK;;gBACX,KAAK,MAAM;AAAA,gBACX,IAAI,MAAM;AAAA,gBACX,QAAM,+EACE,SAAS,MAAM,IAAI,IAAA,6BAAA,oDAAA;AAAA,gBAC1B,qBAAO,YAAA,QAAW;AAAA,cAAA;iCANrB,CAUW,GAAAP,QAAAC,UAAA,aAAA;;6EAFmC,MAAM,QAAI,uEACHM,eAAA,MAAM,KAAK;;;sBAD9DH,YAA0D,QAAA;AAAA,wBAApD,OAAM;AAAA,wBAAwB,WAAQ,MAAM;AAAA,sBAAA;sBAClDA,YAAwE,UAAlE,OAAM,oCAAA,GAAmCI,gBAAI,MAAM,KAAK,GAAA,CAAA;AAAA,oBAAA;AAAA;;;;;;;;cAQjE,IAAI,KAAK;AAAA,cACV,QAAM,iFACE,SAAS,KAAK,IAAI,IAAA,6BAAA,oDAAA;AAAA,cACzB,qBAAO,YAAA,QAAW;AAAA,YAAA;+BALrB,CAYW,GAAAR,QAAAC,UAAA,aAAA;;2EALmC,KAAK,QAAI,yBAG3CE,eAAA,CAAA,YAAA,UAAgB,iBAAA,QAAgB,8BAAA,qBAAA,2EAAA,CAAA,iBACtCI,eAAA,KAAK,KAAK;;;oBAJdH,YAAyD,QAAA;AAAA,sBAAnD,OAAM;AAAA,sBAAwB,WAAQ,KAAK;AAAA,oBAAA;oBACjDA,YAGwB,QAAA;AAAA,sBAFtB,OAAK,CAAC,6EACE,YAAA,UAAgB,iBAAA,QAAgB,8BAAA,mBAAA;AAAA,oBAAA,GACtCI,gBAAA,KAAK,KAAK,GAAA,CAAA;AAAA,kBAAA;AAAA;;;;;;;;;oGAUVL,eAAA,CAAA,YAAA,UAAgB,iBAAA,QAAgB,8BAAA,qBAAA,kFAAA,CAAA,krBAwBmB,UAAA,KAAS;AAQ7CE,oBAAA,iBAAA,QAAVI,YAAM;gDAIL,cAAA,UAAkBA,QAAO,+IAI9BF,eAAAE,QAAO,SAAI,OAAA,OAAA,IAAA;;uQAWX,aAAA,KAAY,8EAEuC,UAAA,KAAS;UAQ3D,aAAA,OAAY;uOAI6B,UAAA,KAAS,iDACVF,eAAAG,MAAA,SAAA,EAAU,aAAQ,eAAA,wBAA4CA,MAAA,SAAA,EAAU,YAAQ,eAAA;;UAG5H,IAAG;AAAA,UACH,OAAM;AAAA,UACL,qBAAO,aAAA,QAAY;AAAA,QAAA;2BAHtB,CASW,GAAAV,QAAAC,UAAA,aAAA;;;;;8BAJTU,YAEM,OAAA;AAAA,kBAFD,OAAM;AAAA,kBAAU,MAAK;AAAA,kBAAO,QAAO;AAAA,kBAAe,SAAQ;AAAA,gBAAA;kBAC7DP,YAAgJ,QAAA;AAAA,oBAA1I,kBAAe;AAAA,oBAAQ,mBAAgB;AAAA,oBAAQ,gBAAa;AAAA,oBAAI,GAAE;AAAA,kBAAA;;gCACpE,oBAER;AAAA,cAAA;AAAA;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js.map.json new file mode 100644 index 0000000..0f2c087 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/default-DOjdWE8b.js.map.json @@ -0,0 +1 @@ +{"file":"default-DOjdWE8b.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_push","_parent","_ssrRenderAttr","_ssrRenderClass","_createVNode","_ssrRenderList","_ssrRenderStyle","_ssrInterpolate","_toDisplayString","locale","_unref","_createBlock"],"sources":["../../../../layouts/default.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js.map deleted file mode 100644 index 4500620..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"en-BScPj1A-.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js.map.json deleted file mode 100644 index 257acb2..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"en-BScPj1A-.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js b/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js similarity index 54% rename from frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js rename to frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js index 4b5dcf9..dc5e744 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/en-BScPj1A-.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js @@ -1,54 +1,50 @@ const resource = { "permissions": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permissions Management" } }, - "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permissions Management — Role-based access control & subscription feature flags" } }, - "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading permissions data..." } }, + "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permission Matrix — Role-based access control" } }, + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading permissions..." } }, "error_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Failed to load permissions" } }, "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, "save_changes": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Save Changes" } }, "discard": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Discard" } }, - "modified_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " modification(s)" }] } }, - "current_tier": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Current Tier" } }, + "modified_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " changes" }] } }, + "domain_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Domain Filter (Rows)" } }, + "role_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role Filter (Columns)" } }, + "select_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select All" } }, + "deselect_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deselect All" } }, + "all_domains": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "All" } }, + "permission": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permission" } }, + "no_permissions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No permissions in this domain." } }, + "current_tier": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Current Package" } }, "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expires" } }, "superadmin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Superadmin" } }, - "superadmin_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Full system access — user management, billing, robots, and system configuration." } }, + "superadmin_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Full system access — users, billing, robots and system configuration." } }, "garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garages" } }, "garages_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garage-level access — vehicle management, service booking, customer data." } }, "feature_flags": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Feature Flags" } }, - "feature_flags_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "Subscription feature toggles — resolved from your current tier (" }, { "t": 4, "k": "tier" }, { "t": 3, "v": ")." }] } }, + "feature_flags_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "Subscription features — based on your current plan (" }, { "t": 4, "k": "tier" }, { "t": 3, "v": ")." }] } }, "rbac_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "RBAC Permission Matrix" } }, "rbac_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role-based access control — which roles can perform which admin actions." } }, - "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Action" } }, - "perms": { - "user_mgmt": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "User Management" } }, - "billing_admin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Billing Administration" } }, - "robot_config": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Robot Configuration" } }, - "system_logs": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "System Logs Access" } }, - "api_keys": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "API Key Management" } }, - "vehicle_crud": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vehicle CRUD" } }, - "service_booking": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Service Booking" } }, - "customer_view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Customer Data View" } }, - "report_export": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Report Export" } }, - "bulk_import": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Bulk Import" } } - } + "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Action" } } }, "packages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Package Management" } }, - "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Manage subscription packages and feature flags — Free, Premium, Enterprise" } }, + "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Manage subscription packages and features — Free, Premium, Enterprise" } }, "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading packages..." } }, "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, - "create_new": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create Package" } }, + "create_new": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "New Package" } }, "no_packages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No packages yet" } }, "no_packages_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create your first subscription package to get started." } }, "create_first": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create First Package" } }, "popular": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Popular" } }, "fallback_badge": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Fallback" } }, "trial_badge": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Trial" } }, - "month": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "month" } }, + "month": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "mo" } }, "feature_flags": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Available Features" } }, "edit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Edit" } }, + "duplicate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Duplicate" } }, "delete": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Delete" } }, - "set_as_default": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Set as default" } }, + "set_as_default": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Set as Default" } }, "set_as_default_success": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "set as default package!" } }, "edit_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Edit Package" } }, "create_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create Package" } }, @@ -63,7 +59,7 @@ const resource = { "max_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Vehicles" } }, "max_garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Garages" } }, "monthly_credits": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Monthly Credits" } }, - "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tier Level" } }, + "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Level" } }, "form_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "System Name" } }, "form_name_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. premium_2024" } }, "form_display_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Display Name" } }, @@ -72,19 +68,31 @@ const resource = { "type_private": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Private" } }, "type_corporate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Corporate" } }, "form_tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tier Level" } }, - "form_tier_level_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Higher number = more features & higher rank" } }, + "form_tier_level_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Higher number = more features and higher rank" } }, "form_monthly_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Monthly Price" } }, "form_yearly_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Yearly Price" } }, "form_currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Currency" } }, "form_subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Subtitle / Description" } }, - "form_subtitle_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. Best for small businesses" } }, + "form_subtitle_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. Ideal for small businesses" } }, "form_badge": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Badge Text" } }, "form_badge_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. Most Popular" } }, - "form_is_custom": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Custom Package (not publicly listed)" } }, + "form_is_custom": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Custom Package (not public)" } }, "singleton_rules": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Singleton Rules" } }, - "form_is_default_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Default Fallback Package — assigned when a subscription expires" } }, + "form_is_default_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Default Fallback Package — expired subscriptions fall back to this" } }, "form_trial_days": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Trial Days on Signup" } }, - "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "New organizations get this many free days. Only one package can have trial > 0." } } + "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "New organizations get this many free days. Only one package can have > 0." } }, + "per_region_pricing": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Per-Region Pricing" } }, + "smart_calculator": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Smart Price Calculator" } }, + "calc_net_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Net Price" } }, + "calc_vat_rate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "VAT Rate" } }, + "calc_currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Currency" } }, + "calc_net": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Net" } }, + "calc_vat": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "VAT" } }, + "calc_gross": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Gross" } }, + "calc_apply": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Apply to selected region" } }, + "add_zone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Add New Zone" } }, + "add_zone_select": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select country code..." } }, + "add_zone_already_exists": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "This region already exists in the package pricing!" } } }, "garages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garages CRM" } }, @@ -99,18 +107,64 @@ const resource = { "email": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Email" } }, "status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Status" } }, "current_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Current Package" } }, + "expiration_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expiration Date" } }, "actions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Actions" } }, "active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Active" } }, "inactive": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Inactive" } }, "suspended": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Suspended" } }, "change_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Change Package" } }, + "manage_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Manage Subscription" } }, "view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "View" } }, "activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Activate" } }, "deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deactivate" } }, - "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No garages match your search." } } + "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No garages match your search." } }, + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading garages..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, + "members": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "members" } }, + "free_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Free / Fallback" } }, + "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expires" } }, + "select_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select Package" } }, + "select_package_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select a subscription package..." } }, + "custom_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Custom Expiration Date" } }, + "optional": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "optional" } }, + "custom_expiration_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Leave empty for default duration (e.g. 30 days). For 2-5 year B2B deals, set a custom date!" } }, + "cancel": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Cancel" } }, + "save": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Save" } }, + "saving": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Saving..." } }, + "subscription_updated": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "subscription updated successfully!" } }, + "view_details": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Details" } }, + "indefinite": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Indefinite" } }, + "details": { + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading garage details..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, + "back": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Back to garages" } }, + "company_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Company Info" } }, + "company_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Company Name" } }, + "display_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Display Name" } }, + "org_type": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Organization Type" } }, + "tax_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tax Number" } }, + "reg_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Registration Number" } }, + "created_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Created At" } }, + "address": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Address" } }, + "subscription_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Subscription Status" } }, + "tier_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Package" } }, + "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Level" } }, + "level_n": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "Level " }, { "t": 4, "k": "n" }] } }, + "expires_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expires" } }, + "asset_limit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vehicle Limit" } }, + "vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "vehicles" } }, + "no_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No active subscription" } }, + "contact_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Contact Info" } }, + "contact_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Contact Name" } }, + "contact_role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role" } }, + "contact_department": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Department" } }, + "contact_phone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Phone" } }, + "no_contact": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No primary contact person" } }, + "coming_soon": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "This feature will be available soon..." } } + } } }; export { resource as default }; -//# sourceMappingURL=en-BScPj1A-.js.map +//# sourceMappingURL=en-WIj2pBfh.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js.map new file mode 100644 index 0000000..bac1f13 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js.map @@ -0,0 +1 @@ +{"version":3,"file":"en-WIj2pBfh.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js.map.json new file mode 100644 index 0000000..032868b --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/en-WIj2pBfh.js.map.json @@ -0,0 +1 @@ +{"file":"en-WIj2pBfh.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js new file mode 100644 index 0000000..4cde594 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js @@ -0,0 +1,5 @@ +const tailwind = `*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.ms-3{margin-inline-start:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\\[38px\\]{height:38px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[200px\\]{min-width:200px}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/30{border-color:#6366f14d}.border-purple-500\\/30{border-color:#a855f74d}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/30{border-color:#3341554d}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:#0000}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-500\\/20{background-color:#06b6d433}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-emerald-900\\/10{background-color:#064e3b1a}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-indigo-600\\/30{background-color:#4f46e54d}.bg-indigo-600\\/50{background-color:#4f46e580}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-purple-600\\/30{background-color:#9333ea4d}.bg-purple-900\\/10{background-color:#581c871a}.bg-purple-900\\/5{background-color:#581c870d}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-600\\/20{background-color:#47556933}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-700\\/60{background-color:#33415599}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/40{background-color:#1e293b66}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/60{background-color:#1e293b99}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\\/50{background-color:#0f172a80}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:#05966933;--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:#10b98180}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:start-\\[2px\\]:after{content:var(--tw-content);inset-inline-start:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:h-5:after{content:var(--tw-content);height:1.25rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:w-5:after{content:var(--tw-content);width:1.25rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/10:hover{background-color:#ef44441a}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600\\/30:hover{background-color:#4755694d}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/20:hover{background-color:#33415533}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:#6366f180}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid #0000;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-emerald-500\\/50{--tw-ring-color:#10b98180}.peer:focus~.peer-focus\\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.peer:focus~.peer-focus\\:ring-indigo-500\\/50{--tw-ring-color:#6366f180}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.peer:checked~.rtl\\:peer-checked\\:after\\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}`; +export { + tailwind as default +}; +//# sourceMappingURL=entry-styles-1.mjs-B2hfTmd6.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js.map new file mode 100644 index 0000000..d6380f7 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js.map @@ -0,0 +1 @@ +{"version":3,"file":"entry-styles-1.mjs-B2hfTmd6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js.map.json new file mode 100644 index 0000000..3e784db --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js.map.json @@ -0,0 +1 @@ +{"file":"entry-styles-1.mjs-B2hfTmd6.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js deleted file mode 100644 index 1343690..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js +++ /dev/null @@ -1,5 +0,0 @@ -const tailwind = `*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/20{border-color:#6366f133}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:#0000}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-400\\/70{color:#818cf8b3}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:#05966933;--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:#10b98180}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.last\\:border-0:last-child{border-width:0}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:#6366f180}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid #0000;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-amber-500\\/50{--tw-ring-color:#f59e0b80}.peer:focus~.peer-focus\\:ring-cyan-500\\/50{--tw-ring-color:#06b6d480}.peer:focus~.peer-focus\\:ring-purple-500\\/50{--tw-ring-color:#a855f780}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.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\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}`; -export { - tailwind as default -}; -//# sourceMappingURL=entry-styles-1.mjs-DTfYoqFp.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js.map deleted file mode 100644 index 4ca9e4e..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"entry-styles-1.mjs-DTfYoqFp.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js.map.json deleted file mode 100644 index 6c31126..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"entry-styles-1.mjs-DTfYoqFp.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js deleted file mode 100644 index ea13d2f..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js +++ /dev/null @@ -1,5 +0,0 @@ -const main = `*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/20{border-color:#6366f133}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:transparent}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-400\\/70{color:#818cf8b3}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:rgba(5,150,105,.2);--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:rgba(16,185,129,.5)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}body{min-height:100vh;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.last\\:border-0:last-child{border-width:0}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:transparent}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:rgba(99,102,241,.5)}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-amber-500\\/50{--tw-ring-color:rgba(245,158,11,.5)}.peer:focus~.peer-focus\\:ring-cyan-500\\/50{--tw-ring-color:rgba(6,182,212,.5)}.peer:focus~.peer-focus\\:ring-purple-500\\/50{--tw-ring-color:rgba(168,85,247,.5)}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.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\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}`; -export { - main as default -}; -//# sourceMappingURL=entry-styles-2.mjs-CM2W3GZ1.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js.map deleted file mode 100644 index 1999aff..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"entry-styles-2.mjs-CM2W3GZ1.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js.map.json deleted file mode 100644 index 89012c5..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"entry-styles-2.mjs-CM2W3GZ1.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js new file mode 100644 index 0000000..183f42c --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js @@ -0,0 +1,5 @@ +const main = `*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.ms-3{margin-inline-start:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\\[38px\\]{height:38px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[200px\\]{min-width:200px}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/30{border-color:#6366f14d}.border-purple-500\\/30{border-color:#a855f74d}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/30{border-color:#3341554d}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:transparent}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-500\\/20{background-color:#06b6d433}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-emerald-900\\/10{background-color:#064e3b1a}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-indigo-600\\/30{background-color:#4f46e54d}.bg-indigo-600\\/50{background-color:#4f46e580}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-purple-600\\/30{background-color:#9333ea4d}.bg-purple-900\\/10{background-color:#581c871a}.bg-purple-900\\/5{background-color:#581c870d}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-600\\/20{background-color:#47556933}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-700\\/60{background-color:#33415599}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/40{background-color:#1e293b66}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/60{background-color:#1e293b99}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\\/50{background-color:#0f172a80}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:rgba(5,150,105,.2);--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:rgba(16,185,129,.5)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}body{min-height:100vh;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:start-\\[2px\\]:after{content:var(--tw-content);inset-inline-start:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:h-5:after{content:var(--tw-content);height:1.25rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:w-5:after{content:var(--tw-content);width:1.25rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/10:hover{background-color:#ef44441a}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600\\/30:hover{background-color:#4755694d}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/20:hover{background-color:#33415533}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:transparent}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:rgba(99,102,241,.5)}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-emerald-500\\/50{--tw-ring-color:rgba(16,185,129,.5)}.peer:focus~.peer-focus\\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.peer:focus~.peer-focus\\:ring-indigo-500\\/50{--tw-ring-color:rgba(99,102,241,.5)}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.peer:checked~.rtl\\:peer-checked\\:after\\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}`; +export { + main as default +}; +//# sourceMappingURL=entry-styles-2.mjs-rU9a7bNs.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js.map new file mode 100644 index 0000000..6b270aa --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"entry-styles-2.mjs-rU9a7bNs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js.map.json new file mode 100644 index 0000000..dea8e63 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js.map.json @@ -0,0 +1 @@ +{"file":"entry-styles-2.mjs-rU9a7bNs.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles.C2WXX8iB.mjs b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles.C2WXX8iB.mjs new file mode 100644 index 0000000..b325239 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles.C2WXX8iB.mjs @@ -0,0 +1,8 @@ +import style_0 from "./entry-styles-1.mjs-B2hfTmd6.js"; +import style_1 from "./entry-styles-2.mjs-rU9a7bNs.js"; +import style_2 from "./entry-styles-3.mjs-C1rWf53M.js"; +export default [ + style_0, + style_1, + style_2 +] \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles.w3HlJ-9O.mjs b/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles.w3HlJ-9O.mjs deleted file mode 100644 index d8a1536..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/entry-styles.w3HlJ-9O.mjs +++ /dev/null @@ -1,8 +0,0 @@ -import style_0 from "./entry-styles-1.mjs-DTfYoqFp.js"; -import style_1 from "./entry-styles-2.mjs-CM2W3GZ1.js"; -import style_2 from "./entry-styles-3.mjs-C1rWf53M.js"; -export default [ - style_0, - style_1, - style_2 -] \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js b/frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js similarity index 97% rename from frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js rename to frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js index 0ded070..8417458 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js @@ -1,7 +1,8 @@ import { _ as __nuxt_component_0 } from "./nuxt-link-Cp-CAJwR.js"; import { mergeProps, withCtx, createTextVNode, toDisplayString, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from "vue/server-renderer"; -import { _ as _export_sfc, u as useHead } from "../server.mjs"; +import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js"; +import { u as useHead } from "../server.mjs"; import "/app/node_modules/ufo/dist/index.mjs"; import "/app/node_modules/defu/dist/defu.mjs"; import "/app/node_modules/ofetch/dist/node.mjs"; @@ -93,4 +94,4 @@ const error404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1 export { error404 as default }; -//# sourceMappingURL=error-404-C_elhLNc.js.map +//# sourceMappingURL=error-404-Bkg5lg69.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js.map similarity index 91% rename from frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js.map rename to frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js.map index d6b765e..95f9019 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js.map +++ b/frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js.map @@ -1 +1 @@ -{"version":3,"file":"error-404-C_elhLNc.js","sources":["../../../../node_modules/nuxt/dist/app/components/error-404.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_push","_parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AA0Bd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,wOAA6J,QAAA,MAAM,mHAAuF,QAAA,WAAW;;QAAmE,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAE9b,GAAAC,QAAAC,UAAA,aAAA;;qCADP,QAAA,QAAQ,CAAA,EAAA;AAAA;;8CAAR,QAAA,QAAQ,GAAA,CAAA;AAAA,YAAA;AAAA;;;;;;;;;;;;;;;","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"error-404-Bkg5lg69.js","sources":["../../../../node_modules/nuxt/dist/app/components/error-404.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_push","_parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AA0Bd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,wOAA6J,QAAA,MAAM,mHAAuF,QAAA,WAAW;;QAAmE,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAE9b,GAAAC,QAAAC,UAAA,aAAA;;qCADP,QAAA,QAAQ,CAAA,EAAA;AAAA;;8CAAR,QAAA,QAAQ,GAAA,CAAA;AAAA,YAAA;AAAA;;;;;;;;;;;;;;;","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js.map.json new file mode 100644 index 0000000..7ed2957 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js.map.json @@ -0,0 +1 @@ +{"file":"error-404-Bkg5lg69.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AA0Bd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,wOAA6J,QAAA,MAAM,mHAAuF,QAAA,WAAW;;QAAmE,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAE9b,GAAAC,QAAAC,UAAA,aAAA;;qCADP,QAAA,QAAQ,CAAA,EAAA;AAAA;;8CAAR,QAAA,QAAQ,GAAA,CAAA;AAAA,YAAA;AAAA;;;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps","_push","_parent"],"sources":["../../../../node_modules/nuxt/dist/app/components/error-404.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js.map.json deleted file mode 100644 index 5d234b1..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"error-404-C_elhLNc.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AA0Bd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,wOAA6J,QAAA,MAAM,mHAAuF,QAAA,WAAW;;QAAmE,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAE9b,GAAAC,QAAAC,UAAA,aAAA;;qCADP,QAAA,QAAQ,CAAA,EAAA;AAAA;;8CAAR,QAAA,QAAQ,GAAA,CAAA;AAAA,YAAA;AAAA;;;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps","_push","_parent"],"sources":["../../../../node_modules/nuxt/dist/app/components/error-404.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js.map.json deleted file mode 100644 index 729067f..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"error-500-C6MJq2Cl.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AAsBd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,gPAAqK,QAAA,MAAM,mHAAuF,QAAA,WAAW;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps"],"sources":["../../../../node_modules/nuxt/dist/app/components/error-500.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js b/frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js similarity index 96% rename from frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js rename to frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js index 421b5df..044c86e 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js @@ -1,6 +1,7 @@ import { mergeProps, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrInterpolate } from "vue/server-renderer"; -import { _ as _export_sfc, u as useHead } from "../server.mjs"; +import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js"; +import { u as useHead } from "../server.mjs"; import "/app/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/app/node_modules/hookable/dist/index.mjs"; @@ -71,4 +72,4 @@ const error500 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a export { error500 as default }; -//# sourceMappingURL=error-500-C6MJq2Cl.js.map +//# sourceMappingURL=error-500-DfEH3Z64.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js.map similarity index 91% rename from frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js.map rename to frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js.map index cd783cf..03ac708 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js.map +++ b/frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js.map @@ -1 +1 @@ -{"version":3,"file":"error-500-C6MJq2Cl.js","sources":["../../../../node_modules/nuxt/dist/app/components/error-500.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AAsBd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,gPAAqK,QAAA,MAAM,mHAAuF,QAAA,WAAW;;;;;;;;;;;","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"error-500-DfEH3Z64.js","sources":["../../../../node_modules/nuxt/dist/app/components/error-500.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AAsBd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,gPAAqK,QAAA,MAAM,mHAAuF,QAAA,WAAW;;;;;;;;;;;","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js.map.json new file mode 100644 index 0000000..396f988 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js.map.json @@ -0,0 +1 @@ +{"file":"error-500-DfEH3Z64.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AAsBd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,oIAAgI,MAAA,CAAA,gPAAqK,QAAA,MAAM,mHAAuF,QAAA,WAAW;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps"],"sources":["../../../../node_modules/nuxt/dist/app/components/error-500.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js b/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js similarity index 59% rename from frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js rename to frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js index cc32a9c..b3397a0 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js @@ -1,13 +1,20 @@ const resource = { "permissions": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jogosultság Kezelés" } }, - "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permissions Management — Role-based access control & subscription feature flags" } }, + "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés" } }, "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jogosultságok betöltése..." } }, "error_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nem sikerült betölteni a jogosultságokat" } }, "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Újra" } }, "save_changes": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Változtatások Mentése" } }, "discard": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Elvetés" } }, "modified_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " módosítás" }] } }, + "domain_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tartomány Szűrő (Sorok)" } }, + "role_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepkör Szűrő (Oszlopok)" } }, + "select_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Összes kiválasztása" } }, + "deselect_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Összes elrejtése" } }, + "all_domains": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Minden" } }, + "permission": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Engedély" } }, + "no_permissions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincsenek engedélyek ebben a tartományban." } }, "current_tier": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktuális Csomag" } }, "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lejárat" } }, "superadmin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Superadmin" } }, @@ -18,19 +25,7 @@ const resource = { "feature_flags_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "Előfizetési funkciók — a jelenlegi csomagod alapján (" }, { "t": 4, "k": "tier" }, { "t": 3, "v": ")." }] } }, "rbac_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "RBAC Jogosultsági Mátrix" } }, "rbac_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik." } }, - "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Művelet" } }, - "perms": { - "user_mgmt": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhasználókezelés" } }, - "billing_admin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Számlázási Adminisztráció" } }, - "robot_config": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Robot Konfiguráció" } }, - "system_logs": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Rendszernaplók Elérése" } }, - "api_keys": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "API Kulcs Kezelés" } }, - "vehicle_crud": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jármű CRUD" } }, - "service_booking": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szervizfoglalás" } }, - "customer_view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ügyféladatok Megtekintése" } }, - "report_export": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jelentés Exportálás" } }, - "bulk_import": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tömeges Import" } } - } + "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Művelet" } } }, "packages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomagok Kezelése" } }, @@ -47,6 +42,7 @@ const resource = { "month": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "hó" } }, "feature_flags": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Elérhető Funkciók" } }, "edit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerkesztés" } }, + "duplicate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Másolás" } }, "delete": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Törlés" } }, "set_as_default": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Beállítás alapértelmezettként" } }, "set_as_default_success": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "alapértelmezett csomagként beállítva!" } }, @@ -84,7 +80,19 @@ const resource = { "singleton_rules": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Egyediségi Szabályok" } }, "form_is_default_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált" } }, "form_trial_days": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Próba Napok Regisztrációnál" } }, - "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0." } } + "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0." } }, + "per_region_pricing": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Régiók szerinti árazás" } }, + "smart_calculator": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Okos Árkalkulátor" } }, + "calc_net_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nettó ár" } }, + "calc_vat_rate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "ÁFA kulcs" } }, + "calc_currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Pénznem" } }, + "calc_net": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nettó" } }, + "calc_vat": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "ÁFA" } }, + "calc_gross": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Bruttó" } }, + "calc_apply": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Alkalmaz a kiválasztott régióra" } }, + "add_zone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Új Zóna Hozzáadása" } }, + "add_zone_select": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Válassz országkódot..." } }, + "add_zone_already_exists": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ez a régió már létezik a csomag árazásában!" } } }, "garages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garázsok CRM" } }, @@ -99,18 +107,64 @@ const resource = { "email": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "E-mail" } }, "status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Státusz" } }, "current_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktuális Csomag" } }, + "expiration_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lejárat Dátuma" } }, "actions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Műveletek" } }, "active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktív" } }, "inactive": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Inaktív" } }, "suspended": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felfüggesztve" } }, "change_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomag Módosítása" } }, + "manage_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Előfizetés Kezelése" } }, "view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Megtekintés" } }, "activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktiválás" } }, "deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deaktiválás" } }, - "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs a keresésnek megfelelő garázs." } } + "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs a keresésnek megfelelő garázs." } }, + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garázsok betöltése..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Újra" } }, + "members": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "tag" } }, + "free_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ingyenes / Visszaesési" } }, + "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lejárat" } }, + "select_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomag Kiválasztása" } }, + "select_package_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Válassz egy előfizetési csomagot..." } }, + "custom_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Egyéni Lejárati Dátum" } }, + "optional": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "opcionális" } }, + "custom_expiration_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Hagyd üresen az alapértelmezett időtartamhoz (pl. 30 nap). 2-5 éves B2B deal-eknél adj meg egyedi dátumot!" } }, + "cancel": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Mégse" } }, + "save": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Mentés" } }, + "saving": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Mentés..." } }, + "subscription_updated": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "előfizetése sikeresen frissítve!" } }, + "view_details": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Részletek" } }, + "indefinite": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Határozatlan" } }, + "details": { + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garázs adatainak betöltése..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Újra" } }, + "back": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vissza a garázsokhoz" } }, + "company_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Cég adatok" } }, + "company_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Cégnév" } }, + "display_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Megjelenítési név" } }, + "org_type": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szervezet típusa" } }, + "tax_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Adószám" } }, + "reg_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Cégjegyzékszám" } }, + "created_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Létrehozva" } }, + "address": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Cím" } }, + "subscription_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Előfizetés státusza" } }, + "tier_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomag" } }, + "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szint" } }, + "level_n": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "n" }, { "t": 3, "v": ". szint" }] } }, + "expires_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lejárat" } }, + "asset_limit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Járműkorlát" } }, + "vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "jármű" } }, + "no_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs aktív előfizetés" } }, + "contact_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Elérhetőség" } }, + "contact_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Kapcsolattartó neve" } }, + "contact_role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepkör" } }, + "contact_department": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Osztály" } }, + "contact_phone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Telefonszám" } }, + "no_contact": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs elsődleges kapcsolattartó" } }, + "coming_soon": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ez a funkció hamarosan elérhető lesz..." } } + } } }; export { resource as default }; -//# sourceMappingURL=hu-CoGcC81v.js.map +//# sourceMappingURL=hu-B3JxlqZo.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js.map new file mode 100644 index 0000000..fc9194a --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hu-B3JxlqZo.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js.map.json new file mode 100644 index 0000000..43623d6 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js.map.json @@ -0,0 +1 @@ +{"file":"hu-B3JxlqZo.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js.map deleted file mode 100644 index 9ad8872..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"hu-CoGcC81v.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js.map.json deleted file mode 100644 index 4bed4b0..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/hu-CoGcC81v.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"hu-CoGcC81v.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js b/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js deleted file mode 100644 index 6337464..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js +++ /dev/null @@ -1,159 +0,0 @@ -import { defineComponent, ref, computed, useSSRContext } from "vue"; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrIncludeBooleanAttr } from "vue/server-renderer"; -import "/app/node_modules/hookable/dist/index.mjs"; -import "/app/node_modules/klona/dist/index.mjs"; -import "../server.mjs"; -import "/app/node_modules/ofetch/dist/node.mjs"; -import "#internal/nuxt/paths"; -import "/app/node_modules/unctx/dist/index.mjs"; -import "/app/node_modules/h3/dist/index.mjs"; -import "pinia"; -import "/app/node_modules/defu/dist/defu.mjs"; -import "vue-router"; -import "/app/node_modules/ufo/dist/index.mjs"; -import "/app/node_modules/cookie-es/dist/index.mjs"; -import "/app/node_modules/destr/dist/index.mjs"; -import "/app/node_modules/ohash/dist/index.mjs"; -import "/app/node_modules/@unhead/vue/dist/index.mjs"; -import "@vue/devtools-api"; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "index", - __ssrInlineRender: true, - setup(__props) { - const loading = ref(true); - const error = ref(null); - const featureFlags = ref({ - tier: "free", - features: {}, - expires_at: null - }); - const permissionMatrix = ref([]); - const allActions = ref([]); - const modifiedPermissions = ref(/* @__PURE__ */ new Map()); - ref(/* @__PURE__ */ new Map()); - const saveNotification = ref(null); - const featureEntries = computed(() => { - return Object.entries(featureFlags.value.features || {}); - }); - const hasModifications = computed(() => { - return modifiedPermissions.value.size > 0; - }); - const tierBadgeClass = computed(() => { - const tier = featureFlags.value.tier; - if (tier === "enterprise") return "bg-purple-500/20 text-purple-300"; - if (tier === "premium") return "bg-amber-500/20 text-amber-300"; - return "bg-slate-500/20 text-slate-300"; - }); - const superadminPerms = [ - { key: "user_mgmt", label: "User Management", enabled: true }, - { key: "billing_admin", label: "Billing Administration", enabled: true }, - { key: "robot_config", label: "Robot Configuration", enabled: true }, - { key: "system_logs", label: "System Logs Access", enabled: true }, - { key: "api_keys", label: "API Key Management", enabled: false } - ]; - const garagePerms = [ - { key: "vehicle_crud", label: "Vehicle CRUD", enabled: true }, - { key: "service_booking", label: "Service Booking", enabled: true }, - { key: "customer_view", label: "Customer Data View", enabled: true }, - { key: "report_export", label: "Report Export", enabled: false }, - { key: "bulk_import", label: "Bulk Import", enabled: false } - ]; - function isPermEnabled(group, key) { - const mapKey = `${group}:${key}`; - if (modifiedPermissions.value.has(mapKey)) { - return modifiedPermissions.value.get(mapKey); - } - const perms = group === "superadmin" ? superadminPerms : garagePerms; - const perm = perms.find((p) => p.key === key); - return perm ? perm.enabled : false; - } - function formatFeatureLabel(key) { - return key.replace(/^cost_category:/, "").replace(/_/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()); - } - function formatDate(dateStr) { - try { - const d = new Date(dateStr); - return d.toLocaleDateString("en-GB", { day: "numeric", month: "short", year: "numeric" }); - } catch { - return dateStr; - } - } - function hasPermission(role, action) { - return role.actions.includes(action); - } - return (_ctx, _push, _parent, _attrs) => { - _push(`

${ssrInterpolate(_ctx.$t("permissions.title"))}

${ssrInterpolate(_ctx.$t("permissions.subtitle"))}

`); - if (loading.value) { - _push(`
${ssrInterpolate(_ctx.$t("permissions.loading"))}
`); - } else if (error.value) { - _push(`

${ssrInterpolate(_ctx.$t("permissions.error_title"))}

${ssrInterpolate(error.value)}

`); - } else { - _push(``); - if (saveNotification.value) { - _push(`
${ssrInterpolate(saveNotification.value.message)}
`); - } else { - _push(``); - } - if (hasModifications.value) { - _push(`
${ssrInterpolate(_ctx.$t("permissions.modified_count", { count: modifiedPermissions.value.size }))}
`); - } else { - _push(``); - } - _push(`
${ssrInterpolate(_ctx.$t("permissions.current_tier"))}:${ssrInterpolate(featureFlags.value.tier || "free")}`); - if (featureFlags.value.expires_at) { - _push(`${ssrInterpolate(_ctx.$t("permissions.expires"))}: ${ssrInterpolate(formatDate(featureFlags.value.expires_at))}`); - } else { - _push(``); - } - _push(`

${ssrInterpolate(_ctx.$t("permissions.superadmin"))}

${ssrInterpolate(_ctx.$t("permissions.superadmin_desc"))}

`); - ssrRenderList(superadminPerms, (perm) => { - _push(`
${ssrInterpolate(_ctx.$t(`permissions.perms.${perm.key}`))}
`); - }); - _push(`

${ssrInterpolate(_ctx.$t("permissions.garages"))}

${ssrInterpolate(_ctx.$t("permissions.garages_desc"))}

`); - ssrRenderList(garagePerms, (perm) => { - _push(`
${ssrInterpolate(_ctx.$t(`permissions.perms.${perm.key}`))}
`); - }); - _push(`

${ssrInterpolate(_ctx.$t("permissions.feature_flags"))}

${ssrInterpolate(_ctx.$t("permissions.feature_flags_desc", { tier: featureFlags.value.tier || "free" }))}

`); - ssrRenderList(featureEntries.value, ([key, granted]) => { - _push(`
${ssrInterpolate(formatFeatureLabel(key))}${ssrInterpolate(key)}
`); - }); - _push(`

${ssrInterpolate(_ctx.$t("permissions.rbac_title"))}

${ssrInterpolate(_ctx.$t("permissions.rbac_desc"))}

`); - ssrRenderList(permissionMatrix.value, (role) => { - _push(``); - }); - _push(``); - ssrRenderList(allActions.value, (action) => { - _push(``); - ssrRenderList(permissionMatrix.value, (role) => { - _push(``); - }); - _push(``); - }); - _push(`
${ssrInterpolate(_ctx.$t("permissions.action"))}${ssrInterpolate(role.role)}
${ssrInterpolate(action)}`); - if (hasPermission(role, action)) { - _push(``); - } else { - _push(``); - } - _push(`
`); - if (hasModifications.value) { - _push(`
`); - } else { - _push(``); - } - _push(``); - } - _push(`
`); - }; - } -}); -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/permissions/index.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; -export { - _sfc_main as default -}; -//# sourceMappingURL=index-7zBAzpaD.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js.map deleted file mode 100644 index 6d4826c..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-7zBAzpaD.js","sources":["../../../../pages/permissions/index.vue"],"sourcesContent":["\n\n\n"],"names":["$t","_ssrRenderClass","_ssrInterpolate","_ssrRenderList"],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js.map.json deleted file mode 100644 index 01f8b27..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-7zBAzpaD.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"index-7zBAzpaD.js","mappings":"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","names":["$t","_ssrRenderClass","_ssrInterpolate","_ssrRenderList"],"sources":["../../../../pages/permissions/index.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js.map deleted file mode 100644 index ab3cbb0..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-BPETUF7a.js","sources":["../../../../composables/useFormatter.ts","../../../../pages/packages/index.vue"],"sourcesContent":["import { useRegionStore } from '~/stores/region'\n\n/**\n * 🌍 useFormatter Composable\n *\n * Provides locale-aware formatting utilities for numbers, currencies, dates,\n * and percentages. Uses the active region configuration from the RegionStore\n * to determine the appropriate locale, currency, and timezone.\n *\n * Falls back to 'en-EU' locale and 'EUR' currency if no region is configured.\n */\nexport function useFormatter() {\n const regionStore = useRegionStore()\n\n /**\n * Format a number according to the active locale.\n * Example: 1234567.89 → \"1,234,567.89\" (en) or \"1 234 567,89\" (hu)\n */\n function formatNumber(value: number, options?: Intl.NumberFormatOptions): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, options).format(value)\n } catch {\n return new Intl.NumberFormat('en-EU', options).format(value)\n }\n }\n\n /**\n * Format a currency value according to the active region's currency and locale.\n * Example: 1234.50 → \"€1,234.50\" (EUR/en) or \"3 456 Ft\" (HUF/hu)\n */\n function formatCurrency(\n value: number,\n currency?: string,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const curr = currency || regionStore.activeCurrency || 'EUR'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: curr,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n ...options,\n }).format(value)\n } catch {\n return `${value.toFixed(2)} ${curr}`\n }\n }\n\n /**\n * Format a date according to the active locale and timezone.\n * Example: 2026-06-24 → \"24/06/2026\" (en-GB) or \"2026. 06. 24.\" (hu-HU)\n */\n function formatDate(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleDateString('en-GB')\n }\n }\n\n /**\n * Format a datetime with time according to the active locale and timezone.\n * Example: \"2026-06-24T14:30:00Z\" → \"24/06/2026, 16:30\" (hu-HU/Budapest)\n */\n function formatDateTime(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleString('en-GB')\n }\n }\n\n /**\n * Format a percentage value.\n * Example: 27 → \"27%\" or 27.5 → \"27,5%\" (hu)\n */\n function formatPercent(\n value: number,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'percent',\n minimumFractionDigits: 0,\n maximumFractionDigits: 1,\n ...options,\n }).format(value / 100)\n } catch {\n return `${value}%`\n }\n }\n\n /**\n * Calculate price including VAT for the active region.\n * VAT rate comes from the active region's default_vat_rate.\n */\n function calculatePriceWithVat(\n netPrice: number,\n vatRate?: number,\n ): { net: number; vat: number; gross: number; vatRate: number } {\n const rate = vatRate ?? regionStore.activeVatRate ?? 0\n const vat = netPrice * (rate / 100)\n const gross = netPrice + vat\n return { net: netPrice, vat, gross, vatRate: rate }\n }\n\n /**\n * Format a price range with VAT breakdown.\n * Example: (100, 27) → \"Net: €100.00 | VAT: €27.00 (27%) | Gross: €127.00\"\n */\n function formatPriceWithVat(\n netPrice: number,\n vatRate?: number,\n currency?: string,\n ): string {\n const { net, vat, gross, vatRate: rate } = calculatePriceWithVat(netPrice, vatRate)\n const curr = currency || regionStore.activeCurrency || 'EUR'\n return `Net: ${formatCurrency(net, curr)} | VAT: ${formatCurrency(vat, curr)} (${rate}%) | Gross: ${formatCurrency(gross, curr)}`\n }\n\n return {\n formatNumber,\n formatCurrency,\n formatDate,\n formatDateTime,\n formatPercent,\n calculatePriceWithVat,\n formatPriceWithVat,\n }\n}\n","\n\n"],"names":["$t","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_unref","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js.map.json deleted file mode 100644 index 4480a48..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"index-BPETUF7a.js","mappings":"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","names":["$t","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_unref","_ssrRenderClass"],"sources":["../../../../composables/useFormatter.ts","../../../../pages/packages/index.vue"],"sourcesContent":["import { useRegionStore } from '~/stores/region'\n\n/**\n * 🌍 useFormatter Composable\n *\n * Provides locale-aware formatting utilities for numbers, currencies, dates,\n * and percentages. Uses the active region configuration from the RegionStore\n * to determine the appropriate locale, currency, and timezone.\n *\n * Falls back to 'en-EU' locale and 'EUR' currency if no region is configured.\n */\nexport function useFormatter() {\n const regionStore = useRegionStore()\n\n /**\n * Format a number according to the active locale.\n * Example: 1234567.89 → \"1,234,567.89\" (en) or \"1 234 567,89\" (hu)\n */\n function formatNumber(value: number, options?: Intl.NumberFormatOptions): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, options).format(value)\n } catch {\n return new Intl.NumberFormat('en-EU', options).format(value)\n }\n }\n\n /**\n * Format a currency value according to the active region's currency and locale.\n * Example: 1234.50 → \"€1,234.50\" (EUR/en) or \"3 456 Ft\" (HUF/hu)\n */\n function formatCurrency(\n value: number,\n currency?: string,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const curr = currency || regionStore.activeCurrency || 'EUR'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: curr,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n ...options,\n }).format(value)\n } catch {\n return `${value.toFixed(2)} ${curr}`\n }\n }\n\n /**\n * Format a date according to the active locale and timezone.\n * Example: 2026-06-24 → \"24/06/2026\" (en-GB) or \"2026. 06. 24.\" (hu-HU)\n */\n function formatDate(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleDateString('en-GB')\n }\n }\n\n /**\n * Format a datetime with time according to the active locale and timezone.\n * Example: \"2026-06-24T14:30:00Z\" → \"24/06/2026, 16:30\" (hu-HU/Budapest)\n */\n function formatDateTime(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleString('en-GB')\n }\n }\n\n /**\n * Format a percentage value.\n * Example: 27 → \"27%\" or 27.5 → \"27,5%\" (hu)\n */\n function formatPercent(\n value: number,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'percent',\n minimumFractionDigits: 0,\n maximumFractionDigits: 1,\n ...options,\n }).format(value / 100)\n } catch {\n return `${value}%`\n }\n }\n\n /**\n * Calculate price including VAT for the active region.\n * VAT rate comes from the active region's default_vat_rate.\n */\n function calculatePriceWithVat(\n netPrice: number,\n vatRate?: number,\n ): { net: number; vat: number; gross: number; vatRate: number } {\n const rate = vatRate ?? regionStore.activeVatRate ?? 0\n const vat = netPrice * (rate / 100)\n const gross = netPrice + vat\n return { net: netPrice, vat, gross, vatRate: rate }\n }\n\n /**\n * Format a price range with VAT breakdown.\n * Example: (100, 27) → \"Net: €100.00 | VAT: €27.00 (27%) | Gross: €127.00\"\n */\n function formatPriceWithVat(\n netPrice: number,\n vatRate?: number,\n currency?: string,\n ): string {\n const { net, vat, gross, vatRate: rate } = calculatePriceWithVat(netPrice, vatRate)\n const curr = currency || regionStore.activeCurrency || 'EUR'\n return `Net: ${formatCurrency(net, curr)} | VAT: ${formatCurrency(vat, curr)} (${rate}%) | Gross: ${formatCurrency(gross, curr)}`\n }\n\n return {\n formatNumber,\n formatCurrency,\n formatDate,\n formatDateTime,\n formatPercent,\n calculatePriceWithVat,\n formatPriceWithVat,\n }\n}\n","\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js b/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js similarity index 78% rename from frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js rename to frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js index 7a08ab1..71a46e0 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-BPETUF7a.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js @@ -137,6 +137,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const saving = ref(false); const saveNotification = ref(null); const featureCapabilitiesError = ref(null); + const selectedAddZoneCode = ref(""); + const availableRegionsToAdd = computed(() => { + return regionStore.regions.filter((r) => { + return r.country_code !== "DEFAULT" && !form.pricing_zones[r.country_code]; + }); + }); const calcNetPrice = ref(0); const calcVatRate = ref(27); const calcCurrency = ref("EUR"); @@ -151,6 +157,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ max_vehicles: 1, max_garages: 1, monthly_free_credits: 0, + max_cost_category_depth: 3, + advanced_reports: false, + export_data: false, subtitle: "", badge: "", is_custom: false, @@ -165,6 +174,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ if (!zone) return 0; return period === "monthly" ? zone.monthly_price : zone.yearly_price; } + function getZoneCreditPrice(countryCode) { + const zone = form.pricing_zones[countryCode]; + if (!zone) return 0; + return zone.credit_price ?? 0; + } function getZoneCurrency(countryCode) { const zone = form.pricing_zones[countryCode]; if (!zone) return "EUR"; @@ -232,7 +246,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ } else { _push(``); } - _push(`
${ssrInterpolate(getFormattedPrice(pkg))}/ ${ssrInterpolate(_ctx.$t("packages.month"))}

${ssrInterpolate(getDescription(pkg))}

${ssrInterpolate(_ctx.$t("packages.allowances"))}

${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}${ssrInterpolate(getAllowance(pkg, "max_vehicles"))}
${ssrInterpolate(_ctx.$t("packages.max_garages"))}${ssrInterpolate(getAllowance(pkg, "max_garages"))}
${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}${ssrInterpolate(getAllowance(pkg, "monthly_free_credits"))}
${ssrInterpolate(_ctx.$t("packages.tier_level"))}: ${ssrInterpolate(pkg.tier_level)}
`); + _push(`
${ssrInterpolate(getFormattedPrice(pkg))}/ ${ssrInterpolate(_ctx.$t("packages.month"))}

${ssrInterpolate(getDescription(pkg))}

${ssrInterpolate(_ctx.$t("packages.allowances"))}

${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}${ssrInterpolate(getAllowance(pkg, "max_vehicles"))}
${ssrInterpolate(_ctx.$t("packages.max_garages"))}${ssrInterpolate(getAllowance(pkg, "max_garages"))}
${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}${ssrInterpolate(getAllowance(pkg, "monthly_free_credits"))}
${ssrInterpolate(_ctx.$t("packages.tier_level"))}: ${ssrInterpolate(pkg.tier_level)}
`); }); _push(``); } @@ -248,11 +262,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ _push(``); } if (activeTab.value === "pricing") { - _push(`

${ssrInterpolate(_ctx.$t("packages.per_region_pricing"))}

`); + _push(`

${ssrInterpolate(_ctx.$t("packages.per_region_pricing"))}

Region${ssrInterpolate(_ctx.$t("packages.form_monthly_price"))}${ssrInterpolate(_ctx.$t("packages.form_yearly_price"))}${ssrInterpolate(_ctx.$t("packages.form_currency"))}
`); ssrRenderList(unref(regionStore).regions, (region) => { - _push(``); + _push(``); }); - _push(`
Region${ssrInterpolate(_ctx.$t("packages.form_monthly_price"))}${ssrInterpolate(_ctx.$t("packages.form_yearly_price"))}Kredit Ár${ssrInterpolate(_ctx.$t("packages.form_currency"))}
${ssrInterpolate(region.country_code)}(${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT)
${ssrInterpolate(region.country_code)}(${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT)

🧮 ${ssrInterpolate(_ctx.$t("packages.smart_calculator"))}

`); + ssrRenderList(availableRegionsToAdd.value, (region) => { + _push(`${ssrInterpolate(region.country_code)} — ${ssrInterpolate(region.name)} (${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT) `); + }); + _push(` ${ssrInterpolate(_ctx.$t("packages.add_zone"))}

🧮 ${ssrInterpolate(_ctx.$t("packages.smart_calculator"))}

${ssrInterpolate(_ctx.$t("packages.feature_capabilities_hint"))}

`); + _push(`

${ssrInterpolate(_ctx.$t("packages.allowances"))}

SaaS Allowances

${ssrInterpolate(_ctx.$t("packages.feature_capabilities"))}

${ssrInterpolate(_ctx.$t("packages.feature_capabilities_hint"))}

`); if (featureCapabilitiesError.value) { _push(`

${ssrInterpolate(featureCapabilitiesError.value)}

`); } else { @@ -308,4 +326,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=index-BPETUF7a.js.map +//# sourceMappingURL=index-CII1lBpk.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js.map new file mode 100644 index 0000000..043a408 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-CII1lBpk.js","sources":["../../../../composables/useFormatter.ts","../../../../pages/packages/index.vue"],"sourcesContent":["import { useRegionStore } from '~/stores/region'\n\n/**\n * 🌍 useFormatter Composable\n *\n * Provides locale-aware formatting utilities for numbers, currencies, dates,\n * and percentages. Uses the active region configuration from the RegionStore\n * to determine the appropriate locale, currency, and timezone.\n *\n * Falls back to 'en-EU' locale and 'EUR' currency if no region is configured.\n */\nexport function useFormatter() {\n const regionStore = useRegionStore()\n\n /**\n * Format a number according to the active locale.\n * Example: 1234567.89 → \"1,234,567.89\" (en) or \"1 234 567,89\" (hu)\n */\n function formatNumber(value: number, options?: Intl.NumberFormatOptions): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, options).format(value)\n } catch {\n return new Intl.NumberFormat('en-EU', options).format(value)\n }\n }\n\n /**\n * Format a currency value according to the active region's currency and locale.\n * Example: 1234.50 → \"€1,234.50\" (EUR/en) or \"3 456 Ft\" (HUF/hu)\n */\n function formatCurrency(\n value: number,\n currency?: string,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const curr = currency || regionStore.activeCurrency || 'EUR'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: curr,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n ...options,\n }).format(value)\n } catch {\n return `${value.toFixed(2)} ${curr}`\n }\n }\n\n /**\n * Format a date according to the active locale and timezone.\n * Example: 2026-06-24 → \"24/06/2026\" (en-GB) or \"2026. 06. 24.\" (hu-HU)\n */\n function formatDate(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleDateString('en-GB')\n }\n }\n\n /**\n * Format a datetime with time according to the active locale and timezone.\n * Example: \"2026-06-24T14:30:00Z\" → \"24/06/2026, 16:30\" (hu-HU/Budapest)\n */\n function formatDateTime(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleString('en-GB')\n }\n }\n\n /**\n * Format a percentage value.\n * Example: 27 → \"27%\" or 27.5 → \"27,5%\" (hu)\n */\n function formatPercent(\n value: number,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'percent',\n minimumFractionDigits: 0,\n maximumFractionDigits: 1,\n ...options,\n }).format(value / 100)\n } catch {\n return `${value}%`\n }\n }\n\n /**\n * Calculate price including VAT for the active region.\n * VAT rate comes from the active region's default_vat_rate.\n */\n function calculatePriceWithVat(\n netPrice: number,\n vatRate?: number,\n ): { net: number; vat: number; gross: number; vatRate: number } {\n const rate = vatRate ?? regionStore.activeVatRate ?? 0\n const vat = netPrice * (rate / 100)\n const gross = netPrice + vat\n return { net: netPrice, vat, gross, vatRate: rate }\n }\n\n /**\n * Format a price range with VAT breakdown.\n * Example: (100, 27) → \"Net: €100.00 | VAT: €27.00 (27%) | Gross: €127.00\"\n */\n function formatPriceWithVat(\n netPrice: number,\n vatRate?: number,\n currency?: string,\n ): string {\n const { net, vat, gross, vatRate: rate } = calculatePriceWithVat(netPrice, vatRate)\n const curr = currency || regionStore.activeCurrency || 'EUR'\n return `Net: ${formatCurrency(net, curr)} | VAT: ${formatCurrency(vat, curr)} (${rate}%) | Gross: ${formatCurrency(gross, curr)}`\n }\n\n return {\n formatNumber,\n formatCurrency,\n formatDate,\n formatDateTime,\n formatPercent,\n calculatePriceWithVat,\n formatPriceWithVat,\n }\n}\n","\n\n"],"names":["$t","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_unref","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js.map.json new file mode 100644 index 0000000..0e87409 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-CII1lBpk.js.map.json @@ -0,0 +1 @@ +{"file":"index-CII1lBpk.js","mappings":"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","names":["$t","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_unref","_ssrRenderClass"],"sources":["../../../../composables/useFormatter.ts","../../../../pages/packages/index.vue"],"sourcesContent":["import { useRegionStore } from '~/stores/region'\n\n/**\n * 🌍 useFormatter Composable\n *\n * Provides locale-aware formatting utilities for numbers, currencies, dates,\n * and percentages. Uses the active region configuration from the RegionStore\n * to determine the appropriate locale, currency, and timezone.\n *\n * Falls back to 'en-EU' locale and 'EUR' currency if no region is configured.\n */\nexport function useFormatter() {\n const regionStore = useRegionStore()\n\n /**\n * Format a number according to the active locale.\n * Example: 1234567.89 → \"1,234,567.89\" (en) or \"1 234 567,89\" (hu)\n */\n function formatNumber(value: number, options?: Intl.NumberFormatOptions): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, options).format(value)\n } catch {\n return new Intl.NumberFormat('en-EU', options).format(value)\n }\n }\n\n /**\n * Format a currency value according to the active region's currency and locale.\n * Example: 1234.50 → \"€1,234.50\" (EUR/en) or \"3 456 Ft\" (HUF/hu)\n */\n function formatCurrency(\n value: number,\n currency?: string,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const curr = currency || regionStore.activeCurrency || 'EUR'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: curr,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n ...options,\n }).format(value)\n } catch {\n return `${value.toFixed(2)} ${curr}`\n }\n }\n\n /**\n * Format a date according to the active locale and timezone.\n * Example: 2026-06-24 → \"24/06/2026\" (en-GB) or \"2026. 06. 24.\" (hu-HU)\n */\n function formatDate(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleDateString('en-GB')\n }\n }\n\n /**\n * Format a datetime with time according to the active locale and timezone.\n * Example: \"2026-06-24T14:30:00Z\" → \"24/06/2026, 16:30\" (hu-HU/Budapest)\n */\n function formatDateTime(\n date: Date | string | number,\n options?: Intl.DateTimeFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n const timezone = regionStore.activeTimezone || 'Europe/Brussels'\n const d = typeof date === 'string' || typeof date === 'number' ? new Date(date) : date\n\n try {\n return new Intl.DateTimeFormat(locale, {\n timezone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n ...options,\n }).format(d)\n } catch {\n return d.toLocaleString('en-GB')\n }\n }\n\n /**\n * Format a percentage value.\n * Example: 27 → \"27%\" or 27.5 → \"27,5%\" (hu)\n */\n function formatPercent(\n value: number,\n options?: Intl.NumberFormatOptions,\n ): string {\n const locale = regionStore.activeLocale || 'en-EU'\n try {\n return new Intl.NumberFormat(locale, {\n style: 'percent',\n minimumFractionDigits: 0,\n maximumFractionDigits: 1,\n ...options,\n }).format(value / 100)\n } catch {\n return `${value}%`\n }\n }\n\n /**\n * Calculate price including VAT for the active region.\n * VAT rate comes from the active region's default_vat_rate.\n */\n function calculatePriceWithVat(\n netPrice: number,\n vatRate?: number,\n ): { net: number; vat: number; gross: number; vatRate: number } {\n const rate = vatRate ?? regionStore.activeVatRate ?? 0\n const vat = netPrice * (rate / 100)\n const gross = netPrice + vat\n return { net: netPrice, vat, gross, vatRate: rate }\n }\n\n /**\n * Format a price range with VAT breakdown.\n * Example: (100, 27) → \"Net: €100.00 | VAT: €27.00 (27%) | Gross: €127.00\"\n */\n function formatPriceWithVat(\n netPrice: number,\n vatRate?: number,\n currency?: string,\n ): string {\n const { net, vat, gross, vatRate: rate } = calculatePriceWithVat(netPrice, vatRate)\n const curr = currency || regionStore.activeCurrency || 'EUR'\n return `Net: ${formatCurrency(net, curr)} | VAT: ${formatCurrency(vat, curr)} (${rate}%) | Gross: ${formatCurrency(gross, curr)}`\n }\n\n return {\n formatNumber,\n formatCurrency,\n formatDate,\n formatDateTime,\n formatPercent,\n calculatePriceWithVat,\n formatPriceWithVat,\n }\n}\n","\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js b/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js new file mode 100644 index 0000000..1003ae6 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js @@ -0,0 +1,195 @@ +import { defineComponent, ref, computed, unref, useSSRContext } from "vue"; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrIncludeBooleanAttr, ssrRenderAttr } from "vue/server-renderer"; +import "/app/node_modules/hookable/dist/index.mjs"; +import "/app/node_modules/klona/dist/index.mjs"; +import { b as useI18n } from "../server.mjs"; +import "/app/node_modules/ofetch/dist/node.mjs"; +import "#internal/nuxt/paths"; +import "/app/node_modules/unctx/dist/index.mjs"; +import "/app/node_modules/h3/dist/index.mjs"; +import "pinia"; +import "/app/node_modules/defu/dist/defu.mjs"; +import "vue-router"; +import "/app/node_modules/ufo/dist/index.mjs"; +import "/app/node_modules/cookie-es/dist/index.mjs"; +import "/app/node_modules/destr/dist/index.mjs"; +import "/app/node_modules/ohash/dist/index.mjs"; +import "/app/node_modules/@unhead/vue/dist/index.mjs"; +import "@vue/devtools-api"; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "index", + __ssrInlineRender: true, + setup(__props) { + const { t: $t } = useI18n(); + const loading = ref(true); + const error = ref(null); + const roles = ref([]); + const permissions = ref([]); + const activeDomain = ref("__all__"); + const filteredRoleIds = ref(/* @__PURE__ */ new Set()); + const modifiedRoles = ref(/* @__PURE__ */ new Map()); + ref(/* @__PURE__ */ new Map()); + const saveNotification = ref(null); + const domainOptions = computed(() => { + const domains = new Set(permissions.value.map((p) => p.domain)); + const options = [ + { value: "__all__", label: $t("permissions.all_domains") } + ]; + for (const domain of Array.from(domains).sort()) { + options.push({ value: domain, label: domain.charAt(0).toUpperCase() + domain.slice(1) }); + } + return options; + }); + const filteredDomains = computed(() => { + const domains = new Set(permissions.value.map((p) => p.domain)); + const sorted = Array.from(domains).sort(); + if (activeDomain.value === "__all__") return sorted; + return sorted.filter((d) => d === activeDomain.value); + }); + const filteredPermissions = computed(() => { + if (activeDomain.value === "__all__") return permissions.value; + return permissions.value.filter((p) => p.domain === activeDomain.value); + }); + const filteredRoles = computed(() => { + if (filteredRoleIds.value.size === 0) return roles.value; + return roles.value.filter((r) => filteredRoleIds.value.has(r.id)); + }); + const hasModifications = computed(() => { + return modifiedRoles.value.size > 0; + }); + function roleHeaderClass(role) { + if (role.rank >= 100) return "bg-purple-500/20 text-purple-300"; + if (role.rank >= 80) return "bg-indigo-500/20 text-indigo-300"; + if (role.rank >= 50) return "bg-cyan-500/20 text-cyan-300"; + return "bg-slate-500/20 text-slate-300"; + } + function domainColorClass(domain) { + const colorMap = { + fleet: "text-emerald-400", + user: "text-sky-400", + finance: "text-amber-400", + permissions: "text-purple-400", + system: "text-rose-400", + service: "text-teal-400", + organization: "text-orange-400", + vehicle: "text-cyan-400", + subscription: "text-pink-400", + moderation: "text-violet-400" + }; + return colorMap[domain] || "text-slate-400"; + } + function getCellClass(role, perm) { + if (isRoleLocked(role)) return "bg-purple-900/5"; + if (isPermEnabled(role.id, perm.id)) return "bg-emerald-900/10"; + return ""; + } + function formatPermissionLabel(perm) { + return perm.code.replace(/:/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()); + } + function getDomainPermissions(domain) { + return filteredPermissions.value.filter((p) => p.domain === domain); + } + function isPermEnabled(roleId, permissionId) { + if (modifiedRoles.value.has(roleId)) { + const rolePerms = modifiedRoles.value.get(roleId); + return rolePerms.has(permissionId); + } + const role = roles.value.find((r) => r.id === roleId); + return role ? role.permission_ids.includes(permissionId) : false; + } + function isRoleLocked(role) { + return role.is_system && role.rank >= 100; + } + return (_ctx, _push, _parent, _attrs) => { + _push(`

${ssrInterpolate(unref($t)("permissions.title"))}

${ssrInterpolate(unref($t)("permissions.subtitle"))}

`); + if (loading.value) { + _push(`
${ssrInterpolate(unref($t)("permissions.loading"))}
`); + } else if (error.value) { + _push(`

${ssrInterpolate(unref($t)("permissions.error_title"))}

${ssrInterpolate(error.value)}

`); + } else { + _push(``); + if (saveNotification.value) { + _push(`
${ssrInterpolate(saveNotification.value.message)}
`); + } else { + _push(``); + } + _push(`
`); + ssrRenderList(domainOptions.value, (domain) => { + _push(``); + }); + _push(`
`); + ssrRenderList(roles.value, (role) => { + _push(``); + }); + _push(`
`); + if (hasModifications.value) { + _push(`
${ssrInterpolate(unref($t)("permissions.modified_count", { count: modifiedRoles.value.size }))}
`); + } else { + _push(``); + } + _push(`
`); + ssrRenderList(filteredRoles.value, (role) => { + _push(``); + }); + _push(``); + ssrRenderList(filteredDomains.value, (domain) => { + _push(``); + ssrRenderList(filteredRoles.value, (role) => { + _push(``); + }); + _push(``); + ssrRenderList(getDomainPermissions(domain), (perm) => { + _push(``); + ssrRenderList(filteredRoles.value, (role) => { + _push(``); + }); + _push(``); + }); + _push(``); + }); + _push(``); + if (filteredPermissions.value.length === 0) { + _push(`${ssrInterpolate(unref($t)("permissions.no_permissions"))}`); + } else { + _push(``); + } + _push(`
${ssrInterpolate(unref($t)("permissions.permission"))}
${ssrInterpolate(role.name)}Rank ${ssrInterpolate(role.rank)}`); + if (role.is_system) { + _push(`system`); + } else { + _push(``); + } + _push(`
${ssrInterpolate(domain)} (${ssrInterpolate(getDomainPermissions(domain).length)})
${ssrInterpolate(formatPermissionLabel(perm))}${ssrInterpolate(perm.code)}`); + if (perm.description) { + _push(`${ssrInterpolate(perm.description)}`); + } else { + _push(``); + } + _push(`
`); + if (hasModifications.value) { + _push(`
${ssrInterpolate(unref($t)("permissions.modified_count", { count: modifiedRoles.value.size }))}
`); + } else { + _push(``); + } + _push(``); + } + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/permissions/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +export { + _sfc_main as default +}; +//# sourceMappingURL=index-D2n0yf-2.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js.map new file mode 100644 index 0000000..a182a04 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-D2n0yf-2.js","sources":["../../../../pages/permissions/index.vue"],"sourcesContent":["\n\n\n"],"names":["_unref","_ssrRenderClass","_ssrInterpolate","_ssrRenderList","_ssrIncludeBooleanAttr"],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js.map.json new file mode 100644 index 0000000..16de7ef --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-D2n0yf-2.js.map.json @@ -0,0 +1 @@ +{"file":"index-D2n0yf-2.js","mappings":"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","names":["_unref","_ssrRenderClass","_ssrInterpolate","_ssrRenderList","_ssrIncludeBooleanAttr"],"sources":["../../../../pages/permissions/index.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js b/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js new file mode 100644 index 0000000..fc4fa31 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js @@ -0,0 +1,182 @@ +import { defineComponent, ref, computed, useSSRContext } from "vue"; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList } from "vue/server-renderer"; +import { useRoute, useRouter } from "vue-router"; +import "/app/node_modules/hookable/dist/index.mjs"; +import "/app/node_modules/klona/dist/index.mjs"; +import "../server.mjs"; +import "/app/node_modules/ofetch/dist/node.mjs"; +import "#internal/nuxt/paths"; +import "/app/node_modules/unctx/dist/index.mjs"; +import "/app/node_modules/h3/dist/index.mjs"; +import "pinia"; +import "/app/node_modules/defu/dist/defu.mjs"; +import "/app/node_modules/ufo/dist/index.mjs"; +import "/app/node_modules/cookie-es/dist/index.mjs"; +import "/app/node_modules/destr/dist/index.mjs"; +import "/app/node_modules/ohash/dist/index.mjs"; +import "/app/node_modules/@unhead/vue/dist/index.mjs"; +import "@vue/devtools-api"; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "index", + __ssrInlineRender: true, + setup(__props) { + useRoute(); + useRouter(); + const loading = ref(true); + const error = ref(null); + const garage = ref(null); + const activeTab = ref("general"); + const tabs = [ + { key: "general", label: "Általános" }, + { key: "employees", label: "Dolgozók" }, + { key: "fleet", label: "Flotta" }, + { key: "analytics", label: "Analitika" } + ]; + const formattedAddress = computed(() => { + if (!garage.value) return "—"; + const parts = []; + if (garage.value.address_zip) parts.push(garage.value.address_zip); + if (garage.value.address_city) parts.push(garage.value.address_city); + const streetParts = []; + if (garage.value.address_street_name) streetParts.push(garage.value.address_street_name); + if (garage.value.address_street_type) streetParts.push(garage.value.address_street_type); + if (garage.value.address_house_number) streetParts.push(garage.value.address_house_number); + if (streetParts.length > 0) parts.push(streetParts.join(" ")); + return parts.length > 0 ? parts.join(", ") : "—"; + }); + function garageDisplayName(g) { + return g.display_name || g.name || g.full_name; + } + function getInitials(name) { + return name.split(" ").map((w) => w.charAt(0)).join("").toUpperCase().slice(0, 2); + } + function getInitialsColor(name) { + const colors = [ + "bg-amber-600", + "bg-purple-600", + "bg-slate-600", + "bg-indigo-600", + "bg-emerald-600", + "bg-rose-600", + "bg-cyan-600", + "bg-orange-600", + "bg-teal-600" + ]; + let hash = 0; + for (let i = 0; i < name.length; i++) { + hash = name.charCodeAt(i) + ((hash << 5) - hash); + } + return colors[Math.abs(hash) % colors.length]; + } + function statusBadgeClass(status) { + if (status === "active") return "bg-emerald-500/10 text-emerald-400"; + if (status === "suspended") return "bg-red-500/10 text-red-400"; + if (status === "pending_verification") return "bg-amber-500/10 text-amber-400"; + return "bg-slate-500/10 text-slate-400"; + } + function statusDotClass(status) { + if (status === "active") return "bg-emerald-400"; + if (status === "suspended") return "bg-red-400"; + if (status === "pending_verification") return "bg-amber-400"; + return "bg-slate-400"; + } + function statusLabel(status) { + if (status === "active") return "Aktív"; + if (status === "suspended") return "Felfüggesztve"; + if (status === "pending_verification") return "Függőben"; + return "Inaktív"; + } + function tierBadgeClass(tierName) { + const name = tierName.toLowerCase(); + if (name.includes("enterprise") || name.includes("vip") || name.includes("corp")) return "bg-purple-500/20 text-purple-300"; + if (name.includes("premium") || name.includes("pro")) return "bg-amber-500/20 text-amber-300"; + return "bg-slate-500/20 text-slate-300"; + } + function orgTypeLabel(type) { + const labels = { + individual: "Magánszemély", + service: "Szerviz", + service_provider: "Szolgáltató", + fleet_owner: "Flottatulajdonos", + club: "Klub", + business: "Vállalkozás" + }; + return labels[type] || type; + } + function formatDate(dateStr) { + if (!dateStr) return "—"; + try { + const d = new Date(dateStr); + return d.toLocaleDateString("hu-HU", { + year: "numeric", + month: "short", + day: "numeric" + }); + } catch { + return dateStr; + } + } + return (_ctx, _push, _parent, _attrs) => { + _push(``); + if (loading.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.loading"))}

`); + } else if (error.value) { + _push(`

${ssrInterpolate(error.value)}

`); + } else if (garage.value) { + _push(`
${ssrInterpolate(getInitials(garageDisplayName(garage.value)))}

${ssrInterpolate(garageDisplayName(garage.value))}

${ssrInterpolate(garage.value.full_name)} `); + if (garage.value.tax_number) { + _push(`· ${ssrInterpolate(_ctx.$t("garages.details.tax_number"))}: ${ssrInterpolate(garage.value.tax_number)}`); + } else { + _push(``); + } + _push(`

${ssrInterpolate(statusLabel(garage.value.status))}
`); + if (activeTab.value === "general") { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.company_info"))}

${ssrInterpolate(_ctx.$t("garages.details.company_name"))}

${ssrInterpolate(garage.value.full_name)}

${ssrInterpolate(_ctx.$t("garages.details.display_name"))}

${ssrInterpolate(garage.value.display_name || "—")}

${ssrInterpolate(_ctx.$t("garages.details.org_type"))}

${ssrInterpolate(orgTypeLabel(garage.value.org_type))}

${ssrInterpolate(_ctx.$t("garages.details.tax_number"))}

${ssrInterpolate(garage.value.tax_number || "—")}

${ssrInterpolate(_ctx.$t("garages.details.reg_number"))}

${ssrInterpolate(garage.value.reg_number || "—")}

${ssrInterpolate(_ctx.$t("garages.details.created_at"))}

${ssrInterpolate(formatDate(garage.value.created_at))}

${ssrInterpolate(_ctx.$t("garages.details.address"))}

${ssrInterpolate(formattedAddress.value)}

${ssrInterpolate(_ctx.$t("garages.details.subscription_info"))}

`); + if (garage.value.subscription) { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.tier_name"))}

${ssrInterpolate(garage.value.subscription.tier_name)}

${ssrInterpolate(_ctx.$t("garages.details.tier_level"))}

${ssrInterpolate(_ctx.$t("garages.details.level_n", { n: garage.value.subscription.tier_level }))}

${ssrInterpolate(_ctx.$t("garages.details.expires_at"))}

`); + if (garage.value.subscription.expires_at) { + _push(`

${ssrInterpolate(formatDate(garage.value.subscription.expires_at))}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.indefinite"))}

`); + } + _push(`

${ssrInterpolate(_ctx.$t("garages.details.asset_limit"))}

${ssrInterpolate(garage.value.subscription.asset_limit)} ${ssrInterpolate(_ctx.$t("garages.details.vehicles"))}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.no_subscription"))}

`); + } + _push(`

${ssrInterpolate(_ctx.$t("garages.details.contact_info"))}

`); + if (garage.value.primary_contact) { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.contact_name"))}

${ssrInterpolate(garage.value.primary_contact.full_name)}

${ssrInterpolate(_ctx.$t("garages.details.contact_role"))}

${ssrInterpolate(garage.value.primary_contact.role)}

${ssrInterpolate(_ctx.$t("garages.details.contact_department"))}

${ssrInterpolate(garage.value.primary_contact.department || "—")}

${ssrInterpolate(_ctx.$t("garages.details.contact_phone"))}

${ssrInterpolate(garage.value.primary_contact.phone || "—")}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.no_contact"))}

`); + } + _push(`
`); + } else { + _push(``); + } + if (activeTab.value !== "general") { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.coming_soon"))}

`); + } else { + _push(``); + } + _push(``); + } else { + _push(``); + } + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/garages/[id]/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +export { + _sfc_main as default +}; +//# sourceMappingURL=index-JpXwtL-Z.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js.map new file mode 100644 index 0000000..5f499f7 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-JpXwtL-Z.js","sources":["../../../../pages/garages/[id]/index.vue"],"sourcesContent":["\n\n\n"],"names":["$t","_ssrInterpolate","_ssrRenderList","_ssrRenderClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA6Oc,aAAA;AACC,cAAA;AAgDf,UAAM,UAAU,IAAI,IAAI;AACxB,UAAM,QAAQ,IAAmB,IAAI;AACrC,UAAM,SAAS,IAA0B,IAAI;AAC7C,UAAM,YAAY,IAAI,SAAS;AAE/B,UAAM,OAAO;AAAA,MACX,EAAE,KAAK,WAAW,OAAO,YAAA;AAAA,MACzB,EAAE,KAAK,aAAa,OAAO,WAAA;AAAA,MAC3B,EAAE,KAAK,SAAS,OAAO,SAAA;AAAA,MACvB,EAAE,KAAK,aAAa,OAAO,YAAA;AAAA,IAAY;AAKzC,UAAM,mBAAmB,SAAS,MAAM;AACtC,UAAI,CAAC,OAAO,MAAO,QAAO;AAC1B,YAAM,QAAkB,CAAA;AACxB,UAAI,OAAO,MAAM,mBAAmB,KAAK,OAAO,MAAM,WAAW;AACjE,UAAI,OAAO,MAAM,oBAAoB,KAAK,OAAO,MAAM,YAAY;AACnE,YAAM,cAAwB,CAAA;AAC9B,UAAI,OAAO,MAAM,iCAAiC,KAAK,OAAO,MAAM,mBAAmB;AACvF,UAAI,OAAO,MAAM,iCAAiC,KAAK,OAAO,MAAM,mBAAmB;AACvF,UAAI,OAAO,MAAM,kCAAkC,KAAK,OAAO,MAAM,oBAAoB;AACzF,UAAI,YAAY,SAAS,EAAG,OAAM,KAAK,YAAY,KAAK,GAAG,CAAC;AAC5D,aAAO,MAAM,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI;AAAA,IAC/C,CAAC;AA2CD,aAAS,kBAAkB,GAA0B;AACnD,aAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE;AAAA,IACvC;AAEA,aAAS,YAAY,MAAsB;AACzC,aAAO,KACJ,MAAM,GAAG,EACT,IAAI,CAAA,MAAK,EAAE,OAAO,CAAC,CAAC,EACpB,KAAK,EAAE,EACP,cACA,MAAM,GAAG,CAAC;AAAA,IACf;AAEA,aAAS,iBAAiB,MAAsB;AAC9C,YAAM,SAAS;AAAA,QACb;AAAA,QAAgB;AAAA,QAAiB;AAAA,QACjC;AAAA,QAAiB;AAAA,QAAkB;AAAA,QACnC;AAAA,QAAe;AAAA,QAAiB;AAAA,MAAA;AAElC,UAAI,OAAO;AACX,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,eAAO,KAAK,WAAW,CAAC,MAAM,QAAQ,KAAK;AAAA,MAC7C;AACA,aAAO,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,MAAM;AAAA,IAC9C;AAEA,aAAS,iBAAiB,QAAwB;AAChD,UAAI,WAAW,SAAU,QAAO;AAChC,UAAI,WAAW,YAAa,QAAO;AACnC,UAAI,WAAW,uBAAwB,QAAO;AAC9C,aAAO;AAAA,IACT;AAEA,aAAS,eAAe,QAAwB;AAC9C,UAAI,WAAW,SAAU,QAAO;AAChC,UAAI,WAAW,YAAa,QAAO;AACnC,UAAI,WAAW,uBAAwB,QAAO;AAC9C,aAAO;AAAA,IACT;AAEA,aAAS,YAAY,QAAwB;AAC3C,UAAI,WAAW,SAAU,QAAO;AAChC,UAAI,WAAW,YAAa,QAAO;AACnC,UAAI,WAAW,uBAAwB,QAAO;AAC9C,aAAO;AAAA,IACT;AAEA,aAAS,eAAe,UAA0B;AAChD,YAAM,OAAO,SAAS,YAAA;AACtB,UAAI,KAAK,SAAS,YAAY,KAAK,KAAK,SAAS,KAAK,KAAK,KAAK,SAAS,MAAM,EAAG,QAAO;AACzF,UAAI,KAAK,SAAS,SAAS,KAAK,KAAK,SAAS,KAAK,EAAG,QAAO;AAC7D,aAAO;AAAA,IACT;AAEA,aAAS,aAAa,MAAsB;AAC1C,YAAM,SAAiC;AAAA,QACrC,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,kBAAkB;AAAA,QAClB,aAAa;AAAA,QACb,MAAM;AAAA,QACN,UAAU;AAAA,MAAA;AAEZ,aAAO,OAAO,IAAI,KAAK;AAAA,IACzB;AAEA,aAAS,WAAW,SAAgC;AAClD,UAAI,CAAC,QAAS,QAAO;AACrB,UAAI;AACF,cAAM,IAAI,IAAI,KAAK,OAAO;AAC1B,eAAO,EAAE,mBAAmB,SAAS;AAAA,UACnC,MAAM;AAAA,UACN,OAAO;AAAA,UACP,KAAK;AAAA,QAAA,CACN;AAAA,MACH,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;;;UA7ae,QAAA,OAAO;kcAMuBA,KAAAA,GAAE,yBAAA,CAAA,CAAA,kBAAA;AAAA,iBAK3B,MAAA,OAAK;gdAIqB,MAAA,KAAK,uIAExCA,KAAAA,GAAE,uBAAA,CAAA;iBAKY,OAAA,OAAM;sVAWlBA,KAAAA,GAAE,sBAAA,CAAA,6HAQO,iBAAiB,kBAAkB,OAAA,KAAM,CAAA,GAAA,oFAAA,CAAA,qBAE9C,YAAY,kBAAkB,OAAA,KAAM,CAAA,CAAA,yDAGMC,eAAA,kBAAkB,OAAA,KAAM,CAAA,kDAEhEA,eAAA,OAAA,MAAO,SAAS;AACP,YAAA,OAAA,MAAO,YAAU;sEAAmCD,KAAAA,GAAE,4BAAA,CAAA,MAAsCC,eAAA,OAAA,MAAO,UAAU;;;;8DAMrH,iBAAiB,OAAA,MAAO,MAAM,GAAA,qEAAA,CAAA,mCAEgB,eAAe,OAAA,MAAO,MAAM,GAAA,iCAAA,CAAA,6BAC/E,YAAY,OAAA,MAAO,MAAM,CAAA;AASdC,sBAAA,OAAP,QAAG;kDAIF,UAAA,UAAc,IAAI,oKAIvBD,eAAA,IAAI,KAAK;;;YAMP,UAAA,UAAS,WAAA;gnBASoCD,KAAAA,GAAE,8BAAA,CAAA,+LAMgBA,KAAAA,GAAE,8BAAA,CAAA,2CAC1BC,eAAA,OAAA,MAAO,SAAS,6FAGQD,KAAAA,GAAE,8BAAA,CAAA,2CAC1BC,eAAA,OAAA,MAAO,gBAAY,GAAA,6FAGKD,KAAAA,GAAE,0BAAA,CAAA,0DAC1B,aAAa,OAAA,MAAO,QAAQ,CAAA,0HAKJA,KAAAA,GAAE,4BAAA,CAAA,2CAC1BC,eAAA,OAAA,MAAO,cAAU,GAAA,6FAGOD,KAAAA,GAAE,4BAAA,CAAA,2CAC1BC,eAAA,OAAA,MAAO,cAAU,GAAA,6FAGOD,KAAAA,GAAE,4BAAA,CAAA,0DAC1B,WAAW,OAAA,MAAO,UAAU,CAAA,6JAMHA,KAAAA,GAAE,yBAAA,CAAA,qDAEhE,iBAAA,KAAgB,8hBAc2BA,KAAAA,GAAE,mCAAA,CAAA;AAGzC,cAAA,OAAA,MAAO,cAAY;8KAGsCA,KAAAA,GAAE,2BAAA,CAAA,qBAGtDG,eAAA,CAAA,eAAe,OAAA,MAAO,aAAa,SAAS,GAAA,iEAAA,CAAA,qBAEjD,OAAA,MAAO,aAAa,SAAS,gGAI4BH,KAAAA,GAAE,4BAAA,CAAA,2CAC1BA,eAAAA,KAAAA,GAAE,2BAAA,EAAA,GAAiC,OAAA,MAAO,aAAa,YAAU,CAAA,0HAKzCA,KAAAA,GAAE,4BAAA,CAAA;gBACvD,OAAA,MAAO,aAAa,YAAU;AAAqC,oBAAA,sCAAAC,eAAA,WAAW,OAAA,MAAO,aAAa,UAAU,CAAA,CAAA,MAAA;AAAA;oFAC7DD,KAAAA,GAAE,oBAAA,CAAA,CAAA,MAAA;AAAA;0GAGIA,KAAAA,GAAE,6BAAA,CAAA,0DAC1B,OAAA,MAAO,aAAa,WAAW,oBAAOA,KAAAA,GAAE,0BAAA,CAAA;;oGAK7CA,KAAAA,GAAE,iCAAA,CAAA,CAAA,YAAA;AAAA;uqBAaSA,KAAAA,GAAE,8BAAA,CAAA,CAAA,oCAAA;AAGzC,cAAA,OAAA,MAAO,iBAAe;8KAGmCA,KAAAA,GAAE,8BAAA,CAAA,0DAC1B,OAAA,MAAO,gBAAgB,SAAS,6FAGRA,KAAAA,GAAE,8BAAA,CAAA,0DAC1B,OAAA,MAAO,gBAAgB,IAAI,0HAKHA,KAAAA,GAAE,oCAAA,CAAA,0DAC1B,OAAA,MAAO,gBAAgB,cAAU,GAAA,6FAGTA,KAAAA,GAAE,+BAAA,CAAA,0DAC1B,OAAA,MAAO,gBAAgB,SAAK,GAAA;;oGAKjCA,KAAAA,GAAE,4BAAA,CAAA,CAAA,YAAA;AAAA;;;;;YAOpC,UAAA,UAAS,WAAA;wHACmBA,KAAAA,GAAE,6BAAA,CAAA,CAAA,YAAA;AAAA;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js.map.json new file mode 100644 index 0000000..b09d870 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js.map.json @@ -0,0 +1 @@ +{"file":"index-JpXwtL-Z.js","mappings":"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","names":["$t","_ssrInterpolate","_ssrRenderList","_ssrRenderClass"],"sources":["../../../../pages/garages/[id]/index.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js b/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js deleted file mode 100644 index 876e676..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js +++ /dev/null @@ -1,160 +0,0 @@ -import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderClass } from "vue/server-renderer"; -import "/app/node_modules/hookable/dist/index.mjs"; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "index", - __ssrInlineRender: true, - setup(__props) { - const searchQuery = ref(""); - const filterTier = ref("all"); - const openDropdownId = ref(null); - const saveNotification = ref(null); - const availableTiers = ["free", "premium", "enterprise"]; - const garages = reactive([ - { - id: 1, - companyName: "Kovács Autószerviz", - contactName: "Kovács István", - email: "kovacs@autoserviz.hu", - status: "active", - tier: "premium", - initials: "KA", - colorClass: "bg-amber-600" - }, - { - id: 2, - companyName: "Nagy Gépjárműjavító Kft.", - contactName: "Nagy Péter", - email: "info@nagygepjarmu.hu", - status: "active", - tier: "enterprise", - initials: "NG", - colorClass: "bg-purple-600" - }, - { - id: 3, - companyName: "Tóth Autó és Motorgarázs", - contactName: "Tóth Gábor", - email: "toth@garazs.hu", - status: "active", - tier: "free", - initials: "TA", - colorClass: "bg-slate-600" - }, - { - id: 4, - companyName: "Szabó Flottakezelő Kft.", - contactName: "Szabó Márta", - email: "szabo@flotta.hu", - status: "inactive", - tier: "premium", - initials: "SZ", - colorClass: "bg-amber-600" - }, - { - id: 5, - companyName: "Horváth Autótechnika", - contactName: "Horváth László", - email: "horvath@autotechnika.hu", - status: "suspended", - tier: "free", - initials: "HA", - colorClass: "bg-slate-600" - }, - { - id: 6, - companyName: "Kiss & Társa Szerviz", - contactName: "Kiss Anna", - email: "kiss@szerviz.hu", - status: "active", - tier: "enterprise", - initials: "KT", - colorClass: "bg-purple-600" - }, - { - id: 7, - companyName: "Molnár Autóház Kft.", - contactName: "Molnár Zoltán", - email: "molnar@autohaz.hu", - status: "active", - tier: "premium", - initials: "MA", - colorClass: "bg-amber-600" - }, - { - id: 8, - companyName: "Farkas Gépjármű Szerviz", - contactName: "Farkas Béla", - email: "farkas@gepjarmu.hu", - status: "inactive", - tier: "free", - initials: "FG", - colorClass: "bg-slate-600" - } - ]); - const activeCount = computed(() => garages.filter((g) => g.status === "active").length); - const premiumCount = computed(() => garages.filter((g) => g.tier === "premium").length); - const enterpriseCount = computed(() => garages.filter((g) => g.tier === "enterprise").length); - const filteredGarages = computed(() => { - return garages.filter((g) => { - if (searchQuery.value) { - const q = searchQuery.value.toLowerCase(); - const matchesSearch = g.companyName.toLowerCase().includes(q) || g.contactName.toLowerCase().includes(q) || g.email.toLowerCase().includes(q); - if (!matchesSearch) return false; - } - if (filterTier.value !== "all" && g.tier !== filterTier.value) return false; - return true; - }); - }); - function tierBadgeClass(tier) { - if (tier === "enterprise") return "bg-purple-500/20 text-purple-300"; - if (tier === "premium") return "bg-amber-500/20 text-amber-300"; - return "bg-slate-500/20 text-slate-300"; - } - return (_ctx, _push, _parent, _attrs) => { - _push(`

${ssrInterpolate(_ctx.$t("garages.title"))}

${ssrInterpolate(_ctx.$t("garages.subtitle"))}

${ssrInterpolate(_ctx.$t("garages.total_garages"))}

${ssrInterpolate(garages.length)}

${ssrInterpolate(_ctx.$t("garages.active_garages"))}

${ssrInterpolate(activeCount.value)}

${ssrInterpolate(_ctx.$t("garages.premium_garages"))}

${ssrInterpolate(premiumCount.value)}

${ssrInterpolate(_ctx.$t("garages.enterprise_garages"))}

${ssrInterpolate(enterpriseCount.value)}

`); - ssrRenderList(filteredGarages.value, (garage) => { - _push(``); - }); - _push(`
ID${ssrInterpolate(_ctx.$t("garages.company_name"))}${ssrInterpolate(_ctx.$t("garages.email"))}${ssrInterpolate(_ctx.$t("garages.status"))}${ssrInterpolate(_ctx.$t("garages.current_package"))}${ssrInterpolate(_ctx.$t("garages.actions"))}
${ssrInterpolate(garage.id)}
${ssrInterpolate(garage.initials)}

${ssrInterpolate(garage.companyName)}

${ssrInterpolate(garage.contactName)}

${ssrInterpolate(garage.email)} ${ssrInterpolate(garage.status === "active" ? _ctx.$t("garages.active") : garage.status === "suspended" ? _ctx.$t("garages.suspended") : _ctx.$t("garages.inactive"))}
${ssrInterpolate(garage.tier)}
`); - if (openDropdownId.value === garage.id) { - _push(`
`); - ssrRenderList(availableTiers, (tier) => { - _push(``); - }); - _push(`
`); - } else { - _push(``); - } - _push(`
`); - if (filteredGarages.value.length === 0) { - _push(`

${ssrInterpolate(_ctx.$t("garages.no_results"))}

`); - } else { - _push(``); - } - _push(`
`); - if (saveNotification.value) { - _push(`
${ssrInterpolate(saveNotification.value.message)}
`); - } else { - _push(``); - } - _push(`
`); - }; - } -}); -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/garages/index.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; -export { - _sfc_main as default -}; -//# sourceMappingURL=index-ebkVtBaw.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js.map deleted file mode 100644 index 18d50b3..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-ebkVtBaw.js","sources":["../../../../pages/garages/index.vue"],"sourcesContent":["\n\n\n"],"names":["$t","_ssrInterpolate","_ssrRenderAttr","_ssrRenderList","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js.map.json deleted file mode 100644 index 009ed76..0000000 --- a/frontend_admin/.nuxt/dist/server/_nuxt/index-ebkVtBaw.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"index-ebkVtBaw.js","mappings":"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","names":["$t","_ssrInterpolate","_ssrRenderAttr","_ssrRenderList","_ssrRenderClass"],"sources":["../../../../pages/garages/index.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js b/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js new file mode 100644 index 0000000..fc8646c --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js @@ -0,0 +1,196 @@ +import { defineComponent, ref, computed, useSSRContext } from "vue"; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderClass } from "vue/server-renderer"; +import "/app/node_modules/hookable/dist/index.mjs"; +import "/app/node_modules/klona/dist/index.mjs"; +import "../server.mjs"; +import "/app/node_modules/ofetch/dist/node.mjs"; +import "#internal/nuxt/paths"; +import "/app/node_modules/unctx/dist/index.mjs"; +import "/app/node_modules/h3/dist/index.mjs"; +import "pinia"; +import "/app/node_modules/defu/dist/defu.mjs"; +import "vue-router"; +import "/app/node_modules/ufo/dist/index.mjs"; +import "/app/node_modules/cookie-es/dist/index.mjs"; +import "/app/node_modules/destr/dist/index.mjs"; +import "/app/node_modules/ohash/dist/index.mjs"; +import "/app/node_modules/@unhead/vue/dist/index.mjs"; +import "@vue/devtools-api"; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "index", + __ssrInlineRender: true, + setup(__props) { + const loading = ref(true); + const error = ref(null); + const garages = ref([]); + const availableTiers = ref([]); + const searchQuery = ref(""); + const filterTier = ref("all"); + const showSubscriptionModal = ref(false); + const selectedGarage = ref(null); + const selectedTierId = ref(""); + const customExpiresAt = ref(""); + const saving = ref(false); + const saveError = ref(null); + const saveNotification = ref(null); + const activeCount = computed(() => garages.value.filter((g) => g.is_active).length); + const premiumCount = computed(() => { + return garages.value.filter((g) => { + const name = g.subscription_tier_name.toLowerCase(); + return name.includes("premium") || name.includes("pro"); + }).length; + }); + const enterpriseCount = computed(() => { + return garages.value.filter((g) => { + const name = g.subscription_tier_name.toLowerCase(); + return name.includes("enterprise") || name.includes("vip") || name.includes("corp"); + }).length; + }); + const filteredGarages = computed(() => { + return garages.value.filter((g) => { + if (searchQuery.value) { + const q = searchQuery.value.toLowerCase(); + const displayName = garageDisplayName(g).toLowerCase(); + const matchesSearch = displayName.includes(q) || g.full_name.toLowerCase().includes(q) || g.name.toLowerCase().includes(q) || g.city && g.city.toLowerCase().includes(q); + if (!matchesSearch) return false; + } + if (filterTier.value !== "all") { + const name = g.subscription_tier_name.toLowerCase(); + if (filterTier.value === "free" && !name.includes("free") && !name.includes("fallback")) return false; + if (filterTier.value === "premium" && !name.includes("premium") && !name.includes("pro")) return false; + if (filterTier.value === "enterprise" && !name.includes("enterprise") && !name.includes("vip") && !name.includes("corp")) return false; + } + return true; + }); + }); + function garageDisplayName(garage) { + return garage.display_name || garage.name || garage.full_name; + } + function getInitials(name) { + return name.split(" ").map((w) => w.charAt(0)).join("").toUpperCase().slice(0, 2); + } + function getInitialsColor(name) { + const colors = [ + "bg-amber-600", + "bg-purple-600", + "bg-slate-600", + "bg-indigo-600", + "bg-emerald-600", + "bg-rose-600", + "bg-cyan-600", + "bg-orange-600", + "bg-teal-600" + ]; + let hash = 0; + for (let i = 0; i < name.length; i++) { + hash = name.charCodeAt(i) + ((hash << 5) - hash); + } + return colors[Math.abs(hash) % colors.length]; + } + function statusBadgeClass(status) { + if (status === "active") return "bg-emerald-500/10 text-emerald-400"; + if (status === "suspended") return "bg-red-500/10 text-red-400"; + if (status === "pending_verification") return "bg-amber-500/10 text-amber-400"; + return "bg-slate-500/10 text-slate-400"; + } + function statusDotClass(status) { + if (status === "active") return "bg-emerald-400"; + if (status === "suspended") return "bg-red-400"; + if (status === "pending_verification") return "bg-amber-400"; + return "bg-slate-400"; + } + function statusLabel(status) { + if (status === "active") return "Aktív"; + if (status === "suspended") return "Felfüggesztve"; + if (status === "pending_verification") return "Függőben"; + return "Inaktív"; + } + function tierBadgeClass(tierName) { + const name = tierName.toLowerCase(); + if (name.includes("enterprise") || name.includes("vip") || name.includes("corp")) return "bg-purple-500/20 text-purple-300"; + if (name.includes("premium") || name.includes("pro")) return "bg-amber-500/20 text-amber-300"; + return "bg-slate-500/20 text-slate-300"; + } + function formatDate(dateStr) { + try { + const d = new Date(dateStr); + return d.toLocaleDateString("hu-HU", { + year: "numeric", + month: "short", + day: "numeric" + }); + } catch { + return dateStr; + } + } + return (_ctx, _push, _parent, _attrs) => { + _push(`

${ssrInterpolate(_ctx.$t("garages.title"))}

${ssrInterpolate(_ctx.$t("garages.subtitle"))}

`); + if (loading.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.loading"))}

`); + } else if (error.value) { + _push(`

${ssrInterpolate(error.value)}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.total_garages"))}

${ssrInterpolate(garages.value.length)}

${ssrInterpolate(_ctx.$t("garages.active_garages"))}

${ssrInterpolate(activeCount.value)}

${ssrInterpolate(_ctx.$t("garages.premium_garages"))}

${ssrInterpolate(premiumCount.value)}

${ssrInterpolate(_ctx.$t("garages.enterprise_garages"))}

${ssrInterpolate(enterpriseCount.value)}

`); + ssrRenderList(filteredGarages.value, (garage) => { + _push(``); + }); + _push(`
ID${ssrInterpolate(_ctx.$t("garages.company_name"))}${ssrInterpolate(_ctx.$t("garages.status"))}${ssrInterpolate(_ctx.$t("garages.current_package"))}${ssrInterpolate(_ctx.$t("garages.expiration_date"))}${ssrInterpolate(_ctx.$t("garages.actions"))}
${ssrInterpolate(garage.id)}
${ssrInterpolate(getInitials(garageDisplayName(garage)))}

${ssrInterpolate(garageDisplayName(garage))}

${ssrInterpolate(garage.city || "—")} · ${ssrInterpolate(garage.member_count)} ${ssrInterpolate(_ctx.$t("garages.members"))}

${ssrInterpolate(statusLabel(garage.status))}${ssrInterpolate(garage.subscription_tier_name)}`); + if (garage.subscription_expires_at) { + _push(`${ssrInterpolate(formatDate(garage.subscription_expires_at))}`); + } else { + _push(`${ssrInterpolate(_ctx.$t("garages.indefinite"))}`); + } + _push(`
`); + if (filteredGarages.value.length === 0 && !loading.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.no_results"))}

`); + } else { + _push(``); + } + _push(`
`); + } + if (showSubscriptionModal.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.manage_subscription"))}

${ssrInterpolate(selectedGarage.value ? garageDisplayName(selectedGarage.value) : "")}

${ssrInterpolate(_ctx.$t("garages.current_package"))}

${ssrInterpolate(selectedGarage.value?.subscription_tier_name || _ctx.$t("garages.free_fallback"))}

`); + if (selectedGarage.value?.subscription_expires_at) { + _push(`

${ssrInterpolate(_ctx.$t("garages.expires"))}: ${ssrInterpolate(formatDate(selectedGarage.value.subscription_expires_at))}

`); + } else { + _push(``); + } + _push(`

${ssrInterpolate(_ctx.$t("garages.custom_expiration_hint"))}

`); + if (saveError.value) { + _push(`

${ssrInterpolate(saveError.value)}

`); + } else { + _push(``); + } + _push(`
`); + if (saving.value) { + _push(` ${ssrInterpolate(_ctx.$t("garages.saving"))}`); + } else { + _push(`${ssrInterpolate(_ctx.$t("garages.save"))}`); + } + _push(`
`); + } else { + _push(``); + } + if (saveNotification.value) { + _push(`
${ssrInterpolate(saveNotification.value.message)}
`); + } else { + _push(``); + } + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/garages/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +export { + _sfc_main as default +}; +//# sourceMappingURL=index-o-V5Lz0_.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js.map new file mode 100644 index 0000000..9e669a6 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-o-V5Lz0_.js","sources":["../../../../pages/garages/index.vue"],"sourcesContent":["\n\n\n"],"names":["$t","_ssrInterpolate","_ssrRenderAttr","_ssrRenderList","_ssrRenderClass","_ssrIncludeBooleanAttr"],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js.map.json new file mode 100644 index 0000000..1d92931 --- /dev/null +++ b/frontend_admin/.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js.map.json @@ -0,0 +1 @@ +{"file":"index-o-V5Lz0_.js","mappings":"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","names":["$t","_ssrInterpolate","_ssrRenderAttr","_ssrRenderList","_ssrRenderClass","_ssrIncludeBooleanAttr"],"sources":["../../../../pages/garages/index.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js b/frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js similarity index 98% rename from frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js rename to frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js index 3a608fa..e7bf9c6 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js +++ b/frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js @@ -2,12 +2,12 @@ import { _ as __nuxt_component_0 } from "./nuxt-link-Cp-CAJwR.js"; import { defineComponent, ref, mergeProps, unref, withCtx, createTextVNode, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderComponent } from "vue/server-renderer"; import { publicAssetsURL } from "#internal/nuxt/paths"; +import "/app/node_modules/hookable/dist/index.mjs"; import { a as useRouter } from "../server.mjs"; -import { u as useAuthStore } from "./auth-mCjBoLcA.js"; +import { u as useAuthStore } from "./auth-RwMj9LdV.js"; import "/app/node_modules/ufo/dist/index.mjs"; import "/app/node_modules/defu/dist/defu.mjs"; import "/app/node_modules/ofetch/dist/node.mjs"; -import "/app/node_modules/hookable/dist/index.mjs"; import "/app/node_modules/unctx/dist/index.mjs"; import "/app/node_modules/h3/dist/index.mjs"; import "pinia"; @@ -70,4 +70,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=login-BHmaTZZZ.js.map +//# sourceMappingURL=login-Dx4mHuUH.js.map diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js.map b/frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js.map similarity index 75% rename from frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js.map rename to frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js.map index fbed3a4..f9933f5 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js.map +++ b/frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js.map @@ -1 +1 @@ -{"version":3,"file":"login-BHmaTZZZ.js","sources":["../../../../pages/login.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderAttr","_unref","_ssrInterpolate","_ssrIncludeBooleanAttr","_push","_parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+FA,UAAM,QAAQ,IAAI,EAAE;AACpB,UAAM,WAAW,IAAI,EAAE;AACR,cAAA;AAEf,UAAM,YAAY,aAAA;;;mBAlGXA,eAAAC,WAAA,EAAA,OAAM,kEAAA,GAAiE,MAAA,CAAA,6HAMlEC,cAAA,OAAA,UAAkB;AAiBd,UAAAC,MAAA,SAAA,EAAU,OAAK;AAGlB,cAAA,6FAAAC,eAAAD,MAAA,SAAA,EAAU,KAAK,CAAA,QAAA;AAAA;;;sLAWLA,MAAA,KAAA,CAAK,0aAgBLA,MAAA,QAAA,CAAQ,oTAYRE,sBAAAF,MAAA,SAAA,EAAU,SAAS,IAAA,cAAA;AAItB,UAAAA,MAAA,SAAA,EAAU,WAAS;;;;;AASlB,YAAA,SAAAC,eAAAD,MAAA,SAAA,EAAU,YAAS,kBAAA,SAAA,CAAA,uDAAA;;QAMpB,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAEW,GAAAG,QAAAC,UAAA,aAAA;;;;;8BAFoE,2BAE/E;AAAA,YAAA;AAAA;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"login-Dx4mHuUH.js","sources":["../../../../pages/login.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderAttr","_unref","_ssrInterpolate","_ssrIncludeBooleanAttr","_push","_parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmGA,UAAM,QAAQ,IAAI,EAAE;AACpB,UAAM,WAAW,IAAI,EAAE;AACR,cAAA;AAEf,UAAM,YAAY,aAAA;;;mBAtGXA,eAAAC,WAAA,EAAA,OAAM,kEAAA,GAAiE,MAAA,CAAA,6HAMlEC,cAAA,OAAA,UAAkB;AAiBd,UAAAC,MAAA,SAAA,EAAU,OAAK;AAGlB,cAAA,6FAAAC,eAAAD,MAAA,SAAA,EAAU,KAAK,CAAA,QAAA;AAAA;;;sLAWLA,MAAA,KAAA,CAAK,0aAgBLA,MAAA,QAAA,CAAQ,oTAYRE,sBAAAF,MAAA,SAAA,EAAU,SAAS,IAAA,cAAA;AAItB,UAAAA,MAAA,SAAA,EAAU,WAAS;;;;;AASlB,YAAA,SAAAC,eAAAD,MAAA,SAAA,EAAU,YAAS,kBAAA,SAAA,CAAA,uDAAA;;QAMpB,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAEW,GAAAG,QAAAC,UAAA,aAAA;;;;;8BAFoE,2BAE/E;AAAA,YAAA;AAAA;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js.map.json b/frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js.map.json similarity index 86% rename from frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js.map.json rename to frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js.map.json index 4e4797b..6bde55c 100644 --- a/frontend_admin/.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js.map.json +++ b/frontend_admin/.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js.map.json @@ -1 +1 @@ -{"file":"login-BHmaTZZZ.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+FA,UAAM,QAAQ,IAAI,EAAE;AACpB,UAAM,WAAW,IAAI,EAAE;AACR,cAAA;AAEf,UAAM,YAAY,aAAA;;;mBAlGXA,eAAAC,WAAA,EAAA,OAAM,kEAAA,GAAiE,MAAA,CAAA,6HAMlEC,cAAA,OAAA,UAAkB;AAiBd,UAAAC,MAAA,SAAA,EAAU,OAAK;AAGlB,cAAA,6FAAAC,eAAAD,MAAA,SAAA,EAAU,KAAK,CAAA,QAAA;AAAA;;;sLAWLA,MAAA,KAAA,CAAK,0aAgBLA,MAAA,QAAA,CAAQ,oTAYRE,sBAAAF,MAAA,SAAA,EAAU,SAAS,IAAA,cAAA;AAItB,UAAAA,MAAA,SAAA,EAAU,WAAS;;;;;AASlB,YAAA,SAAAC,eAAAD,MAAA,SAAA,EAAU,YAAS,kBAAA,SAAA,CAAA,uDAAA;;QAMpB,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAEW,GAAAG,QAAAC,UAAA,aAAA;;;;;8BAFoE,2BAE/E;AAAA,YAAA;AAAA;;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderAttr","_unref","_ssrInterpolate","_ssrIncludeBooleanAttr","_push","_parent"],"sources":["../../../../pages/login.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file +{"file":"login-Dx4mHuUH.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmGA,UAAM,QAAQ,IAAI,EAAE;AACpB,UAAM,WAAW,IAAI,EAAE;AACR,cAAA;AAEf,UAAM,YAAY,aAAA;;;mBAtGXA,eAAAC,WAAA,EAAA,OAAM,kEAAA,GAAiE,MAAA,CAAA,6HAMlEC,cAAA,OAAA,UAAkB;AAiBd,UAAAC,MAAA,SAAA,EAAU,OAAK;AAGlB,cAAA,6FAAAC,eAAAD,MAAA,SAAA,EAAU,KAAK,CAAA,QAAA;AAAA;;;sLAWLA,MAAA,KAAA,CAAK,0aAgBLA,MAAA,QAAA,CAAQ,oTAYRE,sBAAAF,MAAA,SAAA,EAAU,SAAS,IAAA,cAAA;AAItB,UAAAA,MAAA,SAAA,EAAU,WAAS;;;;;AASlB,YAAA,SAAAC,eAAAD,MAAA,SAAA,EAAU,YAAS,kBAAA,SAAA,CAAA,uDAAA;;QAMpB,IAAG;AAAA,QAAI,OAAM;AAAA,MAAA;yBAAvB,CAEW,GAAAG,QAAAC,UAAA,aAAA;;;;;8BAFoE,2BAE/E;AAAA,YAAA;AAAA;;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderAttr","_unref","_ssrInterpolate","_ssrIncludeBooleanAttr","_push","_parent"],"sources":["../../../../pages/login.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/client.manifest.mjs b/frontend_admin/.nuxt/dist/server/client.manifest.mjs index 365ff22..be09c4a 100644 --- a/frontend_admin/.nuxt/dist/server/client.manifest.mjs +++ b/frontend_admin/.nuxt/dist/server/client.manifest.mjs @@ -1 +1 @@ -export default ({"_CWA6Xjbg.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CWA6Xjbg.js",name:"auth",imports:["node_modules/nuxt/dist/app/entry.js"]},"_DWjNh9rV.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DWjNh9rV.js",name:"region",imports:["node_modules/nuxt/dist/app/entry.js"]},"_Da4aCGAe.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"Da4aCGAe.js",name:"nuxt-link",imports:["node_modules/nuxt/dist/app/entry.js"]},"i18n/locales/en.json":{resourceType:"script",module:!0,prefetch:!1,preload:!1,file:"CgyjcGAF.js",name:"en",src:"i18n/locales/en.json",isDynamicEntry:!0},"i18n/locales/hu.json":{resourceType:"script",module:!0,prefetch:!1,preload:!1,file:"DP_n9i02.js",name:"hu",src:"i18n/locales/hu.json",isDynamicEntry:!0},"layouts/default.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CC4zKGJo.js",name:"default",src:"layouts/default.vue",isDynamicEntry:!0,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js","_DWjNh9rV.js","_CWA6Xjbg.js"]},"middleware/auth.ts":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DuYZ8wdr.js",name:"auth",src:"middleware/auth.ts",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"C8yzOtqa.js",name:"error-404",src:"node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:!0,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",prefetch:!0,preload:!0},"node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"Cx40nPNe.js",name:"error-500",src:"node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"],css:[]},"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",prefetch:!0,preload:!0},"node_modules/nuxt/dist/app/entry.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CqYPuxVf.js",name:"entry",src:"node_modules/nuxt/dist/app/entry.js",isEntry:!0,dynamicImports:["middleware/auth.ts","layouts/default.vue","i18n/locales/hu.json","i18n/locales/en.json","node_modules/nuxt/dist/app/components/error-404.vue","node_modules/nuxt/dist/app/components/error-500.vue"],css:[]},"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",prefetch:!0,preload:!0},"pages/garages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"zPyClsoP.js",name:"index",src:"pages/garages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"pages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CqyNVJx6.js",name:"index",src:"pages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"pages/login.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"9W9VXtTt.js",name:"login",src:"pages/login.vue",isDynamicEntry:!0,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js","_CWA6Xjbg.js"]},"pages/packages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"ncKxzOzI.js",name:"index",src:"pages/packages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js","_DWjNh9rV.js"]},"pages/permissions/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"BO90Bn6x.js",name:"index",src:"pages/permissions/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]}}) \ No newline at end of file +export default ({"_DKEj_yij.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DKEj_yij.js",name:"auth",imports:["node_modules/nuxt/dist/app/entry.js"]},"_DlAUqK2U.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DlAUqK2U.js",name:"_plugin-vue_export-helper"},"_j8avB3IT.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"j8avB3IT.js",name:"region",imports:["node_modules/nuxt/dist/app/entry.js"]},"_qc1uPXiA.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"qc1uPXiA.js",name:"nuxt-link",imports:["node_modules/nuxt/dist/app/entry.js"]},"i18n/locales/en.json":{resourceType:"script",module:!0,prefetch:!1,preload:!1,file:"HwQw-d2b.js",name:"en",src:"i18n/locales/en.json",isDynamicEntry:!0},"i18n/locales/hu.json":{resourceType:"script",module:!0,prefetch:!1,preload:!1,file:"DiHJCuau.js",name:"hu",src:"i18n/locales/hu.json",isDynamicEntry:!0},"layouts/blank.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"B2nIQl38.js",name:"blank",src:"layouts/blank.vue",isDynamicEntry:!0,imports:["_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"]},"layouts/default.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"BezjjCqI.js",name:"default",src:"layouts/default.vue",isDynamicEntry:!0,imports:["_qc1uPXiA.js","node_modules/nuxt/dist/app/entry.js","_j8avB3IT.js","_DKEj_yij.js"]},"middleware/auth.ts":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DSOY2KzZ.js",name:"auth",src:"middleware/auth.ts",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js","_DKEj_yij.js"]},"node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"JOVMCDE9.js",name:"error-404",src:"node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:!0,imports:["_qc1uPXiA.js","_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",prefetch:!0,preload:!0},"node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CLBsD5qj.js",name:"error-500",src:"node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:!0,imports:["_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",prefetch:!0,preload:!0},"node_modules/nuxt/dist/app/entry.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CHWHIiGB.js",name:"entry",src:"node_modules/nuxt/dist/app/entry.js",isEntry:!0,dynamicImports:["middleware/auth.ts","layouts/blank.vue","layouts/default.vue","i18n/locales/hu.json","i18n/locales/en.json","node_modules/nuxt/dist/app/components/error-404.vue","node_modules/nuxt/dist/app/components/error-500.vue"],css:[]},"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",prefetch:!0,preload:!0},"pages/garages/[id]/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"KwNF0Piy.js",name:"index",src:"pages/garages/[id]/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"pages/garages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"C3lSWcZz.js",name:"index",src:"pages/garages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"pages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"D5l8f-my.js",name:"index",src:"pages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"pages/login.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"C8W4Ef6u.js",name:"login",src:"pages/login.vue",isDynamicEntry:!0,imports:["_qc1uPXiA.js","node_modules/nuxt/dist/app/entry.js","_DKEj_yij.js"]},"pages/packages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"d4dk63Pu.js",name:"index",src:"pages/packages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js","_j8avB3IT.js"]},"pages/permissions/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DyJFDhDL.js",name:"index",src:"pages/permissions/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]}}) \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/client.precomputed.mjs b/frontend_admin/.nuxt/dist/server/client.precomputed.mjs index ca848bc..2af7c22 100644 --- a/frontend_admin/.nuxt/dist/server/client.precomputed.mjs +++ b/frontend_admin/.nuxt/dist/server/client.precomputed.mjs @@ -1 +1 @@ -export default ((h,j,k,m)=>({dependencies:{"node_modules/nuxt/dist/app/entry.js":{scripts:{"node_modules/nuxt/dist/app/entry.js":h={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CqYPuxVf.js",name:"entry",src:"node_modules/nuxt/dist/app/entry.js",isEntry:!0,dynamicImports:["middleware/auth.ts","layouts/default.vue","i18n/locales/hu.json","i18n/locales/en.json","node_modules/nuxt/dist/app/components/error-404.vue","node_modules/nuxt/dist/app/components/error-500.vue"],css:[]}},styles:{},preload:{"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_CWA6Xjbg.js":{scripts:{},styles:{},preload:{"_CWA6Xjbg.js":j={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CWA6Xjbg.js",name:"auth",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_DWjNh9rV.js":{scripts:{},styles:{},preload:{"_DWjNh9rV.js":k={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DWjNh9rV.js",name:"region",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_Da4aCGAe.js":{scripts:{},styles:{},preload:{"_Da4aCGAe.js":m={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"Da4aCGAe.js",name:"nuxt-link",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"i18n/locales/en.json":{scripts:{},styles:{},preload:{},prefetch:{}},"i18n/locales/hu.json":{scripts:{},styles:{},preload:{},prefetch:{}},"layouts/default.vue":{scripts:{},styles:{},preload:{"layouts/default.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CC4zKGJo.js",name:"default",src:"layouts/default.vue",isDynamicEntry:!0,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js","_DWjNh9rV.js","_CWA6Xjbg.js"]},"_Da4aCGAe.js":m,"node_modules/nuxt/dist/app/entry.js":h,"_DWjNh9rV.js":k,"_CWA6Xjbg.js":j},prefetch:{}},"middleware/auth.ts":{scripts:{},styles:{},preload:{"middleware/auth.ts":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DuYZ8wdr.js",name:"auth",src:"middleware/auth.ts",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"node_modules/nuxt/dist/app/components/error-404.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"C8yzOtqa.js",name:"error-404",src:"node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:!0,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"_Da4aCGAe.js":m,"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"error-404.DL_4WIao.css":{scripts:{},styles:{},preload:{"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"node_modules/nuxt/dist/app/components/error-500.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"Cx40nPNe.js",name:"error-500",src:"node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"],css:[]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"error-500.I1Dtv2V5.css":{scripts:{},styles:{},preload:{"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"entry.KrfumMBl.css":{scripts:{},styles:{},preload:{"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"pages/garages/index.vue":{scripts:{},styles:{},preload:{"pages/garages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"zPyClsoP.js",name:"index",src:"pages/garages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/index.vue":{scripts:{},styles:{},preload:{"pages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CqyNVJx6.js",name:"index",src:"pages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/login.vue":{scripts:{},styles:{},preload:{"pages/login.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"9W9VXtTt.js",name:"login",src:"pages/login.vue",isDynamicEntry:!0,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js","_CWA6Xjbg.js"]},"_Da4aCGAe.js":m,"node_modules/nuxt/dist/app/entry.js":h,"_CWA6Xjbg.js":j},prefetch:{}},"pages/packages/index.vue":{scripts:{},styles:{},preload:{"pages/packages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"ncKxzOzI.js",name:"index",src:"pages/packages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js","_DWjNh9rV.js"]},"node_modules/nuxt/dist/app/entry.js":h,"_DWjNh9rV.js":k},prefetch:{}},"pages/permissions/index.vue":{scripts:{},styles:{},preload:{"pages/permissions/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"BO90Bn6x.js",name:"index",src:"pages/permissions/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}}},entrypoints:["node_modules/nuxt/dist/app/entry.js"],modules:{"_CWA6Xjbg.js":{file:"CWA6Xjbg.js",resourceType:"script",mimeType:void 0,module:!0},"_DWjNh9rV.js":{file:"DWjNh9rV.js",resourceType:"script",mimeType:void 0,module:!0},"_Da4aCGAe.js":{file:"Da4aCGAe.js",resourceType:"script",mimeType:void 0,module:!0},"i18n/locales/en.json":{file:"CgyjcGAF.js",resourceType:"script",mimeType:void 0,module:!0},"i18n/locales/hu.json":{file:"DP_n9i02.js",resourceType:"script",mimeType:void 0,module:!0},"layouts/default.vue":{file:"CC4zKGJo.js",resourceType:"script",mimeType:void 0,module:!0},"middleware/auth.ts":{file:"DuYZ8wdr.js",resourceType:"script",mimeType:void 0,module:!0},"node_modules/nuxt/dist/app/components/error-404.vue":{file:"C8yzOtqa.js",resourceType:"script",mimeType:void 0,module:!0},"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/components/error-500.vue":{file:"Cx40nPNe.js",resourceType:"script",mimeType:void 0,module:!0},"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/entry.js":{file:"CqYPuxVf.js",resourceType:"script",mimeType:void 0,module:!0},"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",mimeType:void 0,module:void 0},"pages/garages/index.vue":{file:"zPyClsoP.js",resourceType:"script",mimeType:void 0,module:!0},"pages/index.vue":{file:"CqyNVJx6.js",resourceType:"script",mimeType:void 0,module:!0},"pages/login.vue":{file:"9W9VXtTt.js",resourceType:"script",mimeType:void 0,module:!0},"pages/packages/index.vue":{file:"ncKxzOzI.js",resourceType:"script",mimeType:void 0,module:!0},"pages/permissions/index.vue":{file:"BO90Bn6x.js",resourceType:"script",mimeType:void 0,module:!0}}}))() \ No newline at end of file +export default ((h,j,k,m,o)=>({dependencies:{"node_modules/nuxt/dist/app/entry.js":{scripts:{"node_modules/nuxt/dist/app/entry.js":h={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CHWHIiGB.js",name:"entry",src:"node_modules/nuxt/dist/app/entry.js",isEntry:!0,dynamicImports:["middleware/auth.ts","layouts/blank.vue","layouts/default.vue","i18n/locales/hu.json","i18n/locales/en.json","node_modules/nuxt/dist/app/components/error-404.vue","node_modules/nuxt/dist/app/components/error-500.vue"],css:[]}},styles:{},preload:{"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_DKEj_yij.js":{scripts:{},styles:{},preload:{"_DKEj_yij.js":j={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DKEj_yij.js",name:"auth",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_DlAUqK2U.js":{scripts:{},styles:{},preload:{"_DlAUqK2U.js":k={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DlAUqK2U.js",name:"_plugin-vue_export-helper"}},prefetch:{}},"_j8avB3IT.js":{scripts:{},styles:{},preload:{"_j8avB3IT.js":m={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"j8avB3IT.js",name:"region",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_qc1uPXiA.js":{scripts:{},styles:{},preload:{"_qc1uPXiA.js":o={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"qc1uPXiA.js",name:"nuxt-link",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"i18n/locales/en.json":{scripts:{},styles:{},preload:{},prefetch:{}},"i18n/locales/hu.json":{scripts:{},styles:{},preload:{},prefetch:{}},"layouts/blank.vue":{scripts:{},styles:{},preload:{"layouts/blank.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"B2nIQl38.js",name:"blank",src:"layouts/blank.vue",isDynamicEntry:!0,imports:["_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"]},"_DlAUqK2U.js":k,"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"layouts/default.vue":{scripts:{},styles:{},preload:{"layouts/default.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"BezjjCqI.js",name:"default",src:"layouts/default.vue",isDynamicEntry:!0,imports:["_qc1uPXiA.js","node_modules/nuxt/dist/app/entry.js","_j8avB3IT.js","_DKEj_yij.js"]},"_qc1uPXiA.js":o,"node_modules/nuxt/dist/app/entry.js":h,"_j8avB3IT.js":m,"_DKEj_yij.js":j},prefetch:{}},"middleware/auth.ts":{scripts:{},styles:{},preload:{"middleware/auth.ts":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DSOY2KzZ.js",name:"auth",src:"middleware/auth.ts",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js","_DKEj_yij.js"]},"node_modules/nuxt/dist/app/entry.js":h,"_DKEj_yij.js":j},prefetch:{}},"node_modules/nuxt/dist/app/components/error-404.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"JOVMCDE9.js",name:"error-404",src:"node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:!0,imports:["_qc1uPXiA.js","_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"_qc1uPXiA.js":o,"node_modules/nuxt/dist/app/entry.js":h,"_DlAUqK2U.js":k},prefetch:{}},"error-404.DL_4WIao.css":{scripts:{},styles:{},preload:{"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"node_modules/nuxt/dist/app/components/error-500.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CLBsD5qj.js",name:"error-500",src:"node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:!0,imports:["_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"_DlAUqK2U.js":k,"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"error-500.I1Dtv2V5.css":{scripts:{},styles:{},preload:{"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"entry.KrfumMBl.css":{scripts:{},styles:{},preload:{"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"pages/garages/[id]/index.vue":{scripts:{},styles:{},preload:{"pages/garages/[id]/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"KwNF0Piy.js",name:"index",src:"pages/garages/[id]/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/garages/index.vue":{scripts:{},styles:{},preload:{"pages/garages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"C3lSWcZz.js",name:"index",src:"pages/garages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/index.vue":{scripts:{},styles:{},preload:{"pages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"D5l8f-my.js",name:"index",src:"pages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/login.vue":{scripts:{},styles:{},preload:{"pages/login.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"C8W4Ef6u.js",name:"login",src:"pages/login.vue",isDynamicEntry:!0,imports:["_qc1uPXiA.js","node_modules/nuxt/dist/app/entry.js","_DKEj_yij.js"]},"_qc1uPXiA.js":o,"node_modules/nuxt/dist/app/entry.js":h,"_DKEj_yij.js":j},prefetch:{}},"pages/packages/index.vue":{scripts:{},styles:{},preload:{"pages/packages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"d4dk63Pu.js",name:"index",src:"pages/packages/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js","_j8avB3IT.js"]},"node_modules/nuxt/dist/app/entry.js":h,"_j8avB3IT.js":m},prefetch:{}},"pages/permissions/index.vue":{scripts:{},styles:{},preload:{"pages/permissions/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DyJFDhDL.js",name:"index",src:"pages/permissions/index.vue",isDynamicEntry:!0,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}}},entrypoints:["node_modules/nuxt/dist/app/entry.js"],modules:{"_DKEj_yij.js":{file:"DKEj_yij.js",resourceType:"script",mimeType:void 0,module:!0},"_DlAUqK2U.js":{file:"DlAUqK2U.js",resourceType:"script",mimeType:void 0,module:!0},"_j8avB3IT.js":{file:"j8avB3IT.js",resourceType:"script",mimeType:void 0,module:!0},"_qc1uPXiA.js":{file:"qc1uPXiA.js",resourceType:"script",mimeType:void 0,module:!0},"i18n/locales/en.json":{file:"HwQw-d2b.js",resourceType:"script",mimeType:void 0,module:!0},"i18n/locales/hu.json":{file:"DiHJCuau.js",resourceType:"script",mimeType:void 0,module:!0},"layouts/blank.vue":{file:"B2nIQl38.js",resourceType:"script",mimeType:void 0,module:!0},"layouts/default.vue":{file:"BezjjCqI.js",resourceType:"script",mimeType:void 0,module:!0},"middleware/auth.ts":{file:"DSOY2KzZ.js",resourceType:"script",mimeType:void 0,module:!0},"node_modules/nuxt/dist/app/components/error-404.vue":{file:"JOVMCDE9.js",resourceType:"script",mimeType:void 0,module:!0},"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/components/error-500.vue":{file:"CLBsD5qj.js",resourceType:"script",mimeType:void 0,module:!0},"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/entry.js":{file:"CHWHIiGB.js",resourceType:"script",mimeType:void 0,module:!0},"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",mimeType:void 0,module:void 0},"pages/garages/[id]/index.vue":{file:"KwNF0Piy.js",resourceType:"script",mimeType:void 0,module:!0},"pages/garages/index.vue":{file:"C3lSWcZz.js",resourceType:"script",mimeType:void 0,module:!0},"pages/index.vue":{file:"D5l8f-my.js",resourceType:"script",mimeType:void 0,module:!0},"pages/login.vue":{file:"C8W4Ef6u.js",resourceType:"script",mimeType:void 0,module:!0},"pages/packages/index.vue":{file:"d4dk63Pu.js",resourceType:"script",mimeType:void 0,module:!0},"pages/permissions/index.vue":{file:"DyJFDhDL.js",resourceType:"script",mimeType:void 0,module:!0}}}))() \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/server.mjs b/frontend_admin/.nuxt/dist/server/server.mjs index 254553e..2dd2655 100644 --- a/frontend_admin/.nuxt/dist/server/server.mjs +++ b/frontend_admin/.nuxt/dist/server/server.mjs @@ -459,6 +459,9 @@ const unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU = /* @__PURE__ */ defin function toArray$3(value) { return Array.isArray(value) ? value : [value]; } +const __nuxt_page_meta = { + layout: "blank" +}; const _routes = [ { name: "index", @@ -469,25 +472,32 @@ const _routes = [ { name: "login", path: "/login", - component: () => import("./_nuxt/login-BHmaTZZZ.js") + meta: __nuxt_page_meta || {}, + component: () => import("./_nuxt/login-Dx4mHuUH.js") }, { name: "garages", path: "/garages", meta: { "middleware": "auth" }, - component: () => import("./_nuxt/index-ebkVtBaw.js") + component: () => import("./_nuxt/index-o-V5Lz0_.js") }, { name: "packages", path: "/packages", meta: { "middleware": "auth" }, - component: () => import("./_nuxt/index-BPETUF7a.js") + component: () => import("./_nuxt/index-CII1lBpk.js") }, { name: "permissions", path: "/permissions", meta: { "middleware": "auth" }, - component: () => import("./_nuxt/index-7zBAzpaD.js") + component: () => import("./_nuxt/index-D2n0yf-2.js") + }, + { + name: "garages-id", + path: "/garages/:id()", + meta: { "middleware": "auth" }, + component: () => import("./_nuxt/index-JpXwtL-Z.js") } ]; const _wrapInTransition = (props, children) => { @@ -632,7 +642,7 @@ const globalMiddleware = [ manifest_45route_45rule ]; const namedMiddleware = { - auth: () => import("./_nuxt/auth-BgwR5zMA.js") + auth: () => import("./_nuxt/auth-9ekP0oPk.js") }; Object.assign(/* @__PURE__ */ Object.create(null), {}); const pageIslandRoutes = Object.assign(/* @__PURE__ */ Object.create(null), {}); @@ -1502,7 +1512,7 @@ const localeLoaders = { { key: "locale_hu_46json_ee06c965", load: () => import( - "./_nuxt/hu-CoGcC81v.js" + "./_nuxt/hu-B3JxlqZo.js" /* webpackChunkName: "locale_hu_46json_ee06c965" */ ), cache: true @@ -1512,7 +1522,7 @@ const localeLoaders = { { key: "locale_en_46json_0b63539c", load: () => import( - "./_nuxt/en-BScPj1A-.js" + "./_nuxt/en-WIj2pBfh.js" /* webpackChunkName: "locale_en_46json_0b63539c" */ ), cache: true @@ -1652,7 +1662,7 @@ function getDefaultLocaleForDomain(host) { } const isSupportedLocale = (locale) => localeCodes.includes(locale || ""); const resolveSupportedLocale = (locale) => isSupportedLocale(locale) ? locale : void 0; -var define_I18N_LOCALE_HASHES_default$1 = { hu: "349b7781", en: "349b7781" }; +var define_I18N_LOCALE_HASHES_default$1 = { hu: "bb1d6803", en: "bb1d6803" }; const useLocaleConfigs = () => useState( "i18n:cached-locale-configs", () => void 0 @@ -6726,7 +6736,7 @@ const setupVueI18nOptions = async (defaultLocale) => { } return options; }; -var define_I18N_LOCALE_HASHES_default = { hu: "349b7781", en: "349b7781" }; +var define_I18N_LOCALE_HASHES_default = { hu: "bb1d6803", en: "bb1d6803" }; const i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM = /* @__PURE__ */ defineNuxtPlugin({ name: "i18n:plugin", parallel: false, @@ -6833,7 +6843,8 @@ const plugins = [ ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs ]; const layouts = { - default: defineAsyncComponent(() => import("./_nuxt/default-B9tlXlqE.js").then((m) => m.default || m)) + blank: defineAsyncComponent(() => import("./_nuxt/blank-DWT4RB69.js").then((m) => m.default || m)), + default: defineAsyncComponent(() => import("./_nuxt/default-DOjdWE8b.js").then((m) => m.default || m)) }; const routeRulesMatcher = _routeRulesMatcher; const LayoutLoader = defineComponent({ @@ -7070,37 +7081,39 @@ function normalizeSlot(slot, data) { const slotContent = slot(data); return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent); } -const _export_sfc = (sfc, props) => { - const target = sfc.__vccOpts || sfc; - for (const [key, val] of props) { - target[key] = val; - } - return target; -}; -const _sfc_main$2 = {}; -function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { - const _component_NuxtLayout = __nuxt_component_0; - const _component_NuxtPage = __nuxt_component_1; - _push(ssrRenderComponent(_component_NuxtLayout, _attrs, { - default: withCtx((_, _push2, _parent2, _scopeId) => { - if (_push2) { - _push2(ssrRenderComponent(_component_NuxtPage, null, null, _parent2, _scopeId)); - } else { - return [ - createVNode(_component_NuxtPage) - ]; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "app", + __ssrInlineRender: true, + setup(__props) { + useHead({ + titleTemplate: (titleChunk) => { + return titleChunk ? `${titleChunk} | Service Finder Admin` : "Service Finder Admin"; } - }), - _: 1 - }, _parent)); -} + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLayout = __nuxt_component_0; + const _component_NuxtPage = __nuxt_component_1; + _push(ssrRenderComponent(_component_NuxtLayout, _attrs, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_NuxtPage, null, null, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_NuxtPage) + ]; + } + }), + _: 1 + }, _parent)); + }; + } +}); const _sfc_setup$2 = _sfc_main$2.setup; _sfc_main$2.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("app.vue"); return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; }; -const AppComponent = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender]]); const _sfc_main$1 = { __name: "nuxt-error-page", __ssrInlineRender: true, @@ -7115,8 +7128,8 @@ const _sfc_main$1 = { const statusText = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error"); const description = _error.message || _error.toString(); const stack = void 0; - const _Error404 = defineAsyncComponent(() => import("./_nuxt/error-404-C_elhLNc.js")); - const _Error = defineAsyncComponent(() => import("./_nuxt/error-500-C6MJq2Cl.js")); + const _Error404 = defineAsyncComponent(() => import("./_nuxt/error-404-Bkg5lg69.js")); + const _Error = defineAsyncComponent(() => import("./_nuxt/error-500-DfEH3Z64.js")); const ErrorTemplate = is404 ? _Error404 : _Error; return (_ctx, _push, _parent, _attrs) => { _push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ status: unref(status), statusText: unref(statusText), statusCode: unref(status), statusMessage: unref(statusText), description: unref(description), stack: unref(stack) }, _attrs), null, _parent)); @@ -7174,7 +7187,7 @@ const _sfc_main = { } else if (unref(SingleRenderer)) { ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent); } else { - _push(ssrRenderComponent(unref(AppComponent), null, null, _parent)); + _push(ssrRenderComponent(unref(_sfc_main$2), null, null, _parent)); } }, _: 1 @@ -7208,10 +7221,9 @@ let entry; } const entry_default = ((ssrContext) => entry(ssrContext)); export { - _export_sfc as _, useRouter as a, - useCookie as b, - useI18n as c, + useI18n as b, + useCookie as c, defineNuxtRouteMiddleware as d, entry_default as default, encodeRoutePath as e, diff --git a/frontend_admin/.nuxt/dist/server/server.mjs.map b/frontend_admin/.nuxt/dist/server/server.mjs.map index c45e8fb..ed6ce4e 100644 --- a/frontend_admin/.nuxt/dist/server/server.mjs.map +++ b/frontend_admin/.nuxt/dist/server/server.mjs.map @@ -1 +1 @@ -{"version":3,"file":"server.mjs","sources":["../../../virtual:nuxt:%2Fapp%2F.nuxt%2Ffetch.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fglobal-polyfills.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fnuxt.config.mjs","../../../node_modules/nuxt/dist/app/nuxt.js","../../../node_modules/nuxt/dist/app/components/injections.js","../../../node_modules/nuxt/dist/app/utils.js","../../../node_modules/nuxt/dist/app/composables/router.js","../../../node_modules/nuxt/dist/app/composables/error.js","../../../node_modules/nuxt/dist/head/runtime/composables/v3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froute-rules.mjs","../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../node_modules/nuxt/dist/app/composables/payload.js","../../../node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js","../../../node_modules/nuxt/dist/head/runtime/island-head.js","../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froutes.mjs","../../../node_modules/nuxt/dist/app/components/utils.js","../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Frouter.options.mjs","../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../node_modules/nuxt/dist/app/middleware/route-rules.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fmiddleware.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.islands.mjs","../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../node_modules/nuxt/dist/app/components/server-placeholder.js","../../../node_modules/nuxt/dist/app/components/client-only.js","../../../node_modules/nuxt/dist/app/composables/state.js","../../../node_modules/nuxt/dist/app/composables/ssr.js","../../../node_modules/nuxt/dist/app/composables/cookie.js","../../../node_modules/nuxt/dist/app/composables/url.js","../../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.plugin.mjs","../../../node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/head.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/head.js","../../../node_modules/@intlify/utils/dist/shared/utils.9f8159f5.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fi18n-options.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/messages.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/compatibility.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/utils.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/domain.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/locales.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/context.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/browser.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/detection.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/utils.js","../../../node_modules/@intlify/message-compiler/dist/message-compiler.mjs","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/composables/index.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/vue-i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fplugins.server.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Flayouts.mjs","../../../node_modules/nuxt/dist/app/components/nuxt-layout.js","../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../app.vue","../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":["import { $fetch } from 'ofetch'\nimport { baseURL } from '#internal/nuxt/paths'\nif (!globalThis.$fetch) {\n globalThis.$fetch = $fetch.create({\n baseURL: baseURL()\n })\n}","\nif (!(\"global\" in globalThis)) {\n globalThis.global = globalThis;\n}","export const appBaseURL = \"/\"\n\nexport const appBuildAssetsDir = \"/_nuxt/\"\n\nexport const appCdnURL = \"\"\n\nexport const appHead = {\"meta\":[{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"charset\":\"utf-8\"}],\"link\":[],\"style\":[],\"script\":[],\"noscript\":[]}\n\nexport const appLayoutTransition = false\n\nexport const appPageTransition = false\n\nexport const appViewTransition = false\n\nexport const appKeepalive = false\n\nexport const appRootId = \"__nuxt\"\n\nexport const appRootTag = \"div\"\n\nexport const appRootAttrs = {\"id\":\"__nuxt\"}\n\nexport const appTeleportTag = \"div\"\n\nexport const appTeleportId = \"teleports\"\n\nexport const appTeleportAttrs = {\"id\":\"teleports\"}\n\nexport const appSpaLoaderTag = \"div\"\n\nexport const appSpaLoaderAttrs = {\"id\":\"__nuxt-loader\"}\n\nexport const renderJsonPayloads = true\n\nexport const componentIslands = false\n\nexport const payloadExtraction = false\n\nexport const cookieStore = true\n\nexport const appManifest = true\n\nexport const remoteComponentIslands = false\n\nexport const selectiveClient = false\n\nexport const devPagesDir = null\n\nexport const devRootDir = null\n\nexport const devLogs = false\n\nexport const nuxtLinkDefaults = {\"componentName\":\"NuxtLink\",\"prefetch\":true,\"prefetchOn\":{\"visibility\":true}}\n\nexport const asyncDataDefaults = {\"value\":null,\"errorValue\":null,\"deep\":true}\n\nexport const resetAsyncDataToUndefined = true\n\nexport const nuxtDefaultErrorValue = null\n\nexport const fetchDefaults = {}\n\nexport const vueAppRootContainer = '#__nuxt'\n\nexport const viewTransition = false\n\nexport const appId = \"nuxt-app\"\n\nexport const outdatedBuildInterval = 3600000\n\nexport const multiApp = false\n\nexport const chunkErrorEvent = \"vite:preloadError\"\n\nexport const crawlLinks = false\n\nexport const spaLoadingTemplateOutside = false\n\nexport const purgeCachedData = true\n\nexport const granularCachedData = false\n\nexport const pendingWhenIdle = true\n\nexport const alwaysRunFetchOnKeyChange = true","import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive, shallowReactive } from \"vue\";\nimport { createHooks } from \"hookable\";\nimport { getContext } from \"unctx\";\nimport { appId, chunkErrorEvent, multiApp } from \"#build/nuxt.config.mjs\";\nexport function getNuxtAppCtx(id = appId || \"nuxt-app\") {\n return getContext(id, {\n asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server\n });\n}\nexport const NuxtPluginIndicator = \"__nuxt_plugin\";\nexport function createNuxtApp(options) {\n let hydratingCount = 0;\n const nuxtApp = {\n _id: options.id || appId || \"nuxt-app\",\n _scope: effectScope(),\n provide: void 0,\n globalName: \"nuxt\",\n versions: {\n get nuxt() {\n return __NUXT_VERSION__;\n },\n get vue() {\n return nuxtApp.vueApp.version;\n }\n },\n payload: shallowReactive({\n ...options.ssrContext?.payload || {},\n data: shallowReactive({}),\n state: reactive({}),\n once: /* @__PURE__ */ new Set(),\n _errors: shallowReactive({})\n }),\n static: {\n data: {}\n },\n runWithContext(fn) {\n if (nuxtApp._scope.active && !getCurrentScope()) {\n return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));\n }\n return callWithNuxt(nuxtApp, fn);\n },\n isHydrating: import.meta.client,\n deferHydration() {\n if (!nuxtApp.isHydrating) {\n return () => {\n };\n }\n hydratingCount++;\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n hydratingCount--;\n if (hydratingCount === 0) {\n nuxtApp.isHydrating = false;\n return nuxtApp.callHook(\"app:suspense:resolve\");\n }\n };\n },\n _asyncDataPromises: {},\n _asyncData: shallowReactive({}),\n _payloadRevivers: {},\n ...options\n };\n if (import.meta.server) {\n nuxtApp.payload.serverRendered = true;\n }\n if (import.meta.server && nuxtApp.ssrContext) {\n nuxtApp.payload.path = nuxtApp.ssrContext.url;\n nuxtApp.ssrContext.nuxt = nuxtApp;\n nuxtApp.ssrContext.payload = nuxtApp.payload;\n nuxtApp.ssrContext.config = {\n public: nuxtApp.ssrContext.runtimeConfig.public,\n app: nuxtApp.ssrContext.runtimeConfig.app\n };\n }\n if (import.meta.client) {\n const __NUXT__ = multiApp ? window.__NUXT__?.[nuxtApp._id] : window.__NUXT__;\n if (__NUXT__) {\n for (const key in __NUXT__) {\n switch (key) {\n case \"data\":\n case \"state\":\n case \"_errors\":\n Object.assign(nuxtApp.payload[key], __NUXT__[key]);\n break;\n default:\n nuxtApp.payload[key] = __NUXT__[key];\n }\n }\n }\n }\n nuxtApp.hooks = createHooks();\n nuxtApp.hook = nuxtApp.hooks.hook;\n if (import.meta.server) {\n const contextCaller = async function(hooks, args) {\n for (const hook of hooks) {\n await nuxtApp.runWithContext(() => hook(...args));\n }\n };\n nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);\n }\n nuxtApp.callHook = nuxtApp.hooks.callHook;\n nuxtApp.provide = (name, value) => {\n const $name = \"$\" + name;\n defineGetter(nuxtApp, $name, value);\n defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);\n };\n defineGetter(nuxtApp.vueApp, \"$nuxt\", nuxtApp);\n defineGetter(nuxtApp.vueApp.config.globalProperties, \"$nuxt\", nuxtApp);\n if (import.meta.client) {\n if (chunkErrorEvent) {\n window.addEventListener(chunkErrorEvent, (event) => {\n nuxtApp.callHook(\"app:chunkError\", { error: event.payload });\n if (event.payload?.message?.includes(\"Unable to preload CSS\")) {\n event.preventDefault();\n }\n });\n }\n window.useNuxtApp ||= useNuxtApp;\n const unreg = nuxtApp.hook(\"app:error\", (...args) => {\n console.error(\"[nuxt] error caught during app initialization\", ...args);\n });\n nuxtApp.hook(\"app:mounted\", unreg);\n }\n const runtimeConfig = import.meta.server ? options.ssrContext.runtimeConfig : nuxtApp.payload.config;\n nuxtApp.provide(\"config\", import.meta.client && import.meta.dev ? wrappedConfig(runtimeConfig) : runtimeConfig);\n return nuxtApp;\n}\nexport function registerPluginHooks(nuxtApp, plugin) {\n if (plugin.hooks) {\n nuxtApp.hooks.addHooks(plugin.hooks);\n }\n}\nexport async function applyPlugin(nuxtApp, plugin) {\n if (typeof plugin === \"function\") {\n const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};\n if (provide && typeof provide === \"object\") {\n for (const key in provide) {\n nuxtApp.provide(key, provide[key]);\n }\n }\n }\n}\nexport async function applyPlugins(nuxtApp, plugins) {\n const resolvedPlugins = /* @__PURE__ */ new Set();\n const unresolvedPlugins = [];\n const parallels = [];\n let error = void 0;\n let promiseDepth = 0;\n async function executePlugin(plugin) {\n const unresolvedPluginsForThisPlugin = plugin.dependsOn?.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.has(name)) ?? [];\n if (unresolvedPluginsForThisPlugin.length > 0) {\n unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);\n } else {\n const promise = applyPlugin(nuxtApp, plugin).then(async () => {\n if (plugin._name) {\n resolvedPlugins.add(plugin._name);\n await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {\n if (dependsOn.has(plugin._name)) {\n dependsOn.delete(plugin._name);\n if (dependsOn.size === 0) {\n promiseDepth++;\n await executePlugin(unexecutedPlugin);\n }\n }\n }));\n }\n }).catch((e) => {\n if (!plugin.parallel && !nuxtApp.payload.error) {\n throw e;\n }\n error ||= e;\n });\n if (plugin.parallel) {\n parallels.push(promise);\n } else {\n await promise;\n }\n }\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n registerPluginHooks(nuxtApp, plugin);\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n await executePlugin(plugin);\n }\n await Promise.all(parallels);\n if (promiseDepth) {\n for (let i = 0; i < promiseDepth; i++) {\n await Promise.all(parallels);\n }\n }\n if (error) {\n throw nuxtApp.payload.error || error;\n }\n}\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtPlugin(plugin) {\n if (typeof plugin === \"function\") {\n return plugin;\n }\n const _name = plugin._name || plugin.name;\n delete plugin.name;\n return Object.assign(plugin.setup || (() => {\n }), plugin, { [NuxtPluginIndicator]: true, _name });\n}\nexport const definePayloadPlugin = defineNuxtPlugin;\nexport function isNuxtPlugin(plugin) {\n return typeof plugin === \"function\" && NuxtPluginIndicator in plugin;\n}\nexport function callWithNuxt(nuxt, setup, args) {\n const fn = () => args ? setup(...args) : setup();\n const nuxtAppCtx = getNuxtAppCtx(nuxt._id);\n if (import.meta.server) {\n return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));\n } else {\n nuxtAppCtx.set(nuxt);\n return nuxt.vueApp.runWithContext(fn);\n }\n}\nexport function tryUseNuxtApp(id) {\n let nuxtAppInstance;\n if (hasInjectionContext()) {\n nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;\n }\n nuxtAppInstance ||= getNuxtAppCtx(id).tryUse();\n return nuxtAppInstance || null;\n}\nexport function useNuxtApp(id) {\n const nuxtAppInstance = tryUseNuxtApp(id);\n if (!nuxtAppInstance) {\n if (import.meta.dev) {\n throw new Error(\"[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables`.\");\n } else {\n throw new Error(\"[nuxt] instance unavailable\");\n }\n }\n return nuxtAppInstance;\n}\n// @__NO_SIDE_EFFECTS__\nexport function useRuntimeConfig(_event) {\n return useNuxtApp().$config;\n}\nfunction defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function defineAppConfig(config) {\n return config;\n}\nconst loggedKeys = /* @__PURE__ */ new Set();\nfunction wrappedConfig(runtimeConfig) {\n if (!import.meta.dev || import.meta.server) {\n return runtimeConfig;\n }\n const keys = [];\n for (const key in runtimeConfig) {\n keys.push(`\\`${key}\\``);\n }\n const lastKey = keys.pop();\n return new Proxy(runtimeConfig, {\n get(target, p, receiver) {\n if (typeof p === \"string\" && p !== \"public\" && !(p in target) && !p.startsWith(\"__v\")) {\n if (!loggedKeys.has(p)) {\n loggedKeys.add(p);\n console.warn(`[nuxt] Could not access \\`${p}\\`. The only available runtime config keys on the client side are ${keys.join(\", \")} and ${lastKey}. See https://nuxt.com/docs/guide/going-further/runtime-config for more information.`);\n }\n }\n return Reflect.get(target, p, receiver);\n }\n });\n}\n","export const LayoutMetaSymbol = Symbol(\"layout-meta\");\nexport const PageRouteSymbol = Symbol(\"route\");\n","import { captureStackTrace } from \"errx\";\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nconst distURL = import.meta.url.replace(/\\/app\\/.*$/, \"/\");\nexport function getUserTrace() {\n if (!import.meta.dev) {\n return [];\n }\n const trace = captureStackTrace();\n const start = trace.findIndex((entry) => !entry.source.startsWith(distURL));\n const end = [...trace].reverse().findIndex((entry) => !entry.source.includes(\"node_modules\") && !entry.source.startsWith(distURL));\n if (start === -1 || end === -1) {\n return [];\n }\n return trace.slice(start, end > 0 ? -end : void 0).map((i) => ({\n ...i,\n source: i.source.replace(/^file:\\/\\//, \"\")\n }));\n}\nexport function getUserCaller() {\n if (!import.meta.dev) {\n return null;\n }\n const { source, line, column } = captureStackTrace().find((entry) => !entry.source.startsWith(distURL)) ?? {};\n if (!source) {\n return null;\n }\n return {\n source: source.replace(/^file:\\/\\//, \"\"),\n line,\n column\n };\n}\n","import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from \"vue\";\nimport { sanitizeStatusCode } from \"h3\";\nimport { decodePath, encodePath, hasProtocol, isScriptProtocol, joinURL, parseQuery, parseURL, withQuery } from \"ufo\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { PageRouteSymbol } from \"../components/injections.js\";\nimport { createError, showError } from \"./error.js\";\nimport { getUserTrace } from \"../utils.js\";\nexport const useRouter = () => {\n return useNuxtApp()?.$router;\n};\nexport const useRoute = () => {\n if (import.meta.dev && !getCurrentInstance() && isProcessingMiddleware()) {\n const middleware = useNuxtApp()._processingMiddleware;\n const trace = getUserTrace().map(({ source, line, column }) => `at ${source}:${line}:${column}`).join(\"\\n\");\n console.warn(`[nuxt] \\`useRoute\\` was called within middleware${typeof middleware === \"string\" ? ` (\\`${middleware}\\`)` : \"\"}. This may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes. Learn more: https://nuxt.com/docs/3.x/directory-structure/middleware#accessing-route-in-middleware` + (\"\\n\" + trace));\n }\n if (hasInjectionContext()) {\n return inject(PageRouteSymbol, useNuxtApp()._route);\n }\n return useNuxtApp()._route;\n};\nexport const onBeforeRouteLeave = (guard) => {\n const unsubscribe = useRouter().beforeEach((to, from, next) => {\n if (to === from) {\n return;\n }\n return guard(to, from, next);\n });\n onScopeDispose(unsubscribe);\n};\nexport const onBeforeRouteUpdate = (guard) => {\n const unsubscribe = useRouter().beforeEach(guard);\n onScopeDispose(unsubscribe);\n};\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtRouteMiddleware(middleware) {\n return middleware;\n}\nexport const addRouteMiddleware = (name, middleware, options = {}) => {\n const nuxtApp = useNuxtApp();\n const global = options.global || typeof name !== \"string\";\n const mw = typeof name !== \"string\" ? name : middleware;\n if (!mw) {\n console.warn(\"[nuxt] No route middleware passed to `addRouteMiddleware`.\", name);\n return;\n }\n if (global) {\n nuxtApp._middleware.global.push(mw);\n } else {\n nuxtApp._middleware.named[name] = mw;\n }\n};\nconst isProcessingMiddleware = () => {\n try {\n if (useNuxtApp()._processingMiddleware) {\n return true;\n }\n } catch {\n return false;\n }\n return false;\n};\nconst HTML_ATTR_UNSAFE_RE = /[&\"'<>]/g;\nconst HTML_ATTR_ENCODE_MAP = {\n \"&\": \"%26\",\n '\"': \"%22\",\n \"'\": \"%27\",\n \"<\": \"%3C\",\n \">\": \"%3E\"\n};\nfunction encodeForHtmlAttr(value) {\n return value.replace(HTML_ATTR_UNSAFE_RE, (c) => HTML_ATTR_ENCODE_MAP[c]);\n}\nexport const navigateTo = (to, options) => {\n to ||= \"/\";\n const toPath = typeof to === \"string\" ? to : \"path\" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;\n if (import.meta.client && options?.open) {\n const { protocol } = new URL(toPath, window.location.href);\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n const { target = \"_blank\", windowFeatures = {} } = options.open;\n const features = [];\n for (const [feature, value] of Object.entries(windowFeatures)) {\n if (value !== void 0) {\n features.push(`${feature.toLowerCase()}=${value}`);\n }\n }\n open(toPath, target, features.join(\", \"));\n return Promise.resolve();\n }\n const isExternalHost = hasProtocol(toPath, { acceptRelative: true });\n const isExternal = options?.external || isExternalHost;\n if (isExternal) {\n if (!options?.external) {\n throw new Error(\"Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.\");\n }\n const { protocol } = new URL(toPath, import.meta.client ? window.location.href : \"http://localhost\");\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n }\n const inMiddleware = isProcessingMiddleware();\n if (import.meta.client && !isExternal && inMiddleware) {\n if (options?.replace) {\n if (typeof to === \"string\") {\n const { pathname, search, hash } = parseURL(to);\n return {\n path: pathname,\n ...search && { query: parseQuery(search) },\n ...hash && { hash },\n replace: true\n };\n }\n return { ...to, replace: true };\n }\n return to;\n }\n const router = useRouter();\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n const fullPath = typeof to === \"string\" || isExternal ? toPath : router.resolve(to).fullPath || \"/\";\n const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);\n const redirect = async function(response) {\n await nuxtApp.callHook(\"app:redirected\");\n const encodedHeader = encodeURL(location2, isExternalHost);\n const encodedLoc = encodeForHtmlAttr(encodedHeader);\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),\n body: ``,\n headers: { location: encodedHeader }\n };\n return response;\n };\n if (!isExternal && inMiddleware) {\n router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);\n return to;\n }\n return redirect(!inMiddleware ? void 0 : (\n /* abort route navigation */\n false\n ));\n }\n }\n if (isExternal) {\n nuxtApp._scope.stop();\n if (options?.replace) {\n location.replace(toPath);\n } else {\n location.href = toPath;\n }\n if (inMiddleware) {\n if (!nuxtApp.isHydrating) {\n return false;\n }\n return new Promise(() => {\n });\n }\n return Promise.resolve();\n }\n const encodedTo = typeof to === \"string\" ? encodeRoutePath(to) : to;\n return options?.replace ? router.replace(encodedTo) : router.push(encodedTo);\n};\nexport const abortNavigation = (err) => {\n if (import.meta.dev && !isProcessingMiddleware()) {\n throw new Error(\"abortNavigation() is only usable inside a route middleware handler.\");\n }\n if (!err) {\n return false;\n }\n err = createError(err);\n if (err.fatal) {\n useNuxtApp().runWithContext(() => showError(err));\n }\n throw err;\n};\nexport const setPageLayout = (layout, props) => {\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (import.meta.dev && getCurrentInstance() && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.\");\n }\n nuxtApp.payload.state._layout = layout;\n nuxtApp.payload.state._layoutProps = props;\n }\n if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.\");\n }\n const inMiddleware = isProcessingMiddleware();\n if (inMiddleware || import.meta.server || nuxtApp.isHydrating) {\n const unsubscribe = useRouter().beforeResolve((to) => {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n unsubscribe();\n });\n }\n if (!inMiddleware) {\n const route = useRoute();\n route.meta.layout = layout;\n route.meta.layoutProps = props;\n if (import.meta.client) {\n const unsubscribe = useRouter().beforeResolve((to, from) => {\n if (to.path === from.path) {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n } else {\n unsubscribe();\n }\n });\n onScopeDispose(unsubscribe, true);\n }\n }\n};\nexport function resolveRouteObject(to) {\n return withQuery(to.path || \"\", to.query || {}) + (to.hash || \"\");\n}\nexport function encodeURL(location2, isExternalHost = false) {\n const url = new URL(location2, \"http://localhost\");\n if (!isExternalHost) {\n const pathname = url.pathname.replace(/^\\/{2,}/, \"/\");\n return pathname + url.search + url.hash;\n }\n if (location2.startsWith(\"//\")) {\n return url.toString().replace(url.protocol, \"\");\n }\n return url.toString();\n}\nexport function encodeRoutePath(url) {\n const parsed = parseURL(url);\n return encodePath(decodePath(parsed.pathname)) + parsed.search + parsed.hash;\n}\n","import { createError as createH3Error } from \"h3\";\nimport { toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nimport { nuxtDefaultErrorValue } from \"#build/nuxt.config.mjs\";\nexport const NUXT_ERROR_SIGNATURE = \"__nuxt_error\";\nexport const useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, \"error\");\nexport const showError = (error) => {\n const nuxtError = createError(error);\n try {\n const error2 = /* @__PURE__ */ useError();\n if (import.meta.client) {\n const nuxtApp = useNuxtApp();\n nuxtApp.hooks.callHook(\"app:error\", nuxtError);\n }\n error2.value ||= nuxtError;\n } catch {\n throw nuxtError;\n }\n return nuxtError;\n};\nexport const clearError = async (options = {}) => {\n const nuxtApp = useNuxtApp();\n const error = /* @__PURE__ */ useError();\n nuxtApp.callHook(\"app:error:cleared\", options);\n if (options.redirect) {\n await useRouter().replace(options.redirect);\n }\n error.value = nuxtDefaultErrorValue;\n};\nexport const isNuxtError = (error) => !!error && typeof error === \"object\" && NUXT_ERROR_SIGNATURE in error;\nexport const createError = (error) => {\n if (typeof error !== \"string\" && error.statusText) {\n error.message ??= error.statusText;\n }\n const nuxtError = createH3Error(error);\n Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {\n value: true,\n configurable: false,\n writable: false\n });\n Object.defineProperty(nuxtError, \"status\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusCode,\n configurable: true\n });\n Object.defineProperty(nuxtError, \"statusText\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusMessage,\n configurable: true\n });\n return nuxtError;\n};\n","import { hasInjectionContext, inject } from \"vue\";\nimport {\n useHead as headCore,\n useHeadSafe as headSafe,\n headSymbol,\n useSeoMeta as seoMeta,\n useServerHead as serverHead,\n useServerHeadSafe as serverHeadSafe,\n useServerSeoMeta as serverSeoMeta\n} from \"@unhead/vue\";\nimport { tryUseNuxtApp } from \"#app/nuxt\";\nexport function injectHead(nuxtApp) {\n const nuxt = nuxtApp || tryUseNuxtApp();\n return nuxt?.ssrContext?.head || nuxt?.runWithContext(() => {\n if (hasInjectionContext()) {\n return inject(headSymbol);\n }\n });\n}\nexport function useHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headCore(input, { head, ...options });\n }\n}\nexport function useHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headSafe(input, { head, ...options });\n }\n}\nexport function useSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return seoMeta(input, { head, ...options });\n }\n}\nexport function useServerHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHead(input, { head, ...options });\n }\n}\nexport function useServerHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHeadSafe(input, { head, ...options });\n }\n}\nexport function useServerSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverSeoMeta(input, { head, ...options });\n }\n}\n","\n import { defu } from 'defu'\n const matcher = (m,p)=>{return [];}\n export default (path) => defu({}, ...matcher('', typeof path === 'string' ? path.toLowerCase() : path).map(r => r.data).reverse())\n ","import { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nlet manifest;\nfunction fetchManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n let _manifest;\n if (import.meta.server) {\n _manifest = import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n \"#app-manifest\"\n );\n } else {\n _manifest = $fetch(buildAssetsURL(`builds/meta/${useRuntimeConfig().app.buildId}.json`), {\n responseType: \"json\"\n }).then((res) => {\n if (!res || typeof res !== \"object\" || !Array.isArray(res.prerendered)) {\n throw new Error(\"[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.\");\n }\n return res;\n });\n }\n manifest = _manifest;\n _manifest.catch((e) => {\n if (manifest === _manifest) {\n manifest = void 0;\n }\n console.error(\"[nuxt] Error fetching app manifest.\", e);\n });\n return _manifest;\n}\nexport function getAppManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~preloadManifest\"] = true;\n }\n return manifest || fetchManifest();\n}\nexport function getRouteRules(arg) {\n const path = typeof arg === \"string\" ? arg : arg.path;\n try {\n return routeRulesMatcher(path.toLowerCase());\n } catch (e) {\n console.error(\"[nuxt] Error matching route rules.\", e);\n return {};\n }\n}\n","import { hasProtocol, joinURL } from \"ufo\";\nimport { parse } from \"devalue\";\nimport { getCurrentInstance, onServerPrefetch, reactive } from \"vue\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useHead } from \"./head.js\";\nimport { useRoute } from \"./router.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { appId, appManifest, multiApp, payloadExtraction, renderJsonPayloads } from \"#build/nuxt.config.mjs\";\nexport async function loadPayload(url, opts = {}) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n if (await shouldLoadPayload(url)) {\n const payloadURL = await _getPayloadURL(url, opts);\n return await _importPayload(payloadURL) || null;\n }\n return null;\n}\nlet linkRelType;\nfunction detectLinkRelType() {\n if (import.meta.server) {\n return \"preload\";\n }\n if (linkRelType) {\n return linkRelType;\n }\n const relList = document.createElement(\"link\").relList;\n linkRelType = relList && relList.supports && relList.supports(\"prefetch\") ? \"prefetch\" : \"preload\";\n return linkRelType;\n}\nexport function preloadPayload(url, opts = {}) {\n const nuxtApp = useNuxtApp();\n const promise = shouldLoadPayload(url).then(async (shouldPreload) => {\n if (!shouldPreload) {\n return;\n }\n const payloadURL = await _getPayloadURL(url, opts);\n const link = renderJsonPayloads ? { rel: detectLinkRelType(), as: \"fetch\", crossorigin: \"anonymous\", href: payloadURL } : { rel: \"modulepreload\", crossorigin: \"\", href: payloadURL };\n if (import.meta.server) {\n nuxtApp.runWithContext(() => useHead({ link: [link] }));\n } else {\n const linkEl = document.createElement(\"link\");\n for (const key of Object.keys(link)) {\n linkEl[key === \"crossorigin\" ? \"crossOrigin\" : key] = link[key];\n }\n document.head.appendChild(linkEl);\n return new Promise((resolve, reject) => {\n linkEl.addEventListener(\"load\", () => resolve());\n linkEl.addEventListener(\"error\", () => reject());\n });\n }\n });\n if (import.meta.server) {\n onServerPrefetch(() => promise);\n }\n return promise;\n}\nconst filename = renderJsonPayloads ? \"_payload.json\" : \"_payload.js\";\nasync function _getPayloadURL(url, opts = {}) {\n const u = new URL(url, \"http://localhost\");\n if (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) {\n throw new Error(\"Payload URL must not include hostname: \" + url);\n }\n const config = useRuntimeConfig();\n const hash = opts.hash || (opts.fresh || import.meta.dev ? Date.now() : config.app.buildId);\n const cdnURL = config.app.cdnURL;\n const baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n return joinURL(baseOrCdnURL, u.pathname, filename + (hash ? `?${hash}` : \"\"));\n}\nasync function _importPayload(payloadURL) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n try {\n if (renderJsonPayloads) {\n const res = await fetch(payloadURL, import.meta.dev ? {} : { cache: \"force-cache\" });\n if (!res.ok) {\n if (import.meta.dev) {\n console.warn(`[nuxt] Cannot load payload ${payloadURL}: ${res.status} ${res.statusText}`);\n }\n return null;\n }\n return await parsePayload(await res.text());\n } else {\n return await import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n payloadURL\n ).then((r) => r.default || r);\n }\n } catch (err) {\n console.warn(\"[nuxt] Cannot load payload \", payloadURL, err);\n }\n return null;\n}\nfunction _shouldLoadPrerenderedPayload(rules) {\n if (rules.redirect) {\n return false;\n }\n if (rules.prerender) {\n return true;\n }\n}\nasync function _isPrerenderedInManifest(url) {\n if (!appManifest) {\n return false;\n }\n url = url === \"/\" ? url : url.replace(/\\/$/, \"\");\n try {\n const manifest = await getAppManifest();\n return manifest.prerendered.includes(url);\n } catch {\n return false;\n }\n}\nexport async function shouldLoadPayload(url = useRoute().path) {\n const rules = getRouteRules({ path: url });\n if (rules.ssr === false) {\n return false;\n }\n const res = _shouldLoadPrerenderedPayload(rules);\n if (res !== void 0) {\n return res;\n }\n if (rules.payload) {\n return true;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nexport async function isPrerendered(url = useRoute().path) {\n const res = _shouldLoadPrerenderedPayload(getRouteRules({ path: url }));\n if (res !== void 0) {\n return res;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nlet payloadCache = null;\nexport async function getNuxtClientPayload() {\n if (import.meta.server) {\n return null;\n }\n if (payloadCache) {\n return payloadCache;\n }\n const el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n if (!el) {\n return {};\n }\n const inlineData = await parsePayload(el.textContent || \"\");\n const externalData = el.dataset.src ? await _importPayload(el.dataset.src) : void 0;\n payloadCache = {\n ...inlineData,\n ...externalData,\n ...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n };\n if (payloadCache.config?.public) {\n payloadCache.config.public = reactive(payloadCache.config.public);\n }\n return payloadCache;\n}\nexport async function parsePayload(payload) {\n return await parse(payload, useNuxtApp()._payloadRevivers);\n}\nexport function definePayloadReducer(name, reduce) {\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~payloadReducers\"][name] = reduce;\n }\n}\nexport function definePayloadReviver(name, revive) {\n if (import.meta.dev && getCurrentInstance()) {\n console.warn(\"[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\");\n }\n if (import.meta.client) {\n useNuxtApp()._payloadRevivers[name] = revive;\n }\n}\n","import {\n definePayloadPlugin,\n definePayloadReducer,\n definePayloadReviver\n} from \"#imports\";\nimport { shouldHydrate } from \"pinia\";\nconst payloadPlugin = definePayloadPlugin(() => {\n definePayloadReducer(\n \"skipHydrate\",\n // We need to return something truthy to be treated as a match\n (data) => !shouldHydrate(data) && 1\n );\n definePayloadReviver(\"skipHydrate\", (_data) => void 0);\n});\nexport default payloadPlugin;\n","export function freezeHead(head) {\n const realPush = head.push;\n head.push = () => ({ dispose: () => {\n }, patch: () => {\n }, _poll: () => {\n } });\n return () => {\n head.push = realPush;\n };\n}\n","import { createHead as createClientHead, renderDOMHead } from \"@unhead/vue/client\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\nimport { freezeHead } from \"../island-head.js\";\nimport unheadOptions from \"#build/unhead-options.mjs\";\nexport default defineNuxtPlugin({\n name: \"nuxt:head\",\n enforce: \"pre\",\n setup(nuxtApp) {\n const head = import.meta.server ? nuxtApp.ssrContext.head : createClientHead(unheadOptions);\n if (import.meta.server && nuxtApp.ssrContext.islandContext) {\n const unfreeze = freezeHead(head);\n nuxtApp.hooks.hookOnce(\"app:created\", unfreeze);\n }\n nuxtApp.vueApp.use(head);\n if (import.meta.client) {\n let pauseDOMUpdates = true;\n const syncHead = async () => {\n pauseDOMUpdates = false;\n await renderDOMHead(head);\n };\n head.hooks.hook(\"dom:beforeRender\", (context) => {\n context.shouldRender = !pauseDOMUpdates;\n });\n nuxtApp.hooks.hook(\"page:start\", () => {\n pauseDOMUpdates = true;\n });\n nuxtApp.hooks.hook(\"page:finish\", () => {\n if (!nuxtApp.isHydrating) {\n syncHead();\n }\n });\n nuxtApp.hooks.hook(\"app:error\", syncHead);\n nuxtApp.hooks.hook(\"app:suspense:resolve\", syncHead);\n const originalPush = head.push.bind(head);\n head.push = ((input, options) => {\n const entry = originalPush(input, options);\n const originalDispose = entry.dispose.bind(entry);\n entry.dispose = () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(originalDispose);\n } else {\n originalDispose();\n }\n };\n return entry;\n });\n }\n }\n});\n","import { KeepAlive, h } from \"vue\";\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nconst interpolatePath = (route, match) => {\n return match.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nexport const generateRouteKey = (routeProps, override) => {\n const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n return typeof source === \"function\" ? source(routeProps.route) : source;\n};\nexport const wrapInKeepAlive = (props, children) => {\n return { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n const router = import.meta.hot.data.router\n const generateRoutes = import.meta.hot.data.generateRoutes\n if (!router || !generateRoutes) {\n import.meta.hot.invalidate('[nuxt] Cannot replace routes because there is no active router. Reloading.')\n return\n }\n const addedRoutes = router.getRoutes().filter(r => !r._initial)\n router.clearRoutes()\n const routes = generateRoutes(mod.default || mod)\n function addRoutes (routes) {\n for (const route of routes) {\n router.addRoute(route)\n }\n for (const route of router.getRoutes()) {\n route._initial = true\n }\n for (const route of addedRoutes) {\n router.addRoute(route)\n }\n router.isReady().then(() => {\n // Resolve the current path against the new routes to get updated meta\n const newRoute = router.resolve(router.currentRoute.value.fullPath)\n // Clear old meta values and assign new ones\n for (const key of Object.keys(router.currentRoute.value.meta)) {\n delete router.currentRoute.value.meta[key]\n }\n Object.assign(router.currentRoute.value.meta, newRoute.meta)\n })\n }\n if (routes && 'then' in routes) {\n routes.then(addRoutes)\n } else {\n addRoutes(routes)\n }\n })\n}\n\nexport function handleHotUpdate(_router, _generateRoutes) {\n if (import.meta.hot) {\n import.meta.hot.data ||= {}\n import.meta.hot.data.router = _router\n import.meta.hot.data.generateRoutes = _generateRoutes\n for (const route of _router.getRoutes()) {\n route._initial = true\n }\n }\n}\nimport { default as indexndqPXFtP262szLmLJV4PriPTgAg5k_457f05QyTfosBXQMeta } from \"/app/pages/index.vue?macro=true\";\nimport { default as loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta } from \"/app/pages/login.vue?macro=true\";\nimport { default as indexmGB0sc77z4nVdouTyxGPwq1E4nqHwF5EhzkXRcpUofYMeta } from \"/app/pages/garages/index.vue?macro=true\";\nimport { default as index4QOTtNxyMkSDhg1SvMqdYexX0LysiSHughzzK0HxGl0Meta } from \"/app/pages/packages/index.vue?macro=true\";\nimport { default as indexmFHuXm1TRDyTx4rDob8_G9bfnp43YCs_HCFMFiG56X4Meta } from \"/app/pages/permissions/index.vue?macro=true\";\nexport default [\n {\n name: \"index\",\n path: \"/\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/index.vue\")\n },\n {\n name: \"login\",\n path: \"/login\",\n component: () => import(\"/app/pages/login.vue\")\n },\n {\n name: \"garages\",\n path: \"/garages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/garages/index.vue\")\n },\n {\n name: \"packages\",\n path: \"/packages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/packages/index.vue\")\n },\n {\n name: \"permissions\",\n path: \"/permissions\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/permissions/index.vue\")\n }\n]","import { Transition, createStaticVNode, h } from \"vue\";\nimport { defu } from \"defu\";\nimport { isString, isPromise, isArray, isObject } from \"@vue/shared\";\nimport { START_LOCATION } from \"#build/pages\";\nexport const _wrapInTransition = (props, children) => {\n return { default: () => import.meta.client && props ? h(Transition, props === true ? {} : props, children) : children.default?.() };\n};\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nfunction generateRouteKey(route) {\n const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n return typeof source === \"function\" ? source(route) : source;\n}\nexport function isChangingPage(to, from) {\n if (to === from || from === START_LOCATION) {\n return false;\n }\n if (generateRouteKey(to) !== generateRouteKey(from)) {\n return true;\n }\n const areComponentsSame = to.matched.every(\n (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default\n );\n if (areComponentsSame) {\n return false;\n }\n return true;\n}\nexport function createBuffer() {\n let appendable = false;\n const buffer = [];\n return {\n getBuffer() {\n return buffer;\n },\n push(item) {\n const isStringItem = isString(item);\n if (appendable && isStringItem) {\n buffer[buffer.length - 1] += item;\n } else {\n buffer.push(item);\n }\n appendable = isStringItem;\n if (isPromise(item) || isArray(item) && item.hasAsync) {\n buffer.hasAsync = true;\n }\n }\n };\n}\nexport function vforToArray(source) {\n if (isArray(source)) {\n return source;\n } else if (isString(source)) {\n return source.split(\"\");\n } else if (typeof source === \"number\") {\n if (import.meta.dev && !Number.isInteger(source)) {\n console.warn(`The v-for range expect an integer value but got ${source}.`);\n }\n const array = [];\n for (let i = 0; i < source; i++) {\n array[i] = i;\n }\n return array;\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n return Array.from(\n source,\n (item) => item\n );\n } else {\n const keys = Object.keys(source);\n const array = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n array[i] = source[key];\n }\n return array;\n }\n }\n return [];\n}\nexport function getFragmentHTML(element, withoutSlots = false) {\n if (element) {\n if (element.nodeName === \"#comment\" && element.nodeValue === \"[\") {\n return getFragmentChildren(element, [], withoutSlots);\n }\n if (withoutSlots) {\n const clone = element.cloneNode(true);\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n return [clone.outerHTML];\n }\n return [element.outerHTML];\n }\n}\nfunction getFragmentChildren(element, blocks = [], withoutSlots = false) {\n if (element && element.nodeName) {\n if (isEndFragment(element)) {\n return blocks;\n } else if (!isStartFragment(element)) {\n const clone = element.cloneNode(true);\n if (withoutSlots) {\n clone.querySelectorAll?.(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n }\n blocks.push(clone.outerHTML);\n }\n getFragmentChildren(element.nextSibling, blocks, withoutSlots);\n }\n return blocks;\n}\nexport function elToStaticVNode(el, staticNodeFallback) {\n const fragment = el ? getFragmentHTML(el) : staticNodeFallback ? [staticNodeFallback] : void 0;\n if (fragment) {\n return createStaticVNode(fragment.join(\"\"), fragment.length);\n }\n return h(\"div\");\n}\nexport function isStartFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"[\";\n}\nexport function isEndFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"]\";\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function _mergeTransitionProps(routeProps) {\n const _props = [];\n for (const prop of routeProps) {\n if (!prop) {\n continue;\n }\n _props.push({\n ...prop,\n onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : void 0,\n onBeforeLeave: prop.onBeforeLeave ? toArray(prop.onBeforeLeave) : void 0\n });\n }\n return defu(..._props);\n}\n","import { START_LOCATION } from \"vue-router\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { isChangingPage } from \"#app/components/utils\";\nimport { useRouter } from \"#app/composables/router\";\nexport default {\n scrollBehavior(to, from, savedPosition) {\n const nuxtApp = useNuxtApp();\n const hashScrollBehaviour = useRouter().options?.scrollBehaviorType ?? \"auto\";\n if (to.path.replace(/\\/$/, \"\") === from.path.replace(/\\/$/, \"\")) {\n if (from.hash && !to.hash) {\n return { left: 0, top: 0 };\n }\n if (to.hash) {\n return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior: hashScrollBehaviour };\n }\n return false;\n }\n const routeAllowsScrollToTop = typeof to.meta.scrollToTop === \"function\" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;\n if (routeAllowsScrollToTop === false) {\n return false;\n }\n if (from === START_LOCATION) {\n return _calculatePosition(to, from, savedPosition, hashScrollBehaviour);\n }\n return new Promise((resolve) => {\n const doScroll = () => {\n requestAnimationFrame(() => resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour)));\n };\n nuxtApp.hooks.hookOnce(\"page:loading:end\", () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(doScroll);\n } else {\n doScroll();\n }\n });\n });\n }\n};\nfunction _getHashElementScrollMarginTop(selector) {\n try {\n const elem = document.querySelector(selector);\n if (elem) {\n return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop) || 0);\n }\n } catch {\n }\n return 0;\n}\nfunction _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) {\n if (savedPosition) {\n return savedPosition;\n }\n if (to.hash) {\n return {\n el: to.hash,\n top: _getHashElementScrollMarginTop(to.hash),\n behavior: isChangingPage(to, from) ? defaultHashScrollBehaviour : \"instant\"\n };\n }\n return {\n left: 0,\n top: 0\n };\n}\n","import routerOptions0 from \"/app/node_modules/nuxt/dist/pages/runtime/router.options.js\";\nconst configRouterOptions = {\n hashMode: false,\n scrollBehaviorType: \"auto\"\n}\nexport const hashMode = false\nexport default {\n...configRouterOptions,\n...routerOptions0,\n}","import { createError } from \"#app/composables/error\";\nimport { defineNuxtRouteMiddleware } from \"#app/composables/router\";\nexport default defineNuxtRouteMiddleware(async (to, from) => {\n if (!to.meta?.validate) {\n return;\n }\n const result = await Promise.resolve(to.meta.validate(to));\n if (result === true) {\n return;\n }\n const error = createError({\n fatal: import.meta.client,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n status: result && (result.status || result.statusCode) || 404,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n });\n if (typeof window !== \"undefined\") {\n window.history.pushState({}, \"\", from.fullPath);\n }\n return error;\n});\n","import { hasProtocol } from \"ufo\";\nimport { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nexport default defineNuxtRouteMiddleware((to) => {\n if (import.meta.server || import.meta.test) {\n return;\n }\n const rules = getRouteRules({ path: to.path });\n if (rules.redirect) {\n const path = rules.redirect.includes(\"#\") ? rules.redirect : rules.redirect + to.hash;\n if (hasProtocol(path, { acceptRelative: true })) {\n window.location.href = path;\n return false;\n }\n return path;\n }\n});\n","import validate from \"/app/node_modules/nuxt/dist/pages/runtime/validate.js\";\nimport manifest_45route_45rule from \"/app/node_modules/nuxt/dist/app/middleware/route-rules.js\";\nexport const globalMiddleware = [\n validate,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {\n auth: () => import(\"/app/middleware/auth.ts\")\n}","import { defineAsyncComponent } from 'vue'\nexport const islandComponents = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})\nexport const pageIslandRoutes = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})","import { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { isSamePath, withoutBase } from \"ufo\";\nimport { toArray } from \"../utils.js\";\nimport { getRouteRules } from \"#app/composables/manifest\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport { clearError, createError, isNuxtError, showError, useError } from \"#app/composables/error\";\nimport { navigateTo } from \"#app/composables/router\";\nimport _routes, { handleHotUpdate } from \"#build/routes\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nimport { pageIslandRoutes } from \"#build/components.islands.mjs\";\nfunction createCurrentLocation(base, location, renderedPath) {\n const { pathname, search, hash } = location;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n const slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\") {\n pathFromHash = \"/\" + pathFromHash;\n }\n return withoutBase(pathFromHash, \"\");\n }\n const displayedPath = withoutBase(pathname, base);\n const path = !renderedPath || isSamePath(displayedPath, renderedPath) ? displayedPath : renderedPath;\n return path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n name: \"nuxt:router\",\n enforce: \"pre\",\n async setup(nuxtApp) {\n let routerBase = useRuntimeConfig().app.baseURL;\n if (hashMode && !routerBase.includes(\"#\")) {\n routerBase += \"#\";\n }\n const history = routerOptions.history?.(routerBase) ?? (import.meta.client ? hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n const routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n let startPosition;\n const router = createRouter({\n ...routerOptions,\n scrollBehavior: (to, from, savedPosition) => {\n if (from === START_LOCATION) {\n startPosition = savedPosition;\n return;\n }\n if (routerOptions.scrollBehavior) {\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n if (\"scrollRestoration\" in window.history) {\n const unsub = router.beforeEach(() => {\n unsub();\n window.history.scrollRestoration = \"manual\";\n });\n }\n return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n }\n },\n history,\n routes\n });\n if (import.meta.hot) {\n handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes2) => routes2);\n }\n if (import.meta.client && \"scrollRestoration\" in window.history) {\n window.history.scrollRestoration = \"auto\";\n }\n nuxtApp.vueApp.use(router);\n const previousRoute = shallowRef(router.currentRoute.value);\n router.afterEach((_to, from) => {\n previousRoute.value = from;\n });\n Object.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", {\n get: () => previousRoute.value\n });\n const initialURL = import.meta.server ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n const _route = shallowRef(router.currentRoute.value);\n const syncCurrentRoute = () => {\n _route.value = router.currentRoute.value;\n };\n router.afterEach((to, from) => {\n const lastTo = to.matched.at(-1)?.components?.default;\n const lastFrom = from.matched.at(-1)?.components?.default;\n if (lastTo === lastFrom) {\n syncCurrentRoute();\n return;\n }\n if (to.matched.length < from.matched.length && to.matched.every((m, i) => m.components?.default === from.matched[i]?.components?.default)) {\n syncCurrentRoute();\n }\n });\n const route = { sync: syncCurrentRoute };\n for (const key in _route.value) {\n Object.defineProperty(route, key, {\n get: () => _route.value[key],\n enumerable: true\n });\n }\n nuxtApp._route = shallowReactive(route);\n nuxtApp._middleware ||= {\n global: [],\n named: {}\n };\n const error = useError();\n const isServerPage = import.meta.server && nuxtApp.ssrContext?.islandContext?.name?.startsWith(\"page_\");\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n router.afterEach(async (to, _from, failure) => {\n delete nuxtApp._processingMiddleware;\n if (import.meta.client && !nuxtApp.isHydrating && error.value) {\n await nuxtApp.runWithContext(clearError);\n }\n if (failure) {\n await nuxtApp.callHook(\"page:loading:end\");\n }\n if (import.meta.server && failure?.type === 4) {\n return;\n }\n if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) {\n await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n }\n });\n }\n try {\n if (import.meta.server) {\n await router.push(initialURL);\n }\n await router.isReady();\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n const hasDeferredRoute = import.meta.client && nuxtApp.isHydrating && nuxtApp.payload.prerenderedAt && nuxtApp.payload.path && initialURL !== nuxtApp.payload.path && isSamePath(router.currentRoute.value.path, nuxtApp.payload.path);\n syncCurrentRoute();\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && !isServerPage) {\n return { provide: { router } };\n }\n const initialLayout = nuxtApp.payload.state._layout;\n router.beforeEach(async (to, from) => {\n await nuxtApp.callHook(\"page:loading:start\");\n to.meta = reactive(to.meta);\n if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {\n to.meta.layout = initialLayout;\n }\n nuxtApp._processingMiddleware = true;\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n for (const component of to.matched) {\n const componentMiddleware = component.meta.middleware;\n if (!componentMiddleware) {\n continue;\n }\n for (const entry of toArray(componentMiddleware)) {\n middlewareEntries.add(entry);\n }\n }\n const routeRules = getRouteRules({ path: to.path });\n if (routeRules.appMiddleware) {\n for (const key in routeRules.appMiddleware) {\n if (routeRules.appMiddleware[key]) {\n middlewareEntries.add(key);\n } else {\n middlewareEntries.delete(key);\n }\n }\n }\n for (const entry of middlewareEntries) {\n const middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n if (!middleware) {\n if (import.meta.dev) {\n throw new Error(`Unknown route middleware: '${entry}'. Valid middleware: ${Object.keys(namedMiddleware).map((mw) => `'${mw}'`).join(\", \")}.`);\n }\n throw new Error(`Unknown route middleware: '${entry}'.`);\n }\n try {\n if (import.meta.dev) {\n nuxtApp._processingMiddleware = middleware._path || (typeof entry === \"string\" ? entry : true);\n }\n const result = await nuxtApp.runWithContext(() => middleware(to, from));\n if (import.meta.server || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n if (result === false || result instanceof Error) {\n const error2 = result || createError({\n status: 404,\n statusText: `Page Not Found: ${initialURL}`\n });\n await nuxtApp.runWithContext(() => showError(error2));\n return false;\n }\n }\n if (result === true) {\n continue;\n }\n if (result === false) {\n return result;\n }\n if (result) {\n if (isNuxtError(result) && result.fatal) {\n await nuxtApp.runWithContext(() => showError(result));\n }\n return result;\n }\n } catch (err) {\n const error2 = createError(err);\n if (error2.fatal) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n return error2;\n }\n }\n }\n });\n if (isServerPage) {\n router.beforeResolve((to) => {\n const expected = pageIslandRoutes[nuxtApp.ssrContext.islandContext.name];\n const actual = to.matched.find((m) => m.components?.default?.__nuxt_island)?.components?.default;\n if (!expected || expected !== actual?.__nuxt_island) {\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: 400,\n statusMessage: \"Invalid island request path\"\n };\n return false;\n }\n });\n }\n router.onError(async () => {\n delete nuxtApp._processingMiddleware;\n await nuxtApp.callHook(\"page:loading:end\");\n });\n router.afterEach((to) => {\n if (to.matched.length === 0 && !error.value) {\n return nuxtApp.runWithContext(() => showError(createError({\n status: 404,\n fatal: false,\n statusText: `Page not found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n })));\n }\n });\n nuxtApp.hooks.hookOnce(\"app:created\", async () => {\n try {\n if (\"name\" in resolvedInitialRoute) {\n resolvedInitialRoute.name = void 0;\n }\n if (hasDeferredRoute) {\n const payloadRoute = router.resolve(nuxtApp.payload.path);\n if (\"name\" in payloadRoute) {\n payloadRoute.name = void 0;\n }\n await router.replace({ ...payloadRoute, force: true });\n nuxtApp.hooks.hookOnce(\"app:suspense:resolve\", async () => {\n await router.replace({ ...resolvedInitialRoute, force: true });\n });\n } else {\n await router.replace({\n ...resolvedInitialRoute,\n force: true\n });\n }\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n });\n return { provide: { router } };\n }\n});\nexport default plugin;\n","import { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { defineNuxtPlugin } from \"../nuxt.js\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\nimport { isValidIslandKey } from \"./utils.js\";\nconst reducers = [\n [\"NuxtError\", (data) => isNuxtError(data) && data.toJSON()],\n [\"EmptyShallowRef\", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"EmptyRef\", (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"ShallowRef\", (data) => isRef(data) && isShallow(data) && data.value],\n [\"ShallowReactive\", (data) => isReactive(data) && isShallow(data) && toRaw(data)],\n [\"Ref\", (data) => isRef(data) && data.value],\n [\"Reactive\", (data) => isReactive(data) && toRaw(data)]\n];\nif (componentIslands) {\n reducers.push([\"Island\", (data) => data && data?.__nuxt_island && isValidIslandKey(data.__nuxt_island.key) && data.__nuxt_island]);\n}\nexport default defineNuxtPlugin({\n name: \"nuxt:revive-payload:server\",\n setup() {\n for (const [reducer, fn] of reducers) {\n definePayloadReducer(reducer, fn);\n }\n }\n});\n","import { createElementBlock, defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"ServerPlaceholder\",\n render() {\n return createElementBlock(\"div\");\n }\n});\n","import { cloneVNode, createElementBlock, defineComponent, getCurrentInstance, h, onMounted, provide, shallowRef } from \"vue\";\nimport { isPromise } from \"@vue/shared\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport ServerPlaceholder from \"./server-placeholder.js\";\nimport { elToStaticVNode } from \"./utils.js\";\nexport const clientOnlySymbol = Symbol.for(\"nuxt:client-only\");\nconst STATIC_DIV = \"
\";\nexport default defineComponent({\n name: \"ClientOnly\",\n inheritAttrs: false,\n props: [\"fallback\", \"placeholder\", \"placeholderTag\", \"fallbackTag\"],\n ...import.meta.dev && {\n slots: Object\n },\n setup(props, { slots, attrs }) {\n const mounted = shallowRef(false);\n onMounted(() => {\n mounted.value = true;\n });\n if (import.meta.dev) {\n const nuxtApp = useNuxtApp();\n nuxtApp._isNuxtPageUsed = true;\n nuxtApp._isNuxtLayoutUsed = true;\n }\n const vm = getCurrentInstance();\n if (vm) {\n vm._nuxtClientOnly = true;\n }\n provide(clientOnlySymbol, true);\n return () => {\n if (mounted.value) {\n const vnodes = slots.default?.();\n if (vnodes && vnodes.length === 1) {\n return [cloneVNode(vnodes[0], attrs)];\n }\n return vnodes;\n }\n const slot = slots.fallback || slots.placeholder;\n if (slot) {\n return h(slot);\n }\n const fallbackStr = props.fallback || props.placeholder || \"\";\n const fallbackTag = props.fallbackTag || props.placeholderTag || \"span\";\n return createElementBlock(fallbackTag, attrs, fallbackStr);\n };\n }\n});\nconst cache = /* @__PURE__ */ new WeakMap();\n// @__NO_SIDE_EFFECTS__\nexport function createClientOnly(component) {\n if (import.meta.server) {\n return ServerPlaceholder;\n }\n if (cache.has(component)) {\n return cache.get(component);\n }\n const clone = { ...component };\n if (clone.render) {\n clone.render = (ctx, cache2, $props, $setup, $data, $options) => {\n if ($setup.mounted$ ?? ctx.mounted$) {\n const res = component.render?.bind(ctx)(ctx, cache2, $props, $setup, $data, $options);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(ctx._.vnode.el, STATIC_DIV);\n };\n } else {\n clone.template &&= `\n \n \n `;\n }\n clone.setup = (props, ctx) => {\n const nuxtApp = useNuxtApp();\n const mounted$ = shallowRef(nuxtApp.isHydrating === false);\n const instance = getCurrentInstance();\n if (nuxtApp.isHydrating) {\n const attrs = { ...instance.attrs };\n const directives = extractDirectives(instance);\n for (const key in attrs) {\n delete instance.attrs[key];\n }\n onMounted(() => {\n Object.assign(instance.attrs, attrs);\n instance.vnode.dirs = directives;\n });\n }\n onMounted(() => {\n mounted$.value = true;\n });\n const setupState = component.setup?.(props, ctx) || {};\n if (isPromise(setupState)) {\n return Promise.resolve(setupState).then((setupState2) => {\n if (typeof setupState2 !== \"function\") {\n setupState2 ||= {};\n setupState2.mounted$ = mounted$;\n return setupState2;\n }\n return (...args) => {\n if (mounted$.value || !nuxtApp.isHydrating) {\n const res = setupState2(...args);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n });\n } else {\n if (typeof setupState === \"function\") {\n return (...args) => {\n if (mounted$.value) {\n const res = setupState(...args);\n const attrs = clone.inheritAttrs !== false ? ctx.attrs : void 0;\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res, attrs) : h(res, attrs);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n }\n return Object.assign(setupState, { mounted$ });\n }\n };\n cache.set(component, clone);\n return clone;\n}\nfunction extractDirectives(instance) {\n if (!instance || !instance.vnode.dirs) {\n return null;\n }\n const directives = instance.vnode.dirs;\n instance.vnode.dirs = null;\n return directives;\n}\n","import { isRef, toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nconst useStateKeyPrefix = \"$s\";\nexport function useState(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [_key, init] = args;\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useState] key must be a string: \" + _key);\n }\n if (init !== void 0 && typeof init !== \"function\") {\n throw new Error(\"[nuxt] [useState] init must be a function: \" + init);\n }\n const key = useStateKeyPrefix + _key;\n const nuxtApp = useNuxtApp();\n const state = toRef(nuxtApp.payload.state, key);\n if (state.value === void 0 && init) {\n const initialValue = init();\n if (isRef(initialValue)) {\n nuxtApp.payload.state[key] = initialValue;\n return initialValue;\n }\n state.value = initialValue;\n }\n return state;\n}\nexport function clearNuxtState(keys) {\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.state).filter((key) => key.startsWith(useStateKeyPrefix)).map((key) => key.substring(useStateKeyPrefix.length));\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const _key of _keys) {\n const key = useStateKeyPrefix + _key;\n if (key in nuxtApp.payload.state) {\n nuxtApp.payload.state[key] = void 0;\n }\n }\n}\n","import { setResponseStatus as _setResponseStatus, appendHeader, getRequestHeader, getRequestHeaders, getResponseHeader, removeResponseHeader, setResponseHeader } from \"h3\";\nimport { computed, getCurrentInstance, ref } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { useHead } from \"./head.js\";\nexport function useRequestEvent(nuxtApp) {\n if (import.meta.client) {\n return;\n }\n nuxtApp ||= useNuxtApp();\n return nuxtApp.ssrContext?.event;\n}\nexport function useRequestHeaders(include) {\n if (import.meta.client) {\n return {};\n }\n const event = useRequestEvent();\n const _headers = event ? getRequestHeaders(event) : {};\n if (!include || !event) {\n return _headers;\n }\n const headers = /* @__PURE__ */ Object.create(null);\n for (const _key of include) {\n const key = _key.toLowerCase();\n const header = _headers[key];\n if (header) {\n headers[key] = header;\n }\n }\n return headers;\n}\nexport function useRequestHeader(header) {\n if (import.meta.client) {\n return void 0;\n }\n const event = useRequestEvent();\n return event ? getRequestHeader(event, header) : void 0;\n}\nexport function useRequestFetch() {\n if (import.meta.client) {\n return globalThis.$fetch;\n }\n return useRequestEvent()?.$fetch || globalThis.$fetch;\n}\nexport function setResponseStatus(arg1, arg2, arg3) {\n if (import.meta.client) {\n return;\n }\n if (arg1 && typeof arg1 !== \"number\") {\n return _setResponseStatus(arg1, arg2, arg3);\n }\n const event = useRequestEvent();\n if (event) {\n return _setResponseStatus(event, arg1, arg2);\n }\n}\nexport function useResponseHeader(header) {\n if (import.meta.client) {\n if (import.meta.dev) {\n return computed({\n get: () => void 0,\n set: () => console.warn(\"[nuxt] Setting response headers is not supported in the browser.\")\n });\n }\n return ref();\n }\n const event = useRequestEvent();\n return computed({\n get() {\n return getResponseHeader(event, header);\n },\n set(newValue) {\n if (!newValue) {\n return removeResponseHeader(event, header);\n }\n return setResponseHeader(event, header, newValue);\n }\n });\n}\nexport function prerenderRoutes(path) {\n if (!import.meta.server || !import.meta.prerender) {\n return;\n }\n const paths = toArray(path);\n appendHeader(useRequestEvent(), \"x-nitro-prerender\", paths.map((p) => encodeURIComponent(p)).join(\", \"));\n}\nconst PREHYDRATE_ATTR_KEY = \"data-prehydrate-id\";\nexport function onPrehydrate(callback, key) {\n if (import.meta.client) {\n return;\n }\n if (typeof callback !== \"string\") {\n throw new TypeError(\"[nuxt] To transform a callback into a string, `onPrehydrate` must be processed by the Nuxt build pipeline. If it is called in a third-party library, make sure to add the library to `build.transpile`.\");\n }\n const vm = getCurrentInstance();\n if (vm && key) {\n vm.attrs[PREHYDRATE_ATTR_KEY] ||= \"\";\n key = \":\" + key + \":\";\n if (!vm.attrs[PREHYDRATE_ATTR_KEY].includes(key)) {\n vm.attrs[PREHYDRATE_ATTR_KEY] += key;\n }\n }\n const code = vm && key ? `document.querySelectorAll('[${PREHYDRATE_ATTR_KEY}*=${JSON.stringify(key)}]').forEach` + callback : callback + \"()\";\n useHead({\n script: [{\n key: vm && key ? key : void 0,\n tagPosition: \"bodyClose\",\n tagPriority: \"critical\",\n innerHTML: code\n }]\n });\n return vm && key ? vm.attrs[PREHYDRATE_ATTR_KEY] : void 0;\n}\n","import { customRef, getCurrentScope, nextTick, onScopeDispose, ref, watch } from \"vue\";\nimport { parse, serialize } from \"cookie-es\";\nimport { deleteCookie, getCookie, getRequestHeader, setCookie } from \"h3\";\nimport destr from \"destr\";\nimport { isEqual } from \"ohash\";\nimport { klona } from \"klona\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRequestEvent } from \"./ssr.js\";\nimport { cookieStore } from \"#build/nuxt.config.mjs\";\nconst CookieDefaults = {\n path: \"/\",\n watch: true,\n decode: (val) => {\n const decoded = decodeURIComponent(val);\n const parsed = destr(decoded);\n if (typeof parsed === \"number\" && (!Number.isFinite(parsed) || String(parsed) !== decoded)) {\n return decoded;\n }\n return parsed;\n },\n encode: (val) => encodeURIComponent(typeof val === \"string\" ? val : JSON.stringify(val))\n};\nconst store = import.meta.client && cookieStore ? globalThis.cookieStore : void 0;\nexport function useCookie(name, _opts) {\n const opts = { ...CookieDefaults, ..._opts };\n opts.filter ??= (key) => key === name;\n const cookies = readRawCookies(opts) || {};\n let delay;\n if (opts.maxAge !== void 0) {\n delay = opts.maxAge * 1e3;\n } else if (opts.expires) {\n delay = opts.expires.getTime() - Date.now();\n }\n const hasExpired = delay !== void 0 && delay <= 0;\n const shouldSetInitialClientCookie = import.meta.client && (hasExpired || cookies[name] === void 0 || cookies[name] === null);\n const cookieValue = klona(hasExpired ? void 0 : cookies[name] ?? opts.default?.());\n const cookie = import.meta.client && delay && !hasExpired ? cookieRef(cookieValue, delay, opts.watch && opts.watch !== \"shallow\") : ref(cookieValue);\n if (import.meta.dev && hasExpired) {\n console.warn(`[nuxt] not setting cookie \\`${name}\\` as it has already expired.`);\n }\n if (import.meta.client) {\n let channel = null;\n try {\n if (!store && typeof BroadcastChannel !== \"undefined\") {\n channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n }\n } catch {\n }\n const callback = (force = false) => {\n if (!force) {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n }\n writeClientCookie(name, cookie.value, opts);\n cookies[name] = klona(cookie.value);\n channel?.postMessage({ value: opts.encode(cookie.value) });\n };\n const handleChange = (data) => {\n const value = data.refresh ? readRawCookies(opts)?.[name] : opts.decode(data.value);\n watchPaused = true;\n cookie.value = value;\n cookies[name] = klona(value);\n nextTick(() => {\n watchPaused = false;\n });\n };\n let watchPaused = false;\n const hasScope = !!getCurrentScope();\n if (hasScope) {\n onScopeDispose(() => {\n watchPaused = true;\n callback();\n channel?.close();\n });\n }\n if (store) {\n const changeHandler = (event) => {\n const changedCookie = event.changed.find((c) => c.name === name);\n const removedCookie = event.deleted.find((c) => c.name === name);\n if (changedCookie) {\n handleChange({ value: changedCookie.value });\n }\n if (removedCookie) {\n handleChange({ value: null });\n }\n };\n store.addEventListener(\"change\", changeHandler);\n if (hasScope) {\n onScopeDispose(() => store.removeEventListener(\"change\", changeHandler));\n }\n } else if (channel) {\n channel.onmessage = ({ data }) => handleChange(data);\n }\n if (opts.watch) {\n watch(\n cookie,\n () => {\n if (watchPaused) {\n return;\n }\n callback();\n },\n { deep: opts.watch !== \"shallow\" }\n );\n }\n if (shouldSetInitialClientCookie) {\n callback(shouldSetInitialClientCookie);\n }\n } else if (import.meta.server) {\n const nuxtApp = useNuxtApp();\n const writeFinalCookieValue = () => {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n nuxtApp._cookies ||= {};\n if (name in nuxtApp._cookies) {\n if (isEqual(cookie.value, nuxtApp._cookies[name])) {\n return;\n }\n if (import.meta.dev) {\n console.warn(`[nuxt] cookie \\`${name}\\` was previously set to \\`${opts.encode(nuxtApp._cookies[name])}\\` and is being overridden to \\`${opts.encode(cookie.value)}\\`. This may cause unexpected issues.`);\n }\n }\n nuxtApp._cookies[name] = cookie.value;\n writeServerCookie(useRequestEvent(nuxtApp), name, cookie.value, opts);\n };\n const unhook = nuxtApp.hooks.hookOnce(\"app:rendered\", writeFinalCookieValue);\n nuxtApp.hooks.hookOnce(\"app:error\", () => {\n unhook();\n return writeFinalCookieValue();\n });\n }\n return cookie;\n}\nexport function refreshCookie(name) {\n if (import.meta.server || store || typeof BroadcastChannel === \"undefined\") {\n return;\n }\n try {\n const channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n channel.postMessage({ refresh: true });\n channel.close();\n } catch {\n }\n}\nfunction readRawCookies(opts = {}) {\n if (import.meta.server) {\n return parse(getRequestHeader(useRequestEvent(), \"cookie\") || \"\", opts);\n } else if (import.meta.client) {\n return parse(document.cookie, opts);\n }\n}\nfunction serializeCookie(name, value, opts = {}) {\n if (value === null || value === void 0) {\n return serialize(name, value, { ...opts, maxAge: -1 });\n }\n return serialize(name, value, opts);\n}\nfunction writeClientCookie(name, value, opts = {}) {\n if (import.meta.client) {\n document.cookie = serializeCookie(name, value, opts);\n }\n}\nfunction writeServerCookie(event, name, value, opts = {}) {\n if (event) {\n if (value !== null && value !== void 0) {\n return setCookie(event, name, value, opts);\n }\n if (getCookie(event, name) !== void 0) {\n return deleteCookie(event, name, opts);\n }\n }\n}\nconst MAX_TIMEOUT_DELAY = 2147483647;\nfunction cookieRef(value, delay, shouldWatch) {\n let timeout;\n let unsubscribe;\n let elapsed = 0;\n const internalRef = shouldWatch ? ref(value) : { value };\n if (getCurrentScope()) {\n onScopeDispose(() => {\n unsubscribe?.();\n clearTimeout(timeout);\n });\n }\n return customRef((track, trigger) => {\n if (shouldWatch) {\n unsubscribe = watch(internalRef, trigger);\n }\n function scheduleTimeout() {\n const timeRemaining = delay - elapsed;\n const timeoutLength = timeRemaining < MAX_TIMEOUT_DELAY ? timeRemaining : MAX_TIMEOUT_DELAY;\n timeout = setTimeout(() => {\n elapsed += timeoutLength;\n if (elapsed < delay) {\n return scheduleTimeout();\n }\n internalRef.value = void 0;\n trigger();\n }, timeoutLength);\n }\n function createExpirationTimeout() {\n elapsed = 0;\n clearTimeout(timeout);\n scheduleTimeout();\n }\n return {\n get() {\n track();\n return internalRef.value;\n },\n set(newValue) {\n createExpirationTimeout();\n internalRef.value = newValue;\n trigger();\n }\n };\n });\n}\n","import { getRequestURL } from \"h3\";\nimport { useRequestEvent } from \"./ssr.js\";\nexport function useRequestURL(opts) {\n if (import.meta.server) {\n return getRequestURL(useRequestEvent(), opts);\n }\n return new URL(globalThis.location.href);\n}\n","import { createPinia, setActivePinia } from \"pinia\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { toRaw } from \"vue\";\nconst plugin = defineNuxtPlugin({\n name: \"pinia\",\n setup(nuxtApp) {\n const pinia = createPinia();\n nuxtApp.vueApp.use(pinia);\n setActivePinia(pinia);\n if (nuxtApp.payload && nuxtApp.payload.pinia) {\n pinia.state.value = nuxtApp.payload.pinia;\n }\n return {\n provide: {\n pinia\n }\n };\n },\n hooks: {\n \"app:rendered\"() {\n const nuxtApp = useNuxtApp();\n nuxtApp.payload.pinia = toRaw(nuxtApp.$pinia).state.value;\n setActivePinia(void 0);\n }\n }\n});\nexport default plugin;\n","\nimport { defineNuxtPlugin } from '#app/nuxt'\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n})\n","/*!\n * shared v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : create()));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(/&/g, '&') // escape `&` first to avoid double escaping\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/') // escape `/` to prevent closing tags or JavaScript URLs\n .replace(/=/g, '='); // escape `=` to prevent attribute injection\n}\nfunction escapeAttributeValue(value) {\n return value\n .replace(/&(?![a-zA-Z0-9#]{2,6};)/g, '&') // escape unescaped `&`\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n}\nfunction sanitizeTranslatedHtml(html) {\n // Escape dangerous characters in attribute values\n // Process attributes with double quotes\n html = html.replace(/(\\w+)\\s*=\\s*\"([^\"]*)\"/g, (_, attrName, attrValue) => `${attrName}=\"${escapeAttributeValue(attrValue)}\"`);\n // Process attributes with single quotes\n html = html.replace(/(\\w+)\\s*=\\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);\n // Detect and neutralize event handler attributes\n const eventHandlerPattern = /\\s*on\\w+\\s*=\\s*[\"']?[^\"'>]+[\"']?/gi;\n if (eventHandlerPattern.test(html)) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Potentially dangerous event handlers detected in translation. ' +\n 'Consider removing onclick, onerror, etc. from your translation messages.');\n }\n // Neutralize event handler attributes by escaping 'on'\n html = html.replace(/(\\s+)(on)(\\w+\\s*=)/gi, '$1on$3');\n }\n // Disable javascript: URLs in various contexts\n const javascriptUrlPattern = [\n // In href, src, action, formaction attributes\n /(\\s+(?:href|src|action|formaction)\\s*=\\s*[\"']?)\\s*javascript:/gi,\n // In style attributes within url()\n /(style\\s*=\\s*[\"'][^\"']*url\\s*\\(\\s*)javascript:/gi\n ];\n javascriptUrlPattern.forEach(pattern => {\n html = html.replace(pattern, '$1javascript:');\n });\n return html;\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, sanitizeTranslatedHtml, toDisplayString, toTypeString, warn, warnOnce };\n","import { hasProtocol, joinURL, withQuery } from \"ufo\";\nconst strictSeo = __I18N_STRICT_SEO__;\nexport function localeHead(options, currentLanguage = options.getCurrentLanguage(), currentDirection = options.getCurrentDirection()) {\n const metaObject = {\n htmlAttrs: {},\n link: [],\n meta: []\n };\n if (options.dir) {\n metaObject.htmlAttrs.dir = currentDirection;\n }\n if (options.lang && currentLanguage) {\n metaObject.htmlAttrs.lang = currentLanguage;\n }\n if (options.seo) {\n const alternateLinks = getHreflangLinks(options);\n metaObject.link = metaObject.link.concat(\n alternateLinks,\n getCanonicalLink(options)\n );\n metaObject.meta = metaObject.meta.concat(\n getOgUrl(options),\n getCurrentOgLocale(options),\n getAlternateOgLocales(\n options,\n strictSeo ? alternateLinks.map((x) => x.hreflang).filter((x) => x !== \"x-default\") : options.locales.map((x) => x.language || x.code)\n )\n );\n }\n return metaObject;\n}\nfunction createLocaleMap(locales) {\n const localeMap = /* @__PURE__ */ new Map();\n for (const locale of locales) {\n if (!locale.language) {\n console.warn(\"Locale `language` ISO code is required to generate alternate link\");\n continue;\n }\n const [language, region] = locale.language.split(\"-\");\n if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n localeMap.set(language, locale);\n }\n localeMap.set(locale.language, locale);\n }\n return localeMap;\n}\nfunction getHreflangLinks(options) {\n if (!options.hreflangLinks) {\n return [];\n }\n const links = [];\n const localeMap = createLocaleMap(options.locales);\n for (const [language, locale] of localeMap.entries()) {\n const link = getHreflangLink(language, locale, options);\n if (!link) {\n continue;\n }\n links.push(link);\n if (options.defaultLocale && options.defaultLocale === locale.code && links[0].hreflang !== \"x-default\") {\n links.unshift(\n strictSeo ? { rel: \"alternate\", href: link.href, hreflang: \"x-default\" } : { [options.key]: \"i18n-xd\", rel: \"alternate\", href: link.href, hreflang: \"x-default\" }\n );\n }\n }\n return links;\n}\nfunction getHreflangLink(language, locale, options, routeWithoutQuery = options.strictCanonicals ? options.getRouteWithoutQuery() : void 0) {\n const localePath = options.getLocalizedRoute(locale.code, routeWithoutQuery);\n if (!localePath) {\n return void 0;\n }\n const href = withQuery(\n hasProtocol(localePath) ? localePath : joinURL(options.baseUrl, localePath),\n options.strictCanonicals ? getCanonicalQueryParams(options) : {}\n );\n return strictSeo ? { rel: \"alternate\", href, hreflang: language } : { [options.key]: `i18n-alt-${language}`, rel: \"alternate\", href, hreflang: language };\n}\nfunction getCanonicalUrl(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n if (!currentRoute) {\n return \"\";\n }\n return withQuery(joinURL(options.baseUrl, currentRoute.path), getCanonicalQueryParams(options));\n}\nfunction getCanonicalLink(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [strictSeo ? { rel: \"canonical\", href } : { [options.key]: \"i18n-can\", rel: \"canonical\", href }];\n}\nfunction getCanonicalQueryParams(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n const currentRouteQuery = currentRoute?.query ?? {};\n const params = {};\n for (const param of options.canonicalQueries.filter((x) => x in currentRouteQuery)) {\n params[param] ??= [];\n for (const val of toArray(currentRouteQuery[param])) {\n params[param].push(val || \"\");\n }\n }\n return params;\n}\nfunction getOgUrl(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:url\", content: href } : { [options.key]: \"i18n-og-url\", property: \"og:url\", content: href }\n ];\n}\nfunction getCurrentOgLocale(options, currentLanguage = options.getCurrentLanguage()) {\n if (!currentLanguage) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:locale\", content: formatOgLanguage(currentLanguage) } : { [options.key]: \"i18n-og\", property: \"og:locale\", content: formatOgLanguage(currentLanguage) }\n ];\n}\nfunction getAlternateOgLocales(options, languages, currentLanguage = options.getCurrentLanguage()) {\n const alternateLocales = languages.filter((locale) => locale && locale !== currentLanguage);\n return alternateLocales.map(\n (locale) => strictSeo ? {\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n } : {\n [options.key]: `i18n-og-alt-${locale}`,\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n }\n );\n}\nfunction formatOgLanguage(val = \"\") {\n return val.replace(/-/g, \"_\");\n}\nfunction toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol, parsePath, parseQuery } from \"ufo\";\nimport { assign, isString } from \"@intlify/shared\";\nexport function localePath(ctx, route, locale = ctx.getLocale()) {\n if (isString(route) && hasProtocol(route, { acceptRelative: true })) {\n return route;\n }\n try {\n return resolveRoute(ctx, route, locale).fullPath;\n } catch {\n return \"\";\n }\n}\nexport function localeRoute(ctx, route, locale = ctx.getLocale()) {\n try {\n return resolveRoute(ctx, route, locale);\n } catch {\n return;\n }\n}\nfunction normalizeRawLocation(route) {\n if (!isString(route)) {\n return assign({}, route);\n }\n if (route[0] === \"/\") {\n const { pathname: path, search, hash } = parsePath(route);\n return { path, query: parseQuery(search), hash };\n }\n return { name: route };\n}\nfunction resolveRoute(ctx, route, locale) {\n const normalized = normalizeRawLocation(route);\n const resolved = ctx.router.resolve(ctx.resolveLocalizedRouteObject(normalized, locale));\n if (resolved.name) {\n return resolved;\n }\n return ctx.router.resolve(route);\n}\nexport function switchLocalePath(ctx, locale, route = ctx.router.currentRoute.value) {\n const name = ctx.getRouteBaseName(route);\n if (!name) {\n return \"\";\n }\n const routeCopy = {\n name,\n params: assign(\n {},\n route.params,\n ctx.getLocalizedDynamicParams(locale)\n ),\n fullPath: route.fullPath,\n query: route.query,\n hash: route.hash,\n path: route.path,\n meta: route.meta\n };\n const path = localePath(ctx, routeCopy, locale);\n return ctx.afterSwitchLocalePath(path, locale);\n}\n","import { computed, getCurrentScope, onScopeDispose, ref, useHead, useRequestEvent, watch } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { localeHead as _localeHead } from \"#i18n-kit/head\";\nimport { localeRoute, switchLocalePath } from \"./routing.js\";\nfunction createHeadContext(ctx, config, locale = ctx.getLocale(), locales = ctx.getLocales(), baseUrl = ctx.getBaseUrl()) {\n const currentLocale = locales.find((l) => l.code === locale) || { code: locale };\n const canonicalQueries = typeof config.seo === \"object\" && config.seo?.canonicalQueries || [];\n if (!baseUrl && !__DIFFERENT_DOMAINS__ && !__MULTI_DOMAIN_LOCALES__) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n console.warn(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n return {\n ...config,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n locales,\n baseUrl,\n canonicalQueries,\n hreflangLinks: ctx.routingOptions.hreflangLinks,\n defaultLocale: ctx.routingOptions.defaultLocale,\n strictCanonicals: __I18N_STRICT_SEO__ || ctx.routingOptions.strictCanonicals,\n getRouteBaseName: ctx.getRouteBaseName,\n getCurrentRoute: () => ctx.router.currentRoute.value,\n getCurrentLanguage: () => currentLocale.language,\n getCurrentDirection: () => currentLocale.dir || __DEFAULT_DIRECTION__,\n getLocaleRoute: (route) => localeRoute(ctx, route),\n getLocalizedRoute: (locale2, route) => switchLocalePath(ctx, locale2, route),\n getRouteWithoutQuery: () => {\n try {\n return assign({}, ctx.router.resolve({ query: {} }), { meta: ctx.router.currentRoute.value.meta });\n } catch {\n return void 0;\n }\n }\n };\n}\nexport function localeHead(ctx, { dir = true, lang = true, seo = true }) {\n return _localeHead(createHeadContext(ctx, { dir, lang, seo }));\n}\nexport function _useLocaleHead(ctx, options) {\n const metaObject = ref(_localeHead(createHeadContext(ctx, options)));\n if (import.meta.client) {\n const unsub = watch([() => ctx.router.currentRoute.value, () => ctx.getLocale()], () => {\n metaObject.value = _localeHead(createHeadContext(ctx, options));\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n });\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n }\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n return metaObject;\n}\nexport function _useSetI18nParams(ctx, seo, router = ctx.router) {\n const head = __I18N_STRICT_SEO__ ? ctx.head : useHead({});\n const evt = __I18N_STRICT_SEO__ && import.meta.server && useRequestEvent();\n const _i18nParams = ref({});\n const i18nParams = computed({\n get() {\n return router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__];\n },\n set(val) {\n _i18nParams.value = val;\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = val;\n if (evt && evt?.context.nuxtI18n?.slp) {\n evt.context.nuxtI18n.slp = val;\n }\n }\n });\n const unsub = watch(\n () => router.currentRoute.value.fullPath,\n () => {\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = _i18nParams.value;\n __I18N_STRICT_SEO__ && updateState();\n }\n );\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n function updateState() {\n ctx.metaState = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(ctx.metaState);\n }\n const ctxOptions = ref({\n ...ctx.seoSettings,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n seo: seo ?? ctx.seoSettings.seo\n });\n return function(params) {\n i18nParams.value = { ...params };\n __I18N_STRICT_SEO__ && updateState();\n if (!__I18N_STRICT_SEO__) {\n const val = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(val);\n }\n };\n}\n","const objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nfunction isURL(val) {\n return toTypeString(val) === \"[object URL]\";\n}\nfunction isURLSearchParams(val) {\n return toTypeString(val) === \"[object URLSearchParams]\";\n}\nfunction isLocale(val) {\n return toTypeString(val) === \"[object Intl.Locale]\";\n}\nfunction toLocale(val) {\n return isLocale(val) ? val : new Intl.Locale(val);\n}\nfunction validateLangTag(lang) {\n try {\n Intl.getCanonicalLocales(lang);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseAcceptLanguage(value) {\n return value.split(\",\").map((tag) => tag.split(\";\")[0]).filter(\n (tag) => !(tag === \"*\" || tag === \"\")\n );\n}\nfunction normalizeLanguageName(langName) {\n const [lang] = langName.split(\".\");\n return lang.replace(/_/g, \"-\");\n}\nfunction createPathIndexLanguageParser(index = 0) {\n return (path) => {\n const rawPath = typeof path === \"string\" ? path : path.pathname;\n const normalizedPath = rawPath.split(\"?\")[0];\n const parts = normalizedPath.split(\"/\");\n if (parts[0] === \"\") {\n parts.shift();\n }\n return parts.length > index ? parts[index] || \"\" : \"\";\n };\n}\nlet pathLanguageParser = /* @__PURE__ */ createPathIndexLanguageParser();\nfunction registerPathLanguageParser(parser) {\n pathLanguageParser = parser;\n}\n\nconst DEFAULT_LANG_TAG = \"en-US\";\nconst DEFAULT_COOKIE_NAME = \"i18n_locale\";\nconst ACCEPT_LANGUAGE_HEADER = \"accept-language\";\n\nfunction parseDefaultHeader(input) {\n return [input];\n}\nfunction getHeaderLanguagesWithGetter(getter, {\n name = ACCEPT_LANGUAGE_HEADER,\n parser = parseDefaultHeader\n} = {}) {\n const langString = getter();\n return langString ? name === ACCEPT_LANGUAGE_HEADER ? parser === parseDefaultHeader ? parseAcceptLanguage(langString) : parser(langString) : parser(langString) : [];\n}\nfunction getLocaleWithGetter(getter) {\n return toLocale(getter());\n}\nfunction validateLocale(locale) {\n if (!(isLocale(locale) || typeof locale === \"string\" && validateLangTag(locale))) {\n throw new SyntaxError(`locale is invalid: ${locale.toString()}`);\n }\n}\nfunction mapToLocaleFromLanguageTag(getter, ...args) {\n return Reflect.apply(getter, null, args).map(\n (lang) => getLocaleWithGetter(() => lang)\n );\n}\nfunction getExistCookies(name, getter) {\n let setCookies = getter();\n if (!Array.isArray(setCookies)) {\n setCookies = [setCookies];\n }\n setCookies = setCookies.filter(\n (cookieValue) => cookieValue && !cookieValue.startsWith(name + \"=\")\n );\n return setCookies;\n}\nfunction getPathLanguage(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return (parser || pathLanguageParser)(path) || lang;\n}\nfunction getPathLocale(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return new Intl.Locale(getPathLanguage(path, { lang, parser }));\n}\nfunction getURLSearchParams(input) {\n if (isURLSearchParams(input)) {\n return input;\n } else if (isURL(input)) {\n return input.searchParams;\n } else {\n return new URLSearchParams(input);\n }\n}\nfunction getQueryLanguage(query, { lang = DEFAULT_LANG_TAG, name = \"lang\" } = {}) {\n const queryParams = getURLSearchParams(query);\n return queryParams.get(name) || lang;\n}\nfunction getQueryLocale(query, { lang = DEFAULT_LANG_TAG, name = \"locale\" } = {}) {\n return new Intl.Locale(getQueryLanguage(query, { lang, name }));\n}\n\nexport { ACCEPT_LANGUAGE_HEADER as A, DEFAULT_LANG_TAG as D, getLocaleWithGetter as a, DEFAULT_COOKIE_NAME as b, getExistCookies as c, getPathLocale as d, pathLanguageParser as e, getQueryLocale as f, getHeaderLanguagesWithGetter as g, createPathIndexLanguageParser as h, isLocale as i, parseAcceptLanguage as j, validateLangTag as k, mapToLocaleFromLanguageTag as m, normalizeLanguageName as n, parseDefaultHeader as p, registerPathLanguageParser as r, validateLocale as v };\n","import { createPathIndexLanguageParser } from \"@intlify/utils\";\nconst separator = __ROUTE_NAME_SEPARATOR__ || \"___\";\nconst defaultSuffix = __ROUTE_NAME_DEFAULT_SUFFIX__ || \"default\";\nexport const defaultRouteNameSuffix = separator + defaultSuffix;\nexport function normalizeRouteName(routeName) {\n if (typeof routeName === \"string\") {\n return routeName;\n }\n if (routeName != null) {\n return routeName.toString();\n }\n return \"\";\n}\nexport function getRouteBaseName(route) {\n return normalizeRouteName(typeof route === \"object\" ? route?.name : route).split(separator)[0];\n}\nexport function getLocalizedRouteName(routeName, locale, isDefault) {\n return !isDefault ? routeName + separator + locale : routeName + separator + locale + defaultRouteNameSuffix;\n}\nconst pathLanguageParser = createPathIndexLanguageParser(0);\nexport const getLocaleFromRoutePath = (path) => pathLanguageParser(path);\nexport const getLocaleFromRouteName = (name) => name.split(separator).at(1) ?? \"\";\nfunction normalizeInput(input) {\n return typeof input !== \"object\" ? String(input) : String(input?.name || input?.path || \"\");\n}\nexport function getLocaleFromRoute(route) {\n const input = normalizeInput(route);\n if (input[0] === \"/\") {\n return getLocaleFromRoutePath(input);\n }\n const fromName = getLocaleFromRouteName(input);\n if (fromName) {\n return fromName;\n }\n if (typeof route === \"object\" && route?.path) {\n return getLocaleFromRoutePath(String(route.path));\n }\n return \"\";\n}\n","import { assign } from \"@intlify/shared\";\nimport { getLocalizedRouteName, normalizeRouteName } from \"#i18n-kit/routing\";\nexport function createLocaleRouteNameGetter(defaultLocale) {\n if (!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__) {\n return (routeName) => normalizeRouteName(routeName);\n }\n if (__I18N_STRATEGY__ === \"prefix_and_default\") {\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, locale === defaultLocale);\n }\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, false);\n}\nexport function createLocalizedRouteByPathResolver(router) {\n if (!__I18N_ROUTING__) {\n return (route) => route;\n }\n if (__I18N_STRATEGY__ === \"prefix\") {\n return (route, locale) => {\n const targetPath = \"/\" + locale + (route.path === \"/\" ? \"\" : route.path);\n const _route = router.options.routes.find((r) => r.path === targetPath);\n if (_route != null) {\n return router.resolve(assign({}, route, _route, { path: targetPath }));\n }\n return route;\n };\n }\n return (route) => router.resolve(route);\n}\n","// @ts-nocheck\n\nexport const localeCodes = [\n \"hu\",\n \"en\"\n]\nexport const localeLoaders = {\n hu: [\n {\n key: \"locale_hu_46json_ee06c965\",\n load: () => import(\"#nuxt-i18n/ee06c965\" /* webpackChunkName: \"locale_hu_46json_ee06c965\" */),\n cache: true\n }\n ],\n en: [\n {\n key: \"locale_en_46json_0b63539c\",\n load: () => import(\"#nuxt-i18n/0b63539c\" /* webpackChunkName: \"locale_en_46json_0b63539c\" */),\n cache: true\n }\n ]\n}\nexport const vueI18nConfigs = []\nexport const normalizedLocales = [\n {\n code: \"hu\",\n iso: \"hu-HU\",\n name: \"Magyar\",\n language: undefined\n },\n {\n code: \"en\",\n iso: \"en-GB\",\n name: \"English\",\n language: undefined\n }\n]\n\n","import { create, deepCopy, isFunction, toTypeString } from \"@intlify/shared\";\nimport { useNuxtApp } from \"#app\";\nimport { createDefu } from \"defu\";\nconst cacheMessages = /* @__PURE__ */ new Map();\nconst merger = createDefu((obj, key, value) => {\n if (key === \"messages\" || key === \"datetimeFormats\" || key === \"numberFormats\") {\n obj[key] ??= create(null);\n deepCopy(value, obj[key]);\n return true;\n }\n});\nexport async function loadVueI18nOptions(vueI18nConfigs) {\n const nuxtApp = useNuxtApp();\n let vueI18nOptions = { messages: create(null) };\n for (const configFile of vueI18nConfigs) {\n const resolver = await configFile().then((x) => isModule(x) ? x.default : x);\n const resolved = isFunction(resolver) ? await nuxtApp.runWithContext(() => resolver()) : resolver;\n vueI18nOptions = merger(create(null), resolved, vueI18nOptions);\n }\n vueI18nOptions.fallbackLocale ??= false;\n return vueI18nOptions;\n}\nconst isModule = (val) => toTypeString(val) === \"[object Module]\";\nasync function getLocaleMessages(locale, loader) {\n const nuxtApp = useNuxtApp();\n try {\n const getter = await nuxtApp.runWithContext(loader.load).then((x) => isModule(x) ? x.default : x);\n return isFunction(getter) ? await nuxtApp.runWithContext(() => getter(locale)) : getter;\n } catch (e) {\n throw new Error(`Failed loading locale (${locale}): ` + e.message);\n }\n}\nexport async function getLocaleMessagesMerged(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(\n loaders.map((loader) => nuxtApp.runWithContext(() => getLocaleMessages(locale, loader)))\n );\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nexport async function getLocaleMessagesMergedCached(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(loaders.map(async (loader) => {\n const cached = getCachedMessages(loader);\n const messages2 = cached || await nuxtApp.runWithContext(() => getLocaleMessages(locale, loader));\n if (!cached && loader.cache !== false) {\n cacheMessages.set(loader.key, { ttl: Date.now() + __I18N_CACHE_LIFETIME__ * 1e3, value: messages2 });\n }\n return messages2;\n }));\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nfunction getCachedMessages(loader) {\n if (!__I18N_CACHE__) {\n return;\n }\n if (loader.cache === false) {\n return;\n }\n const cache = cacheMessages.get(loader.key);\n if (cache == null) {\n return;\n }\n return __I18N_CACHE_LIFETIME__ === 0 || cache.ttl > Date.now() ? cache.value : void 0;\n}\n","export function getI18nTarget(i18n) {\n return i18n != null && \"global\" in i18n && \"mode\" in i18n ? i18n.global : i18n;\n}\nexport function getComposer(i18n) {\n const target = getI18nTarget(i18n);\n return \"__composer\" in target ? target.__composer : target;\n}\n","import { useRuntimeConfig } from \"#imports\";\nimport { isString } from \"@intlify/shared\";\nexport function useRuntimeI18n(nuxtApp, event) {\n if (!nuxtApp) {\n return useRuntimeConfig(event).public.i18n;\n }\n return nuxtApp.$config.public.i18n;\n}\nexport function useI18nDetection(nuxtApp) {\n const detectBrowserLanguage = useRuntimeI18n(nuxtApp).detectBrowserLanguage;\n const detect = detectBrowserLanguage || {};\n return {\n ...detect,\n enabled: !!detectBrowserLanguage,\n cookieKey: detect.cookieKey || __DEFAULT_COOKIE_KEY__\n };\n}\nexport function resolveRootRedirect(config) {\n if (!config) {\n return void 0;\n }\n return {\n path: \"/\" + (isString(config) ? config : config.path).replace(/^\\//, \"\"),\n code: !isString(config) && config.statusCode || 302\n };\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol } from \"ufo\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { toArray } from \"./utils.js\";\nexport function matchDomainLocale(locales, host, pathLocale) {\n const normalizeDomain = (domain = \"\") => domain.replace(/https?:\\/\\//, \"\");\n const matches = locales.filter(\n (locale) => normalizeDomain(locale.domain) === host || toArray(locale.domains).includes(host)\n );\n if (matches.length <= 1) {\n return matches[0]?.code;\n }\n return (\n // match by current path locale\n matches.find((l) => l.code === pathLocale)?.code || matches.find((l) => l.defaultForDomains?.includes(host) ?? l.domainDefault)?.code\n );\n}\nexport function domainFromLocale(domainLocales, url, locale) {\n const lang = normalizedLocales.find((x) => x.code === locale);\n const domain = domainLocales?.[locale]?.domain || lang?.domain || lang?.domains?.find((v) => v === url.host);\n if (!domain) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Could not find domain name for locale \" + locale);\n return;\n }\n if (hasProtocol(domain, { strict: true })) {\n return domain;\n }\n return url.protocol + \"//\" + domain;\n}\n","import { localeCodes, localeLoaders, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { isArray, isString } from \"@intlify/shared\";\nexport function createLocaleConfigs(fallbackLocale) {\n const localeConfigs = {};\n for (const locale of localeCodes) {\n const fallbacks = getFallbackLocaleCodes(fallbackLocale, [locale]);\n const cacheable = isLocaleWithFallbacksCacheable(locale, fallbacks);\n localeConfigs[locale] = { fallbacks, cacheable };\n }\n return localeConfigs;\n}\nfunction getFallbackLocaleCodes(fallback, locales) {\n if (fallback === false) {\n return [];\n }\n if (isArray(fallback)) {\n return fallback;\n }\n let fallbackLocales = [];\n if (isString(fallback)) {\n if (locales.every((locale) => locale !== fallback)) {\n fallbackLocales.push(fallback);\n }\n return fallbackLocales;\n }\n const targets = [...locales, \"default\"];\n for (const locale of targets) {\n if (locale in fallback == false) {\n continue;\n }\n fallbackLocales = [...fallbackLocales, ...fallback[locale].filter(Boolean)];\n }\n return fallbackLocales;\n}\nexport function isLocaleCacheable(locale) {\n return localeLoaders[locale] != null && localeLoaders[locale].every((loader) => loader.cache !== false);\n}\nexport function isLocaleWithFallbacksCacheable(locale, fallbackLocales) {\n return isLocaleCacheable(locale) && fallbackLocales.every((fallbackLocale) => isLocaleCacheable(fallbackLocale));\n}\nexport function getDefaultLocaleForDomain(host) {\n return normalizedLocales.find((l) => !!l.defaultForDomains?.includes(host))?.code;\n}\nexport const isSupportedLocale = (locale) => localeCodes.includes(locale || \"\");\nexport const resolveSupportedLocale = (locale) => isSupportedLocale(locale) ? locale : void 0;\n","import { isRef, unref } from \"vue\";\nimport { useCookie, useRequestURL, useState } from \"#imports\";\nimport { localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"./shared/messages.js\";\nimport { createBaseUrlGetter, createComposableContext } from \"./utils.js\";\nimport { getI18nTarget } from \"./compatibility.js\";\nimport { domainFromLocale } from \"./shared/domain.js\";\nimport { isSupportedLocale } from \"./shared/locales.js\";\nimport { resolveRootRedirect, useI18nDetection, useRuntimeI18n } from \"./shared/utils.js\";\nimport { joinURL } from \"ufo\";\nimport { isString } from \"@intlify/shared\";\nexport const useLocaleConfigs = () => useState(\n \"i18n:cached-locale-configs\",\n () => void 0\n);\nexport const useResolvedLocale = () => useState(\"i18n:resolved-locale\", () => \"\");\nfunction useI18nCookie({ cookieCrossOrigin, cookieDomain, cookieSecure, cookieKey }) {\n const date = /* @__PURE__ */ new Date();\n return useCookie(cookieKey || __DEFAULT_COOKIE_KEY__, {\n path: \"/\",\n readonly: false,\n expires: new Date(date.setDate(date.getDate() + 365)),\n sameSite: cookieCrossOrigin ? \"none\" : \"lax\",\n domain: cookieDomain || void 0,\n secure: cookieCrossOrigin || cookieSecure\n });\n}\nexport function createNuxtI18nContext(nuxt, vueI18n, defaultLocale) {\n const i18n = getI18nTarget(vueI18n);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const detectConfig = useI18nDetection(nuxt);\n const serverLocaleConfigs = useLocaleConfigs();\n const localeCookie = useI18nCookie(detectConfig);\n const loadMap = /* @__PURE__ */ new Set();\n const getLocaleConfig = (locale) => serverLocaleConfigs.value[locale];\n const getDomainFromLocale = (locale) => domainFromLocale(runtimeI18n.domainLocales, useRequestURL({ xForwardedHost: true }), locale);\n const baseUrl = createBaseUrlGetter(nuxt, runtimeI18n.baseUrl, defaultLocale, getDomainFromLocale);\n const resolvedLocale = useResolvedLocale();\n if (__I18N_SERVER_REDIRECT__ && import.meta.server && nuxt.ssrContext?.event?.context?.nuxtI18n?.detectLocale) {\n resolvedLocale.value = nuxt.ssrContext.event.context.nuxtI18n.detectLocale;\n }\n const loadMessagesFromClient = async (locale) => {\n const locales = getLocaleConfig(locale)?.fallbacks ?? [];\n if (!locales.includes(locale)) {\n locales.push(locale);\n }\n for (const k of locales) {\n const msg = await nuxt.runWithContext(() => getLocaleMessagesMergedCached(k, localeLoaders[k]));\n i18n.mergeLocaleMessage(k, msg);\n }\n };\n const loadMessagesFromServer = async (locale) => {\n if (locale in localeLoaders === false) {\n return;\n }\n const headers = getLocaleConfig(locale)?.cacheable ? {} : { \"Cache-Control\": \"no-cache\" };\n const prefix = import.meta.client && __I18N_CDN__ ? nuxt.$config.app.cdnURL || \"\" : \"\";\n const url = joinURL(prefix, __I18N_SERVER_ROUTE__, __I18N_LOCALE_HASHES__[locale], locale, \"messages.json\");\n const messages = await $fetch(url, { headers });\n for (const k of Object.keys(messages)) {\n i18n.mergeLocaleMessage(k, messages[k]);\n }\n };\n const ctx = {\n vueI18n,\n initial: true,\n preloaded: false,\n config: runtimeI18n,\n rootRedirect: resolveRootRedirect(runtimeI18n.rootRedirect),\n redirectStatusCode: runtimeI18n.redirectStatusCode ?? 302,\n dynamicResourcesSSG: !__IS_SSR__ || !__I18N_FULL_STATIC__ && (import.meta.prerender || __IS_SSG__),\n getDefaultLocale: () => defaultLocale,\n getLocale: () => unref(i18n.locale),\n setLocale: async (locale) => {\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale || !isSupportedLocale(locale)) {\n return;\n }\n if (isRef(i18n.locale)) {\n i18n.locale.value = locale;\n } else {\n i18n.locale = locale;\n }\n await nuxt.callHook(\"i18n:localeSwitched\", { newLocale: locale, oldLocale });\n resolvedLocale.value = locale;\n },\n setLocaleSuspend: async (locale) => {\n if (!isSupportedLocale(locale)) {\n return;\n }\n ctx.vueI18n.__pendingLocale = locale;\n ctx.vueI18n.__pendingLocalePromise = new Promise((resolve) => {\n ctx.vueI18n.__resolvePendingLocalePromise = async () => {\n ctx.setCookieLocale(locale);\n await ctx.setLocale(locale);\n ctx.vueI18n.__pendingLocale = void 0;\n resolve();\n };\n });\n if (import.meta.server || nuxt.isHydrating || !ctx.config.skipSettingLocaleOnNavigate) {\n await ctx.vueI18n.__resolvePendingLocalePromise?.();\n }\n },\n getLocales: () => unref(i18n.locales).map((x) => isString(x) ? { code: x } : x),\n setCookieLocale: (locale) => {\n if (detectConfig.useCookie && isSupportedLocale(locale)) {\n localeCookie.value = locale;\n }\n },\n getBaseUrl: (locale) => {\n if (locale) {\n return joinURL(getDomainFromLocale(locale) || baseUrl(), nuxt.$config.app.baseURL);\n }\n return joinURL(baseUrl(), nuxt.$config.app.baseURL);\n },\n loadMessages: async (locale) => {\n if (nuxt.isHydrating && loadMap.has(locale)) {\n return;\n }\n try {\n return ctx.dynamicResourcesSSG || import.meta.dev ? await loadMessagesFromClient(locale) : await loadMessagesFromServer(locale);\n } catch (e) {\n console.warn(`Failed to load messages for locale \"${locale}\"`, e);\n } finally {\n loadMap.add(locale);\n }\n },\n composableCtx: void 0\n };\n ctx.composableCtx = createComposableContext(ctx, nuxt);\n return ctx;\n}\nexport function useNuxtI18nContext(nuxt) {\n if (nuxt._nuxtI18n == null) {\n throw new Error(\"Nuxt I18n context has not been set up yet.\");\n }\n return nuxt._nuxtI18n;\n}\n","function matchBrowserLocale(locales, browserLocales) {\n const matchedLocales = [];\n for (const [index, browserCode] of browserLocales.entries()) {\n const matchedLocale = locales.find((l) => l.language?.toLowerCase() === browserCode.toLowerCase());\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 1 - index / browserLocales.length });\n break;\n }\n }\n for (const [index, browserCode] of browserLocales.entries()) {\n const languageCode = browserCode.split(\"-\")[0].toLowerCase();\n const matchedLocale = locales.find((l) => l.language?.split(\"-\")[0].toLowerCase() === languageCode);\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 0.999 - index / browserLocales.length });\n break;\n }\n }\n return matchedLocales;\n}\nfunction compareBrowserLocale(a, b) {\n if (a.score === b.score) {\n return b.code.length - a.code.length;\n }\n return b.score - a.score;\n}\nexport function findBrowserLocale(locales, browserLocales) {\n const matchedLocales = matchBrowserLocale(\n locales.map((l) => ({ code: l.code, language: l.language || l.code })),\n browserLocales\n );\n return matchedLocales.sort(compareBrowserLocale).at(0)?.code ?? \"\";\n}\n","import { getCookie, getRequestHeader, getRequestURL } from \"h3\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { getLocaleFromRoute, getLocaleFromRoutePath } from \"#i18n-kit/routing\";\nimport { findBrowserLocale } from \"#i18n-kit/browser\";\nimport { parseAcceptLanguage } from \"@intlify/utils\";\nimport { matchDomainLocale } from \"./domain.js\";\nimport { useRuntimeI18n } from \"../shared/utils.js\";\nimport { useCookie } from \"#app\";\nconst getCookieLocale = (event, cookieName) => (import.meta.client ? useCookie(cookieName).value : getCookie(event, cookieName)) || void 0;\nconst getRouteLocale = (event, route) => getLocaleFromRoute(route);\nconst getHeaderLocale = (event) => findBrowserLocale(normalizedLocales, parseAcceptLanguage(getRequestHeader(event, \"accept-language\") || \"\"));\nconst getNavigatorLocale = (event) => findBrowserLocale(normalizedLocales, navigator.languages);\nconst getHostLocale = (event, path, domainLocales) => {\n const host = import.meta.client ? new URL(window.location.href).host : getRequestURL(event, { xForwardedHost: true }).host;\n const locales = normalizedLocales.map((l) => ({\n ...l,\n domain: domainLocales[l.code]?.domain ?? l.domain\n }));\n return matchDomainLocale(locales, host, getLocaleFromRoutePath(path));\n};\nexport const useDetectors = (event, config, nuxtApp) => {\n if (import.meta.server && !event) {\n throw new Error(\"H3Event is required for server-side locale detection\");\n }\n const runtimeI18n = useRuntimeI18n(nuxtApp);\n return {\n cookie: () => getCookieLocale(event, config.cookieKey),\n header: () => import.meta.server ? getHeaderLocale(event) : void 0,\n navigator: () => import.meta.client ? getNavigatorLocale(event) : void 0,\n host: (path) => getHostLocale(event, path, runtimeI18n.domainLocales),\n route: (path) => getRouteLocale(event, path)\n };\n};\n","import { isEqual, joinURL, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { isFunction, isString } from \"@intlify/shared\";\nimport { navigateTo, useHead, useNuxtApp, useRequestEvent, useRequestURL, useRouter } from \"#imports\";\nimport { createLocaleRouteNameGetter, createLocalizedRouteByPathResolver } from \"./routing/utils.js\";\nimport { getRouteBaseName } from \"#i18n-kit/routing\";\nimport {\n localePath,\n switchLocalePath\n} from \"./routing/routing.js\";\nimport { useNuxtI18nContext } from \"./context.js\";\nimport { getDefaultLocaleForDomain, isSupportedLocale } from \"./shared/locales.js\";\nimport { useDetectors } from \"./shared/detection.js\";\nimport { useI18nDetection } from \"./shared/utils.js\";\nexport const isRouteLocationPathRaw = (val) => !!val.path && !val.name;\nexport function useComposableContext(nuxtApp) {\n const context = nuxtApp?._nuxtI18n?.composableCtx;\n if (!context) {\n throw new Error(\n \"i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.\"\n );\n }\n return context;\n}\nconst formatTrailingSlash = __TRAILING_SLASH__ ? withTrailingSlash : withoutTrailingSlash;\nexport function createComposableContext(ctx, nuxtApp = useNuxtApp()) {\n const router = useRouter();\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n const defaultLocale = ctx.getDefaultLocale();\n const getLocalizedRouteName = createLocaleRouteNameGetter(defaultLocale);\n function resolveLocalizedRouteByName(route, locale) {\n route.name = getRouteBaseName(route.name || router.currentRoute.value);\n const localizedName = getLocalizedRouteName(route.name, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n if (__I18N_COMPACT_ROUTES__ && route.params) {\n delete route.params.locale;\n }\n } else if (__I18N_COMPACT_ROUTES__ && isSupportedLocale(locale) && getCompactRouteNames().has(route.name)) {\n route.params = { ...route.params || {}, locale };\n return route;\n }\n route.name = localizedName;\n return route;\n }\n const routeByPathResolver = createLocalizedRouteByPathResolver(router);\n let compactRouteRecords;\n function getCompactRouteNames() {\n if (compactRouteRecords) {\n return compactRouteRecords;\n }\n compactRouteRecords = /* @__PURE__ */ new Set();\n if (__I18N_COMPACT_ROUTES__) {\n for (const r of router.getRoutes()) {\n if (r.name != null && /^\\/:locale\\(/.test(r.path)) {\n compactRouteRecords.add(String(r.name));\n }\n }\n }\n return compactRouteRecords;\n }\n function resolveLocalizedRouteByPath(input, locale) {\n const route = routeByPathResolver(input, locale);\n const baseName = getRouteBaseName(route);\n if (baseName) {\n const localizedName = getLocalizedRouteName(baseName, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n return route;\n }\n if (__I18N_COMPACT_ROUTES__ && getCompactRouteNames().has(baseName)) {\n const compacted = route;\n compacted.name = baseName;\n compacted.params = { ...compacted.params || {}, locale };\n return compacted;\n }\n route.name = localizedName;\n return route;\n }\n if (prefixable(locale, defaultLocale)) {\n route.path = \"/\" + locale + route.path;\n }\n route.path = formatTrailingSlash(route.path, true);\n return route;\n }\n const composableCtx = {\n router,\n _head: void 0,\n get head() {\n this._head ??= useHead({});\n return this._head;\n },\n metaState: { htmlAttrs: {}, meta: [], link: [] },\n seoSettings: {\n dir: __I18N_STRICT_SEO__,\n lang: __I18N_STRICT_SEO__,\n seo: __I18N_STRICT_SEO__\n },\n localePathPayload: getLocalePathPayload(),\n routingOptions: {\n defaultLocale,\n strictCanonicals: ctx.config.experimental.alternateLinkCanonicalQueries ?? true,\n hreflangLinks: !(!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__)\n },\n getLocale: ctx.getLocale,\n getLocales: ctx.getLocales,\n getBaseUrl: ctx.getBaseUrl,\n getRouteBaseName,\n getRouteLocalizedParams: () => router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] ?? {},\n getLocalizedDynamicParams: (locale) => {\n if (__I18N_STRICT_SEO__ && import.meta.client && nuxtApp.isHydrating && composableCtx.localePathPayload) {\n return composableCtx.localePathPayload[locale] || {};\n }\n return composableCtx.getRouteLocalizedParams()?.[locale];\n },\n afterSwitchLocalePath: (path, locale) => {\n const params = composableCtx.getRouteLocalizedParams();\n if (__I18N_STRICT_SEO__ && locale && Object.keys(params).length && !params[locale]) {\n return \"\";\n }\n if (__MULTI_DOMAIN_LOCALES__ && __I18N_STRATEGY__ === \"prefix_except_default\") {\n const defaultLocale2 = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host);\n if (locale !== defaultLocale2 || detectors.route(path) !== defaultLocale2) {\n return path;\n }\n return path.slice(locale.length + 1);\n }\n if (__DIFFERENT_DOMAINS__) {\n return joinURL(ctx.getBaseUrl(locale), path);\n }\n return path;\n },\n resolveLocalizedRouteObject: (route, locale) => {\n return isRouteLocationPathRaw(route) ? resolveLocalizedRouteByPath(route, locale) : resolveLocalizedRouteByName(route, locale);\n }\n };\n return composableCtx;\n}\nfunction getLocalePathPayload(nuxtApp = useNuxtApp()) {\n const payload = import.meta.client && document.querySelector(`[data-nuxt-i18n-slp=\"${nuxtApp._id}\"]`)?.textContent;\n return JSON.parse(payload || \"{}\");\n}\nexport async function loadAndSetLocale(nuxtApp, locale) {\n const ctx = useNuxtI18nContext(nuxtApp);\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale && !ctx.initial && (!ctx.vueI18n.__pendingLocale || ctx.vueI18n.__pendingLocale === locale)) {\n return locale;\n }\n const data = { oldLocale, newLocale: locale, initialSetup: ctx.initial, context: nuxtApp };\n let override = await nuxtApp.callHook(\"i18n:beforeLocaleSwitch\", data);\n if (override != null && import.meta.dev) {\n console.warn(\"[nuxt-i18n] Do not return in `i18n:beforeLocaleSwitch`, mutate `data.newLocale` instead.\");\n }\n override ??= data.newLocale;\n if (isSupportedLocale(override)) {\n locale = override;\n }\n await ctx.loadMessages(locale);\n await ctx.setLocaleSuspend(locale);\n return locale;\n}\nfunction skipDetect(detect, path, pathLocale) {\n if (!__I18N_ROUTING__) {\n return false;\n }\n if (detect.redirectOn === \"root\" && path !== \"/\") {\n return true;\n }\n if (detect.redirectOn === \"no prefix\" && !detect.alwaysRedirect && isSupportedLocale(pathLocale)) {\n return true;\n }\n return false;\n}\nexport function detectLocale(nuxtApp, route) {\n const detectConfig = useI18nDetection(nuxtApp);\n const detectors = useDetectors(useRequestEvent(nuxtApp), detectConfig, nuxtApp);\n const ctx = useNuxtI18nContext(nuxtApp);\n const path = isString(route) ? route : route.path;\n function* detect() {\n if (ctx.initial && detectConfig.enabled && !skipDetect(detectConfig, path, detectors.route(path))) {\n yield detectors.cookie();\n yield detectors.header();\n yield detectors.navigator();\n yield detectConfig.fallbackLocale;\n }\n if (__DIFFERENT_DOMAINS__ || __MULTI_DOMAIN_LOCALES__) {\n yield detectors.host(path);\n }\n if (__I18N_ROUTING__) {\n yield detectors.route(route);\n }\n }\n for (const detected of detect()) {\n if (detected && isSupportedLocale(detected)) {\n return detected;\n }\n }\n return ctx.getLocale() || ctx.getDefaultLocale() || \"\";\n}\nexport function navigate(nuxtApp, to, locale) {\n if (!__I18N_ROUTING__ || __DIFFERENT_DOMAINS__) {\n return;\n }\n const ctx = useNuxtI18nContext(nuxtApp);\n const _ctx = useComposableContext(nuxtApp);\n if (to.path === \"/\" && ctx.rootRedirect) {\n return navigateTo(localePath(_ctx, ctx.rootRedirect.path, locale), { redirectCode: ctx.rootRedirect.code });\n }\n if (ctx.vueI18n.__pendingLocale && useNuxtApp()._processingMiddleware) {\n return;\n }\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n if (detectors.route(to) === locale) {\n return;\n }\n const destination = switchLocalePath(_ctx, locale, to) || localePath(_ctx, to.fullPath, locale);\n if (isEqual(destination, to.fullPath)) {\n return;\n }\n return navigateTo(destination, { redirectCode: ctx.redirectStatusCode });\n}\nexport function prefixable(currentLocale, defaultLocale) {\n return !__DIFFERENT_DOMAINS__ && __I18N_ROUTING__ && (currentLocale !== defaultLocale || __I18N_STRATEGY__ === \"prefix\");\n}\nexport function createBaseUrlGetter(nuxt, baseUrl, defaultLocale, getDomainFromLocale) {\n if (isFunction(baseUrl)) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Configuring baseUrl as a function is deprecated and will be removed in v11.\");\n return () => baseUrl(nuxt);\n }\n return () => {\n if (__DIFFERENT_DOMAINS__ && defaultLocale) {\n return (getDomainFromLocale(defaultLocale) || baseUrl) ?? \"\";\n }\n return baseUrl ?? \"\";\n };\n}\n","/*!\n * message-compiler v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16\n};\n// Special value for higher-order compilers to pick up the last code\n// to avoid collision of error codes.\n// This should always be kept as the last item.\nconst COMPILE_ERROR_CODES_EXTEND_POINT = 17;\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 13 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 13 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 7 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '') => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return hasSpace;\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === '\\\\') {\n const nextCh = scnr.peek();\n if (nextCh === \"{\" /* TokenChars.BraceLeft */ ||\n nextCh === \"}\" /* TokenChars.BraceRight */ ||\n nextCh === \"@\" /* TokenChars.LinkedAlias */ ||\n nextCh === \"|\" /* TokenChars.Pipe */ ||\n nextCh === '\\\\') {\n buf += ch + nextCh;\n scnr.next();\n scnr.next();\n }\n else {\n scnr.resetPeek();\n buf += ch;\n scnr.next();\n }\n }\n else if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n // Check if takeNamedIdentifierChar stoped because of invalid characters\n const currentChar = scnr.currentChar();\n if (currentChar &&\n currentChar !== '}' &&\n currentChar !== EOF &&\n currentChar !== CHAR_SP &&\n currentChar !== CHAR_LF &&\n currentChar !== '\\u3000') {\n const invalidPart = readInvalidIdentifier(scnr);\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, name + invalidPart);\n return name + invalidPart;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 4 /* TokenTypes.Named */ ||\n context.currentType === 5 /* TokenTypes.List */ ||\n context.currentType === 6 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 8 /* TokenTypes.LinkedDot */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */ ||\n currentType === 9 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 7 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 8 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 7 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 13 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 13 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\n// Text context escape sequences: \\\\, \\@, \\{, \\}, \\|\nconst TEXT_ESCAPES = /\\\\([\\\\@{}|])/g;\nfunction fromTextEscapeSequence(_match, char) {\n return char;\n}\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value.replace(TEXT_ESCAPES, fromTextEscapeSequence);\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 11 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 8 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 10 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 13 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 13 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 13 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 13 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 13 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {}) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { COMPILE_ERROR_CODES_EXTEND_POINT, CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, hasOwn, isNumber, create, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray, isPlainObject, assign, isRegExp, warnOnce, isDate, isEmptyObject, join, toDisplayString, sanitizeTranslatedHtml, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey } from '@intlify/shared';\nimport { detectHtmlTag, defaultOnError, baseCompile as baseCompile$1, COMPILE_ERROR_CODES_EXTEND_POINT, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue$1(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved != null) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nconst AST_NODE_PROPS_KEYS = [\n ...PROPS_BODY,\n ...PROPS_CASES,\n ...PROPS_STATIC,\n ...PROPS_ITEMS,\n ...PROPS_KEY,\n ...PROPS_MODIFIER,\n ...PROPS_VALUE,\n ...PROPS_TYPE\n];\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\n}\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue$1(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue$1(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue$1(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue$1(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction clearCompileCache() {\n compileCache = create();\n}\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nfunction compile(message, context) {\n if ((!__INTLIFY_DROP_MESSAGE_COMPILER__) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit('i18n:init', {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = \n/* #__PURE__*/ createDevToolsHook('function:translate');\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: COMPILE_ERROR_CODES_EXTEND_POINT, // 17\n INVALID_DATE_ARGUMENT: 18,\n INVALID_ISO_DATE_ARGUMENT: 19,\n NOT_SUPPORT_NON_STRING_MESSAGE: 20,\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21,\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22,\n NOT_SUPPORT_LOCALE_TYPE: 23\n};\nconst CORE_ERROR_CODES_EXTEND_POINT = 24;\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- for generic object\n let last = obj;\n let i = 0;\n while (i < len) {\n const key = hit[i];\n /**\n * NOTE:\n * if `key` is intlify message format AST node key and `last` is intlify message format AST, skip it.\n * because the AST node is not a key-value structure.\n */\n if (AST_NODE_PROPS_KEYS.includes(key) && isMessageAST(last)) {\n return null;\n }\n if (!isObject(last)) {\n return null;\n }\n if (!hasOwn(last, key)) {\n return null;\n }\n const val = last[key];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7,\n INVALID_NUMBER_ARGUMENT: 8,\n INVALID_DATE_ARGUMENT: 9\n};\nconst CORE_WARN_CODES_EXTEND_POINT = 10;\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`,\n [CoreWarnCodes.INVALID_NUMBER_ARGUMENT]: `Invalid argument for number formatting: expected a number but received '{value}'.`,\n [CoreWarnCodes.INVALID_DATE_ARGUMENT]: `Invalid argument for datetime formatting: expected a Date, number, or ISO string but received '{value}'.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '11.4.2';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('missing', {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isString(args[0]) && !isDate(args[0]) && !isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_DATE_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_NUMBER_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n // singular (0) | plural (1)\n if (choicesLength === 2) {\n // prettier-ignore\n return choice === 1\n ? 0\n : 1;\n }\n // zero (0) | singular (1) | plural (2)\n return Math.min(choice, 2);\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n return isNumber(options.named?.count)\n ? options.named.count\n : isNumber(options.named?.n)\n ? options.named.n\n : index;\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isString(locale) && isFunction(options.pluralRules?.[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = pluralRule === pluralDefault ? undefined : pluralDefault;\n const plural = (messages) => messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n const _list = options.list || [];\n const list = (index) => _list[index];\n const _named = options.named || create(); // eslint-disable-line @typescript-eslint/no-explicit-any\n // normalize named\n if (isNumber(options.pluralIndex)) {\n _named.count ||= options.pluralIndex;\n _named.n ||= options.pluralIndex;\n }\n const named = (key) => _named[key];\n function message(key, useLinked) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key, !!useLinked)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isFunction(options.processor?.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isFunction(options.processor?.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isString(options.processor?.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key, true)(ctx);\n // If the linked message is not resolved (empty string), fall back to the key itself\n const resolved = ret === '' || ret === undefined ? key : ret;\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(resolved) && modifier\n ? resolved[0]\n : resolved;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n };\n return ctx;\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : null;\n const enableDefaultMsg = fallbackFormat ||\n (defaultMsgOrKey != null &&\n (isString(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || create()\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n let ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // apply HTML sanitization for security\n if (escapeParameter && isString(ret)) {\n ret = sanitizeTranslatedHtml(ret);\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = create();\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || create();\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start && format) {\n emitter.emit('message-resolve', {\n type: 'message-resolve',\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-compilation', {\n type: 'message-compilation',\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-evaluation', {\n type: 'message-evaluation',\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = create();\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit('compile-error', {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n const message = `Message compilation error: ${err.message}`;\n throw new SyntaxError(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n throw err;\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key, useLinked) => {\n let val = resolveValue(message, key);\n // fallback\n if (val == null && (fallbackContext || useLinked)) {\n const [format, , message] = resolveMessageFormat(fallbackContext || context, // NOTE: if has fallbackContext, fallback to root, else if use linked, fallback to local context\n key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = format ?? resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\n{\n initFeatureFlags();\n}\n\nexport { AST_NODE_PROPS_KEYS, CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { CORE_ERROR_CODES_EXTEND_POINT, createCompileError, CORE_WARN_CODES_EXTEND_POINT, isMessageAST, AST_NODE_PROPS_KEYS, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, fallbackWithLocaleChain, isMessageFunction, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { getGlobalThis, makeSymbol, format, isObject, create, isPlainObject, isArray, deepCopy, isString, hasOwn, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, warnOnce, isEmptyObject } from '@intlify/shared';\nimport * as Vue from 'vue';\nimport { createVNode, Text, computed, watch, ref, shallowRef, Fragment, defineComponent, h, getCurrentScope, onScopeDispose, effectScope, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '11.4.2';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\n\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: CORE_WARN_CODES_EXTEND_POINT, // 10\n NOT_FOUND_PARENT_SCOPE: (CORE_WARN_CODES_EXTEND_POINT + 1),\n IGNORE_OBJ_FLATTEN: (CORE_WARN_CODES_EXTEND_POINT + 2),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_LEGACY_MODE: (CORE_WARN_CODES_EXTEND_POINT + 3),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE: (CORE_WARN_CODES_EXTEND_POINT +\n 4),\n // duplicate `useI18n` calling\n DUPLICATE_USE_I18N_CALLING: (CORE_WARN_CODES_EXTEND_POINT + 5)\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_LEGACY_MODE]: `Legacy API mode has been deprecated in v11. Use Composition API mode instead.\\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]: `'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.`,\n [I18nWarnCodes.DUPLICATE_USE_I18N_CALLING]: \"Duplicate `useI18n` calling by local scope. Please don't call it on local scope, due to it does not work properly in component.\"\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n if (isMessageAST(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (subKeys[i] === '__proto__') {\n throw new Error(`unsafe key: ${subKeys[i]}`);\n }\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = create();\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n if (!isMessageAST(currentObj)) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n else {\n /**\n * NOTE:\n * if the last object is a message AST and subKeys[lastIndex] has message AST prop key, ignore to copy and key deletion\n */\n if (!AST_NODE_PROPS_KEYS.includes(subKeys[lastIndex])) {\n delete obj[key];\n }\n }\n }\n // recursive process value if value is also a object\n if (!isMessageAST(currentObj)) {\n const target = currentObj[subKeys[lastIndex]];\n if (isObject(target)) {\n handleFlatJson(target);\n }\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? create()\n : { [locale]: create() });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || create();\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n // prettier-ignore\n let messages = isObject(options.messages)\n ? options.messages\n : create();\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0);\n}\nfunction getCurrentInstance() {\n // NOTE(kazupon): avoid bundler warning\n const key = 'currentInstance';\n if (key in Vue) {\n return Vue[key];\n }\n else {\n return Vue.getCurrentInstance();\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _context.locale = val;\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _context.fallbackLocale = val;\n _fallbackLocale.value = val;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit('fallback', {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n // When locale is explicitly specified, check only that locale (no fallback chain)\n // When locale is not specified, check the fallback locale chain\n const locales = isString(locale)\n ? [targetLocale]\n : fallbackWithLocaleChain(_context, _fallbackLocale.value, targetLocale);\n for (let i = 0; i < locales.length; i++) {\n const message = getLocaleMessage(locales[i]);\n let resolved = _context.messageResolver(message, key);\n // if null, resolve with object key path (for flat keys containing dots)\n if (resolved === null) {\n resolved = message[key];\n }\n if (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)) {\n return true;\n }\n }\n return false;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nconst VueDevToolsLabels = {\n 'vue-devtools-plugin-vue-i18n': 'Vue I18n DevTools',\n 'vue-i18n-resource-inspector': 'Vue I18n DevTools',\n 'vue-i18n-timeline': 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n 'vue-i18n-resource-inspector': 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n 'vue-i18n-timeline': 0xffcd19\n};\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: 'vue-devtools-plugin-vue-i18n',\n label: VueDevToolsLabels['vue-devtools-plugin-vue-i18n'],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.__VUE_I18N__ && instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: 'vue-i18n-resource-inspector',\n label: VueDevToolsLabels['vue-i18n-resource-inspector'],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders['vue-i18n-resource-inspector']\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: 'vue-i18n-timeline',\n label: VueDevToolsLabels['vue-i18n-timeline'],\n color: VueDevToolsTimelineColors['vue-i18n-timeline']\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$2(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: 'vue-i18n-timeline',\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === 'compile-error'\n ? 'error'\n : event === 'fallback' || event === 'missing'\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n *\n * @deprecated will be removed at vue-i18n v12\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$i18n) {\n const instance = getCurrentInstance();\n if (!instance) {\n return;\n }\n const _vueI18n = this.$i18n;\n instance.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n instance.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete instance.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, create());\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const renderChildren = () => {\n const keys = Object.keys(slots).filter(key => key[0] !== '_');\n const options = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const renderChildren = () => {\n const options = { part: true };\n let overrides = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n return children;\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\n/**\n * @deprecated will be removed at vue-i18n v12\n */\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n if ((process.env.NODE_ENV !== 'production')) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE));\n }\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser) {\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n if ((process.env.NODE_ENV !== 'production') && __legacyMode) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_LEGACY_MODE));\n }\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n // Isolated scope - independent composer not tied to component\n if (scope === 'isolated') {\n // Composition API mode only\n if (i18n.mode !== 'composition') {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n const i18nInternalIso = i18n;\n const composerOptions = assign({}, options);\n // Find parent composer via parent chain (or fall back to global)\n const parentComposer = getComposer(i18n, instance);\n composerOptions.__root = parentComposer || gl;\n const composer = createComposer(composerOptions);\n // ComposerExtend hook\n if (i18nInternalIso.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternalIso.__composerExtend(composer);\n }\n // Setup devtools emitter (no target.__VUE_I18N__ attachment -\n // multiple isolated composers per component are allowed)\n let emitter = null;\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n // Lifecycle cleanup via onScopeDispose\n const currentScope = getCurrentScope();\n if (currentScope) {\n onScopeDispose(() => {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dispose = composer[DisposeSymbol];\n if (dispose) {\n dispose();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete composer[DisposeSymbol];\n }\n });\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && scope === 'local') {\n warn(getWarnMessage(I18nWarnCodes.DUPLICATE_USE_I18N_CALLING));\n }\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode) {\n const scope = effectScope();\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n target.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nregisterMessageCompiler(compile);\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n","import { useCookie, useNuxtApp, useRequestEvent } from \"#imports\";\nimport { ref, watch } from \"vue\";\nimport { _useLocaleHead, _useSetI18nParams } from \"../routing/head.js\";\nimport { useComposableContext } from \"../utils.js\";\nimport { localePath, localeRoute, switchLocalePath } from \"../routing/routing.js\";\nexport * from \"vue-i18n\";\nexport * from \"./shared.js\";\nexport function useSetI18nParams(seo, nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return _useSetI18nParams(common, seo);\n}\nexport function useLocaleHead({ dir = true, lang = true, seo = true } = {}, nuxtApp = useNuxtApp()) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\n \"Strict SEO mode is enabled, `useLocaleHead` should not be used as localized head tags are handled internally by `@nuxtjs/i18n`\"\n );\n }\n const common = useComposableContext(nuxtApp);\n common.seoSettings = { dir, lang, seo };\n const head = _useLocaleHead(common, common.seoSettings);\n if (import.meta.client) {\n watch(head, () => common.metaState = head.value);\n }\n common.metaState = head.value;\n return head;\n}\nexport function useRouteBaseName(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route) => {\n if (route == null) {\n return;\n }\n return common.getRouteBaseName(route) || void 0;\n };\n}\nexport function useLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localePath(common, route, locale);\n}\nexport function useLocaleRoute(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localeRoute(common, route, locale);\n}\nexport function useSwitchLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (locale) => switchLocalePath(common, locale);\n}\nexport function useBrowserLocale(nuxtApp = useNuxtApp()) {\n return (nuxtApp || useNuxtApp()).$i18n.getBrowserLocale() || null;\n}\nexport function useCookieLocale(nuxtApp = useNuxtApp()) {\n const locale = ref(\"\");\n const nuxt = nuxtApp || useNuxtApp();\n const detect = nuxt.$config.public.i18n.detectBrowserLanguage;\n if (!detect || !detect.useCookie) {\n return locale;\n }\n const locales = useComposableContext(nuxt).getLocales();\n const code = useCookie(detect.cookieKey).value;\n if (code && locales.some((x) => x.code === code)) {\n locale.value = code;\n }\n return locale;\n}\nconst warnRuntimeUsage = (method) => console.warn(\n method + \"() is a compiler-hint helper that is only usable inside the script block of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.\"\n);\nexport function defineI18nRoute(route) {\n if (import.meta.dev) {\n warnRuntimeUsage(\"defineI18nRoute\");\n }\n}\nexport function useI18nPreloadKeys(keys) {\n if (import.meta.server) {\n const ctx = useRequestEvent()?.context?.nuxtI18n;\n if (ctx == null) {\n console.warn(\"useI18nPreloadKeys(): `nuxtI18n` server context is accessible.\");\n return;\n }\n const locale = useComposableContext(useNuxtApp()).getLocale();\n if (!locale) {\n console.warn(\"useI18nPreloadKeys(): Could not resolve locale during server-side render.\");\n return;\n }\n for (const k of keys) {\n ctx?.trackKey(k, locale);\n }\n }\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useSwitchLocalePath } from \"#i18n\";\nconst identifier = __SWITCH_LOCALE_PATH_LINK_IDENTIFIER__;\nconst switchLocalePathLinkWrapperExpr = new RegExp(\n [``, `.+?`, ``].join(\"\"),\n \"g\"\n);\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:switch-locale-path-ssr\",\n dependsOn: [\"i18n:plugin\"],\n setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const switchLocalePath = useSwitchLocalePath(nuxt);\n nuxt.hook(\"app:rendered\", (ctx) => {\n if (ctx.renderResult?.html == null) {\n return;\n }\n ctx.renderResult.html = ctx.renderResult.html.replaceAll(\n switchLocalePathLinkWrapperExpr,\n (match, p1) => {\n const encoded = encodeURI(switchLocalePath(p1 ?? \"\"));\n return match.replace(\n /href=\"([^\"]+)\"/,\n `href=\"${encoded || \"#\"}\" ${!encoded && __I18N_STRICT_SEO__ ? \"data-i18n-disabled\" : \"\"}`\n );\n }\n );\n });\n }\n});\n","import { useNuxtI18nContext, useResolvedLocale } from \"../context.js\";\nimport { detectLocale, loadAndSetLocale, navigate } from \"../utils.js\";\nimport { addRouteMiddleware, defineNuxtPlugin, defineNuxtRouteMiddleware, useNuxtApp, useRouter } from \"#imports\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:route-locale-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\"] : [\"i18n:plugin\", \"i18n:plugin:preload\"],\n async setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (__I18N_COMPACT_ROUTES__) {\n const router = useRouter();\n for (const route of router.getRoutes()) {\n if (route.meta?.__i18nCompact && route.meta.key == null) {\n route.meta.key = (r) => r.path;\n }\n }\n }\n const resolvedLocale = useResolvedLocale();\n await nuxt.runWithContext(\n () => loadAndSetLocale(\n nuxt,\n ctx.initial && resolvedLocale.value || detectLocale(nuxt, nuxt.$router.currentRoute.value)\n )\n );\n if (!__I18N_ROUTING__ || import.meta.server && __I18N_SERVER_REDIRECT__) {\n return;\n }\n addRouteMiddleware(\n \"locale-changing\",\n defineNuxtRouteMiddleware(async (to) => {\n const locale = await nuxt.runWithContext(() => loadAndSetLocale(nuxt, detectLocale(nuxt, to)));\n ctx.initial = false;\n return nuxt.runWithContext(() => navigate(nuxt, to, locale));\n }),\n { global: true }\n );\n }\n});\n","import { parse } from \"devalue\";\nimport { unref } from \"vue\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { localeCodes, localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"../shared/messages.js\";\nimport { useNuxtI18nContext } from \"../context.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:preload\",\n dependsOn: [\"i18n:plugin\"],\n async setup(_nuxt) {\n if (!__I18N_PRELOAD__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (import.meta.server) {\n for (const locale of localeCodes) {\n try {\n const messages = await $fetch(`${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`);\n for (const locale2 of Object.keys(messages)) {\n nuxt.$i18n.mergeLocaleMessage(locale2, messages[locale2]);\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n }\n ctx.preloaded = true;\n const serverI18n = nuxt.ssrContext?.event.context.nuxtI18n;\n if (serverI18n) {\n const msg = unref(ctx.vueI18n.global.messages);\n serverI18n.messages ??= {};\n for (const k in msg) {\n serverI18n.messages[k] = msg[k];\n }\n }\n }\n if (import.meta.client) {\n await mergePayloadMessages(ctx, ctx.vueI18n.global, nuxt);\n if (ctx.preloaded && __I18N_STRIP_UNUSED__) {\n const unsub = nuxt.$router.beforeResolve(async (to, from) => {\n if (to.path === from.path) {\n return;\n }\n await ctx.loadMessages(ctx.getLocale());\n unsub();\n });\n }\n }\n }\n});\nasync function mergePayloadMessages(ctx, i18n, nuxt = useNuxtApp()) {\n const content = document.querySelector(`[data-nuxt-i18n=\"${nuxt._id}\"]`)?.textContent;\n const preloadedMessages = content && parse(content);\n const preloadedKeys = Object.keys(preloadedMessages || {});\n if (preloadedKeys.length) {\n if (ctx.dynamicResourcesSSG) {\n const getKeyedLocaleMessages = async (locale) => {\n return { [locale]: await getLocaleMessagesMergedCached(locale, localeLoaders[locale]) };\n };\n try {\n const msg = await Promise.all(preloadedKeys.map(getKeyedLocaleMessages));\n for (const m of msg) {\n for (const k in m) {\n i18n.mergeLocaleMessage(k, m[k]);\n }\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n ctx.preloaded = true;\n } else {\n for (const locale of preloadedKeys) {\n const messages = preloadedMessages[locale];\n if (messages) {\n i18n.mergeLocaleMessage(locale, messages);\n }\n }\n ctx.preloaded = true;\n }\n }\n}\n","import { effectScope } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { getComposer } from \"../compatibility.js\";\nexport function extendI18n(i18n, { extendComposer, extendComposerInstance }) {\n const scope = effectScope();\n const installI18n = i18n.install.bind(i18n);\n i18n.install = (app, ...options) => {\n const pluginOptions = assign({}, options[0]);\n pluginOptions.__composerExtend = (c) => {\n extendComposerInstance(c, getComposer(i18n));\n return () => {\n };\n };\n if (i18n.mode === \"legacy\") {\n pluginOptions.__vueI18nExtend = (vueI18n) => {\n extendComposerInstance(vueI18n, getComposer(vueI18n));\n return () => {\n };\n };\n }\n Reflect.apply(installI18n, i18n, [app, pluginOptions]);\n const globalComposer = getComposer(i18n);\n scope.run(() => {\n extendComposer(globalComposer);\n if (i18n.mode === \"legacy\" && \"__composer\" in i18n.global) {\n extendComposerInstance(i18n.global, getComposer(i18n.global));\n }\n });\n if (i18n.mode === \"composition\" && app.config.globalProperties.$i18n != null) {\n extendComposerInstance(app.config.globalProperties.$i18n, globalComposer);\n }\n if (app.unmount) {\n const unmountApp = app.unmount.bind(app);\n app.unmount = () => {\n scope.stop();\n unmountApp();\n };\n }\n };\n}\n","import { loadVueI18nOptions } from \"./messages.js\";\nimport { localeCodes as _localeCodes, vueI18nConfigs } from \"#build/i18n-options.mjs\";\nexport const setupVueI18nOptions = async (defaultLocale) => {\n const options = await loadVueI18nOptions(vueI18nConfigs);\n options.locale = defaultLocale || options.locale || \"en-US\";\n options.defaultLocale = defaultLocale;\n options.fallbackLocale ??= false;\n options.messages ??= {};\n for (const locale of _localeCodes) {\n options.messages[locale] ??= {};\n }\n return options;\n};\n","import { computed, ref, watch } from \"vue\";\nimport { createI18n } from \"vue-i18n\";\nimport { defineNuxtPlugin, prerenderRoutes, useNuxtApp, useRequestEvent, useRequestURL } from \"#imports\";\nimport { localeCodes, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { loadAndSetLocale, navigate } from \"../utils.js\";\nimport { extendI18n } from \"../routing/i18n.js\";\nimport { getI18nTarget } from \"../compatibility.js\";\nimport { _useLocaleHead, localeHead } from \"../routing/head.js\";\nimport { useLocalePath, useLocaleRoute, useRouteBaseName, useSwitchLocalePath } from \"../composables/index.js\";\nimport { createLocaleConfigs, getDefaultLocaleForDomain, resolveSupportedLocale } from \"../shared/locales.js\";\nimport { setupVueI18nOptions } from \"../shared/vue-i18n.js\";\nimport { createNuxtI18nContext, useLocaleConfigs } from \"../context.js\";\nimport { useI18nDetection, useRuntimeI18n } from \"../shared/utils.js\";\nimport { useDetectors } from \"../shared/detection.js\";\nimport { setupMultiDomainLocales } from \"../routing/domain.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin\",\n parallel: __PARALLEL_PLUGIN__,\n async setup(_nuxt) {\n Object.defineProperty(_nuxt.versions, \"nuxtI18n\", { get: () => __NUXT_I18N_VERSION__ });\n const nuxt = useNuxtApp(_nuxt._id);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const preloadedOptions = nuxt.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions;\n const _defaultLocale = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host) || runtimeI18n.defaultLocale || \"\";\n const optionsI18n = preloadedOptions || await setupVueI18nOptions(_defaultLocale);\n const localeConfigs = useLocaleConfigs();\n if (import.meta.server) {\n localeConfigs.value = useRequestEvent().context.nuxtI18n?.localeConfigs || {};\n } else {\n localeConfigs.value ??= createLocaleConfigs(optionsI18n.fallbackLocale);\n }\n if (__MULTI_DOMAIN_LOCALES__) {\n setupMultiDomainLocales(optionsI18n.defaultLocale);\n }\n prerenderRoutes(localeCodes.map((locale) => `${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`));\n const i18n = createI18n(optionsI18n);\n const detectors = useDetectors(useRequestEvent(nuxt), useI18nDetection(nuxt), nuxt);\n const ctx = createNuxtI18nContext(nuxt, i18n, optionsI18n.defaultLocale);\n nuxt._nuxtI18n = ctx;\n if (__I18N_STRIP_UNUSED__ && import.meta.server) {\n wrapTranslationFunctions(ctx);\n }\n extendI18n(i18n, {\n extendComposer(composer) {\n composer.locales = computed(() => runtimeI18n.locales);\n composer.localeCodes = computed(() => localeCodes);\n const _baseUrl = ref(ctx.getBaseUrl());\n composer.baseUrl = computed(() => _baseUrl.value);\n if (import.meta.client) {\n watch(composer.locale, () => _baseUrl.value = ctx.getBaseUrl());\n }\n composer.strategy = __I18N_STRATEGY__;\n composer.localeProperties = computed(\n () => normalizedLocales.find((l) => l.code === composer.locale.value) || { code: composer.locale.value }\n );\n composer.setLocale = async (locale) => {\n await loadAndSetLocale(nuxt, locale);\n await nuxt.runWithContext(() => navigate(nuxt, nuxt.$router.currentRoute.value, locale));\n };\n composer.loadLocaleMessages = ctx.loadMessages;\n composer.differentDomains = __DIFFERENT_DOMAINS__;\n composer.defaultLocale = optionsI18n.defaultLocale;\n composer.getBrowserLocale = () => import.meta.client ? resolveSupportedLocale(detectors.navigator()) : resolveSupportedLocale(detectors.header());\n composer.getLocaleCookie = () => resolveSupportedLocale(detectors.cookie());\n composer.setLocaleCookie = ctx.setCookieLocale;\n composer.finalizePendingLocaleChange = async () => {\n if (!i18n.__pendingLocale) {\n return;\n }\n await i18n.__resolvePendingLocalePromise?.();\n };\n composer.waitForPendingLocaleChange = async () => {\n await i18n?.__pendingLocalePromise;\n };\n },\n extendComposerInstance(instance, c) {\n const props = [\n [\"locales\", () => c.locales],\n [\"localeCodes\", () => c.localeCodes],\n [\"baseUrl\", () => c.baseUrl],\n [\"strategy\", () => __I18N_STRATEGY__],\n [\"localeProperties\", () => c.localeProperties],\n [\"setLocale\", () => (locale) => Reflect.apply(c.setLocale, c, [locale])],\n [\"loadLocaleMessages\", () => (locale) => Reflect.apply(c.loadLocaleMessages, c, [locale])],\n [\"differentDomains\", () => __DIFFERENT_DOMAINS__],\n [\"defaultLocale\", () => c.defaultLocale],\n [\"getBrowserLocale\", () => () => Reflect.apply(c.getBrowserLocale, c, [])],\n [\"getLocaleCookie\", () => () => Reflect.apply(c.getLocaleCookie, c, [])],\n [\"setLocaleCookie\", () => (locale) => Reflect.apply(c.setLocaleCookie, c, [locale])],\n [\"finalizePendingLocaleChange\", () => () => Reflect.apply(c.finalizePendingLocaleChange, c, [])],\n [\"waitForPendingLocaleChange\", () => () => Reflect.apply(c.waitForPendingLocaleChange, c, [])]\n ];\n for (const [key, get] of props) {\n Object.defineProperty(instance, key, { get });\n }\n }\n });\n nuxt.vueApp.use(i18n);\n Object.defineProperty(nuxt, \"$i18n\", { get: () => getI18nTarget(i18n) });\n nuxt.provide(\"localeHead\", (options) => localeHead(nuxt._nuxtI18n.composableCtx, options));\n nuxt.provide(\"localePath\", useLocalePath(nuxt));\n nuxt.provide(\"localeRoute\", useLocaleRoute(nuxt));\n nuxt.provide(\"routeBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"getRouteBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"switchLocalePath\", useSwitchLocalePath(nuxt));\n if (__I18N_STRICT_SEO__) {\n nuxt.hook(import.meta.server ? \"app:rendered\" : \"app:mounted\", () => {\n _useLocaleHead(nuxt._nuxtI18n.composableCtx, { dir: true, lang: true, seo: true });\n });\n }\n }\n});\nfunction wrapTranslationFunctions(ctx, serverI18n = useRequestEvent()?.context?.nuxtI18n) {\n if (!serverI18n) {\n return;\n }\n const i18n = ctx.vueI18n.global;\n const originalT = i18n.t.bind(i18n);\n i18n.t = (key, listOrNamed, opts) => {\n const locale = typeof opts === \"object\" && opts?.locale || ctx.getLocale();\n serverI18n?.trackKey(key, locale);\n return originalT(key, listOrNamed, opts);\n };\n const originalTe = i18n.te.bind(i18n);\n i18n.te = (key, locale) => {\n serverI18n?.trackKey(key, locale || ctx.getLocale());\n return originalTe(key, locale);\n };\n const originalTm = i18n.tm.bind(i18n);\n i18n.tm = (key) => {\n serverI18n?.trackKey(key, ctx.getLocale());\n return originalTm(key);\n };\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useNuxtI18nContext } from \"../context.js\";\nimport { detectLocale } from \"../utils.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:ssg-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\"] : [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\", \"i18n:plugin:preload\"],\n enforce: \"post\",\n setup(_nuxt) {\n if (!__IS_SSG__ || !__I18N_ROUTING__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n nuxt.hook(\"app:mounted\", async () => {\n const detected = detectLocale(nuxt, nuxt.$router.currentRoute.value);\n await nuxt.runWithContext(() => nuxt.$i18n.setLocale(detected));\n ctx.initial = false;\n });\n }\n});\n","import payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M from \"/app/node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js\";\nimport unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU from \"/app/node_modules/nuxt/dist/head/runtime/plugins/unhead.js\";\nimport router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw from \"/app/node_modules/nuxt/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms from \"/app/node_modules/nuxt/dist/app/plugins/revive-payload.server.js\";\nimport plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs from \"/app/node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js\";\nimport components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4 from \"/app/.nuxt/components.plugin.mjs\";\nimport switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js\";\nimport route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js\";\nimport preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24 from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js\";\nimport i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js\";\nimport ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js\";\nexport default [\n payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M,\n unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,\n router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw,\n revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,\n plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs,\n components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4,\n switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw,\n route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U,\n preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24,\n i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM,\n ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs\n]","import { defineAsyncComponent } from 'vue'\nexport default {\n default: defineAsyncComponent(() => import(\"/app/layouts/default.vue\").then(m => m.default || m))\n}","import { Suspense, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, shallowReactive, shallowRef, unref } from \"vue\";\nimport { useRoute, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"./utils.js\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"./injections.js\";\nimport { useRoute as useVueRouterRoute } from \"#build/pages\";\nimport layouts from \"#build/layouts\";\nimport { appLayoutTransition as defaultLayoutTransition } from \"#build/nuxt.config.mjs\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nconst LayoutLoader = defineComponent({\n name: \"LayoutLoader\",\n inheritAttrs: false,\n props: {\n name: String,\n layoutProps: Object\n },\n setup(props, context) {\n return () => h(layouts[props.name], props.layoutProps, context.slots);\n }\n});\nconst nuxtLayoutProps = {\n name: {\n type: [String, Boolean, Object],\n default: null\n },\n fallback: {\n type: [String, Object],\n default: null\n }\n};\nexport default defineComponent({\n name: \"NuxtLayout\",\n inheritAttrs: false,\n props: nuxtLayoutProps,\n setup(props, context) {\n const nuxtApp = useNuxtApp();\n const injectedRoute = inject(PageRouteSymbol);\n const shouldUseEagerRoute = !injectedRoute || injectedRoute === useRoute();\n const route = shouldUseEagerRoute ? useVueRouterRoute() : injectedRoute;\n const layout = computed(() => {\n let layout2 = unref(props.name) ?? route?.meta.layout ?? routeRulesMatcher(route?.path).appLayout ?? \"default\";\n if (layout2 && !(layout2 in layouts)) {\n if (import.meta.dev && layout2 !== \"default\") {\n console.warn(`[nuxt] Invalid layout \\`${layout2}\\` selected.`);\n }\n if (props.fallback) {\n layout2 = unref(props.fallback);\n }\n }\n return layout2;\n });\n const layoutRef = shallowRef();\n context.expose({ layoutRef });\n const done = nuxtApp.deferHydration();\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtLayoutUsed = true;\n }\n let lastLayout;\n return () => {\n const hasLayout = !!layout.value && layout.value in layouts;\n const hasTransition = hasLayout && !!(route?.meta.layoutTransition ?? defaultLayoutTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n route?.meta.layoutTransition,\n defaultLayoutTransition,\n {\n onBeforeLeave() {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n },\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n }\n }\n ]);\n const previouslyRenderedLayout = lastLayout;\n lastLayout = layout.value;\n return _wrapInTransition(transitionProps, {\n default: () => h(\n Suspense,\n {\n suspensible: true,\n onResolve: async () => {\n await nextTick(done);\n }\n },\n {\n default: () => h(\n LayoutProvider,\n {\n layoutProps: mergeProps(context.attrs, route.meta.layoutProps ?? {}, { ref: layoutRef }),\n key: layout.value || void 0,\n name: layout.value,\n shouldProvide: !props.name,\n isRenderingNewLayout: (name) => {\n return name !== previouslyRenderedLayout && name === layout.value;\n },\n hasTransition\n },\n context.slots\n )\n }\n )\n }).default();\n };\n }\n});\nconst LayoutProvider = defineComponent({\n name: \"NuxtLayoutProvider\",\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Boolean]\n },\n layoutProps: {\n type: Object\n },\n hasTransition: {\n type: Boolean\n },\n shouldProvide: {\n type: Boolean\n },\n isRenderingNewLayout: {\n type: Function,\n required: true\n }\n },\n setup(props, context) {\n const name = props.name;\n if (props.shouldProvide) {\n provide(LayoutMetaSymbol, {\n // When name=false, always return true so NuxtPage doesn't skip rendering\n isCurrent: (route) => name === false || name === (route.meta.layout ?? routeRulesMatcher(route.path).appLayout ?? \"default\")\n });\n }\n const injectedRoute = inject(PageRouteSymbol);\n const isNotWithinNuxtPage = injectedRoute && injectedRoute === useRoute();\n if (isNotWithinNuxtPage) {\n const vueRouterRoute = useVueRouterRoute();\n const reactiveChildRoute = {};\n for (const _key in vueRouterRoute) {\n const key = _key;\n Object.defineProperty(reactiveChildRoute, key, {\n enumerable: true,\n get: () => {\n return props.isRenderingNewLayout(props.name) ? vueRouterRoute[key] : injectedRoute[key];\n }\n });\n }\n provide(PageRouteSymbol, shallowReactive(reactiveChildRoute));\n }\n let vnode;\n if (import.meta.dev && import.meta.client) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n if (name) {\n console.warn(`[nuxt] \\`${name}\\` layout does not have a single root node and will cause errors when navigating between routes.`);\n } else {\n console.warn(\"[nuxt] `` needs to be passed a single root node in its default slot.\");\n }\n }\n });\n });\n }\n return () => {\n if (!name || typeof name === \"string\" && !(name in layouts)) {\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = context.slots.default?.();\n return vnode;\n }\n return context.slots.default?.();\n }\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n return vnode;\n }\n return h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n };\n }\n});\n","import { defineComponent, h, nextTick, onMounted, provide, shallowReactive } from \"vue\";\nimport { PageRouteSymbol } from \"./injections.js\";\nexport const defineRouteProvider = (name = \"RouteProvider\") => defineComponent({\n name,\n props: {\n route: {\n type: Object,\n required: true\n },\n vnode: Object,\n vnodeRef: Object,\n renderKey: String,\n trackRootNodes: Boolean\n },\n setup(props) {\n const previousKey = props.renderKey;\n const previousRoute = props.route;\n const route = {};\n for (const key in props.route) {\n Object.defineProperty(route, key, {\n get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],\n enumerable: true\n });\n }\n provide(PageRouteSymbol, shallowReactive(route));\n let vnode;\n if (import.meta.dev && import.meta.client && props.trackRootNodes) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n const filename = vnode?.type?.__file;\n console.warn(`[nuxt] \\`${filename}\\` does not have a single root node and will cause errors when navigating between routes.`);\n }\n });\n });\n }\n return () => {\n if (!props.vnode) {\n return props.vnode;\n }\n if (import.meta.dev && import.meta.client) {\n vnode = h(props.vnode, { ref: props.vnodeRef });\n return vnode;\n }\n return h(props.vnode, { ref: props.vnodeRef });\n };\n }\n});\nexport const RouteProvider = defineRouteProvider();\n","import { Fragment, Suspense, defineComponent, h, inject, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { RouterView } from \"vue-router\";\nimport { generateRouteKey, wrapInKeepAlive } from \"./utils.js\";\nimport { RouteProvider, defineRouteProvider } from \"#app/components/route-provider\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"#app/components/utils\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\nimport { appKeepalive as defaultKeepaliveConfig, appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nconst _routeProviders = import.meta.dev ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new WeakMap();\nexport default defineComponent({\n name: \"NuxtPage\",\n inheritAttrs: false,\n props: {\n name: {\n type: String\n },\n transition: {\n type: [Boolean, Object],\n default: void 0\n },\n keepalive: {\n type: [Boolean, Object],\n default: void 0\n },\n route: {\n type: Object\n },\n pageKey: {\n type: [Function, String],\n default: null\n }\n },\n setup(props, { attrs, slots, expose }) {\n const nuxtApp = useNuxtApp();\n const pageRef = ref();\n const forkRoute = inject(PageRouteSymbol, null);\n let previousPageKey;\n expose({ pageRef });\n const _layoutMeta = inject(LayoutMetaSymbol, null);\n let vnode;\n const done = nuxtApp.deferHydration();\n let isSuspensePending = false;\n let hasResolvedOnce = false;\n let suspenseKey = 0;\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.client && props.pageKey) {\n watch(() => props.pageKey, (next, prev) => {\n if (next !== prev) {\n nuxtApp.callHook(\"page:loading:start\");\n }\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtPageUsed = true;\n }\n let pageLoadingEndHookAlreadyCalled = false;\n if (import.meta.client) {\n const unsub = useRouter().beforeResolve(() => {\n pageLoadingEndHookAlreadyCalled = false;\n });\n onBeforeUnmount(() => {\n unsub();\n done();\n });\n }\n return () => {\n return h(RouterView, { name: props.name, route: props.route, ...attrs }, {\n default: import.meta.server ? (routeProps) => {\n return h(Suspense, { suspensible: true }, {\n default() {\n return h(RouteProvider, {\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n vnodeRef: pageRef\n });\n }\n });\n } : (routeProps) => {\n const isRenderingNewRouteInOldFork = haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n const hasSameChildren = forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n if (!routeProps.Component) {\n if (vnode && !hasSameChildren && !isStaleVNode(vnode)) {\n return vnode;\n }\n done();\n return;\n }\n if (vnode && _layoutMeta && !isStaleVNode(vnode) && !_layoutMeta.isCurrent(routeProps.route)) {\n return vnode;\n }\n if (isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n if ((hasSameChildren || vnode) && !isStaleVNode(vnode)) {\n return vnode;\n }\n return null;\n }\n const key = generateRouteKey(routeProps, props.pageKey);\n const willRenderAnotherChild = hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component);\n if (!nuxtApp.isHydrating && previousPageKey === key && !willRenderAnotherChild) {\n nextTick(() => {\n if (!pageLoadingEndHookAlreadyCalled) {\n pageLoadingEndHookAlreadyCalled = true;\n nuxtApp.callHook(\"page:loading:end\");\n }\n });\n }\n if (isSuspensePending && previousPageKey !== key && hasResolvedOnce) {\n suspenseKey++;\n }\n previousPageKey = key;\n const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? defaultPageTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n props.transition,\n routeProps.route.meta.pageTransition,\n defaultPageTransition,\n {\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n nuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n }\n }\n ]);\n const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? defaultKeepaliveConfig;\n vnode = _wrapInTransition(\n hasTransition && transitionProps,\n wrapInKeepAlive(\n keepaliveConfig,\n h(Suspense, {\n key: suspenseKey,\n suspensible: true,\n onPending: () => {\n isSuspensePending = true;\n if (hasTransition && !nuxtApp[\"~transitionPromise\"]) {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n }\n nuxtApp.callHook(\"page:start\", routeProps.Component);\n },\n onResolve: async () => {\n isSuspensePending = false;\n hasResolvedOnce = true;\n try {\n await nextTick();\n nuxtApp._route.sync?.();\n await nuxtApp.callHook(\"page:finish\", routeProps.Component);\n if (!pageLoadingEndHookAlreadyCalled && !willRenderAnotherChild) {\n pageLoadingEndHookAlreadyCalled = true;\n await nuxtApp.callHook(\"page:loading:end\");\n }\n } finally {\n done();\n }\n }\n }, {\n default: () => {\n const routeProviderProps = {\n key: key || void 0,\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n renderKey: key || void 0,\n trackRootNodes: hasTransition,\n vnodeRef: pageRef\n };\n if (!keepaliveConfig) {\n return h(RouteProvider, routeProviderProps);\n }\n const routerComponentType = routeProps.Component.type;\n const routeProviderKey = import.meta.dev ? routerComponentType.name || routerComponentType.__name : routerComponentType;\n let PageRouteProvider = _routeProviders.get(routeProviderKey);\n if (!PageRouteProvider) {\n PageRouteProvider = defineRouteProvider(routerComponentType.name || routerComponentType.__name);\n _routeProviders.set(routeProviderKey, PageRouteProvider);\n }\n return h(PageRouteProvider, routeProviderProps);\n }\n })\n )\n ).default();\n return vnode;\n }\n });\n };\n }\n});\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n if (index === -1) {\n return false;\n }\n const newParents = newRoute.matched.slice(0, index).filter((m) => m.components?.default);\n if (!newParents.length) {\n return false;\n }\n const forkParents = fork.matched.filter((m) => m.components?.default);\n return newParents.some((c, i) => c.components?.default !== forkParents[i]?.components?.default) || Component && generateRouteKey({ route: newRoute, Component }) !== generateRouteKey({ route: fork, Component });\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n return index < newRoute.matched.length - 1;\n}\nfunction normalizeSlot(slot, data) {\n const slotContent = slot(data);\n return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);\n}\nfunction isStaleVNode(vnode) {\n return !!vnode && (!!vnode.suspense?.isUnmounted || !!vnode.component?.isUnmounted);\n}\n","\n\n\n","\n\n\n","\n\n\n","import { createApp, createSSRApp, nextTick } from \"vue\";\nimport \"#build/fetch.mjs\";\nimport \"#build/global-polyfills.mjs\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\nimport { appId, appSpaLoaderAttrs, multiApp, spaLoadingTemplateOutside, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nlet entry;\nif (import.meta.server) {\n entry = async function createNuxtAppServer(ssrContext) {\n const vueApp = createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp, ssrContext });\n try {\n await applyPlugins(nuxt, plugins);\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n } catch (error) {\n await nuxt.hooks.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n if (ssrContext && (ssrContext[\"~renderResponse\"] || ssrContext._renderResponse)) {\n throw new Error(\"skipping render\");\n }\n return vueApp;\n };\n}\nif (import.meta.client) {\n if (import.meta.dev && import.meta.webpackHot) {\n import.meta.webpackHot.accept();\n }\n let vueAppPromise;\n entry = async function initApp() {\n if (vueAppPromise) {\n return vueAppPromise;\n }\n const isSSR = Boolean(\n (multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\"\n );\n const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp });\n async function handleVueError(error) {\n await nuxt.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n ;\n handleVueError.__nuxt_default = true;\n vueApp.config.errorHandler = handleVueError;\n nuxt.hook(\"app:suspense:resolve\", () => {\n if (vueApp.config.errorHandler === handleVueError) {\n vueApp.config.errorHandler = void 0;\n }\n });\n if (spaLoadingTemplateOutside && !isSSR && appSpaLoaderAttrs.id) {\n nuxt.hook(\"app:suspense:resolve\", () => {\n document.getElementById(appSpaLoaderAttrs.id)?.remove();\n });\n }\n try {\n await applyPlugins(nuxt, plugins);\n } catch (err) {\n handleVueError(err);\n }\n try {\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n await nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n vueApp.mount(vueAppRootContainer);\n await nuxt.hooks.callHook(\"app:mounted\", vueApp);\n await nextTick();\n } catch (err) {\n handleVueError(err);\n }\n return vueApp;\n };\n vueAppPromise = entry().catch((error) => {\n console.error(\"Error while mounting app:\", error);\n throw error;\n });\n}\nexport default ((ssrContext) => entry(ssrContext));\n"],"names":["$fetch","plugin","provide","plugins","getCurrentInstance","toArray","createH3Error","headCore","routeRulesMatcher","__executeAsync","entry","parse","format","identifier","separator","src","des","localeHead","localePath","_localeHead","vueI18nConfigs","getLocaleMessages","cache","getComposer","define_I18N_LOCALE_HASHES_default","errorMessages","index","context","isLiteral","baseCompile","warnMessages","getWarnMessage","VERSION","type","resolveValue","msg","source","message","locale","locales","_context","messages","global","options","composer","switchLocalePath","_localeCodes","payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs","useVueRouterRoute","defaultLayoutTransition","_push","_parent","_createVNode","_unref","_ssrRenderComponent","ErrorComponent","RootComponent"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,10,11,12,13,14,15,17,18,20,21,24,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,68,69,70]} \ No newline at end of file +{"version":3,"file":"server.mjs","sources":["../../../virtual:nuxt:%2Fapp%2F.nuxt%2Ffetch.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fglobal-polyfills.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fnuxt.config.mjs","../../../node_modules/nuxt/dist/app/nuxt.js","../../../node_modules/nuxt/dist/app/components/injections.js","../../../node_modules/nuxt/dist/app/utils.js","../../../node_modules/nuxt/dist/app/composables/router.js","../../../node_modules/nuxt/dist/app/composables/error.js","../../../node_modules/nuxt/dist/head/runtime/composables/v3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froute-rules.mjs","../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../node_modules/nuxt/dist/app/composables/payload.js","../../../node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js","../../../node_modules/nuxt/dist/head/runtime/island-head.js","../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froutes.mjs","../../../node_modules/nuxt/dist/app/components/utils.js","../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Frouter.options.mjs","../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../node_modules/nuxt/dist/app/middleware/route-rules.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fmiddleware.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.islands.mjs","../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../node_modules/nuxt/dist/app/components/server-placeholder.js","../../../node_modules/nuxt/dist/app/components/client-only.js","../../../node_modules/nuxt/dist/app/composables/state.js","../../../node_modules/nuxt/dist/app/composables/ssr.js","../../../node_modules/nuxt/dist/app/composables/cookie.js","../../../node_modules/nuxt/dist/app/composables/url.js","../../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.plugin.mjs","../../../node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/head.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/head.js","../../../node_modules/@intlify/utils/dist/shared/utils.9f8159f5.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fi18n-options.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/messages.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/compatibility.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/utils.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/domain.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/locales.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/context.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/browser.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/detection.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/utils.js","../../../node_modules/@intlify/message-compiler/dist/message-compiler.mjs","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/composables/index.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/vue-i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fplugins.server.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Flayouts.mjs","../../../node_modules/nuxt/dist/app/components/nuxt-layout.js","../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../app.vue","../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":["import { $fetch } from 'ofetch'\nimport { baseURL } from '#internal/nuxt/paths'\nif (!globalThis.$fetch) {\n globalThis.$fetch = $fetch.create({\n baseURL: baseURL()\n })\n}","\nif (!(\"global\" in globalThis)) {\n globalThis.global = globalThis;\n}","export const appBaseURL = \"/\"\n\nexport const appBuildAssetsDir = \"/_nuxt/\"\n\nexport const appCdnURL = \"\"\n\nexport const appHead = {\"meta\":[{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"charset\":\"utf-8\"}],\"link\":[],\"style\":[],\"script\":[],\"noscript\":[]}\n\nexport const appLayoutTransition = false\n\nexport const appPageTransition = false\n\nexport const appViewTransition = false\n\nexport const appKeepalive = false\n\nexport const appRootId = \"__nuxt\"\n\nexport const appRootTag = \"div\"\n\nexport const appRootAttrs = {\"id\":\"__nuxt\"}\n\nexport const appTeleportTag = \"div\"\n\nexport const appTeleportId = \"teleports\"\n\nexport const appTeleportAttrs = {\"id\":\"teleports\"}\n\nexport const appSpaLoaderTag = \"div\"\n\nexport const appSpaLoaderAttrs = {\"id\":\"__nuxt-loader\"}\n\nexport const renderJsonPayloads = true\n\nexport const componentIslands = false\n\nexport const payloadExtraction = false\n\nexport const cookieStore = true\n\nexport const appManifest = true\n\nexport const remoteComponentIslands = false\n\nexport const selectiveClient = false\n\nexport const devPagesDir = null\n\nexport const devRootDir = null\n\nexport const devLogs = false\n\nexport const nuxtLinkDefaults = {\"componentName\":\"NuxtLink\",\"prefetch\":true,\"prefetchOn\":{\"visibility\":true}}\n\nexport const asyncDataDefaults = {\"value\":null,\"errorValue\":null,\"deep\":true}\n\nexport const resetAsyncDataToUndefined = true\n\nexport const nuxtDefaultErrorValue = null\n\nexport const fetchDefaults = {}\n\nexport const vueAppRootContainer = '#__nuxt'\n\nexport const viewTransition = false\n\nexport const appId = \"nuxt-app\"\n\nexport const outdatedBuildInterval = 3600000\n\nexport const multiApp = false\n\nexport const chunkErrorEvent = \"vite:preloadError\"\n\nexport const crawlLinks = false\n\nexport const spaLoadingTemplateOutside = false\n\nexport const purgeCachedData = true\n\nexport const granularCachedData = false\n\nexport const pendingWhenIdle = true\n\nexport const alwaysRunFetchOnKeyChange = true","import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive, shallowReactive } from \"vue\";\nimport { createHooks } from \"hookable\";\nimport { getContext } from \"unctx\";\nimport { appId, chunkErrorEvent, multiApp } from \"#build/nuxt.config.mjs\";\nexport function getNuxtAppCtx(id = appId || \"nuxt-app\") {\n return getContext(id, {\n asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server\n });\n}\nexport const NuxtPluginIndicator = \"__nuxt_plugin\";\nexport function createNuxtApp(options) {\n let hydratingCount = 0;\n const nuxtApp = {\n _id: options.id || appId || \"nuxt-app\",\n _scope: effectScope(),\n provide: void 0,\n globalName: \"nuxt\",\n versions: {\n get nuxt() {\n return __NUXT_VERSION__;\n },\n get vue() {\n return nuxtApp.vueApp.version;\n }\n },\n payload: shallowReactive({\n ...options.ssrContext?.payload || {},\n data: shallowReactive({}),\n state: reactive({}),\n once: /* @__PURE__ */ new Set(),\n _errors: shallowReactive({})\n }),\n static: {\n data: {}\n },\n runWithContext(fn) {\n if (nuxtApp._scope.active && !getCurrentScope()) {\n return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));\n }\n return callWithNuxt(nuxtApp, fn);\n },\n isHydrating: import.meta.client,\n deferHydration() {\n if (!nuxtApp.isHydrating) {\n return () => {\n };\n }\n hydratingCount++;\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n hydratingCount--;\n if (hydratingCount === 0) {\n nuxtApp.isHydrating = false;\n return nuxtApp.callHook(\"app:suspense:resolve\");\n }\n };\n },\n _asyncDataPromises: {},\n _asyncData: shallowReactive({}),\n _payloadRevivers: {},\n ...options\n };\n if (import.meta.server) {\n nuxtApp.payload.serverRendered = true;\n }\n if (import.meta.server && nuxtApp.ssrContext) {\n nuxtApp.payload.path = nuxtApp.ssrContext.url;\n nuxtApp.ssrContext.nuxt = nuxtApp;\n nuxtApp.ssrContext.payload = nuxtApp.payload;\n nuxtApp.ssrContext.config = {\n public: nuxtApp.ssrContext.runtimeConfig.public,\n app: nuxtApp.ssrContext.runtimeConfig.app\n };\n }\n if (import.meta.client) {\n const __NUXT__ = multiApp ? window.__NUXT__?.[nuxtApp._id] : window.__NUXT__;\n if (__NUXT__) {\n for (const key in __NUXT__) {\n switch (key) {\n case \"data\":\n case \"state\":\n case \"_errors\":\n Object.assign(nuxtApp.payload[key], __NUXT__[key]);\n break;\n default:\n nuxtApp.payload[key] = __NUXT__[key];\n }\n }\n }\n }\n nuxtApp.hooks = createHooks();\n nuxtApp.hook = nuxtApp.hooks.hook;\n if (import.meta.server) {\n const contextCaller = async function(hooks, args) {\n for (const hook of hooks) {\n await nuxtApp.runWithContext(() => hook(...args));\n }\n };\n nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);\n }\n nuxtApp.callHook = nuxtApp.hooks.callHook;\n nuxtApp.provide = (name, value) => {\n const $name = \"$\" + name;\n defineGetter(nuxtApp, $name, value);\n defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);\n };\n defineGetter(nuxtApp.vueApp, \"$nuxt\", nuxtApp);\n defineGetter(nuxtApp.vueApp.config.globalProperties, \"$nuxt\", nuxtApp);\n if (import.meta.client) {\n if (chunkErrorEvent) {\n window.addEventListener(chunkErrorEvent, (event) => {\n nuxtApp.callHook(\"app:chunkError\", { error: event.payload });\n if (event.payload?.message?.includes(\"Unable to preload CSS\")) {\n event.preventDefault();\n }\n });\n }\n window.useNuxtApp ||= useNuxtApp;\n const unreg = nuxtApp.hook(\"app:error\", (...args) => {\n console.error(\"[nuxt] error caught during app initialization\", ...args);\n });\n nuxtApp.hook(\"app:mounted\", unreg);\n }\n const runtimeConfig = import.meta.server ? options.ssrContext.runtimeConfig : nuxtApp.payload.config;\n nuxtApp.provide(\"config\", import.meta.client && import.meta.dev ? wrappedConfig(runtimeConfig) : runtimeConfig);\n return nuxtApp;\n}\nexport function registerPluginHooks(nuxtApp, plugin) {\n if (plugin.hooks) {\n nuxtApp.hooks.addHooks(plugin.hooks);\n }\n}\nexport async function applyPlugin(nuxtApp, plugin) {\n if (typeof plugin === \"function\") {\n const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};\n if (provide && typeof provide === \"object\") {\n for (const key in provide) {\n nuxtApp.provide(key, provide[key]);\n }\n }\n }\n}\nexport async function applyPlugins(nuxtApp, plugins) {\n const resolvedPlugins = /* @__PURE__ */ new Set();\n const unresolvedPlugins = [];\n const parallels = [];\n let error = void 0;\n let promiseDepth = 0;\n async function executePlugin(plugin) {\n const unresolvedPluginsForThisPlugin = plugin.dependsOn?.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.has(name)) ?? [];\n if (unresolvedPluginsForThisPlugin.length > 0) {\n unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);\n } else {\n const promise = applyPlugin(nuxtApp, plugin).then(async () => {\n if (plugin._name) {\n resolvedPlugins.add(plugin._name);\n await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {\n if (dependsOn.has(plugin._name)) {\n dependsOn.delete(plugin._name);\n if (dependsOn.size === 0) {\n promiseDepth++;\n await executePlugin(unexecutedPlugin);\n }\n }\n }));\n }\n }).catch((e) => {\n if (!plugin.parallel && !nuxtApp.payload.error) {\n throw e;\n }\n error ||= e;\n });\n if (plugin.parallel) {\n parallels.push(promise);\n } else {\n await promise;\n }\n }\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n registerPluginHooks(nuxtApp, plugin);\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n await executePlugin(plugin);\n }\n await Promise.all(parallels);\n if (promiseDepth) {\n for (let i = 0; i < promiseDepth; i++) {\n await Promise.all(parallels);\n }\n }\n if (error) {\n throw nuxtApp.payload.error || error;\n }\n}\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtPlugin(plugin) {\n if (typeof plugin === \"function\") {\n return plugin;\n }\n const _name = plugin._name || plugin.name;\n delete plugin.name;\n return Object.assign(plugin.setup || (() => {\n }), plugin, { [NuxtPluginIndicator]: true, _name });\n}\nexport const definePayloadPlugin = defineNuxtPlugin;\nexport function isNuxtPlugin(plugin) {\n return typeof plugin === \"function\" && NuxtPluginIndicator in plugin;\n}\nexport function callWithNuxt(nuxt, setup, args) {\n const fn = () => args ? setup(...args) : setup();\n const nuxtAppCtx = getNuxtAppCtx(nuxt._id);\n if (import.meta.server) {\n return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));\n } else {\n nuxtAppCtx.set(nuxt);\n return nuxt.vueApp.runWithContext(fn);\n }\n}\nexport function tryUseNuxtApp(id) {\n let nuxtAppInstance;\n if (hasInjectionContext()) {\n nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;\n }\n nuxtAppInstance ||= getNuxtAppCtx(id).tryUse();\n return nuxtAppInstance || null;\n}\nexport function useNuxtApp(id) {\n const nuxtAppInstance = tryUseNuxtApp(id);\n if (!nuxtAppInstance) {\n if (import.meta.dev) {\n throw new Error(\"[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables`.\");\n } else {\n throw new Error(\"[nuxt] instance unavailable\");\n }\n }\n return nuxtAppInstance;\n}\n// @__NO_SIDE_EFFECTS__\nexport function useRuntimeConfig(_event) {\n return useNuxtApp().$config;\n}\nfunction defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function defineAppConfig(config) {\n return config;\n}\nconst loggedKeys = /* @__PURE__ */ new Set();\nfunction wrappedConfig(runtimeConfig) {\n if (!import.meta.dev || import.meta.server) {\n return runtimeConfig;\n }\n const keys = [];\n for (const key in runtimeConfig) {\n keys.push(`\\`${key}\\``);\n }\n const lastKey = keys.pop();\n return new Proxy(runtimeConfig, {\n get(target, p, receiver) {\n if (typeof p === \"string\" && p !== \"public\" && !(p in target) && !p.startsWith(\"__v\")) {\n if (!loggedKeys.has(p)) {\n loggedKeys.add(p);\n console.warn(`[nuxt] Could not access \\`${p}\\`. The only available runtime config keys on the client side are ${keys.join(\", \")} and ${lastKey}. See https://nuxt.com/docs/guide/going-further/runtime-config for more information.`);\n }\n }\n return Reflect.get(target, p, receiver);\n }\n });\n}\n","export const LayoutMetaSymbol = Symbol(\"layout-meta\");\nexport const PageRouteSymbol = Symbol(\"route\");\n","import { captureStackTrace } from \"errx\";\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nconst distURL = import.meta.url.replace(/\\/app\\/.*$/, \"/\");\nexport function getUserTrace() {\n if (!import.meta.dev) {\n return [];\n }\n const trace = captureStackTrace();\n const start = trace.findIndex((entry) => !entry.source.startsWith(distURL));\n const end = [...trace].reverse().findIndex((entry) => !entry.source.includes(\"node_modules\") && !entry.source.startsWith(distURL));\n if (start === -1 || end === -1) {\n return [];\n }\n return trace.slice(start, end > 0 ? -end : void 0).map((i) => ({\n ...i,\n source: i.source.replace(/^file:\\/\\//, \"\")\n }));\n}\nexport function getUserCaller() {\n if (!import.meta.dev) {\n return null;\n }\n const { source, line, column } = captureStackTrace().find((entry) => !entry.source.startsWith(distURL)) ?? {};\n if (!source) {\n return null;\n }\n return {\n source: source.replace(/^file:\\/\\//, \"\"),\n line,\n column\n };\n}\n","import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from \"vue\";\nimport { sanitizeStatusCode } from \"h3\";\nimport { decodePath, encodePath, hasProtocol, isScriptProtocol, joinURL, parseQuery, parseURL, withQuery } from \"ufo\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { PageRouteSymbol } from \"../components/injections.js\";\nimport { createError, showError } from \"./error.js\";\nimport { getUserTrace } from \"../utils.js\";\nexport const useRouter = () => {\n return useNuxtApp()?.$router;\n};\nexport const useRoute = () => {\n if (import.meta.dev && !getCurrentInstance() && isProcessingMiddleware()) {\n const middleware = useNuxtApp()._processingMiddleware;\n const trace = getUserTrace().map(({ source, line, column }) => `at ${source}:${line}:${column}`).join(\"\\n\");\n console.warn(`[nuxt] \\`useRoute\\` was called within middleware${typeof middleware === \"string\" ? ` (\\`${middleware}\\`)` : \"\"}. This may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes. Learn more: https://nuxt.com/docs/3.x/directory-structure/middleware#accessing-route-in-middleware` + (\"\\n\" + trace));\n }\n if (hasInjectionContext()) {\n return inject(PageRouteSymbol, useNuxtApp()._route);\n }\n return useNuxtApp()._route;\n};\nexport const onBeforeRouteLeave = (guard) => {\n const unsubscribe = useRouter().beforeEach((to, from, next) => {\n if (to === from) {\n return;\n }\n return guard(to, from, next);\n });\n onScopeDispose(unsubscribe);\n};\nexport const onBeforeRouteUpdate = (guard) => {\n const unsubscribe = useRouter().beforeEach(guard);\n onScopeDispose(unsubscribe);\n};\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtRouteMiddleware(middleware) {\n return middleware;\n}\nexport const addRouteMiddleware = (name, middleware, options = {}) => {\n const nuxtApp = useNuxtApp();\n const global = options.global || typeof name !== \"string\";\n const mw = typeof name !== \"string\" ? name : middleware;\n if (!mw) {\n console.warn(\"[nuxt] No route middleware passed to `addRouteMiddleware`.\", name);\n return;\n }\n if (global) {\n nuxtApp._middleware.global.push(mw);\n } else {\n nuxtApp._middleware.named[name] = mw;\n }\n};\nconst isProcessingMiddleware = () => {\n try {\n if (useNuxtApp()._processingMiddleware) {\n return true;\n }\n } catch {\n return false;\n }\n return false;\n};\nconst HTML_ATTR_UNSAFE_RE = /[&\"'<>]/g;\nconst HTML_ATTR_ENCODE_MAP = {\n \"&\": \"%26\",\n '\"': \"%22\",\n \"'\": \"%27\",\n \"<\": \"%3C\",\n \">\": \"%3E\"\n};\nfunction encodeForHtmlAttr(value) {\n return value.replace(HTML_ATTR_UNSAFE_RE, (c) => HTML_ATTR_ENCODE_MAP[c]);\n}\nexport const navigateTo = (to, options) => {\n to ||= \"/\";\n const toPath = typeof to === \"string\" ? to : \"path\" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;\n if (import.meta.client && options?.open) {\n const { protocol } = new URL(toPath, window.location.href);\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n const { target = \"_blank\", windowFeatures = {} } = options.open;\n const features = [];\n for (const [feature, value] of Object.entries(windowFeatures)) {\n if (value !== void 0) {\n features.push(`${feature.toLowerCase()}=${value}`);\n }\n }\n open(toPath, target, features.join(\", \"));\n return Promise.resolve();\n }\n const isExternalHost = hasProtocol(toPath, { acceptRelative: true });\n const isExternal = options?.external || isExternalHost;\n if (isExternal) {\n if (!options?.external) {\n throw new Error(\"Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.\");\n }\n const { protocol } = new URL(toPath, import.meta.client ? window.location.href : \"http://localhost\");\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n }\n const inMiddleware = isProcessingMiddleware();\n if (import.meta.client && !isExternal && inMiddleware) {\n if (options?.replace) {\n if (typeof to === \"string\") {\n const { pathname, search, hash } = parseURL(to);\n return {\n path: pathname,\n ...search && { query: parseQuery(search) },\n ...hash && { hash },\n replace: true\n };\n }\n return { ...to, replace: true };\n }\n return to;\n }\n const router = useRouter();\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n const fullPath = typeof to === \"string\" || isExternal ? toPath : router.resolve(to).fullPath || \"/\";\n const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);\n const redirect = async function(response) {\n await nuxtApp.callHook(\"app:redirected\");\n const encodedHeader = encodeURL(location2, isExternalHost);\n const encodedLoc = encodeForHtmlAttr(encodedHeader);\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),\n body: ``,\n headers: { location: encodedHeader }\n };\n return response;\n };\n if (!isExternal && inMiddleware) {\n router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);\n return to;\n }\n return redirect(!inMiddleware ? void 0 : (\n /* abort route navigation */\n false\n ));\n }\n }\n if (isExternal) {\n nuxtApp._scope.stop();\n if (options?.replace) {\n location.replace(toPath);\n } else {\n location.href = toPath;\n }\n if (inMiddleware) {\n if (!nuxtApp.isHydrating) {\n return false;\n }\n return new Promise(() => {\n });\n }\n return Promise.resolve();\n }\n const encodedTo = typeof to === \"string\" ? encodeRoutePath(to) : to;\n return options?.replace ? router.replace(encodedTo) : router.push(encodedTo);\n};\nexport const abortNavigation = (err) => {\n if (import.meta.dev && !isProcessingMiddleware()) {\n throw new Error(\"abortNavigation() is only usable inside a route middleware handler.\");\n }\n if (!err) {\n return false;\n }\n err = createError(err);\n if (err.fatal) {\n useNuxtApp().runWithContext(() => showError(err));\n }\n throw err;\n};\nexport const setPageLayout = (layout, props) => {\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (import.meta.dev && getCurrentInstance() && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.\");\n }\n nuxtApp.payload.state._layout = layout;\n nuxtApp.payload.state._layoutProps = props;\n }\n if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.\");\n }\n const inMiddleware = isProcessingMiddleware();\n if (inMiddleware || import.meta.server || nuxtApp.isHydrating) {\n const unsubscribe = useRouter().beforeResolve((to) => {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n unsubscribe();\n });\n }\n if (!inMiddleware) {\n const route = useRoute();\n route.meta.layout = layout;\n route.meta.layoutProps = props;\n if (import.meta.client) {\n const unsubscribe = useRouter().beforeResolve((to, from) => {\n if (to.path === from.path) {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n } else {\n unsubscribe();\n }\n });\n onScopeDispose(unsubscribe, true);\n }\n }\n};\nexport function resolveRouteObject(to) {\n return withQuery(to.path || \"\", to.query || {}) + (to.hash || \"\");\n}\nexport function encodeURL(location2, isExternalHost = false) {\n const url = new URL(location2, \"http://localhost\");\n if (!isExternalHost) {\n const pathname = url.pathname.replace(/^\\/{2,}/, \"/\");\n return pathname + url.search + url.hash;\n }\n if (location2.startsWith(\"//\")) {\n return url.toString().replace(url.protocol, \"\");\n }\n return url.toString();\n}\nexport function encodeRoutePath(url) {\n const parsed = parseURL(url);\n return encodePath(decodePath(parsed.pathname)) + parsed.search + parsed.hash;\n}\n","import { createError as createH3Error } from \"h3\";\nimport { toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nimport { nuxtDefaultErrorValue } from \"#build/nuxt.config.mjs\";\nexport const NUXT_ERROR_SIGNATURE = \"__nuxt_error\";\nexport const useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, \"error\");\nexport const showError = (error) => {\n const nuxtError = createError(error);\n try {\n const error2 = /* @__PURE__ */ useError();\n if (import.meta.client) {\n const nuxtApp = useNuxtApp();\n nuxtApp.hooks.callHook(\"app:error\", nuxtError);\n }\n error2.value ||= nuxtError;\n } catch {\n throw nuxtError;\n }\n return nuxtError;\n};\nexport const clearError = async (options = {}) => {\n const nuxtApp = useNuxtApp();\n const error = /* @__PURE__ */ useError();\n nuxtApp.callHook(\"app:error:cleared\", options);\n if (options.redirect) {\n await useRouter().replace(options.redirect);\n }\n error.value = nuxtDefaultErrorValue;\n};\nexport const isNuxtError = (error) => !!error && typeof error === \"object\" && NUXT_ERROR_SIGNATURE in error;\nexport const createError = (error) => {\n if (typeof error !== \"string\" && error.statusText) {\n error.message ??= error.statusText;\n }\n const nuxtError = createH3Error(error);\n Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {\n value: true,\n configurable: false,\n writable: false\n });\n Object.defineProperty(nuxtError, \"status\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusCode,\n configurable: true\n });\n Object.defineProperty(nuxtError, \"statusText\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusMessage,\n configurable: true\n });\n return nuxtError;\n};\n","import { hasInjectionContext, inject } from \"vue\";\nimport {\n useHead as headCore,\n useHeadSafe as headSafe,\n headSymbol,\n useSeoMeta as seoMeta,\n useServerHead as serverHead,\n useServerHeadSafe as serverHeadSafe,\n useServerSeoMeta as serverSeoMeta\n} from \"@unhead/vue\";\nimport { tryUseNuxtApp } from \"#app/nuxt\";\nexport function injectHead(nuxtApp) {\n const nuxt = nuxtApp || tryUseNuxtApp();\n return nuxt?.ssrContext?.head || nuxt?.runWithContext(() => {\n if (hasInjectionContext()) {\n return inject(headSymbol);\n }\n });\n}\nexport function useHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headCore(input, { head, ...options });\n }\n}\nexport function useHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headSafe(input, { head, ...options });\n }\n}\nexport function useSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return seoMeta(input, { head, ...options });\n }\n}\nexport function useServerHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHead(input, { head, ...options });\n }\n}\nexport function useServerHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHeadSafe(input, { head, ...options });\n }\n}\nexport function useServerSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverSeoMeta(input, { head, ...options });\n }\n}\n","\n import { defu } from 'defu'\n const matcher = (m,p)=>{return [];}\n export default (path) => defu({}, ...matcher('', typeof path === 'string' ? path.toLowerCase() : path).map(r => r.data).reverse())\n ","import { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nlet manifest;\nfunction fetchManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n let _manifest;\n if (import.meta.server) {\n _manifest = import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n \"#app-manifest\"\n );\n } else {\n _manifest = $fetch(buildAssetsURL(`builds/meta/${useRuntimeConfig().app.buildId}.json`), {\n responseType: \"json\"\n }).then((res) => {\n if (!res || typeof res !== \"object\" || !Array.isArray(res.prerendered)) {\n throw new Error(\"[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.\");\n }\n return res;\n });\n }\n manifest = _manifest;\n _manifest.catch((e) => {\n if (manifest === _manifest) {\n manifest = void 0;\n }\n console.error(\"[nuxt] Error fetching app manifest.\", e);\n });\n return _manifest;\n}\nexport function getAppManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~preloadManifest\"] = true;\n }\n return manifest || fetchManifest();\n}\nexport function getRouteRules(arg) {\n const path = typeof arg === \"string\" ? arg : arg.path;\n try {\n return routeRulesMatcher(path.toLowerCase());\n } catch (e) {\n console.error(\"[nuxt] Error matching route rules.\", e);\n return {};\n }\n}\n","import { hasProtocol, joinURL } from \"ufo\";\nimport { parse } from \"devalue\";\nimport { getCurrentInstance, onServerPrefetch, reactive } from \"vue\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useHead } from \"./head.js\";\nimport { useRoute } from \"./router.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { appId, appManifest, multiApp, payloadExtraction, renderJsonPayloads } from \"#build/nuxt.config.mjs\";\nexport async function loadPayload(url, opts = {}) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n if (await shouldLoadPayload(url)) {\n const payloadURL = await _getPayloadURL(url, opts);\n return await _importPayload(payloadURL) || null;\n }\n return null;\n}\nlet linkRelType;\nfunction detectLinkRelType() {\n if (import.meta.server) {\n return \"preload\";\n }\n if (linkRelType) {\n return linkRelType;\n }\n const relList = document.createElement(\"link\").relList;\n linkRelType = relList && relList.supports && relList.supports(\"prefetch\") ? \"prefetch\" : \"preload\";\n return linkRelType;\n}\nexport function preloadPayload(url, opts = {}) {\n const nuxtApp = useNuxtApp();\n const promise = shouldLoadPayload(url).then(async (shouldPreload) => {\n if (!shouldPreload) {\n return;\n }\n const payloadURL = await _getPayloadURL(url, opts);\n const link = renderJsonPayloads ? { rel: detectLinkRelType(), as: \"fetch\", crossorigin: \"anonymous\", href: payloadURL } : { rel: \"modulepreload\", crossorigin: \"\", href: payloadURL };\n if (import.meta.server) {\n nuxtApp.runWithContext(() => useHead({ link: [link] }));\n } else {\n const linkEl = document.createElement(\"link\");\n for (const key of Object.keys(link)) {\n linkEl[key === \"crossorigin\" ? \"crossOrigin\" : key] = link[key];\n }\n document.head.appendChild(linkEl);\n return new Promise((resolve, reject) => {\n linkEl.addEventListener(\"load\", () => resolve());\n linkEl.addEventListener(\"error\", () => reject());\n });\n }\n });\n if (import.meta.server) {\n onServerPrefetch(() => promise);\n }\n return promise;\n}\nconst filename = renderJsonPayloads ? \"_payload.json\" : \"_payload.js\";\nasync function _getPayloadURL(url, opts = {}) {\n const u = new URL(url, \"http://localhost\");\n if (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) {\n throw new Error(\"Payload URL must not include hostname: \" + url);\n }\n const config = useRuntimeConfig();\n const hash = opts.hash || (opts.fresh || import.meta.dev ? Date.now() : config.app.buildId);\n const cdnURL = config.app.cdnURL;\n const baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n return joinURL(baseOrCdnURL, u.pathname, filename + (hash ? `?${hash}` : \"\"));\n}\nasync function _importPayload(payloadURL) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n try {\n if (renderJsonPayloads) {\n const res = await fetch(payloadURL, import.meta.dev ? {} : { cache: \"force-cache\" });\n if (!res.ok) {\n if (import.meta.dev) {\n console.warn(`[nuxt] Cannot load payload ${payloadURL}: ${res.status} ${res.statusText}`);\n }\n return null;\n }\n return await parsePayload(await res.text());\n } else {\n return await import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n payloadURL\n ).then((r) => r.default || r);\n }\n } catch (err) {\n console.warn(\"[nuxt] Cannot load payload \", payloadURL, err);\n }\n return null;\n}\nfunction _shouldLoadPrerenderedPayload(rules) {\n if (rules.redirect) {\n return false;\n }\n if (rules.prerender) {\n return true;\n }\n}\nasync function _isPrerenderedInManifest(url) {\n if (!appManifest) {\n return false;\n }\n url = url === \"/\" ? url : url.replace(/\\/$/, \"\");\n try {\n const manifest = await getAppManifest();\n return manifest.prerendered.includes(url);\n } catch {\n return false;\n }\n}\nexport async function shouldLoadPayload(url = useRoute().path) {\n const rules = getRouteRules({ path: url });\n if (rules.ssr === false) {\n return false;\n }\n const res = _shouldLoadPrerenderedPayload(rules);\n if (res !== void 0) {\n return res;\n }\n if (rules.payload) {\n return true;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nexport async function isPrerendered(url = useRoute().path) {\n const res = _shouldLoadPrerenderedPayload(getRouteRules({ path: url }));\n if (res !== void 0) {\n return res;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nlet payloadCache = null;\nexport async function getNuxtClientPayload() {\n if (import.meta.server) {\n return null;\n }\n if (payloadCache) {\n return payloadCache;\n }\n const el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n if (!el) {\n return {};\n }\n const inlineData = await parsePayload(el.textContent || \"\");\n const externalData = el.dataset.src ? await _importPayload(el.dataset.src) : void 0;\n payloadCache = {\n ...inlineData,\n ...externalData,\n ...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n };\n if (payloadCache.config?.public) {\n payloadCache.config.public = reactive(payloadCache.config.public);\n }\n return payloadCache;\n}\nexport async function parsePayload(payload) {\n return await parse(payload, useNuxtApp()._payloadRevivers);\n}\nexport function definePayloadReducer(name, reduce) {\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~payloadReducers\"][name] = reduce;\n }\n}\nexport function definePayloadReviver(name, revive) {\n if (import.meta.dev && getCurrentInstance()) {\n console.warn(\"[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\");\n }\n if (import.meta.client) {\n useNuxtApp()._payloadRevivers[name] = revive;\n }\n}\n","import {\n definePayloadPlugin,\n definePayloadReducer,\n definePayloadReviver\n} from \"#imports\";\nimport { shouldHydrate } from \"pinia\";\nconst payloadPlugin = definePayloadPlugin(() => {\n definePayloadReducer(\n \"skipHydrate\",\n // We need to return something truthy to be treated as a match\n (data) => !shouldHydrate(data) && 1\n );\n definePayloadReviver(\"skipHydrate\", (_data) => void 0);\n});\nexport default payloadPlugin;\n","export function freezeHead(head) {\n const realPush = head.push;\n head.push = () => ({ dispose: () => {\n }, patch: () => {\n }, _poll: () => {\n } });\n return () => {\n head.push = realPush;\n };\n}\n","import { createHead as createClientHead, renderDOMHead } from \"@unhead/vue/client\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\nimport { freezeHead } from \"../island-head.js\";\nimport unheadOptions from \"#build/unhead-options.mjs\";\nexport default defineNuxtPlugin({\n name: \"nuxt:head\",\n enforce: \"pre\",\n setup(nuxtApp) {\n const head = import.meta.server ? nuxtApp.ssrContext.head : createClientHead(unheadOptions);\n if (import.meta.server && nuxtApp.ssrContext.islandContext) {\n const unfreeze = freezeHead(head);\n nuxtApp.hooks.hookOnce(\"app:created\", unfreeze);\n }\n nuxtApp.vueApp.use(head);\n if (import.meta.client) {\n let pauseDOMUpdates = true;\n const syncHead = async () => {\n pauseDOMUpdates = false;\n await renderDOMHead(head);\n };\n head.hooks.hook(\"dom:beforeRender\", (context) => {\n context.shouldRender = !pauseDOMUpdates;\n });\n nuxtApp.hooks.hook(\"page:start\", () => {\n pauseDOMUpdates = true;\n });\n nuxtApp.hooks.hook(\"page:finish\", () => {\n if (!nuxtApp.isHydrating) {\n syncHead();\n }\n });\n nuxtApp.hooks.hook(\"app:error\", syncHead);\n nuxtApp.hooks.hook(\"app:suspense:resolve\", syncHead);\n const originalPush = head.push.bind(head);\n head.push = ((input, options) => {\n const entry = originalPush(input, options);\n const originalDispose = entry.dispose.bind(entry);\n entry.dispose = () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(originalDispose);\n } else {\n originalDispose();\n }\n };\n return entry;\n });\n }\n }\n});\n","import { KeepAlive, h } from \"vue\";\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nconst interpolatePath = (route, match) => {\n return match.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nexport const generateRouteKey = (routeProps, override) => {\n const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n return typeof source === \"function\" ? source(routeProps.route) : source;\n};\nexport const wrapInKeepAlive = (props, children) => {\n return { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n const router = import.meta.hot.data.router\n const generateRoutes = import.meta.hot.data.generateRoutes\n if (!router || !generateRoutes) {\n import.meta.hot.invalidate('[nuxt] Cannot replace routes because there is no active router. Reloading.')\n return\n }\n const addedRoutes = router.getRoutes().filter(r => !r._initial)\n router.clearRoutes()\n const routes = generateRoutes(mod.default || mod)\n function addRoutes (routes) {\n for (const route of routes) {\n router.addRoute(route)\n }\n for (const route of router.getRoutes()) {\n route._initial = true\n }\n for (const route of addedRoutes) {\n router.addRoute(route)\n }\n router.isReady().then(() => {\n // Resolve the current path against the new routes to get updated meta\n const newRoute = router.resolve(router.currentRoute.value.fullPath)\n // Clear old meta values and assign new ones\n for (const key of Object.keys(router.currentRoute.value.meta)) {\n delete router.currentRoute.value.meta[key]\n }\n Object.assign(router.currentRoute.value.meta, newRoute.meta)\n })\n }\n if (routes && 'then' in routes) {\n routes.then(addRoutes)\n } else {\n addRoutes(routes)\n }\n })\n}\n\nexport function handleHotUpdate(_router, _generateRoutes) {\n if (import.meta.hot) {\n import.meta.hot.data ||= {}\n import.meta.hot.data.router = _router\n import.meta.hot.data.generateRoutes = _generateRoutes\n for (const route of _router.getRoutes()) {\n route._initial = true\n }\n }\n}\nimport { default as indexndqPXFtP262szLmLJV4PriPTgAg5k_457f05QyTfosBXQMeta } from \"/app/pages/index.vue?macro=true\";\nimport { default as loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta } from \"/app/pages/login.vue?macro=true\";\nimport { default as indexmGB0sc77z4nVdouTyxGPwq1E4nqHwF5EhzkXRcpUofYMeta } from \"/app/pages/garages/index.vue?macro=true\";\nimport { default as index4QOTtNxyMkSDhg1SvMqdYexX0LysiSHughzzK0HxGl0Meta } from \"/app/pages/packages/index.vue?macro=true\";\nimport { default as indexmFHuXm1TRDyTx4rDob8_G9bfnp43YCs_HCFMFiG56X4Meta } from \"/app/pages/permissions/index.vue?macro=true\";\nimport { default as indexAuxdrh0pHX6Iqtqd32rOzygNETRCVAwmUBNefBquEOoMeta } from \"/app/pages/garages/[id]/index.vue?macro=true\";\nexport default [\n {\n name: \"index\",\n path: \"/\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/index.vue\")\n },\n {\n name: \"login\",\n path: \"/login\",\n meta: loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta || {},\n component: () => import(\"/app/pages/login.vue\")\n },\n {\n name: \"garages\",\n path: \"/garages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/garages/index.vue\")\n },\n {\n name: \"packages\",\n path: \"/packages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/packages/index.vue\")\n },\n {\n name: \"permissions\",\n path: \"/permissions\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/permissions/index.vue\")\n },\n {\n name: \"garages-id\",\n path: \"/garages/:id()\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/garages/[id]/index.vue\")\n }\n]","import { Transition, createStaticVNode, h } from \"vue\";\nimport { defu } from \"defu\";\nimport { isString, isPromise, isArray, isObject } from \"@vue/shared\";\nimport { START_LOCATION } from \"#build/pages\";\nexport const _wrapInTransition = (props, children) => {\n return { default: () => import.meta.client && props ? h(Transition, props === true ? {} : props, children) : children.default?.() };\n};\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nfunction generateRouteKey(route) {\n const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n return typeof source === \"function\" ? source(route) : source;\n}\nexport function isChangingPage(to, from) {\n if (to === from || from === START_LOCATION) {\n return false;\n }\n if (generateRouteKey(to) !== generateRouteKey(from)) {\n return true;\n }\n const areComponentsSame = to.matched.every(\n (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default\n );\n if (areComponentsSame) {\n return false;\n }\n return true;\n}\nexport function createBuffer() {\n let appendable = false;\n const buffer = [];\n return {\n getBuffer() {\n return buffer;\n },\n push(item) {\n const isStringItem = isString(item);\n if (appendable && isStringItem) {\n buffer[buffer.length - 1] += item;\n } else {\n buffer.push(item);\n }\n appendable = isStringItem;\n if (isPromise(item) || isArray(item) && item.hasAsync) {\n buffer.hasAsync = true;\n }\n }\n };\n}\nexport function vforToArray(source) {\n if (isArray(source)) {\n return source;\n } else if (isString(source)) {\n return source.split(\"\");\n } else if (typeof source === \"number\") {\n if (import.meta.dev && !Number.isInteger(source)) {\n console.warn(`The v-for range expect an integer value but got ${source}.`);\n }\n const array = [];\n for (let i = 0; i < source; i++) {\n array[i] = i;\n }\n return array;\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n return Array.from(\n source,\n (item) => item\n );\n } else {\n const keys = Object.keys(source);\n const array = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n array[i] = source[key];\n }\n return array;\n }\n }\n return [];\n}\nexport function getFragmentHTML(element, withoutSlots = false) {\n if (element) {\n if (element.nodeName === \"#comment\" && element.nodeValue === \"[\") {\n return getFragmentChildren(element, [], withoutSlots);\n }\n if (withoutSlots) {\n const clone = element.cloneNode(true);\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n return [clone.outerHTML];\n }\n return [element.outerHTML];\n }\n}\nfunction getFragmentChildren(element, blocks = [], withoutSlots = false) {\n if (element && element.nodeName) {\n if (isEndFragment(element)) {\n return blocks;\n } else if (!isStartFragment(element)) {\n const clone = element.cloneNode(true);\n if (withoutSlots) {\n clone.querySelectorAll?.(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n }\n blocks.push(clone.outerHTML);\n }\n getFragmentChildren(element.nextSibling, blocks, withoutSlots);\n }\n return blocks;\n}\nexport function elToStaticVNode(el, staticNodeFallback) {\n const fragment = el ? getFragmentHTML(el) : staticNodeFallback ? [staticNodeFallback] : void 0;\n if (fragment) {\n return createStaticVNode(fragment.join(\"\"), fragment.length);\n }\n return h(\"div\");\n}\nexport function isStartFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"[\";\n}\nexport function isEndFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"]\";\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function _mergeTransitionProps(routeProps) {\n const _props = [];\n for (const prop of routeProps) {\n if (!prop) {\n continue;\n }\n _props.push({\n ...prop,\n onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : void 0,\n onBeforeLeave: prop.onBeforeLeave ? toArray(prop.onBeforeLeave) : void 0\n });\n }\n return defu(..._props);\n}\n","import { START_LOCATION } from \"vue-router\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { isChangingPage } from \"#app/components/utils\";\nimport { useRouter } from \"#app/composables/router\";\nexport default {\n scrollBehavior(to, from, savedPosition) {\n const nuxtApp = useNuxtApp();\n const hashScrollBehaviour = useRouter().options?.scrollBehaviorType ?? \"auto\";\n if (to.path.replace(/\\/$/, \"\") === from.path.replace(/\\/$/, \"\")) {\n if (from.hash && !to.hash) {\n return { left: 0, top: 0 };\n }\n if (to.hash) {\n return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior: hashScrollBehaviour };\n }\n return false;\n }\n const routeAllowsScrollToTop = typeof to.meta.scrollToTop === \"function\" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;\n if (routeAllowsScrollToTop === false) {\n return false;\n }\n if (from === START_LOCATION) {\n return _calculatePosition(to, from, savedPosition, hashScrollBehaviour);\n }\n return new Promise((resolve) => {\n const doScroll = () => {\n requestAnimationFrame(() => resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour)));\n };\n nuxtApp.hooks.hookOnce(\"page:loading:end\", () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(doScroll);\n } else {\n doScroll();\n }\n });\n });\n }\n};\nfunction _getHashElementScrollMarginTop(selector) {\n try {\n const elem = document.querySelector(selector);\n if (elem) {\n return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop) || 0);\n }\n } catch {\n }\n return 0;\n}\nfunction _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) {\n if (savedPosition) {\n return savedPosition;\n }\n if (to.hash) {\n return {\n el: to.hash,\n top: _getHashElementScrollMarginTop(to.hash),\n behavior: isChangingPage(to, from) ? defaultHashScrollBehaviour : \"instant\"\n };\n }\n return {\n left: 0,\n top: 0\n };\n}\n","import routerOptions0 from \"/app/node_modules/nuxt/dist/pages/runtime/router.options.js\";\nconst configRouterOptions = {\n hashMode: false,\n scrollBehaviorType: \"auto\"\n}\nexport const hashMode = false\nexport default {\n...configRouterOptions,\n...routerOptions0,\n}","import { createError } from \"#app/composables/error\";\nimport { defineNuxtRouteMiddleware } from \"#app/composables/router\";\nexport default defineNuxtRouteMiddleware(async (to, from) => {\n if (!to.meta?.validate) {\n return;\n }\n const result = await Promise.resolve(to.meta.validate(to));\n if (result === true) {\n return;\n }\n const error = createError({\n fatal: import.meta.client,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n status: result && (result.status || result.statusCode) || 404,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n });\n if (typeof window !== \"undefined\") {\n window.history.pushState({}, \"\", from.fullPath);\n }\n return error;\n});\n","import { hasProtocol } from \"ufo\";\nimport { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nexport default defineNuxtRouteMiddleware((to) => {\n if (import.meta.server || import.meta.test) {\n return;\n }\n const rules = getRouteRules({ path: to.path });\n if (rules.redirect) {\n const path = rules.redirect.includes(\"#\") ? rules.redirect : rules.redirect + to.hash;\n if (hasProtocol(path, { acceptRelative: true })) {\n window.location.href = path;\n return false;\n }\n return path;\n }\n});\n","import validate from \"/app/node_modules/nuxt/dist/pages/runtime/validate.js\";\nimport manifest_45route_45rule from \"/app/node_modules/nuxt/dist/app/middleware/route-rules.js\";\nexport const globalMiddleware = [\n validate,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {\n auth: () => import(\"/app/middleware/auth.ts\")\n}","import { defineAsyncComponent } from 'vue'\nexport const islandComponents = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})\nexport const pageIslandRoutes = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})","import { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { isSamePath, withoutBase } from \"ufo\";\nimport { toArray } from \"../utils.js\";\nimport { getRouteRules } from \"#app/composables/manifest\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport { clearError, createError, isNuxtError, showError, useError } from \"#app/composables/error\";\nimport { navigateTo } from \"#app/composables/router\";\nimport _routes, { handleHotUpdate } from \"#build/routes\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nimport { pageIslandRoutes } from \"#build/components.islands.mjs\";\nfunction createCurrentLocation(base, location, renderedPath) {\n const { pathname, search, hash } = location;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n const slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\") {\n pathFromHash = \"/\" + pathFromHash;\n }\n return withoutBase(pathFromHash, \"\");\n }\n const displayedPath = withoutBase(pathname, base);\n const path = !renderedPath || isSamePath(displayedPath, renderedPath) ? displayedPath : renderedPath;\n return path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n name: \"nuxt:router\",\n enforce: \"pre\",\n async setup(nuxtApp) {\n let routerBase = useRuntimeConfig().app.baseURL;\n if (hashMode && !routerBase.includes(\"#\")) {\n routerBase += \"#\";\n }\n const history = routerOptions.history?.(routerBase) ?? (import.meta.client ? hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n const routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n let startPosition;\n const router = createRouter({\n ...routerOptions,\n scrollBehavior: (to, from, savedPosition) => {\n if (from === START_LOCATION) {\n startPosition = savedPosition;\n return;\n }\n if (routerOptions.scrollBehavior) {\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n if (\"scrollRestoration\" in window.history) {\n const unsub = router.beforeEach(() => {\n unsub();\n window.history.scrollRestoration = \"manual\";\n });\n }\n return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n }\n },\n history,\n routes\n });\n if (import.meta.hot) {\n handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes2) => routes2);\n }\n if (import.meta.client && \"scrollRestoration\" in window.history) {\n window.history.scrollRestoration = \"auto\";\n }\n nuxtApp.vueApp.use(router);\n const previousRoute = shallowRef(router.currentRoute.value);\n router.afterEach((_to, from) => {\n previousRoute.value = from;\n });\n Object.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", {\n get: () => previousRoute.value\n });\n const initialURL = import.meta.server ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n const _route = shallowRef(router.currentRoute.value);\n const syncCurrentRoute = () => {\n _route.value = router.currentRoute.value;\n };\n router.afterEach((to, from) => {\n const lastTo = to.matched.at(-1)?.components?.default;\n const lastFrom = from.matched.at(-1)?.components?.default;\n if (lastTo === lastFrom) {\n syncCurrentRoute();\n return;\n }\n if (to.matched.length < from.matched.length && to.matched.every((m, i) => m.components?.default === from.matched[i]?.components?.default)) {\n syncCurrentRoute();\n }\n });\n const route = { sync: syncCurrentRoute };\n for (const key in _route.value) {\n Object.defineProperty(route, key, {\n get: () => _route.value[key],\n enumerable: true\n });\n }\n nuxtApp._route = shallowReactive(route);\n nuxtApp._middleware ||= {\n global: [],\n named: {}\n };\n const error = useError();\n const isServerPage = import.meta.server && nuxtApp.ssrContext?.islandContext?.name?.startsWith(\"page_\");\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n router.afterEach(async (to, _from, failure) => {\n delete nuxtApp._processingMiddleware;\n if (import.meta.client && !nuxtApp.isHydrating && error.value) {\n await nuxtApp.runWithContext(clearError);\n }\n if (failure) {\n await nuxtApp.callHook(\"page:loading:end\");\n }\n if (import.meta.server && failure?.type === 4) {\n return;\n }\n if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) {\n await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n }\n });\n }\n try {\n if (import.meta.server) {\n await router.push(initialURL);\n }\n await router.isReady();\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n const hasDeferredRoute = import.meta.client && nuxtApp.isHydrating && nuxtApp.payload.prerenderedAt && nuxtApp.payload.path && initialURL !== nuxtApp.payload.path && isSamePath(router.currentRoute.value.path, nuxtApp.payload.path);\n syncCurrentRoute();\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && !isServerPage) {\n return { provide: { router } };\n }\n const initialLayout = nuxtApp.payload.state._layout;\n router.beforeEach(async (to, from) => {\n await nuxtApp.callHook(\"page:loading:start\");\n to.meta = reactive(to.meta);\n if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {\n to.meta.layout = initialLayout;\n }\n nuxtApp._processingMiddleware = true;\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n for (const component of to.matched) {\n const componentMiddleware = component.meta.middleware;\n if (!componentMiddleware) {\n continue;\n }\n for (const entry of toArray(componentMiddleware)) {\n middlewareEntries.add(entry);\n }\n }\n const routeRules = getRouteRules({ path: to.path });\n if (routeRules.appMiddleware) {\n for (const key in routeRules.appMiddleware) {\n if (routeRules.appMiddleware[key]) {\n middlewareEntries.add(key);\n } else {\n middlewareEntries.delete(key);\n }\n }\n }\n for (const entry of middlewareEntries) {\n const middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n if (!middleware) {\n if (import.meta.dev) {\n throw new Error(`Unknown route middleware: '${entry}'. Valid middleware: ${Object.keys(namedMiddleware).map((mw) => `'${mw}'`).join(\", \")}.`);\n }\n throw new Error(`Unknown route middleware: '${entry}'.`);\n }\n try {\n if (import.meta.dev) {\n nuxtApp._processingMiddleware = middleware._path || (typeof entry === \"string\" ? entry : true);\n }\n const result = await nuxtApp.runWithContext(() => middleware(to, from));\n if (import.meta.server || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n if (result === false || result instanceof Error) {\n const error2 = result || createError({\n status: 404,\n statusText: `Page Not Found: ${initialURL}`\n });\n await nuxtApp.runWithContext(() => showError(error2));\n return false;\n }\n }\n if (result === true) {\n continue;\n }\n if (result === false) {\n return result;\n }\n if (result) {\n if (isNuxtError(result) && result.fatal) {\n await nuxtApp.runWithContext(() => showError(result));\n }\n return result;\n }\n } catch (err) {\n const error2 = createError(err);\n if (error2.fatal) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n return error2;\n }\n }\n }\n });\n if (isServerPage) {\n router.beforeResolve((to) => {\n const expected = pageIslandRoutes[nuxtApp.ssrContext.islandContext.name];\n const actual = to.matched.find((m) => m.components?.default?.__nuxt_island)?.components?.default;\n if (!expected || expected !== actual?.__nuxt_island) {\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: 400,\n statusMessage: \"Invalid island request path\"\n };\n return false;\n }\n });\n }\n router.onError(async () => {\n delete nuxtApp._processingMiddleware;\n await nuxtApp.callHook(\"page:loading:end\");\n });\n router.afterEach((to) => {\n if (to.matched.length === 0 && !error.value) {\n return nuxtApp.runWithContext(() => showError(createError({\n status: 404,\n fatal: false,\n statusText: `Page not found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n })));\n }\n });\n nuxtApp.hooks.hookOnce(\"app:created\", async () => {\n try {\n if (\"name\" in resolvedInitialRoute) {\n resolvedInitialRoute.name = void 0;\n }\n if (hasDeferredRoute) {\n const payloadRoute = router.resolve(nuxtApp.payload.path);\n if (\"name\" in payloadRoute) {\n payloadRoute.name = void 0;\n }\n await router.replace({ ...payloadRoute, force: true });\n nuxtApp.hooks.hookOnce(\"app:suspense:resolve\", async () => {\n await router.replace({ ...resolvedInitialRoute, force: true });\n });\n } else {\n await router.replace({\n ...resolvedInitialRoute,\n force: true\n });\n }\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n });\n return { provide: { router } };\n }\n});\nexport default plugin;\n","import { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { defineNuxtPlugin } from \"../nuxt.js\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\nimport { isValidIslandKey } from \"./utils.js\";\nconst reducers = [\n [\"NuxtError\", (data) => isNuxtError(data) && data.toJSON()],\n [\"EmptyShallowRef\", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"EmptyRef\", (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"ShallowRef\", (data) => isRef(data) && isShallow(data) && data.value],\n [\"ShallowReactive\", (data) => isReactive(data) && isShallow(data) && toRaw(data)],\n [\"Ref\", (data) => isRef(data) && data.value],\n [\"Reactive\", (data) => isReactive(data) && toRaw(data)]\n];\nif (componentIslands) {\n reducers.push([\"Island\", (data) => data && data?.__nuxt_island && isValidIslandKey(data.__nuxt_island.key) && data.__nuxt_island]);\n}\nexport default defineNuxtPlugin({\n name: \"nuxt:revive-payload:server\",\n setup() {\n for (const [reducer, fn] of reducers) {\n definePayloadReducer(reducer, fn);\n }\n }\n});\n","import { createElementBlock, defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"ServerPlaceholder\",\n render() {\n return createElementBlock(\"div\");\n }\n});\n","import { cloneVNode, createElementBlock, defineComponent, getCurrentInstance, h, onMounted, provide, shallowRef } from \"vue\";\nimport { isPromise } from \"@vue/shared\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport ServerPlaceholder from \"./server-placeholder.js\";\nimport { elToStaticVNode } from \"./utils.js\";\nexport const clientOnlySymbol = Symbol.for(\"nuxt:client-only\");\nconst STATIC_DIV = \"
\";\nexport default defineComponent({\n name: \"ClientOnly\",\n inheritAttrs: false,\n props: [\"fallback\", \"placeholder\", \"placeholderTag\", \"fallbackTag\"],\n ...import.meta.dev && {\n slots: Object\n },\n setup(props, { slots, attrs }) {\n const mounted = shallowRef(false);\n onMounted(() => {\n mounted.value = true;\n });\n if (import.meta.dev) {\n const nuxtApp = useNuxtApp();\n nuxtApp._isNuxtPageUsed = true;\n nuxtApp._isNuxtLayoutUsed = true;\n }\n const vm = getCurrentInstance();\n if (vm) {\n vm._nuxtClientOnly = true;\n }\n provide(clientOnlySymbol, true);\n return () => {\n if (mounted.value) {\n const vnodes = slots.default?.();\n if (vnodes && vnodes.length === 1) {\n return [cloneVNode(vnodes[0], attrs)];\n }\n return vnodes;\n }\n const slot = slots.fallback || slots.placeholder;\n if (slot) {\n return h(slot);\n }\n const fallbackStr = props.fallback || props.placeholder || \"\";\n const fallbackTag = props.fallbackTag || props.placeholderTag || \"span\";\n return createElementBlock(fallbackTag, attrs, fallbackStr);\n };\n }\n});\nconst cache = /* @__PURE__ */ new WeakMap();\n// @__NO_SIDE_EFFECTS__\nexport function createClientOnly(component) {\n if (import.meta.server) {\n return ServerPlaceholder;\n }\n if (cache.has(component)) {\n return cache.get(component);\n }\n const clone = { ...component };\n if (clone.render) {\n clone.render = (ctx, cache2, $props, $setup, $data, $options) => {\n if ($setup.mounted$ ?? ctx.mounted$) {\n const res = component.render?.bind(ctx)(ctx, cache2, $props, $setup, $data, $options);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(ctx._.vnode.el, STATIC_DIV);\n };\n } else {\n clone.template &&= `\n \n \n `;\n }\n clone.setup = (props, ctx) => {\n const nuxtApp = useNuxtApp();\n const mounted$ = shallowRef(nuxtApp.isHydrating === false);\n const instance = getCurrentInstance();\n if (nuxtApp.isHydrating) {\n const attrs = { ...instance.attrs };\n const directives = extractDirectives(instance);\n for (const key in attrs) {\n delete instance.attrs[key];\n }\n onMounted(() => {\n Object.assign(instance.attrs, attrs);\n instance.vnode.dirs = directives;\n });\n }\n onMounted(() => {\n mounted$.value = true;\n });\n const setupState = component.setup?.(props, ctx) || {};\n if (isPromise(setupState)) {\n return Promise.resolve(setupState).then((setupState2) => {\n if (typeof setupState2 !== \"function\") {\n setupState2 ||= {};\n setupState2.mounted$ = mounted$;\n return setupState2;\n }\n return (...args) => {\n if (mounted$.value || !nuxtApp.isHydrating) {\n const res = setupState2(...args);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n });\n } else {\n if (typeof setupState === \"function\") {\n return (...args) => {\n if (mounted$.value) {\n const res = setupState(...args);\n const attrs = clone.inheritAttrs !== false ? ctx.attrs : void 0;\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res, attrs) : h(res, attrs);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n }\n return Object.assign(setupState, { mounted$ });\n }\n };\n cache.set(component, clone);\n return clone;\n}\nfunction extractDirectives(instance) {\n if (!instance || !instance.vnode.dirs) {\n return null;\n }\n const directives = instance.vnode.dirs;\n instance.vnode.dirs = null;\n return directives;\n}\n","import { isRef, toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nconst useStateKeyPrefix = \"$s\";\nexport function useState(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [_key, init] = args;\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useState] key must be a string: \" + _key);\n }\n if (init !== void 0 && typeof init !== \"function\") {\n throw new Error(\"[nuxt] [useState] init must be a function: \" + init);\n }\n const key = useStateKeyPrefix + _key;\n const nuxtApp = useNuxtApp();\n const state = toRef(nuxtApp.payload.state, key);\n if (state.value === void 0 && init) {\n const initialValue = init();\n if (isRef(initialValue)) {\n nuxtApp.payload.state[key] = initialValue;\n return initialValue;\n }\n state.value = initialValue;\n }\n return state;\n}\nexport function clearNuxtState(keys) {\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.state).filter((key) => key.startsWith(useStateKeyPrefix)).map((key) => key.substring(useStateKeyPrefix.length));\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const _key of _keys) {\n const key = useStateKeyPrefix + _key;\n if (key in nuxtApp.payload.state) {\n nuxtApp.payload.state[key] = void 0;\n }\n }\n}\n","import { setResponseStatus as _setResponseStatus, appendHeader, getRequestHeader, getRequestHeaders, getResponseHeader, removeResponseHeader, setResponseHeader } from \"h3\";\nimport { computed, getCurrentInstance, ref } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { useHead } from \"./head.js\";\nexport function useRequestEvent(nuxtApp) {\n if (import.meta.client) {\n return;\n }\n nuxtApp ||= useNuxtApp();\n return nuxtApp.ssrContext?.event;\n}\nexport function useRequestHeaders(include) {\n if (import.meta.client) {\n return {};\n }\n const event = useRequestEvent();\n const _headers = event ? getRequestHeaders(event) : {};\n if (!include || !event) {\n return _headers;\n }\n const headers = /* @__PURE__ */ Object.create(null);\n for (const _key of include) {\n const key = _key.toLowerCase();\n const header = _headers[key];\n if (header) {\n headers[key] = header;\n }\n }\n return headers;\n}\nexport function useRequestHeader(header) {\n if (import.meta.client) {\n return void 0;\n }\n const event = useRequestEvent();\n return event ? getRequestHeader(event, header) : void 0;\n}\nexport function useRequestFetch() {\n if (import.meta.client) {\n return globalThis.$fetch;\n }\n return useRequestEvent()?.$fetch || globalThis.$fetch;\n}\nexport function setResponseStatus(arg1, arg2, arg3) {\n if (import.meta.client) {\n return;\n }\n if (arg1 && typeof arg1 !== \"number\") {\n return _setResponseStatus(arg1, arg2, arg3);\n }\n const event = useRequestEvent();\n if (event) {\n return _setResponseStatus(event, arg1, arg2);\n }\n}\nexport function useResponseHeader(header) {\n if (import.meta.client) {\n if (import.meta.dev) {\n return computed({\n get: () => void 0,\n set: () => console.warn(\"[nuxt] Setting response headers is not supported in the browser.\")\n });\n }\n return ref();\n }\n const event = useRequestEvent();\n return computed({\n get() {\n return getResponseHeader(event, header);\n },\n set(newValue) {\n if (!newValue) {\n return removeResponseHeader(event, header);\n }\n return setResponseHeader(event, header, newValue);\n }\n });\n}\nexport function prerenderRoutes(path) {\n if (!import.meta.server || !import.meta.prerender) {\n return;\n }\n const paths = toArray(path);\n appendHeader(useRequestEvent(), \"x-nitro-prerender\", paths.map((p) => encodeURIComponent(p)).join(\", \"));\n}\nconst PREHYDRATE_ATTR_KEY = \"data-prehydrate-id\";\nexport function onPrehydrate(callback, key) {\n if (import.meta.client) {\n return;\n }\n if (typeof callback !== \"string\") {\n throw new TypeError(\"[nuxt] To transform a callback into a string, `onPrehydrate` must be processed by the Nuxt build pipeline. If it is called in a third-party library, make sure to add the library to `build.transpile`.\");\n }\n const vm = getCurrentInstance();\n if (vm && key) {\n vm.attrs[PREHYDRATE_ATTR_KEY] ||= \"\";\n key = \":\" + key + \":\";\n if (!vm.attrs[PREHYDRATE_ATTR_KEY].includes(key)) {\n vm.attrs[PREHYDRATE_ATTR_KEY] += key;\n }\n }\n const code = vm && key ? `document.querySelectorAll('[${PREHYDRATE_ATTR_KEY}*=${JSON.stringify(key)}]').forEach` + callback : callback + \"()\";\n useHead({\n script: [{\n key: vm && key ? key : void 0,\n tagPosition: \"bodyClose\",\n tagPriority: \"critical\",\n innerHTML: code\n }]\n });\n return vm && key ? vm.attrs[PREHYDRATE_ATTR_KEY] : void 0;\n}\n","import { customRef, getCurrentScope, nextTick, onScopeDispose, ref, watch } from \"vue\";\nimport { parse, serialize } from \"cookie-es\";\nimport { deleteCookie, getCookie, getRequestHeader, setCookie } from \"h3\";\nimport destr from \"destr\";\nimport { isEqual } from \"ohash\";\nimport { klona } from \"klona\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRequestEvent } from \"./ssr.js\";\nimport { cookieStore } from \"#build/nuxt.config.mjs\";\nconst CookieDefaults = {\n path: \"/\",\n watch: true,\n decode: (val) => {\n const decoded = decodeURIComponent(val);\n const parsed = destr(decoded);\n if (typeof parsed === \"number\" && (!Number.isFinite(parsed) || String(parsed) !== decoded)) {\n return decoded;\n }\n return parsed;\n },\n encode: (val) => encodeURIComponent(typeof val === \"string\" ? val : JSON.stringify(val))\n};\nconst store = import.meta.client && cookieStore ? globalThis.cookieStore : void 0;\nexport function useCookie(name, _opts) {\n const opts = { ...CookieDefaults, ..._opts };\n opts.filter ??= (key) => key === name;\n const cookies = readRawCookies(opts) || {};\n let delay;\n if (opts.maxAge !== void 0) {\n delay = opts.maxAge * 1e3;\n } else if (opts.expires) {\n delay = opts.expires.getTime() - Date.now();\n }\n const hasExpired = delay !== void 0 && delay <= 0;\n const shouldSetInitialClientCookie = import.meta.client && (hasExpired || cookies[name] === void 0 || cookies[name] === null);\n const cookieValue = klona(hasExpired ? void 0 : cookies[name] ?? opts.default?.());\n const cookie = import.meta.client && delay && !hasExpired ? cookieRef(cookieValue, delay, opts.watch && opts.watch !== \"shallow\") : ref(cookieValue);\n if (import.meta.dev && hasExpired) {\n console.warn(`[nuxt] not setting cookie \\`${name}\\` as it has already expired.`);\n }\n if (import.meta.client) {\n let channel = null;\n try {\n if (!store && typeof BroadcastChannel !== \"undefined\") {\n channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n }\n } catch {\n }\n const callback = (force = false) => {\n if (!force) {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n }\n writeClientCookie(name, cookie.value, opts);\n cookies[name] = klona(cookie.value);\n channel?.postMessage({ value: opts.encode(cookie.value) });\n };\n const handleChange = (data) => {\n const value = data.refresh ? readRawCookies(opts)?.[name] : opts.decode(data.value);\n watchPaused = true;\n cookie.value = value;\n cookies[name] = klona(value);\n nextTick(() => {\n watchPaused = false;\n });\n };\n let watchPaused = false;\n const hasScope = !!getCurrentScope();\n if (hasScope) {\n onScopeDispose(() => {\n watchPaused = true;\n callback();\n channel?.close();\n });\n }\n if (store) {\n const changeHandler = (event) => {\n const changedCookie = event.changed.find((c) => c.name === name);\n const removedCookie = event.deleted.find((c) => c.name === name);\n if (changedCookie) {\n handleChange({ value: changedCookie.value });\n }\n if (removedCookie) {\n handleChange({ value: null });\n }\n };\n store.addEventListener(\"change\", changeHandler);\n if (hasScope) {\n onScopeDispose(() => store.removeEventListener(\"change\", changeHandler));\n }\n } else if (channel) {\n channel.onmessage = ({ data }) => handleChange(data);\n }\n if (opts.watch) {\n watch(\n cookie,\n () => {\n if (watchPaused) {\n return;\n }\n callback();\n },\n { deep: opts.watch !== \"shallow\" }\n );\n }\n if (shouldSetInitialClientCookie) {\n callback(shouldSetInitialClientCookie);\n }\n } else if (import.meta.server) {\n const nuxtApp = useNuxtApp();\n const writeFinalCookieValue = () => {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n nuxtApp._cookies ||= {};\n if (name in nuxtApp._cookies) {\n if (isEqual(cookie.value, nuxtApp._cookies[name])) {\n return;\n }\n if (import.meta.dev) {\n console.warn(`[nuxt] cookie \\`${name}\\` was previously set to \\`${opts.encode(nuxtApp._cookies[name])}\\` and is being overridden to \\`${opts.encode(cookie.value)}\\`. This may cause unexpected issues.`);\n }\n }\n nuxtApp._cookies[name] = cookie.value;\n writeServerCookie(useRequestEvent(nuxtApp), name, cookie.value, opts);\n };\n const unhook = nuxtApp.hooks.hookOnce(\"app:rendered\", writeFinalCookieValue);\n nuxtApp.hooks.hookOnce(\"app:error\", () => {\n unhook();\n return writeFinalCookieValue();\n });\n }\n return cookie;\n}\nexport function refreshCookie(name) {\n if (import.meta.server || store || typeof BroadcastChannel === \"undefined\") {\n return;\n }\n try {\n const channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n channel.postMessage({ refresh: true });\n channel.close();\n } catch {\n }\n}\nfunction readRawCookies(opts = {}) {\n if (import.meta.server) {\n return parse(getRequestHeader(useRequestEvent(), \"cookie\") || \"\", opts);\n } else if (import.meta.client) {\n return parse(document.cookie, opts);\n }\n}\nfunction serializeCookie(name, value, opts = {}) {\n if (value === null || value === void 0) {\n return serialize(name, value, { ...opts, maxAge: -1 });\n }\n return serialize(name, value, opts);\n}\nfunction writeClientCookie(name, value, opts = {}) {\n if (import.meta.client) {\n document.cookie = serializeCookie(name, value, opts);\n }\n}\nfunction writeServerCookie(event, name, value, opts = {}) {\n if (event) {\n if (value !== null && value !== void 0) {\n return setCookie(event, name, value, opts);\n }\n if (getCookie(event, name) !== void 0) {\n return deleteCookie(event, name, opts);\n }\n }\n}\nconst MAX_TIMEOUT_DELAY = 2147483647;\nfunction cookieRef(value, delay, shouldWatch) {\n let timeout;\n let unsubscribe;\n let elapsed = 0;\n const internalRef = shouldWatch ? ref(value) : { value };\n if (getCurrentScope()) {\n onScopeDispose(() => {\n unsubscribe?.();\n clearTimeout(timeout);\n });\n }\n return customRef((track, trigger) => {\n if (shouldWatch) {\n unsubscribe = watch(internalRef, trigger);\n }\n function scheduleTimeout() {\n const timeRemaining = delay - elapsed;\n const timeoutLength = timeRemaining < MAX_TIMEOUT_DELAY ? timeRemaining : MAX_TIMEOUT_DELAY;\n timeout = setTimeout(() => {\n elapsed += timeoutLength;\n if (elapsed < delay) {\n return scheduleTimeout();\n }\n internalRef.value = void 0;\n trigger();\n }, timeoutLength);\n }\n function createExpirationTimeout() {\n elapsed = 0;\n clearTimeout(timeout);\n scheduleTimeout();\n }\n return {\n get() {\n track();\n return internalRef.value;\n },\n set(newValue) {\n createExpirationTimeout();\n internalRef.value = newValue;\n trigger();\n }\n };\n });\n}\n","import { getRequestURL } from \"h3\";\nimport { useRequestEvent } from \"./ssr.js\";\nexport function useRequestURL(opts) {\n if (import.meta.server) {\n return getRequestURL(useRequestEvent(), opts);\n }\n return new URL(globalThis.location.href);\n}\n","import { createPinia, setActivePinia } from \"pinia\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { toRaw } from \"vue\";\nconst plugin = defineNuxtPlugin({\n name: \"pinia\",\n setup(nuxtApp) {\n const pinia = createPinia();\n nuxtApp.vueApp.use(pinia);\n setActivePinia(pinia);\n if (nuxtApp.payload && nuxtApp.payload.pinia) {\n pinia.state.value = nuxtApp.payload.pinia;\n }\n return {\n provide: {\n pinia\n }\n };\n },\n hooks: {\n \"app:rendered\"() {\n const nuxtApp = useNuxtApp();\n nuxtApp.payload.pinia = toRaw(nuxtApp.$pinia).state.value;\n setActivePinia(void 0);\n }\n }\n});\nexport default plugin;\n","\nimport { defineNuxtPlugin } from '#app/nuxt'\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n})\n","/*!\n * shared v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : create()));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(/&/g, '&') // escape `&` first to avoid double escaping\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/') // escape `/` to prevent closing tags or JavaScript URLs\n .replace(/=/g, '='); // escape `=` to prevent attribute injection\n}\nfunction escapeAttributeValue(value) {\n return value\n .replace(/&(?![a-zA-Z0-9#]{2,6};)/g, '&') // escape unescaped `&`\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n}\nfunction sanitizeTranslatedHtml(html) {\n // Escape dangerous characters in attribute values\n // Process attributes with double quotes\n html = html.replace(/(\\w+)\\s*=\\s*\"([^\"]*)\"/g, (_, attrName, attrValue) => `${attrName}=\"${escapeAttributeValue(attrValue)}\"`);\n // Process attributes with single quotes\n html = html.replace(/(\\w+)\\s*=\\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);\n // Detect and neutralize event handler attributes\n const eventHandlerPattern = /\\s*on\\w+\\s*=\\s*[\"']?[^\"'>]+[\"']?/gi;\n if (eventHandlerPattern.test(html)) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Potentially dangerous event handlers detected in translation. ' +\n 'Consider removing onclick, onerror, etc. from your translation messages.');\n }\n // Neutralize event handler attributes by escaping 'on'\n html = html.replace(/(\\s+)(on)(\\w+\\s*=)/gi, '$1on$3');\n }\n // Disable javascript: URLs in various contexts\n const javascriptUrlPattern = [\n // In href, src, action, formaction attributes\n /(\\s+(?:href|src|action|formaction)\\s*=\\s*[\"']?)\\s*javascript:/gi,\n // In style attributes within url()\n /(style\\s*=\\s*[\"'][^\"']*url\\s*\\(\\s*)javascript:/gi\n ];\n javascriptUrlPattern.forEach(pattern => {\n html = html.replace(pattern, '$1javascript:');\n });\n return html;\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, sanitizeTranslatedHtml, toDisplayString, toTypeString, warn, warnOnce };\n","import { hasProtocol, joinURL, withQuery } from \"ufo\";\nconst strictSeo = __I18N_STRICT_SEO__;\nexport function localeHead(options, currentLanguage = options.getCurrentLanguage(), currentDirection = options.getCurrentDirection()) {\n const metaObject = {\n htmlAttrs: {},\n link: [],\n meta: []\n };\n if (options.dir) {\n metaObject.htmlAttrs.dir = currentDirection;\n }\n if (options.lang && currentLanguage) {\n metaObject.htmlAttrs.lang = currentLanguage;\n }\n if (options.seo) {\n const alternateLinks = getHreflangLinks(options);\n metaObject.link = metaObject.link.concat(\n alternateLinks,\n getCanonicalLink(options)\n );\n metaObject.meta = metaObject.meta.concat(\n getOgUrl(options),\n getCurrentOgLocale(options),\n getAlternateOgLocales(\n options,\n strictSeo ? alternateLinks.map((x) => x.hreflang).filter((x) => x !== \"x-default\") : options.locales.map((x) => x.language || x.code)\n )\n );\n }\n return metaObject;\n}\nfunction createLocaleMap(locales) {\n const localeMap = /* @__PURE__ */ new Map();\n for (const locale of locales) {\n if (!locale.language) {\n console.warn(\"Locale `language` ISO code is required to generate alternate link\");\n continue;\n }\n const [language, region] = locale.language.split(\"-\");\n if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n localeMap.set(language, locale);\n }\n localeMap.set(locale.language, locale);\n }\n return localeMap;\n}\nfunction getHreflangLinks(options) {\n if (!options.hreflangLinks) {\n return [];\n }\n const links = [];\n const localeMap = createLocaleMap(options.locales);\n for (const [language, locale] of localeMap.entries()) {\n const link = getHreflangLink(language, locale, options);\n if (!link) {\n continue;\n }\n links.push(link);\n if (options.defaultLocale && options.defaultLocale === locale.code && links[0].hreflang !== \"x-default\") {\n links.unshift(\n strictSeo ? { rel: \"alternate\", href: link.href, hreflang: \"x-default\" } : { [options.key]: \"i18n-xd\", rel: \"alternate\", href: link.href, hreflang: \"x-default\" }\n );\n }\n }\n return links;\n}\nfunction getHreflangLink(language, locale, options, routeWithoutQuery = options.strictCanonicals ? options.getRouteWithoutQuery() : void 0) {\n const localePath = options.getLocalizedRoute(locale.code, routeWithoutQuery);\n if (!localePath) {\n return void 0;\n }\n const href = withQuery(\n hasProtocol(localePath) ? localePath : joinURL(options.baseUrl, localePath),\n options.strictCanonicals ? getCanonicalQueryParams(options) : {}\n );\n return strictSeo ? { rel: \"alternate\", href, hreflang: language } : { [options.key]: `i18n-alt-${language}`, rel: \"alternate\", href, hreflang: language };\n}\nfunction getCanonicalUrl(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n if (!currentRoute) {\n return \"\";\n }\n return withQuery(joinURL(options.baseUrl, currentRoute.path), getCanonicalQueryParams(options));\n}\nfunction getCanonicalLink(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [strictSeo ? { rel: \"canonical\", href } : { [options.key]: \"i18n-can\", rel: \"canonical\", href }];\n}\nfunction getCanonicalQueryParams(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n const currentRouteQuery = currentRoute?.query ?? {};\n const params = {};\n for (const param of options.canonicalQueries.filter((x) => x in currentRouteQuery)) {\n params[param] ??= [];\n for (const val of toArray(currentRouteQuery[param])) {\n params[param].push(val || \"\");\n }\n }\n return params;\n}\nfunction getOgUrl(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:url\", content: href } : { [options.key]: \"i18n-og-url\", property: \"og:url\", content: href }\n ];\n}\nfunction getCurrentOgLocale(options, currentLanguage = options.getCurrentLanguage()) {\n if (!currentLanguage) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:locale\", content: formatOgLanguage(currentLanguage) } : { [options.key]: \"i18n-og\", property: \"og:locale\", content: formatOgLanguage(currentLanguage) }\n ];\n}\nfunction getAlternateOgLocales(options, languages, currentLanguage = options.getCurrentLanguage()) {\n const alternateLocales = languages.filter((locale) => locale && locale !== currentLanguage);\n return alternateLocales.map(\n (locale) => strictSeo ? {\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n } : {\n [options.key]: `i18n-og-alt-${locale}`,\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n }\n );\n}\nfunction formatOgLanguage(val = \"\") {\n return val.replace(/-/g, \"_\");\n}\nfunction toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol, parsePath, parseQuery } from \"ufo\";\nimport { assign, isString } from \"@intlify/shared\";\nexport function localePath(ctx, route, locale = ctx.getLocale()) {\n if (isString(route) && hasProtocol(route, { acceptRelative: true })) {\n return route;\n }\n try {\n return resolveRoute(ctx, route, locale).fullPath;\n } catch {\n return \"\";\n }\n}\nexport function localeRoute(ctx, route, locale = ctx.getLocale()) {\n try {\n return resolveRoute(ctx, route, locale);\n } catch {\n return;\n }\n}\nfunction normalizeRawLocation(route) {\n if (!isString(route)) {\n return assign({}, route);\n }\n if (route[0] === \"/\") {\n const { pathname: path, search, hash } = parsePath(route);\n return { path, query: parseQuery(search), hash };\n }\n return { name: route };\n}\nfunction resolveRoute(ctx, route, locale) {\n const normalized = normalizeRawLocation(route);\n const resolved = ctx.router.resolve(ctx.resolveLocalizedRouteObject(normalized, locale));\n if (resolved.name) {\n return resolved;\n }\n return ctx.router.resolve(route);\n}\nexport function switchLocalePath(ctx, locale, route = ctx.router.currentRoute.value) {\n const name = ctx.getRouteBaseName(route);\n if (!name) {\n return \"\";\n }\n const routeCopy = {\n name,\n params: assign(\n {},\n route.params,\n ctx.getLocalizedDynamicParams(locale)\n ),\n fullPath: route.fullPath,\n query: route.query,\n hash: route.hash,\n path: route.path,\n meta: route.meta\n };\n const path = localePath(ctx, routeCopy, locale);\n return ctx.afterSwitchLocalePath(path, locale);\n}\n","import { computed, getCurrentScope, onScopeDispose, ref, useHead, useRequestEvent, watch } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { localeHead as _localeHead } from \"#i18n-kit/head\";\nimport { localeRoute, switchLocalePath } from \"./routing.js\";\nfunction createHeadContext(ctx, config, locale = ctx.getLocale(), locales = ctx.getLocales(), baseUrl = ctx.getBaseUrl()) {\n const currentLocale = locales.find((l) => l.code === locale) || { code: locale };\n const canonicalQueries = typeof config.seo === \"object\" && config.seo?.canonicalQueries || [];\n if (!baseUrl && !__DIFFERENT_DOMAINS__ && !__MULTI_DOMAIN_LOCALES__) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n console.warn(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n return {\n ...config,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n locales,\n baseUrl,\n canonicalQueries,\n hreflangLinks: ctx.routingOptions.hreflangLinks,\n defaultLocale: ctx.routingOptions.defaultLocale,\n strictCanonicals: __I18N_STRICT_SEO__ || ctx.routingOptions.strictCanonicals,\n getRouteBaseName: ctx.getRouteBaseName,\n getCurrentRoute: () => ctx.router.currentRoute.value,\n getCurrentLanguage: () => currentLocale.language,\n getCurrentDirection: () => currentLocale.dir || __DEFAULT_DIRECTION__,\n getLocaleRoute: (route) => localeRoute(ctx, route),\n getLocalizedRoute: (locale2, route) => switchLocalePath(ctx, locale2, route),\n getRouteWithoutQuery: () => {\n try {\n return assign({}, ctx.router.resolve({ query: {} }), { meta: ctx.router.currentRoute.value.meta });\n } catch {\n return void 0;\n }\n }\n };\n}\nexport function localeHead(ctx, { dir = true, lang = true, seo = true }) {\n return _localeHead(createHeadContext(ctx, { dir, lang, seo }));\n}\nexport function _useLocaleHead(ctx, options) {\n const metaObject = ref(_localeHead(createHeadContext(ctx, options)));\n if (import.meta.client) {\n const unsub = watch([() => ctx.router.currentRoute.value, () => ctx.getLocale()], () => {\n metaObject.value = _localeHead(createHeadContext(ctx, options));\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n });\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n }\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n return metaObject;\n}\nexport function _useSetI18nParams(ctx, seo, router = ctx.router) {\n const head = __I18N_STRICT_SEO__ ? ctx.head : useHead({});\n const evt = __I18N_STRICT_SEO__ && import.meta.server && useRequestEvent();\n const _i18nParams = ref({});\n const i18nParams = computed({\n get() {\n return router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__];\n },\n set(val) {\n _i18nParams.value = val;\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = val;\n if (evt && evt?.context.nuxtI18n?.slp) {\n evt.context.nuxtI18n.slp = val;\n }\n }\n });\n const unsub = watch(\n () => router.currentRoute.value.fullPath,\n () => {\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = _i18nParams.value;\n __I18N_STRICT_SEO__ && updateState();\n }\n );\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n function updateState() {\n ctx.metaState = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(ctx.metaState);\n }\n const ctxOptions = ref({\n ...ctx.seoSettings,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n seo: seo ?? ctx.seoSettings.seo\n });\n return function(params) {\n i18nParams.value = { ...params };\n __I18N_STRICT_SEO__ && updateState();\n if (!__I18N_STRICT_SEO__) {\n const val = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(val);\n }\n };\n}\n","const objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nfunction isURL(val) {\n return toTypeString(val) === \"[object URL]\";\n}\nfunction isURLSearchParams(val) {\n return toTypeString(val) === \"[object URLSearchParams]\";\n}\nfunction isLocale(val) {\n return toTypeString(val) === \"[object Intl.Locale]\";\n}\nfunction toLocale(val) {\n return isLocale(val) ? val : new Intl.Locale(val);\n}\nfunction validateLangTag(lang) {\n try {\n Intl.getCanonicalLocales(lang);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseAcceptLanguage(value) {\n return value.split(\",\").map((tag) => tag.split(\";\")[0]).filter(\n (tag) => !(tag === \"*\" || tag === \"\")\n );\n}\nfunction normalizeLanguageName(langName) {\n const [lang] = langName.split(\".\");\n return lang.replace(/_/g, \"-\");\n}\nfunction createPathIndexLanguageParser(index = 0) {\n return (path) => {\n const rawPath = typeof path === \"string\" ? path : path.pathname;\n const normalizedPath = rawPath.split(\"?\")[0];\n const parts = normalizedPath.split(\"/\");\n if (parts[0] === \"\") {\n parts.shift();\n }\n return parts.length > index ? parts[index] || \"\" : \"\";\n };\n}\nlet pathLanguageParser = /* @__PURE__ */ createPathIndexLanguageParser();\nfunction registerPathLanguageParser(parser) {\n pathLanguageParser = parser;\n}\n\nconst DEFAULT_LANG_TAG = \"en-US\";\nconst DEFAULT_COOKIE_NAME = \"i18n_locale\";\nconst ACCEPT_LANGUAGE_HEADER = \"accept-language\";\n\nfunction parseDefaultHeader(input) {\n return [input];\n}\nfunction getHeaderLanguagesWithGetter(getter, {\n name = ACCEPT_LANGUAGE_HEADER,\n parser = parseDefaultHeader\n} = {}) {\n const langString = getter();\n return langString ? name === ACCEPT_LANGUAGE_HEADER ? parser === parseDefaultHeader ? parseAcceptLanguage(langString) : parser(langString) : parser(langString) : [];\n}\nfunction getLocaleWithGetter(getter) {\n return toLocale(getter());\n}\nfunction validateLocale(locale) {\n if (!(isLocale(locale) || typeof locale === \"string\" && validateLangTag(locale))) {\n throw new SyntaxError(`locale is invalid: ${locale.toString()}`);\n }\n}\nfunction mapToLocaleFromLanguageTag(getter, ...args) {\n return Reflect.apply(getter, null, args).map(\n (lang) => getLocaleWithGetter(() => lang)\n );\n}\nfunction getExistCookies(name, getter) {\n let setCookies = getter();\n if (!Array.isArray(setCookies)) {\n setCookies = [setCookies];\n }\n setCookies = setCookies.filter(\n (cookieValue) => cookieValue && !cookieValue.startsWith(name + \"=\")\n );\n return setCookies;\n}\nfunction getPathLanguage(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return (parser || pathLanguageParser)(path) || lang;\n}\nfunction getPathLocale(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return new Intl.Locale(getPathLanguage(path, { lang, parser }));\n}\nfunction getURLSearchParams(input) {\n if (isURLSearchParams(input)) {\n return input;\n } else if (isURL(input)) {\n return input.searchParams;\n } else {\n return new URLSearchParams(input);\n }\n}\nfunction getQueryLanguage(query, { lang = DEFAULT_LANG_TAG, name = \"lang\" } = {}) {\n const queryParams = getURLSearchParams(query);\n return queryParams.get(name) || lang;\n}\nfunction getQueryLocale(query, { lang = DEFAULT_LANG_TAG, name = \"locale\" } = {}) {\n return new Intl.Locale(getQueryLanguage(query, { lang, name }));\n}\n\nexport { ACCEPT_LANGUAGE_HEADER as A, DEFAULT_LANG_TAG as D, getLocaleWithGetter as a, DEFAULT_COOKIE_NAME as b, getExistCookies as c, getPathLocale as d, pathLanguageParser as e, getQueryLocale as f, getHeaderLanguagesWithGetter as g, createPathIndexLanguageParser as h, isLocale as i, parseAcceptLanguage as j, validateLangTag as k, mapToLocaleFromLanguageTag as m, normalizeLanguageName as n, parseDefaultHeader as p, registerPathLanguageParser as r, validateLocale as v };\n","import { createPathIndexLanguageParser } from \"@intlify/utils\";\nconst separator = __ROUTE_NAME_SEPARATOR__ || \"___\";\nconst defaultSuffix = __ROUTE_NAME_DEFAULT_SUFFIX__ || \"default\";\nexport const defaultRouteNameSuffix = separator + defaultSuffix;\nexport function normalizeRouteName(routeName) {\n if (typeof routeName === \"string\") {\n return routeName;\n }\n if (routeName != null) {\n return routeName.toString();\n }\n return \"\";\n}\nexport function getRouteBaseName(route) {\n return normalizeRouteName(typeof route === \"object\" ? route?.name : route).split(separator)[0];\n}\nexport function getLocalizedRouteName(routeName, locale, isDefault) {\n return !isDefault ? routeName + separator + locale : routeName + separator + locale + defaultRouteNameSuffix;\n}\nconst pathLanguageParser = createPathIndexLanguageParser(0);\nexport const getLocaleFromRoutePath = (path) => pathLanguageParser(path);\nexport const getLocaleFromRouteName = (name) => name.split(separator).at(1) ?? \"\";\nfunction normalizeInput(input) {\n return typeof input !== \"object\" ? String(input) : String(input?.name || input?.path || \"\");\n}\nexport function getLocaleFromRoute(route) {\n const input = normalizeInput(route);\n if (input[0] === \"/\") {\n return getLocaleFromRoutePath(input);\n }\n const fromName = getLocaleFromRouteName(input);\n if (fromName) {\n return fromName;\n }\n if (typeof route === \"object\" && route?.path) {\n return getLocaleFromRoutePath(String(route.path));\n }\n return \"\";\n}\n","import { assign } from \"@intlify/shared\";\nimport { getLocalizedRouteName, normalizeRouteName } from \"#i18n-kit/routing\";\nexport function createLocaleRouteNameGetter(defaultLocale) {\n if (!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__) {\n return (routeName) => normalizeRouteName(routeName);\n }\n if (__I18N_STRATEGY__ === \"prefix_and_default\") {\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, locale === defaultLocale);\n }\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, false);\n}\nexport function createLocalizedRouteByPathResolver(router) {\n if (!__I18N_ROUTING__) {\n return (route) => route;\n }\n if (__I18N_STRATEGY__ === \"prefix\") {\n return (route, locale) => {\n const targetPath = \"/\" + locale + (route.path === \"/\" ? \"\" : route.path);\n const _route = router.options.routes.find((r) => r.path === targetPath);\n if (_route != null) {\n return router.resolve(assign({}, route, _route, { path: targetPath }));\n }\n return route;\n };\n }\n return (route) => router.resolve(route);\n}\n","// @ts-nocheck\n\nexport const localeCodes = [\n \"hu\",\n \"en\"\n]\nexport const localeLoaders = {\n hu: [\n {\n key: \"locale_hu_46json_ee06c965\",\n load: () => import(\"#nuxt-i18n/ee06c965\" /* webpackChunkName: \"locale_hu_46json_ee06c965\" */),\n cache: true\n }\n ],\n en: [\n {\n key: \"locale_en_46json_0b63539c\",\n load: () => import(\"#nuxt-i18n/0b63539c\" /* webpackChunkName: \"locale_en_46json_0b63539c\" */),\n cache: true\n }\n ]\n}\nexport const vueI18nConfigs = []\nexport const normalizedLocales = [\n {\n code: \"hu\",\n iso: \"hu-HU\",\n name: \"Magyar\",\n language: undefined\n },\n {\n code: \"en\",\n iso: \"en-GB\",\n name: \"English\",\n language: undefined\n }\n]\n\n","import { create, deepCopy, isFunction, toTypeString } from \"@intlify/shared\";\nimport { useNuxtApp } from \"#app\";\nimport { createDefu } from \"defu\";\nconst cacheMessages = /* @__PURE__ */ new Map();\nconst merger = createDefu((obj, key, value) => {\n if (key === \"messages\" || key === \"datetimeFormats\" || key === \"numberFormats\") {\n obj[key] ??= create(null);\n deepCopy(value, obj[key]);\n return true;\n }\n});\nexport async function loadVueI18nOptions(vueI18nConfigs) {\n const nuxtApp = useNuxtApp();\n let vueI18nOptions = { messages: create(null) };\n for (const configFile of vueI18nConfigs) {\n const resolver = await configFile().then((x) => isModule(x) ? x.default : x);\n const resolved = isFunction(resolver) ? await nuxtApp.runWithContext(() => resolver()) : resolver;\n vueI18nOptions = merger(create(null), resolved, vueI18nOptions);\n }\n vueI18nOptions.fallbackLocale ??= false;\n return vueI18nOptions;\n}\nconst isModule = (val) => toTypeString(val) === \"[object Module]\";\nasync function getLocaleMessages(locale, loader) {\n const nuxtApp = useNuxtApp();\n try {\n const getter = await nuxtApp.runWithContext(loader.load).then((x) => isModule(x) ? x.default : x);\n return isFunction(getter) ? await nuxtApp.runWithContext(() => getter(locale)) : getter;\n } catch (e) {\n throw new Error(`Failed loading locale (${locale}): ` + e.message);\n }\n}\nexport async function getLocaleMessagesMerged(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(\n loaders.map((loader) => nuxtApp.runWithContext(() => getLocaleMessages(locale, loader)))\n );\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nexport async function getLocaleMessagesMergedCached(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(loaders.map(async (loader) => {\n const cached = getCachedMessages(loader);\n const messages2 = cached || await nuxtApp.runWithContext(() => getLocaleMessages(locale, loader));\n if (!cached && loader.cache !== false) {\n cacheMessages.set(loader.key, { ttl: Date.now() + __I18N_CACHE_LIFETIME__ * 1e3, value: messages2 });\n }\n return messages2;\n }));\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nfunction getCachedMessages(loader) {\n if (!__I18N_CACHE__) {\n return;\n }\n if (loader.cache === false) {\n return;\n }\n const cache = cacheMessages.get(loader.key);\n if (cache == null) {\n return;\n }\n return __I18N_CACHE_LIFETIME__ === 0 || cache.ttl > Date.now() ? cache.value : void 0;\n}\n","export function getI18nTarget(i18n) {\n return i18n != null && \"global\" in i18n && \"mode\" in i18n ? i18n.global : i18n;\n}\nexport function getComposer(i18n) {\n const target = getI18nTarget(i18n);\n return \"__composer\" in target ? target.__composer : target;\n}\n","import { useRuntimeConfig } from \"#imports\";\nimport { isString } from \"@intlify/shared\";\nexport function useRuntimeI18n(nuxtApp, event) {\n if (!nuxtApp) {\n return useRuntimeConfig(event).public.i18n;\n }\n return nuxtApp.$config.public.i18n;\n}\nexport function useI18nDetection(nuxtApp) {\n const detectBrowserLanguage = useRuntimeI18n(nuxtApp).detectBrowserLanguage;\n const detect = detectBrowserLanguage || {};\n return {\n ...detect,\n enabled: !!detectBrowserLanguage,\n cookieKey: detect.cookieKey || __DEFAULT_COOKIE_KEY__\n };\n}\nexport function resolveRootRedirect(config) {\n if (!config) {\n return void 0;\n }\n return {\n path: \"/\" + (isString(config) ? config : config.path).replace(/^\\//, \"\"),\n code: !isString(config) && config.statusCode || 302\n };\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol } from \"ufo\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { toArray } from \"./utils.js\";\nexport function matchDomainLocale(locales, host, pathLocale) {\n const normalizeDomain = (domain = \"\") => domain.replace(/https?:\\/\\//, \"\");\n const matches = locales.filter(\n (locale) => normalizeDomain(locale.domain) === host || toArray(locale.domains).includes(host)\n );\n if (matches.length <= 1) {\n return matches[0]?.code;\n }\n return (\n // match by current path locale\n matches.find((l) => l.code === pathLocale)?.code || matches.find((l) => l.defaultForDomains?.includes(host) ?? l.domainDefault)?.code\n );\n}\nexport function domainFromLocale(domainLocales, url, locale) {\n const lang = normalizedLocales.find((x) => x.code === locale);\n const domain = domainLocales?.[locale]?.domain || lang?.domain || lang?.domains?.find((v) => v === url.host);\n if (!domain) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Could not find domain name for locale \" + locale);\n return;\n }\n if (hasProtocol(domain, { strict: true })) {\n return domain;\n }\n return url.protocol + \"//\" + domain;\n}\n","import { localeCodes, localeLoaders, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { isArray, isString } from \"@intlify/shared\";\nexport function createLocaleConfigs(fallbackLocale) {\n const localeConfigs = {};\n for (const locale of localeCodes) {\n const fallbacks = getFallbackLocaleCodes(fallbackLocale, [locale]);\n const cacheable = isLocaleWithFallbacksCacheable(locale, fallbacks);\n localeConfigs[locale] = { fallbacks, cacheable };\n }\n return localeConfigs;\n}\nfunction getFallbackLocaleCodes(fallback, locales) {\n if (fallback === false) {\n return [];\n }\n if (isArray(fallback)) {\n return fallback;\n }\n let fallbackLocales = [];\n if (isString(fallback)) {\n if (locales.every((locale) => locale !== fallback)) {\n fallbackLocales.push(fallback);\n }\n return fallbackLocales;\n }\n const targets = [...locales, \"default\"];\n for (const locale of targets) {\n if (locale in fallback == false) {\n continue;\n }\n fallbackLocales = [...fallbackLocales, ...fallback[locale].filter(Boolean)];\n }\n return fallbackLocales;\n}\nexport function isLocaleCacheable(locale) {\n return localeLoaders[locale] != null && localeLoaders[locale].every((loader) => loader.cache !== false);\n}\nexport function isLocaleWithFallbacksCacheable(locale, fallbackLocales) {\n return isLocaleCacheable(locale) && fallbackLocales.every((fallbackLocale) => isLocaleCacheable(fallbackLocale));\n}\nexport function getDefaultLocaleForDomain(host) {\n return normalizedLocales.find((l) => !!l.defaultForDomains?.includes(host))?.code;\n}\nexport const isSupportedLocale = (locale) => localeCodes.includes(locale || \"\");\nexport const resolveSupportedLocale = (locale) => isSupportedLocale(locale) ? locale : void 0;\n","import { isRef, unref } from \"vue\";\nimport { useCookie, useRequestURL, useState } from \"#imports\";\nimport { localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"./shared/messages.js\";\nimport { createBaseUrlGetter, createComposableContext } from \"./utils.js\";\nimport { getI18nTarget } from \"./compatibility.js\";\nimport { domainFromLocale } from \"./shared/domain.js\";\nimport { isSupportedLocale } from \"./shared/locales.js\";\nimport { resolveRootRedirect, useI18nDetection, useRuntimeI18n } from \"./shared/utils.js\";\nimport { joinURL } from \"ufo\";\nimport { isString } from \"@intlify/shared\";\nexport const useLocaleConfigs = () => useState(\n \"i18n:cached-locale-configs\",\n () => void 0\n);\nexport const useResolvedLocale = () => useState(\"i18n:resolved-locale\", () => \"\");\nfunction useI18nCookie({ cookieCrossOrigin, cookieDomain, cookieSecure, cookieKey }) {\n const date = /* @__PURE__ */ new Date();\n return useCookie(cookieKey || __DEFAULT_COOKIE_KEY__, {\n path: \"/\",\n readonly: false,\n expires: new Date(date.setDate(date.getDate() + 365)),\n sameSite: cookieCrossOrigin ? \"none\" : \"lax\",\n domain: cookieDomain || void 0,\n secure: cookieCrossOrigin || cookieSecure\n });\n}\nexport function createNuxtI18nContext(nuxt, vueI18n, defaultLocale) {\n const i18n = getI18nTarget(vueI18n);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const detectConfig = useI18nDetection(nuxt);\n const serverLocaleConfigs = useLocaleConfigs();\n const localeCookie = useI18nCookie(detectConfig);\n const loadMap = /* @__PURE__ */ new Set();\n const getLocaleConfig = (locale) => serverLocaleConfigs.value[locale];\n const getDomainFromLocale = (locale) => domainFromLocale(runtimeI18n.domainLocales, useRequestURL({ xForwardedHost: true }), locale);\n const baseUrl = createBaseUrlGetter(nuxt, runtimeI18n.baseUrl, defaultLocale, getDomainFromLocale);\n const resolvedLocale = useResolvedLocale();\n if (__I18N_SERVER_REDIRECT__ && import.meta.server && nuxt.ssrContext?.event?.context?.nuxtI18n?.detectLocale) {\n resolvedLocale.value = nuxt.ssrContext.event.context.nuxtI18n.detectLocale;\n }\n const loadMessagesFromClient = async (locale) => {\n const locales = getLocaleConfig(locale)?.fallbacks ?? [];\n if (!locales.includes(locale)) {\n locales.push(locale);\n }\n for (const k of locales) {\n const msg = await nuxt.runWithContext(() => getLocaleMessagesMergedCached(k, localeLoaders[k]));\n i18n.mergeLocaleMessage(k, msg);\n }\n };\n const loadMessagesFromServer = async (locale) => {\n if (locale in localeLoaders === false) {\n return;\n }\n const headers = getLocaleConfig(locale)?.cacheable ? {} : { \"Cache-Control\": \"no-cache\" };\n const prefix = import.meta.client && __I18N_CDN__ ? nuxt.$config.app.cdnURL || \"\" : \"\";\n const url = joinURL(prefix, __I18N_SERVER_ROUTE__, __I18N_LOCALE_HASHES__[locale], locale, \"messages.json\");\n const messages = await $fetch(url, { headers });\n for (const k of Object.keys(messages)) {\n i18n.mergeLocaleMessage(k, messages[k]);\n }\n };\n const ctx = {\n vueI18n,\n initial: true,\n preloaded: false,\n config: runtimeI18n,\n rootRedirect: resolveRootRedirect(runtimeI18n.rootRedirect),\n redirectStatusCode: runtimeI18n.redirectStatusCode ?? 302,\n dynamicResourcesSSG: !__IS_SSR__ || !__I18N_FULL_STATIC__ && (import.meta.prerender || __IS_SSG__),\n getDefaultLocale: () => defaultLocale,\n getLocale: () => unref(i18n.locale),\n setLocale: async (locale) => {\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale || !isSupportedLocale(locale)) {\n return;\n }\n if (isRef(i18n.locale)) {\n i18n.locale.value = locale;\n } else {\n i18n.locale = locale;\n }\n await nuxt.callHook(\"i18n:localeSwitched\", { newLocale: locale, oldLocale });\n resolvedLocale.value = locale;\n },\n setLocaleSuspend: async (locale) => {\n if (!isSupportedLocale(locale)) {\n return;\n }\n ctx.vueI18n.__pendingLocale = locale;\n ctx.vueI18n.__pendingLocalePromise = new Promise((resolve) => {\n ctx.vueI18n.__resolvePendingLocalePromise = async () => {\n ctx.setCookieLocale(locale);\n await ctx.setLocale(locale);\n ctx.vueI18n.__pendingLocale = void 0;\n resolve();\n };\n });\n if (import.meta.server || nuxt.isHydrating || !ctx.config.skipSettingLocaleOnNavigate) {\n await ctx.vueI18n.__resolvePendingLocalePromise?.();\n }\n },\n getLocales: () => unref(i18n.locales).map((x) => isString(x) ? { code: x } : x),\n setCookieLocale: (locale) => {\n if (detectConfig.useCookie && isSupportedLocale(locale)) {\n localeCookie.value = locale;\n }\n },\n getBaseUrl: (locale) => {\n if (locale) {\n return joinURL(getDomainFromLocale(locale) || baseUrl(), nuxt.$config.app.baseURL);\n }\n return joinURL(baseUrl(), nuxt.$config.app.baseURL);\n },\n loadMessages: async (locale) => {\n if (nuxt.isHydrating && loadMap.has(locale)) {\n return;\n }\n try {\n return ctx.dynamicResourcesSSG || import.meta.dev ? await loadMessagesFromClient(locale) : await loadMessagesFromServer(locale);\n } catch (e) {\n console.warn(`Failed to load messages for locale \"${locale}\"`, e);\n } finally {\n loadMap.add(locale);\n }\n },\n composableCtx: void 0\n };\n ctx.composableCtx = createComposableContext(ctx, nuxt);\n return ctx;\n}\nexport function useNuxtI18nContext(nuxt) {\n if (nuxt._nuxtI18n == null) {\n throw new Error(\"Nuxt I18n context has not been set up yet.\");\n }\n return nuxt._nuxtI18n;\n}\n","function matchBrowserLocale(locales, browserLocales) {\n const matchedLocales = [];\n for (const [index, browserCode] of browserLocales.entries()) {\n const matchedLocale = locales.find((l) => l.language?.toLowerCase() === browserCode.toLowerCase());\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 1 - index / browserLocales.length });\n break;\n }\n }\n for (const [index, browserCode] of browserLocales.entries()) {\n const languageCode = browserCode.split(\"-\")[0].toLowerCase();\n const matchedLocale = locales.find((l) => l.language?.split(\"-\")[0].toLowerCase() === languageCode);\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 0.999 - index / browserLocales.length });\n break;\n }\n }\n return matchedLocales;\n}\nfunction compareBrowserLocale(a, b) {\n if (a.score === b.score) {\n return b.code.length - a.code.length;\n }\n return b.score - a.score;\n}\nexport function findBrowserLocale(locales, browserLocales) {\n const matchedLocales = matchBrowserLocale(\n locales.map((l) => ({ code: l.code, language: l.language || l.code })),\n browserLocales\n );\n return matchedLocales.sort(compareBrowserLocale).at(0)?.code ?? \"\";\n}\n","import { getCookie, getRequestHeader, getRequestURL } from \"h3\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { getLocaleFromRoute, getLocaleFromRoutePath } from \"#i18n-kit/routing\";\nimport { findBrowserLocale } from \"#i18n-kit/browser\";\nimport { parseAcceptLanguage } from \"@intlify/utils\";\nimport { matchDomainLocale } from \"./domain.js\";\nimport { useRuntimeI18n } from \"../shared/utils.js\";\nimport { useCookie } from \"#app\";\nconst getCookieLocale = (event, cookieName) => (import.meta.client ? useCookie(cookieName).value : getCookie(event, cookieName)) || void 0;\nconst getRouteLocale = (event, route) => getLocaleFromRoute(route);\nconst getHeaderLocale = (event) => findBrowserLocale(normalizedLocales, parseAcceptLanguage(getRequestHeader(event, \"accept-language\") || \"\"));\nconst getNavigatorLocale = (event) => findBrowserLocale(normalizedLocales, navigator.languages);\nconst getHostLocale = (event, path, domainLocales) => {\n const host = import.meta.client ? new URL(window.location.href).host : getRequestURL(event, { xForwardedHost: true }).host;\n const locales = normalizedLocales.map((l) => ({\n ...l,\n domain: domainLocales[l.code]?.domain ?? l.domain\n }));\n return matchDomainLocale(locales, host, getLocaleFromRoutePath(path));\n};\nexport const useDetectors = (event, config, nuxtApp) => {\n if (import.meta.server && !event) {\n throw new Error(\"H3Event is required for server-side locale detection\");\n }\n const runtimeI18n = useRuntimeI18n(nuxtApp);\n return {\n cookie: () => getCookieLocale(event, config.cookieKey),\n header: () => import.meta.server ? getHeaderLocale(event) : void 0,\n navigator: () => import.meta.client ? getNavigatorLocale(event) : void 0,\n host: (path) => getHostLocale(event, path, runtimeI18n.domainLocales),\n route: (path) => getRouteLocale(event, path)\n };\n};\n","import { isEqual, joinURL, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { isFunction, isString } from \"@intlify/shared\";\nimport { navigateTo, useHead, useNuxtApp, useRequestEvent, useRequestURL, useRouter } from \"#imports\";\nimport { createLocaleRouteNameGetter, createLocalizedRouteByPathResolver } from \"./routing/utils.js\";\nimport { getRouteBaseName } from \"#i18n-kit/routing\";\nimport {\n localePath,\n switchLocalePath\n} from \"./routing/routing.js\";\nimport { useNuxtI18nContext } from \"./context.js\";\nimport { getDefaultLocaleForDomain, isSupportedLocale } from \"./shared/locales.js\";\nimport { useDetectors } from \"./shared/detection.js\";\nimport { useI18nDetection } from \"./shared/utils.js\";\nexport const isRouteLocationPathRaw = (val) => !!val.path && !val.name;\nexport function useComposableContext(nuxtApp) {\n const context = nuxtApp?._nuxtI18n?.composableCtx;\n if (!context) {\n throw new Error(\n \"i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.\"\n );\n }\n return context;\n}\nconst formatTrailingSlash = __TRAILING_SLASH__ ? withTrailingSlash : withoutTrailingSlash;\nexport function createComposableContext(ctx, nuxtApp = useNuxtApp()) {\n const router = useRouter();\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n const defaultLocale = ctx.getDefaultLocale();\n const getLocalizedRouteName = createLocaleRouteNameGetter(defaultLocale);\n function resolveLocalizedRouteByName(route, locale) {\n route.name = getRouteBaseName(route.name || router.currentRoute.value);\n const localizedName = getLocalizedRouteName(route.name, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n if (__I18N_COMPACT_ROUTES__ && route.params) {\n delete route.params.locale;\n }\n } else if (__I18N_COMPACT_ROUTES__ && isSupportedLocale(locale) && getCompactRouteNames().has(route.name)) {\n route.params = { ...route.params || {}, locale };\n return route;\n }\n route.name = localizedName;\n return route;\n }\n const routeByPathResolver = createLocalizedRouteByPathResolver(router);\n let compactRouteRecords;\n function getCompactRouteNames() {\n if (compactRouteRecords) {\n return compactRouteRecords;\n }\n compactRouteRecords = /* @__PURE__ */ new Set();\n if (__I18N_COMPACT_ROUTES__) {\n for (const r of router.getRoutes()) {\n if (r.name != null && /^\\/:locale\\(/.test(r.path)) {\n compactRouteRecords.add(String(r.name));\n }\n }\n }\n return compactRouteRecords;\n }\n function resolveLocalizedRouteByPath(input, locale) {\n const route = routeByPathResolver(input, locale);\n const baseName = getRouteBaseName(route);\n if (baseName) {\n const localizedName = getLocalizedRouteName(baseName, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n return route;\n }\n if (__I18N_COMPACT_ROUTES__ && getCompactRouteNames().has(baseName)) {\n const compacted = route;\n compacted.name = baseName;\n compacted.params = { ...compacted.params || {}, locale };\n return compacted;\n }\n route.name = localizedName;\n return route;\n }\n if (prefixable(locale, defaultLocale)) {\n route.path = \"/\" + locale + route.path;\n }\n route.path = formatTrailingSlash(route.path, true);\n return route;\n }\n const composableCtx = {\n router,\n _head: void 0,\n get head() {\n this._head ??= useHead({});\n return this._head;\n },\n metaState: { htmlAttrs: {}, meta: [], link: [] },\n seoSettings: {\n dir: __I18N_STRICT_SEO__,\n lang: __I18N_STRICT_SEO__,\n seo: __I18N_STRICT_SEO__\n },\n localePathPayload: getLocalePathPayload(),\n routingOptions: {\n defaultLocale,\n strictCanonicals: ctx.config.experimental.alternateLinkCanonicalQueries ?? true,\n hreflangLinks: !(!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__)\n },\n getLocale: ctx.getLocale,\n getLocales: ctx.getLocales,\n getBaseUrl: ctx.getBaseUrl,\n getRouteBaseName,\n getRouteLocalizedParams: () => router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] ?? {},\n getLocalizedDynamicParams: (locale) => {\n if (__I18N_STRICT_SEO__ && import.meta.client && nuxtApp.isHydrating && composableCtx.localePathPayload) {\n return composableCtx.localePathPayload[locale] || {};\n }\n return composableCtx.getRouteLocalizedParams()?.[locale];\n },\n afterSwitchLocalePath: (path, locale) => {\n const params = composableCtx.getRouteLocalizedParams();\n if (__I18N_STRICT_SEO__ && locale && Object.keys(params).length && !params[locale]) {\n return \"\";\n }\n if (__MULTI_DOMAIN_LOCALES__ && __I18N_STRATEGY__ === \"prefix_except_default\") {\n const defaultLocale2 = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host);\n if (locale !== defaultLocale2 || detectors.route(path) !== defaultLocale2) {\n return path;\n }\n return path.slice(locale.length + 1);\n }\n if (__DIFFERENT_DOMAINS__) {\n return joinURL(ctx.getBaseUrl(locale), path);\n }\n return path;\n },\n resolveLocalizedRouteObject: (route, locale) => {\n return isRouteLocationPathRaw(route) ? resolveLocalizedRouteByPath(route, locale) : resolveLocalizedRouteByName(route, locale);\n }\n };\n return composableCtx;\n}\nfunction getLocalePathPayload(nuxtApp = useNuxtApp()) {\n const payload = import.meta.client && document.querySelector(`[data-nuxt-i18n-slp=\"${nuxtApp._id}\"]`)?.textContent;\n return JSON.parse(payload || \"{}\");\n}\nexport async function loadAndSetLocale(nuxtApp, locale) {\n const ctx = useNuxtI18nContext(nuxtApp);\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale && !ctx.initial && (!ctx.vueI18n.__pendingLocale || ctx.vueI18n.__pendingLocale === locale)) {\n return locale;\n }\n const data = { oldLocale, newLocale: locale, initialSetup: ctx.initial, context: nuxtApp };\n let override = await nuxtApp.callHook(\"i18n:beforeLocaleSwitch\", data);\n if (override != null && import.meta.dev) {\n console.warn(\"[nuxt-i18n] Do not return in `i18n:beforeLocaleSwitch`, mutate `data.newLocale` instead.\");\n }\n override ??= data.newLocale;\n if (isSupportedLocale(override)) {\n locale = override;\n }\n await ctx.loadMessages(locale);\n await ctx.setLocaleSuspend(locale);\n return locale;\n}\nfunction skipDetect(detect, path, pathLocale) {\n if (!__I18N_ROUTING__) {\n return false;\n }\n if (detect.redirectOn === \"root\" && path !== \"/\") {\n return true;\n }\n if (detect.redirectOn === \"no prefix\" && !detect.alwaysRedirect && isSupportedLocale(pathLocale)) {\n return true;\n }\n return false;\n}\nexport function detectLocale(nuxtApp, route) {\n const detectConfig = useI18nDetection(nuxtApp);\n const detectors = useDetectors(useRequestEvent(nuxtApp), detectConfig, nuxtApp);\n const ctx = useNuxtI18nContext(nuxtApp);\n const path = isString(route) ? route : route.path;\n function* detect() {\n if (ctx.initial && detectConfig.enabled && !skipDetect(detectConfig, path, detectors.route(path))) {\n yield detectors.cookie();\n yield detectors.header();\n yield detectors.navigator();\n yield detectConfig.fallbackLocale;\n }\n if (__DIFFERENT_DOMAINS__ || __MULTI_DOMAIN_LOCALES__) {\n yield detectors.host(path);\n }\n if (__I18N_ROUTING__) {\n yield detectors.route(route);\n }\n }\n for (const detected of detect()) {\n if (detected && isSupportedLocale(detected)) {\n return detected;\n }\n }\n return ctx.getLocale() || ctx.getDefaultLocale() || \"\";\n}\nexport function navigate(nuxtApp, to, locale) {\n if (!__I18N_ROUTING__ || __DIFFERENT_DOMAINS__) {\n return;\n }\n const ctx = useNuxtI18nContext(nuxtApp);\n const _ctx = useComposableContext(nuxtApp);\n if (to.path === \"/\" && ctx.rootRedirect) {\n return navigateTo(localePath(_ctx, ctx.rootRedirect.path, locale), { redirectCode: ctx.rootRedirect.code });\n }\n if (ctx.vueI18n.__pendingLocale && useNuxtApp()._processingMiddleware) {\n return;\n }\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n if (detectors.route(to) === locale) {\n return;\n }\n const destination = switchLocalePath(_ctx, locale, to) || localePath(_ctx, to.fullPath, locale);\n if (isEqual(destination, to.fullPath)) {\n return;\n }\n return navigateTo(destination, { redirectCode: ctx.redirectStatusCode });\n}\nexport function prefixable(currentLocale, defaultLocale) {\n return !__DIFFERENT_DOMAINS__ && __I18N_ROUTING__ && (currentLocale !== defaultLocale || __I18N_STRATEGY__ === \"prefix\");\n}\nexport function createBaseUrlGetter(nuxt, baseUrl, defaultLocale, getDomainFromLocale) {\n if (isFunction(baseUrl)) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Configuring baseUrl as a function is deprecated and will be removed in v11.\");\n return () => baseUrl(nuxt);\n }\n return () => {\n if (__DIFFERENT_DOMAINS__ && defaultLocale) {\n return (getDomainFromLocale(defaultLocale) || baseUrl) ?? \"\";\n }\n return baseUrl ?? \"\";\n };\n}\n","/*!\n * message-compiler v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16\n};\n// Special value for higher-order compilers to pick up the last code\n// to avoid collision of error codes.\n// This should always be kept as the last item.\nconst COMPILE_ERROR_CODES_EXTEND_POINT = 17;\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 13 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 13 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 7 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '') => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return hasSpace;\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === '\\\\') {\n const nextCh = scnr.peek();\n if (nextCh === \"{\" /* TokenChars.BraceLeft */ ||\n nextCh === \"}\" /* TokenChars.BraceRight */ ||\n nextCh === \"@\" /* TokenChars.LinkedAlias */ ||\n nextCh === \"|\" /* TokenChars.Pipe */ ||\n nextCh === '\\\\') {\n buf += ch + nextCh;\n scnr.next();\n scnr.next();\n }\n else {\n scnr.resetPeek();\n buf += ch;\n scnr.next();\n }\n }\n else if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n // Check if takeNamedIdentifierChar stoped because of invalid characters\n const currentChar = scnr.currentChar();\n if (currentChar &&\n currentChar !== '}' &&\n currentChar !== EOF &&\n currentChar !== CHAR_SP &&\n currentChar !== CHAR_LF &&\n currentChar !== '\\u3000') {\n const invalidPart = readInvalidIdentifier(scnr);\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, name + invalidPart);\n return name + invalidPart;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 4 /* TokenTypes.Named */ ||\n context.currentType === 5 /* TokenTypes.List */ ||\n context.currentType === 6 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 8 /* TokenTypes.LinkedDot */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */ ||\n currentType === 9 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 7 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 8 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 7 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 13 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 13 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\n// Text context escape sequences: \\\\, \\@, \\{, \\}, \\|\nconst TEXT_ESCAPES = /\\\\([\\\\@{}|])/g;\nfunction fromTextEscapeSequence(_match, char) {\n return char;\n}\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value.replace(TEXT_ESCAPES, fromTextEscapeSequence);\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 11 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 8 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 10 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 13 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 13 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 13 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 13 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 13 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {}) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { COMPILE_ERROR_CODES_EXTEND_POINT, CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, hasOwn, isNumber, create, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray, isPlainObject, assign, isRegExp, warnOnce, isDate, isEmptyObject, join, toDisplayString, sanitizeTranslatedHtml, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey } from '@intlify/shared';\nimport { detectHtmlTag, defaultOnError, baseCompile as baseCompile$1, COMPILE_ERROR_CODES_EXTEND_POINT, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue$1(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved != null) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nconst AST_NODE_PROPS_KEYS = [\n ...PROPS_BODY,\n ...PROPS_CASES,\n ...PROPS_STATIC,\n ...PROPS_ITEMS,\n ...PROPS_KEY,\n ...PROPS_MODIFIER,\n ...PROPS_VALUE,\n ...PROPS_TYPE\n];\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\n}\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue$1(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue$1(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue$1(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue$1(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction clearCompileCache() {\n compileCache = create();\n}\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nfunction compile(message, context) {\n if ((!__INTLIFY_DROP_MESSAGE_COMPILER__) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit('i18n:init', {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = \n/* #__PURE__*/ createDevToolsHook('function:translate');\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: COMPILE_ERROR_CODES_EXTEND_POINT, // 17\n INVALID_DATE_ARGUMENT: 18,\n INVALID_ISO_DATE_ARGUMENT: 19,\n NOT_SUPPORT_NON_STRING_MESSAGE: 20,\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21,\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22,\n NOT_SUPPORT_LOCALE_TYPE: 23\n};\nconst CORE_ERROR_CODES_EXTEND_POINT = 24;\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- for generic object\n let last = obj;\n let i = 0;\n while (i < len) {\n const key = hit[i];\n /**\n * NOTE:\n * if `key` is intlify message format AST node key and `last` is intlify message format AST, skip it.\n * because the AST node is not a key-value structure.\n */\n if (AST_NODE_PROPS_KEYS.includes(key) && isMessageAST(last)) {\n return null;\n }\n if (!isObject(last)) {\n return null;\n }\n if (!hasOwn(last, key)) {\n return null;\n }\n const val = last[key];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7,\n INVALID_NUMBER_ARGUMENT: 8,\n INVALID_DATE_ARGUMENT: 9\n};\nconst CORE_WARN_CODES_EXTEND_POINT = 10;\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`,\n [CoreWarnCodes.INVALID_NUMBER_ARGUMENT]: `Invalid argument for number formatting: expected a number but received '{value}'.`,\n [CoreWarnCodes.INVALID_DATE_ARGUMENT]: `Invalid argument for datetime formatting: expected a Date, number, or ISO string but received '{value}'.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '11.4.2';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('missing', {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isString(args[0]) && !isDate(args[0]) && !isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_DATE_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_NUMBER_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n // singular (0) | plural (1)\n if (choicesLength === 2) {\n // prettier-ignore\n return choice === 1\n ? 0\n : 1;\n }\n // zero (0) | singular (1) | plural (2)\n return Math.min(choice, 2);\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n return isNumber(options.named?.count)\n ? options.named.count\n : isNumber(options.named?.n)\n ? options.named.n\n : index;\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isString(locale) && isFunction(options.pluralRules?.[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = pluralRule === pluralDefault ? undefined : pluralDefault;\n const plural = (messages) => messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n const _list = options.list || [];\n const list = (index) => _list[index];\n const _named = options.named || create(); // eslint-disable-line @typescript-eslint/no-explicit-any\n // normalize named\n if (isNumber(options.pluralIndex)) {\n _named.count ||= options.pluralIndex;\n _named.n ||= options.pluralIndex;\n }\n const named = (key) => _named[key];\n function message(key, useLinked) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key, !!useLinked)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isFunction(options.processor?.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isFunction(options.processor?.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isString(options.processor?.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key, true)(ctx);\n // If the linked message is not resolved (empty string), fall back to the key itself\n const resolved = ret === '' || ret === undefined ? key : ret;\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(resolved) && modifier\n ? resolved[0]\n : resolved;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n };\n return ctx;\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : null;\n const enableDefaultMsg = fallbackFormat ||\n (defaultMsgOrKey != null &&\n (isString(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || create()\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n let ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // apply HTML sanitization for security\n if (escapeParameter && isString(ret)) {\n ret = sanitizeTranslatedHtml(ret);\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = create();\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || create();\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start && format) {\n emitter.emit('message-resolve', {\n type: 'message-resolve',\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-compilation', {\n type: 'message-compilation',\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-evaluation', {\n type: 'message-evaluation',\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = create();\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit('compile-error', {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n const message = `Message compilation error: ${err.message}`;\n throw new SyntaxError(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n throw err;\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key, useLinked) => {\n let val = resolveValue(message, key);\n // fallback\n if (val == null && (fallbackContext || useLinked)) {\n const [format, , message] = resolveMessageFormat(fallbackContext || context, // NOTE: if has fallbackContext, fallback to root, else if use linked, fallback to local context\n key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = format ?? resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\n{\n initFeatureFlags();\n}\n\nexport { AST_NODE_PROPS_KEYS, CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { CORE_ERROR_CODES_EXTEND_POINT, createCompileError, CORE_WARN_CODES_EXTEND_POINT, isMessageAST, AST_NODE_PROPS_KEYS, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, fallbackWithLocaleChain, isMessageFunction, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { getGlobalThis, makeSymbol, format, isObject, create, isPlainObject, isArray, deepCopy, isString, hasOwn, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, warnOnce, isEmptyObject } from '@intlify/shared';\nimport * as Vue from 'vue';\nimport { createVNode, Text, computed, watch, ref, shallowRef, Fragment, defineComponent, h, getCurrentScope, onScopeDispose, effectScope, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '11.4.2';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\n\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: CORE_WARN_CODES_EXTEND_POINT, // 10\n NOT_FOUND_PARENT_SCOPE: (CORE_WARN_CODES_EXTEND_POINT + 1),\n IGNORE_OBJ_FLATTEN: (CORE_WARN_CODES_EXTEND_POINT + 2),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_LEGACY_MODE: (CORE_WARN_CODES_EXTEND_POINT + 3),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE: (CORE_WARN_CODES_EXTEND_POINT +\n 4),\n // duplicate `useI18n` calling\n DUPLICATE_USE_I18N_CALLING: (CORE_WARN_CODES_EXTEND_POINT + 5)\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_LEGACY_MODE]: `Legacy API mode has been deprecated in v11. Use Composition API mode instead.\\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]: `'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.`,\n [I18nWarnCodes.DUPLICATE_USE_I18N_CALLING]: \"Duplicate `useI18n` calling by local scope. Please don't call it on local scope, due to it does not work properly in component.\"\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n if (isMessageAST(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (subKeys[i] === '__proto__') {\n throw new Error(`unsafe key: ${subKeys[i]}`);\n }\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = create();\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n if (!isMessageAST(currentObj)) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n else {\n /**\n * NOTE:\n * if the last object is a message AST and subKeys[lastIndex] has message AST prop key, ignore to copy and key deletion\n */\n if (!AST_NODE_PROPS_KEYS.includes(subKeys[lastIndex])) {\n delete obj[key];\n }\n }\n }\n // recursive process value if value is also a object\n if (!isMessageAST(currentObj)) {\n const target = currentObj[subKeys[lastIndex]];\n if (isObject(target)) {\n handleFlatJson(target);\n }\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? create()\n : { [locale]: create() });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || create();\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n // prettier-ignore\n let messages = isObject(options.messages)\n ? options.messages\n : create();\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0);\n}\nfunction getCurrentInstance() {\n // NOTE(kazupon): avoid bundler warning\n const key = 'currentInstance';\n if (key in Vue) {\n return Vue[key];\n }\n else {\n return Vue.getCurrentInstance();\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _context.locale = val;\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _context.fallbackLocale = val;\n _fallbackLocale.value = val;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit('fallback', {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n // When locale is explicitly specified, check only that locale (no fallback chain)\n // When locale is not specified, check the fallback locale chain\n const locales = isString(locale)\n ? [targetLocale]\n : fallbackWithLocaleChain(_context, _fallbackLocale.value, targetLocale);\n for (let i = 0; i < locales.length; i++) {\n const message = getLocaleMessage(locales[i]);\n let resolved = _context.messageResolver(message, key);\n // if null, resolve with object key path (for flat keys containing dots)\n if (resolved === null) {\n resolved = message[key];\n }\n if (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)) {\n return true;\n }\n }\n return false;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nconst VueDevToolsLabels = {\n 'vue-devtools-plugin-vue-i18n': 'Vue I18n DevTools',\n 'vue-i18n-resource-inspector': 'Vue I18n DevTools',\n 'vue-i18n-timeline': 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n 'vue-i18n-resource-inspector': 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n 'vue-i18n-timeline': 0xffcd19\n};\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: 'vue-devtools-plugin-vue-i18n',\n label: VueDevToolsLabels['vue-devtools-plugin-vue-i18n'],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.__VUE_I18N__ && instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: 'vue-i18n-resource-inspector',\n label: VueDevToolsLabels['vue-i18n-resource-inspector'],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders['vue-i18n-resource-inspector']\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: 'vue-i18n-timeline',\n label: VueDevToolsLabels['vue-i18n-timeline'],\n color: VueDevToolsTimelineColors['vue-i18n-timeline']\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$2(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: 'vue-i18n-timeline',\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === 'compile-error'\n ? 'error'\n : event === 'fallback' || event === 'missing'\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n *\n * @deprecated will be removed at vue-i18n v12\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$i18n) {\n const instance = getCurrentInstance();\n if (!instance) {\n return;\n }\n const _vueI18n = this.$i18n;\n instance.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n instance.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete instance.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, create());\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const renderChildren = () => {\n const keys = Object.keys(slots).filter(key => key[0] !== '_');\n const options = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const renderChildren = () => {\n const options = { part: true };\n let overrides = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n return children;\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\n/**\n * @deprecated will be removed at vue-i18n v12\n */\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n if ((process.env.NODE_ENV !== 'production')) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE));\n }\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser) {\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n if ((process.env.NODE_ENV !== 'production') && __legacyMode) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_LEGACY_MODE));\n }\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n // Isolated scope - independent composer not tied to component\n if (scope === 'isolated') {\n // Composition API mode only\n if (i18n.mode !== 'composition') {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n const i18nInternalIso = i18n;\n const composerOptions = assign({}, options);\n // Find parent composer via parent chain (or fall back to global)\n const parentComposer = getComposer(i18n, instance);\n composerOptions.__root = parentComposer || gl;\n const composer = createComposer(composerOptions);\n // ComposerExtend hook\n if (i18nInternalIso.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternalIso.__composerExtend(composer);\n }\n // Setup devtools emitter (no target.__VUE_I18N__ attachment -\n // multiple isolated composers per component are allowed)\n let emitter = null;\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n // Lifecycle cleanup via onScopeDispose\n const currentScope = getCurrentScope();\n if (currentScope) {\n onScopeDispose(() => {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dispose = composer[DisposeSymbol];\n if (dispose) {\n dispose();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete composer[DisposeSymbol];\n }\n });\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && scope === 'local') {\n warn(getWarnMessage(I18nWarnCodes.DUPLICATE_USE_I18N_CALLING));\n }\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode) {\n const scope = effectScope();\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n target.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nregisterMessageCompiler(compile);\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n","import { useCookie, useNuxtApp, useRequestEvent } from \"#imports\";\nimport { ref, watch } from \"vue\";\nimport { _useLocaleHead, _useSetI18nParams } from \"../routing/head.js\";\nimport { useComposableContext } from \"../utils.js\";\nimport { localePath, localeRoute, switchLocalePath } from \"../routing/routing.js\";\nexport * from \"vue-i18n\";\nexport * from \"./shared.js\";\nexport function useSetI18nParams(seo, nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return _useSetI18nParams(common, seo);\n}\nexport function useLocaleHead({ dir = true, lang = true, seo = true } = {}, nuxtApp = useNuxtApp()) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\n \"Strict SEO mode is enabled, `useLocaleHead` should not be used as localized head tags are handled internally by `@nuxtjs/i18n`\"\n );\n }\n const common = useComposableContext(nuxtApp);\n common.seoSettings = { dir, lang, seo };\n const head = _useLocaleHead(common, common.seoSettings);\n if (import.meta.client) {\n watch(head, () => common.metaState = head.value);\n }\n common.metaState = head.value;\n return head;\n}\nexport function useRouteBaseName(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route) => {\n if (route == null) {\n return;\n }\n return common.getRouteBaseName(route) || void 0;\n };\n}\nexport function useLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localePath(common, route, locale);\n}\nexport function useLocaleRoute(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localeRoute(common, route, locale);\n}\nexport function useSwitchLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (locale) => switchLocalePath(common, locale);\n}\nexport function useBrowserLocale(nuxtApp = useNuxtApp()) {\n return (nuxtApp || useNuxtApp()).$i18n.getBrowserLocale() || null;\n}\nexport function useCookieLocale(nuxtApp = useNuxtApp()) {\n const locale = ref(\"\");\n const nuxt = nuxtApp || useNuxtApp();\n const detect = nuxt.$config.public.i18n.detectBrowserLanguage;\n if (!detect || !detect.useCookie) {\n return locale;\n }\n const locales = useComposableContext(nuxt).getLocales();\n const code = useCookie(detect.cookieKey).value;\n if (code && locales.some((x) => x.code === code)) {\n locale.value = code;\n }\n return locale;\n}\nconst warnRuntimeUsage = (method) => console.warn(\n method + \"() is a compiler-hint helper that is only usable inside the script block of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.\"\n);\nexport function defineI18nRoute(route) {\n if (import.meta.dev) {\n warnRuntimeUsage(\"defineI18nRoute\");\n }\n}\nexport function useI18nPreloadKeys(keys) {\n if (import.meta.server) {\n const ctx = useRequestEvent()?.context?.nuxtI18n;\n if (ctx == null) {\n console.warn(\"useI18nPreloadKeys(): `nuxtI18n` server context is accessible.\");\n return;\n }\n const locale = useComposableContext(useNuxtApp()).getLocale();\n if (!locale) {\n console.warn(\"useI18nPreloadKeys(): Could not resolve locale during server-side render.\");\n return;\n }\n for (const k of keys) {\n ctx?.trackKey(k, locale);\n }\n }\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useSwitchLocalePath } from \"#i18n\";\nconst identifier = __SWITCH_LOCALE_PATH_LINK_IDENTIFIER__;\nconst switchLocalePathLinkWrapperExpr = new RegExp(\n [``, `.+?`, ``].join(\"\"),\n \"g\"\n);\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:switch-locale-path-ssr\",\n dependsOn: [\"i18n:plugin\"],\n setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const switchLocalePath = useSwitchLocalePath(nuxt);\n nuxt.hook(\"app:rendered\", (ctx) => {\n if (ctx.renderResult?.html == null) {\n return;\n }\n ctx.renderResult.html = ctx.renderResult.html.replaceAll(\n switchLocalePathLinkWrapperExpr,\n (match, p1) => {\n const encoded = encodeURI(switchLocalePath(p1 ?? \"\"));\n return match.replace(\n /href=\"([^\"]+)\"/,\n `href=\"${encoded || \"#\"}\" ${!encoded && __I18N_STRICT_SEO__ ? \"data-i18n-disabled\" : \"\"}`\n );\n }\n );\n });\n }\n});\n","import { useNuxtI18nContext, useResolvedLocale } from \"../context.js\";\nimport { detectLocale, loadAndSetLocale, navigate } from \"../utils.js\";\nimport { addRouteMiddleware, defineNuxtPlugin, defineNuxtRouteMiddleware, useNuxtApp, useRouter } from \"#imports\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:route-locale-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\"] : [\"i18n:plugin\", \"i18n:plugin:preload\"],\n async setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (__I18N_COMPACT_ROUTES__) {\n const router = useRouter();\n for (const route of router.getRoutes()) {\n if (route.meta?.__i18nCompact && route.meta.key == null) {\n route.meta.key = (r) => r.path;\n }\n }\n }\n const resolvedLocale = useResolvedLocale();\n await nuxt.runWithContext(\n () => loadAndSetLocale(\n nuxt,\n ctx.initial && resolvedLocale.value || detectLocale(nuxt, nuxt.$router.currentRoute.value)\n )\n );\n if (!__I18N_ROUTING__ || import.meta.server && __I18N_SERVER_REDIRECT__) {\n return;\n }\n addRouteMiddleware(\n \"locale-changing\",\n defineNuxtRouteMiddleware(async (to) => {\n const locale = await nuxt.runWithContext(() => loadAndSetLocale(nuxt, detectLocale(nuxt, to)));\n ctx.initial = false;\n return nuxt.runWithContext(() => navigate(nuxt, to, locale));\n }),\n { global: true }\n );\n }\n});\n","import { parse } from \"devalue\";\nimport { unref } from \"vue\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { localeCodes, localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"../shared/messages.js\";\nimport { useNuxtI18nContext } from \"../context.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:preload\",\n dependsOn: [\"i18n:plugin\"],\n async setup(_nuxt) {\n if (!__I18N_PRELOAD__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (import.meta.server) {\n for (const locale of localeCodes) {\n try {\n const messages = await $fetch(`${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`);\n for (const locale2 of Object.keys(messages)) {\n nuxt.$i18n.mergeLocaleMessage(locale2, messages[locale2]);\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n }\n ctx.preloaded = true;\n const serverI18n = nuxt.ssrContext?.event.context.nuxtI18n;\n if (serverI18n) {\n const msg = unref(ctx.vueI18n.global.messages);\n serverI18n.messages ??= {};\n for (const k in msg) {\n serverI18n.messages[k] = msg[k];\n }\n }\n }\n if (import.meta.client) {\n await mergePayloadMessages(ctx, ctx.vueI18n.global, nuxt);\n if (ctx.preloaded && __I18N_STRIP_UNUSED__) {\n const unsub = nuxt.$router.beforeResolve(async (to, from) => {\n if (to.path === from.path) {\n return;\n }\n await ctx.loadMessages(ctx.getLocale());\n unsub();\n });\n }\n }\n }\n});\nasync function mergePayloadMessages(ctx, i18n, nuxt = useNuxtApp()) {\n const content = document.querySelector(`[data-nuxt-i18n=\"${nuxt._id}\"]`)?.textContent;\n const preloadedMessages = content && parse(content);\n const preloadedKeys = Object.keys(preloadedMessages || {});\n if (preloadedKeys.length) {\n if (ctx.dynamicResourcesSSG) {\n const getKeyedLocaleMessages = async (locale) => {\n return { [locale]: await getLocaleMessagesMergedCached(locale, localeLoaders[locale]) };\n };\n try {\n const msg = await Promise.all(preloadedKeys.map(getKeyedLocaleMessages));\n for (const m of msg) {\n for (const k in m) {\n i18n.mergeLocaleMessage(k, m[k]);\n }\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n ctx.preloaded = true;\n } else {\n for (const locale of preloadedKeys) {\n const messages = preloadedMessages[locale];\n if (messages) {\n i18n.mergeLocaleMessage(locale, messages);\n }\n }\n ctx.preloaded = true;\n }\n }\n}\n","import { effectScope } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { getComposer } from \"../compatibility.js\";\nexport function extendI18n(i18n, { extendComposer, extendComposerInstance }) {\n const scope = effectScope();\n const installI18n = i18n.install.bind(i18n);\n i18n.install = (app, ...options) => {\n const pluginOptions = assign({}, options[0]);\n pluginOptions.__composerExtend = (c) => {\n extendComposerInstance(c, getComposer(i18n));\n return () => {\n };\n };\n if (i18n.mode === \"legacy\") {\n pluginOptions.__vueI18nExtend = (vueI18n) => {\n extendComposerInstance(vueI18n, getComposer(vueI18n));\n return () => {\n };\n };\n }\n Reflect.apply(installI18n, i18n, [app, pluginOptions]);\n const globalComposer = getComposer(i18n);\n scope.run(() => {\n extendComposer(globalComposer);\n if (i18n.mode === \"legacy\" && \"__composer\" in i18n.global) {\n extendComposerInstance(i18n.global, getComposer(i18n.global));\n }\n });\n if (i18n.mode === \"composition\" && app.config.globalProperties.$i18n != null) {\n extendComposerInstance(app.config.globalProperties.$i18n, globalComposer);\n }\n if (app.unmount) {\n const unmountApp = app.unmount.bind(app);\n app.unmount = () => {\n scope.stop();\n unmountApp();\n };\n }\n };\n}\n","import { loadVueI18nOptions } from \"./messages.js\";\nimport { localeCodes as _localeCodes, vueI18nConfigs } from \"#build/i18n-options.mjs\";\nexport const setupVueI18nOptions = async (defaultLocale) => {\n const options = await loadVueI18nOptions(vueI18nConfigs);\n options.locale = defaultLocale || options.locale || \"en-US\";\n options.defaultLocale = defaultLocale;\n options.fallbackLocale ??= false;\n options.messages ??= {};\n for (const locale of _localeCodes) {\n options.messages[locale] ??= {};\n }\n return options;\n};\n","import { computed, ref, watch } from \"vue\";\nimport { createI18n } from \"vue-i18n\";\nimport { defineNuxtPlugin, prerenderRoutes, useNuxtApp, useRequestEvent, useRequestURL } from \"#imports\";\nimport { localeCodes, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { loadAndSetLocale, navigate } from \"../utils.js\";\nimport { extendI18n } from \"../routing/i18n.js\";\nimport { getI18nTarget } from \"../compatibility.js\";\nimport { _useLocaleHead, localeHead } from \"../routing/head.js\";\nimport { useLocalePath, useLocaleRoute, useRouteBaseName, useSwitchLocalePath } from \"../composables/index.js\";\nimport { createLocaleConfigs, getDefaultLocaleForDomain, resolveSupportedLocale } from \"../shared/locales.js\";\nimport { setupVueI18nOptions } from \"../shared/vue-i18n.js\";\nimport { createNuxtI18nContext, useLocaleConfigs } from \"../context.js\";\nimport { useI18nDetection, useRuntimeI18n } from \"../shared/utils.js\";\nimport { useDetectors } from \"../shared/detection.js\";\nimport { setupMultiDomainLocales } from \"../routing/domain.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin\",\n parallel: __PARALLEL_PLUGIN__,\n async setup(_nuxt) {\n Object.defineProperty(_nuxt.versions, \"nuxtI18n\", { get: () => __NUXT_I18N_VERSION__ });\n const nuxt = useNuxtApp(_nuxt._id);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const preloadedOptions = nuxt.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions;\n const _defaultLocale = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host) || runtimeI18n.defaultLocale || \"\";\n const optionsI18n = preloadedOptions || await setupVueI18nOptions(_defaultLocale);\n const localeConfigs = useLocaleConfigs();\n if (import.meta.server) {\n localeConfigs.value = useRequestEvent().context.nuxtI18n?.localeConfigs || {};\n } else {\n localeConfigs.value ??= createLocaleConfigs(optionsI18n.fallbackLocale);\n }\n if (__MULTI_DOMAIN_LOCALES__) {\n setupMultiDomainLocales(optionsI18n.defaultLocale);\n }\n prerenderRoutes(localeCodes.map((locale) => `${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`));\n const i18n = createI18n(optionsI18n);\n const detectors = useDetectors(useRequestEvent(nuxt), useI18nDetection(nuxt), nuxt);\n const ctx = createNuxtI18nContext(nuxt, i18n, optionsI18n.defaultLocale);\n nuxt._nuxtI18n = ctx;\n if (__I18N_STRIP_UNUSED__ && import.meta.server) {\n wrapTranslationFunctions(ctx);\n }\n extendI18n(i18n, {\n extendComposer(composer) {\n composer.locales = computed(() => runtimeI18n.locales);\n composer.localeCodes = computed(() => localeCodes);\n const _baseUrl = ref(ctx.getBaseUrl());\n composer.baseUrl = computed(() => _baseUrl.value);\n if (import.meta.client) {\n watch(composer.locale, () => _baseUrl.value = ctx.getBaseUrl());\n }\n composer.strategy = __I18N_STRATEGY__;\n composer.localeProperties = computed(\n () => normalizedLocales.find((l) => l.code === composer.locale.value) || { code: composer.locale.value }\n );\n composer.setLocale = async (locale) => {\n await loadAndSetLocale(nuxt, locale);\n await nuxt.runWithContext(() => navigate(nuxt, nuxt.$router.currentRoute.value, locale));\n };\n composer.loadLocaleMessages = ctx.loadMessages;\n composer.differentDomains = __DIFFERENT_DOMAINS__;\n composer.defaultLocale = optionsI18n.defaultLocale;\n composer.getBrowserLocale = () => import.meta.client ? resolveSupportedLocale(detectors.navigator()) : resolveSupportedLocale(detectors.header());\n composer.getLocaleCookie = () => resolveSupportedLocale(detectors.cookie());\n composer.setLocaleCookie = ctx.setCookieLocale;\n composer.finalizePendingLocaleChange = async () => {\n if (!i18n.__pendingLocale) {\n return;\n }\n await i18n.__resolvePendingLocalePromise?.();\n };\n composer.waitForPendingLocaleChange = async () => {\n await i18n?.__pendingLocalePromise;\n };\n },\n extendComposerInstance(instance, c) {\n const props = [\n [\"locales\", () => c.locales],\n [\"localeCodes\", () => c.localeCodes],\n [\"baseUrl\", () => c.baseUrl],\n [\"strategy\", () => __I18N_STRATEGY__],\n [\"localeProperties\", () => c.localeProperties],\n [\"setLocale\", () => (locale) => Reflect.apply(c.setLocale, c, [locale])],\n [\"loadLocaleMessages\", () => (locale) => Reflect.apply(c.loadLocaleMessages, c, [locale])],\n [\"differentDomains\", () => __DIFFERENT_DOMAINS__],\n [\"defaultLocale\", () => c.defaultLocale],\n [\"getBrowserLocale\", () => () => Reflect.apply(c.getBrowserLocale, c, [])],\n [\"getLocaleCookie\", () => () => Reflect.apply(c.getLocaleCookie, c, [])],\n [\"setLocaleCookie\", () => (locale) => Reflect.apply(c.setLocaleCookie, c, [locale])],\n [\"finalizePendingLocaleChange\", () => () => Reflect.apply(c.finalizePendingLocaleChange, c, [])],\n [\"waitForPendingLocaleChange\", () => () => Reflect.apply(c.waitForPendingLocaleChange, c, [])]\n ];\n for (const [key, get] of props) {\n Object.defineProperty(instance, key, { get });\n }\n }\n });\n nuxt.vueApp.use(i18n);\n Object.defineProperty(nuxt, \"$i18n\", { get: () => getI18nTarget(i18n) });\n nuxt.provide(\"localeHead\", (options) => localeHead(nuxt._nuxtI18n.composableCtx, options));\n nuxt.provide(\"localePath\", useLocalePath(nuxt));\n nuxt.provide(\"localeRoute\", useLocaleRoute(nuxt));\n nuxt.provide(\"routeBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"getRouteBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"switchLocalePath\", useSwitchLocalePath(nuxt));\n if (__I18N_STRICT_SEO__) {\n nuxt.hook(import.meta.server ? \"app:rendered\" : \"app:mounted\", () => {\n _useLocaleHead(nuxt._nuxtI18n.composableCtx, { dir: true, lang: true, seo: true });\n });\n }\n }\n});\nfunction wrapTranslationFunctions(ctx, serverI18n = useRequestEvent()?.context?.nuxtI18n) {\n if (!serverI18n) {\n return;\n }\n const i18n = ctx.vueI18n.global;\n const originalT = i18n.t.bind(i18n);\n i18n.t = (key, listOrNamed, opts) => {\n const locale = typeof opts === \"object\" && opts?.locale || ctx.getLocale();\n serverI18n?.trackKey(key, locale);\n return originalT(key, listOrNamed, opts);\n };\n const originalTe = i18n.te.bind(i18n);\n i18n.te = (key, locale) => {\n serverI18n?.trackKey(key, locale || ctx.getLocale());\n return originalTe(key, locale);\n };\n const originalTm = i18n.tm.bind(i18n);\n i18n.tm = (key) => {\n serverI18n?.trackKey(key, ctx.getLocale());\n return originalTm(key);\n };\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useNuxtI18nContext } from \"../context.js\";\nimport { detectLocale } from \"../utils.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:ssg-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\"] : [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\", \"i18n:plugin:preload\"],\n enforce: \"post\",\n setup(_nuxt) {\n if (!__IS_SSG__ || !__I18N_ROUTING__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n nuxt.hook(\"app:mounted\", async () => {\n const detected = detectLocale(nuxt, nuxt.$router.currentRoute.value);\n await nuxt.runWithContext(() => nuxt.$i18n.setLocale(detected));\n ctx.initial = false;\n });\n }\n});\n","import payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M from \"/app/node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js\";\nimport unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU from \"/app/node_modules/nuxt/dist/head/runtime/plugins/unhead.js\";\nimport router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw from \"/app/node_modules/nuxt/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms from \"/app/node_modules/nuxt/dist/app/plugins/revive-payload.server.js\";\nimport plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs from \"/app/node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js\";\nimport components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4 from \"/app/.nuxt/components.plugin.mjs\";\nimport switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js\";\nimport route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js\";\nimport preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24 from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js\";\nimport i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js\";\nimport ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js\";\nexport default [\n payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M,\n unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,\n router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw,\n revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,\n plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs,\n components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4,\n switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw,\n route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U,\n preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24,\n i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM,\n ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs\n]","import { defineAsyncComponent } from 'vue'\nexport default {\n blank: defineAsyncComponent(() => import(\"/app/layouts/blank.vue\").then(m => m.default || m)),\n default: defineAsyncComponent(() => import(\"/app/layouts/default.vue\").then(m => m.default || m))\n}","import { Suspense, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, shallowReactive, shallowRef, unref } from \"vue\";\nimport { useRoute, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"./utils.js\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"./injections.js\";\nimport { useRoute as useVueRouterRoute } from \"#build/pages\";\nimport layouts from \"#build/layouts\";\nimport { appLayoutTransition as defaultLayoutTransition } from \"#build/nuxt.config.mjs\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nconst LayoutLoader = defineComponent({\n name: \"LayoutLoader\",\n inheritAttrs: false,\n props: {\n name: String,\n layoutProps: Object\n },\n setup(props, context) {\n return () => h(layouts[props.name], props.layoutProps, context.slots);\n }\n});\nconst nuxtLayoutProps = {\n name: {\n type: [String, Boolean, Object],\n default: null\n },\n fallback: {\n type: [String, Object],\n default: null\n }\n};\nexport default defineComponent({\n name: \"NuxtLayout\",\n inheritAttrs: false,\n props: nuxtLayoutProps,\n setup(props, context) {\n const nuxtApp = useNuxtApp();\n const injectedRoute = inject(PageRouteSymbol);\n const shouldUseEagerRoute = !injectedRoute || injectedRoute === useRoute();\n const route = shouldUseEagerRoute ? useVueRouterRoute() : injectedRoute;\n const layout = computed(() => {\n let layout2 = unref(props.name) ?? route?.meta.layout ?? routeRulesMatcher(route?.path).appLayout ?? \"default\";\n if (layout2 && !(layout2 in layouts)) {\n if (import.meta.dev && layout2 !== \"default\") {\n console.warn(`[nuxt] Invalid layout \\`${layout2}\\` selected.`);\n }\n if (props.fallback) {\n layout2 = unref(props.fallback);\n }\n }\n return layout2;\n });\n const layoutRef = shallowRef();\n context.expose({ layoutRef });\n const done = nuxtApp.deferHydration();\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtLayoutUsed = true;\n }\n let lastLayout;\n return () => {\n const hasLayout = !!layout.value && layout.value in layouts;\n const hasTransition = hasLayout && !!(route?.meta.layoutTransition ?? defaultLayoutTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n route?.meta.layoutTransition,\n defaultLayoutTransition,\n {\n onBeforeLeave() {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n },\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n }\n }\n ]);\n const previouslyRenderedLayout = lastLayout;\n lastLayout = layout.value;\n return _wrapInTransition(transitionProps, {\n default: () => h(\n Suspense,\n {\n suspensible: true,\n onResolve: async () => {\n await nextTick(done);\n }\n },\n {\n default: () => h(\n LayoutProvider,\n {\n layoutProps: mergeProps(context.attrs, route.meta.layoutProps ?? {}, { ref: layoutRef }),\n key: layout.value || void 0,\n name: layout.value,\n shouldProvide: !props.name,\n isRenderingNewLayout: (name) => {\n return name !== previouslyRenderedLayout && name === layout.value;\n },\n hasTransition\n },\n context.slots\n )\n }\n )\n }).default();\n };\n }\n});\nconst LayoutProvider = defineComponent({\n name: \"NuxtLayoutProvider\",\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Boolean]\n },\n layoutProps: {\n type: Object\n },\n hasTransition: {\n type: Boolean\n },\n shouldProvide: {\n type: Boolean\n },\n isRenderingNewLayout: {\n type: Function,\n required: true\n }\n },\n setup(props, context) {\n const name = props.name;\n if (props.shouldProvide) {\n provide(LayoutMetaSymbol, {\n // When name=false, always return true so NuxtPage doesn't skip rendering\n isCurrent: (route) => name === false || name === (route.meta.layout ?? routeRulesMatcher(route.path).appLayout ?? \"default\")\n });\n }\n const injectedRoute = inject(PageRouteSymbol);\n const isNotWithinNuxtPage = injectedRoute && injectedRoute === useRoute();\n if (isNotWithinNuxtPage) {\n const vueRouterRoute = useVueRouterRoute();\n const reactiveChildRoute = {};\n for (const _key in vueRouterRoute) {\n const key = _key;\n Object.defineProperty(reactiveChildRoute, key, {\n enumerable: true,\n get: () => {\n return props.isRenderingNewLayout(props.name) ? vueRouterRoute[key] : injectedRoute[key];\n }\n });\n }\n provide(PageRouteSymbol, shallowReactive(reactiveChildRoute));\n }\n let vnode;\n if (import.meta.dev && import.meta.client) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n if (name) {\n console.warn(`[nuxt] \\`${name}\\` layout does not have a single root node and will cause errors when navigating between routes.`);\n } else {\n console.warn(\"[nuxt] `` needs to be passed a single root node in its default slot.\");\n }\n }\n });\n });\n }\n return () => {\n if (!name || typeof name === \"string\" && !(name in layouts)) {\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = context.slots.default?.();\n return vnode;\n }\n return context.slots.default?.();\n }\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n return vnode;\n }\n return h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n };\n }\n});\n","import { defineComponent, h, nextTick, onMounted, provide, shallowReactive } from \"vue\";\nimport { PageRouteSymbol } from \"./injections.js\";\nexport const defineRouteProvider = (name = \"RouteProvider\") => defineComponent({\n name,\n props: {\n route: {\n type: Object,\n required: true\n },\n vnode: Object,\n vnodeRef: Object,\n renderKey: String,\n trackRootNodes: Boolean\n },\n setup(props) {\n const previousKey = props.renderKey;\n const previousRoute = props.route;\n const route = {};\n for (const key in props.route) {\n Object.defineProperty(route, key, {\n get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],\n enumerable: true\n });\n }\n provide(PageRouteSymbol, shallowReactive(route));\n let vnode;\n if (import.meta.dev && import.meta.client && props.trackRootNodes) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n const filename = vnode?.type?.__file;\n console.warn(`[nuxt] \\`${filename}\\` does not have a single root node and will cause errors when navigating between routes.`);\n }\n });\n });\n }\n return () => {\n if (!props.vnode) {\n return props.vnode;\n }\n if (import.meta.dev && import.meta.client) {\n vnode = h(props.vnode, { ref: props.vnodeRef });\n return vnode;\n }\n return h(props.vnode, { ref: props.vnodeRef });\n };\n }\n});\nexport const RouteProvider = defineRouteProvider();\n","import { Fragment, Suspense, defineComponent, h, inject, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { RouterView } from \"vue-router\";\nimport { generateRouteKey, wrapInKeepAlive } from \"./utils.js\";\nimport { RouteProvider, defineRouteProvider } from \"#app/components/route-provider\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"#app/components/utils\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\nimport { appKeepalive as defaultKeepaliveConfig, appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nconst _routeProviders = import.meta.dev ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new WeakMap();\nexport default defineComponent({\n name: \"NuxtPage\",\n inheritAttrs: false,\n props: {\n name: {\n type: String\n },\n transition: {\n type: [Boolean, Object],\n default: void 0\n },\n keepalive: {\n type: [Boolean, Object],\n default: void 0\n },\n route: {\n type: Object\n },\n pageKey: {\n type: [Function, String],\n default: null\n }\n },\n setup(props, { attrs, slots, expose }) {\n const nuxtApp = useNuxtApp();\n const pageRef = ref();\n const forkRoute = inject(PageRouteSymbol, null);\n let previousPageKey;\n expose({ pageRef });\n const _layoutMeta = inject(LayoutMetaSymbol, null);\n let vnode;\n const done = nuxtApp.deferHydration();\n let isSuspensePending = false;\n let hasResolvedOnce = false;\n let suspenseKey = 0;\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.client && props.pageKey) {\n watch(() => props.pageKey, (next, prev) => {\n if (next !== prev) {\n nuxtApp.callHook(\"page:loading:start\");\n }\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtPageUsed = true;\n }\n let pageLoadingEndHookAlreadyCalled = false;\n if (import.meta.client) {\n const unsub = useRouter().beforeResolve(() => {\n pageLoadingEndHookAlreadyCalled = false;\n });\n onBeforeUnmount(() => {\n unsub();\n done();\n });\n }\n return () => {\n return h(RouterView, { name: props.name, route: props.route, ...attrs }, {\n default: import.meta.server ? (routeProps) => {\n return h(Suspense, { suspensible: true }, {\n default() {\n return h(RouteProvider, {\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n vnodeRef: pageRef\n });\n }\n });\n } : (routeProps) => {\n const isRenderingNewRouteInOldFork = haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n const hasSameChildren = forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n if (!routeProps.Component) {\n if (vnode && !hasSameChildren && !isStaleVNode(vnode)) {\n return vnode;\n }\n done();\n return;\n }\n if (vnode && _layoutMeta && !isStaleVNode(vnode) && !_layoutMeta.isCurrent(routeProps.route)) {\n return vnode;\n }\n if (isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n if ((hasSameChildren || vnode) && !isStaleVNode(vnode)) {\n return vnode;\n }\n return null;\n }\n const key = generateRouteKey(routeProps, props.pageKey);\n const willRenderAnotherChild = hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component);\n if (!nuxtApp.isHydrating && previousPageKey === key && !willRenderAnotherChild) {\n nextTick(() => {\n if (!pageLoadingEndHookAlreadyCalled) {\n pageLoadingEndHookAlreadyCalled = true;\n nuxtApp.callHook(\"page:loading:end\");\n }\n });\n }\n if (isSuspensePending && previousPageKey !== key && hasResolvedOnce) {\n suspenseKey++;\n }\n previousPageKey = key;\n const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? defaultPageTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n props.transition,\n routeProps.route.meta.pageTransition,\n defaultPageTransition,\n {\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n nuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n }\n }\n ]);\n const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? defaultKeepaliveConfig;\n vnode = _wrapInTransition(\n hasTransition && transitionProps,\n wrapInKeepAlive(\n keepaliveConfig,\n h(Suspense, {\n key: suspenseKey,\n suspensible: true,\n onPending: () => {\n isSuspensePending = true;\n if (hasTransition && !nuxtApp[\"~transitionPromise\"]) {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n }\n nuxtApp.callHook(\"page:start\", routeProps.Component);\n },\n onResolve: async () => {\n isSuspensePending = false;\n hasResolvedOnce = true;\n try {\n await nextTick();\n nuxtApp._route.sync?.();\n await nuxtApp.callHook(\"page:finish\", routeProps.Component);\n if (!pageLoadingEndHookAlreadyCalled && !willRenderAnotherChild) {\n pageLoadingEndHookAlreadyCalled = true;\n await nuxtApp.callHook(\"page:loading:end\");\n }\n } finally {\n done();\n }\n }\n }, {\n default: () => {\n const routeProviderProps = {\n key: key || void 0,\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n renderKey: key || void 0,\n trackRootNodes: hasTransition,\n vnodeRef: pageRef\n };\n if (!keepaliveConfig) {\n return h(RouteProvider, routeProviderProps);\n }\n const routerComponentType = routeProps.Component.type;\n const routeProviderKey = import.meta.dev ? routerComponentType.name || routerComponentType.__name : routerComponentType;\n let PageRouteProvider = _routeProviders.get(routeProviderKey);\n if (!PageRouteProvider) {\n PageRouteProvider = defineRouteProvider(routerComponentType.name || routerComponentType.__name);\n _routeProviders.set(routeProviderKey, PageRouteProvider);\n }\n return h(PageRouteProvider, routeProviderProps);\n }\n })\n )\n ).default();\n return vnode;\n }\n });\n };\n }\n});\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n if (index === -1) {\n return false;\n }\n const newParents = newRoute.matched.slice(0, index).filter((m) => m.components?.default);\n if (!newParents.length) {\n return false;\n }\n const forkParents = fork.matched.filter((m) => m.components?.default);\n return newParents.some((c, i) => c.components?.default !== forkParents[i]?.components?.default) || Component && generateRouteKey({ route: newRoute, Component }) !== generateRouteKey({ route: fork, Component });\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n return index < newRoute.matched.length - 1;\n}\nfunction normalizeSlot(slot, data) {\n const slotContent = slot(data);\n return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);\n}\nfunction isStaleVNode(vnode) {\n return !!vnode && (!!vnode.suspense?.isUnmounted || !!vnode.component?.isUnmounted);\n}\n","\n\n\n\n\n","\n\n\n","\n\n\n","import { createApp, createSSRApp, nextTick } from \"vue\";\nimport \"#build/fetch.mjs\";\nimport \"#build/global-polyfills.mjs\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\nimport { appId, appSpaLoaderAttrs, multiApp, spaLoadingTemplateOutside, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nlet entry;\nif (import.meta.server) {\n entry = async function createNuxtAppServer(ssrContext) {\n const vueApp = createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp, ssrContext });\n try {\n await applyPlugins(nuxt, plugins);\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n } catch (error) {\n await nuxt.hooks.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n if (ssrContext && (ssrContext[\"~renderResponse\"] || ssrContext._renderResponse)) {\n throw new Error(\"skipping render\");\n }\n return vueApp;\n };\n}\nif (import.meta.client) {\n if (import.meta.dev && import.meta.webpackHot) {\n import.meta.webpackHot.accept();\n }\n let vueAppPromise;\n entry = async function initApp() {\n if (vueAppPromise) {\n return vueAppPromise;\n }\n const isSSR = Boolean(\n (multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\"\n );\n const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp });\n async function handleVueError(error) {\n await nuxt.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n ;\n handleVueError.__nuxt_default = true;\n vueApp.config.errorHandler = handleVueError;\n nuxt.hook(\"app:suspense:resolve\", () => {\n if (vueApp.config.errorHandler === handleVueError) {\n vueApp.config.errorHandler = void 0;\n }\n });\n if (spaLoadingTemplateOutside && !isSSR && appSpaLoaderAttrs.id) {\n nuxt.hook(\"app:suspense:resolve\", () => {\n document.getElementById(appSpaLoaderAttrs.id)?.remove();\n });\n }\n try {\n await applyPlugins(nuxt, plugins);\n } catch (err) {\n handleVueError(err);\n }\n try {\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n await nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n vueApp.mount(vueAppRootContainer);\n await nuxt.hooks.callHook(\"app:mounted\", vueApp);\n await nextTick();\n } catch (err) {\n handleVueError(err);\n }\n return vueApp;\n };\n vueAppPromise = entry().catch((error) => {\n console.error(\"Error while mounting app:\", error);\n throw error;\n });\n}\nexport default ((ssrContext) => entry(ssrContext));\n"],"names":["$fetch","plugin","provide","plugins","getCurrentInstance","toArray","createH3Error","headCore","routeRulesMatcher","loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta","__executeAsync","entry","parse","format","identifier","separator","src","des","localeHead","localePath","_localeHead","vueI18nConfigs","getLocaleMessages","cache","getComposer","define_I18N_LOCALE_HASHES_default","errorMessages","index","context","isLiteral","baseCompile","warnMessages","getWarnMessage","VERSION","type","resolveValue","msg","source","message","locale","locales","_context","messages","global","options","composer","switchLocalePath","_localeCodes","payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs","useVueRouterRoute","defaultLayoutTransition","_push","_parent","_createVNode","_unref","_ssrRenderComponent","ErrorComponent","RootComponent"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,10,11,12,13,14,15,17,18,20,21,24,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,68,69,70]} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/server.mjs.map.json b/frontend_admin/.nuxt/dist/server/server.mjs.map.json index 0afcab8..fe41f6f 100644 --- a/frontend_admin/.nuxt/dist/server/server.mjs.map.json +++ b/frontend_admin/.nuxt/dist/server/server.mjs.map.json @@ -1 +1 @@ -{"file":"server.mjs","mappings":"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","names":["$fetch","plugin","provide","plugins","getCurrentInstance","toArray","createH3Error","headCore","routeRulesMatcher","__executeAsync","entry","parse","format","identifier","separator","src","des","localeHead","localePath","_localeHead","vueI18nConfigs","getLocaleMessages","cache","getComposer","define_I18N_LOCALE_HASHES_default","errorMessages","index","context","isLiteral","baseCompile","warnMessages","getWarnMessage","VERSION","type","resolveValue","msg","source","message","locale","locales","_context","messages","global","options","composer","switchLocalePath","_localeCodes","payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs","useVueRouterRoute","defaultLayoutTransition","_push","_parent","_createVNode","_unref","_ssrRenderComponent","ErrorComponent","RootComponent"],"sources":["../../../virtual:nuxt:%2Fapp%2F.nuxt%2Ffetch.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fglobal-polyfills.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fnuxt.config.mjs","../../../node_modules/nuxt/dist/app/nuxt.js","../../../node_modules/nuxt/dist/app/components/injections.js","../../../node_modules/nuxt/dist/app/utils.js","../../../node_modules/nuxt/dist/app/composables/router.js","../../../node_modules/nuxt/dist/app/composables/error.js","../../../node_modules/nuxt/dist/head/runtime/composables/v3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froute-rules.mjs","../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../node_modules/nuxt/dist/app/composables/payload.js","../../../node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js","../../../node_modules/nuxt/dist/head/runtime/island-head.js","../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froutes.mjs","../../../node_modules/nuxt/dist/app/components/utils.js","../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Frouter.options.mjs","../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../node_modules/nuxt/dist/app/middleware/route-rules.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fmiddleware.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.islands.mjs","../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../node_modules/nuxt/dist/app/components/server-placeholder.js","../../../node_modules/nuxt/dist/app/components/client-only.js","../../../node_modules/nuxt/dist/app/composables/state.js","../../../node_modules/nuxt/dist/app/composables/ssr.js","../../../node_modules/nuxt/dist/app/composables/cookie.js","../../../node_modules/nuxt/dist/app/composables/url.js","../../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.plugin.mjs","../../../node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/head.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/head.js","../../../node_modules/@intlify/utils/dist/shared/utils.9f8159f5.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fi18n-options.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/messages.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/compatibility.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/utils.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/domain.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/locales.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/context.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/browser.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/detection.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/utils.js","../../../node_modules/@intlify/message-compiler/dist/message-compiler.mjs","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/composables/index.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/vue-i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fplugins.server.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Flayouts.mjs","../../../node_modules/nuxt/dist/app/components/nuxt-layout.js","../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../app.vue","../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":["import { $fetch } from 'ofetch'\nimport { baseURL } from '#internal/nuxt/paths'\nif (!globalThis.$fetch) {\n globalThis.$fetch = $fetch.create({\n baseURL: baseURL()\n })\n}","\nif (!(\"global\" in globalThis)) {\n globalThis.global = globalThis;\n}","export const appBaseURL = \"/\"\n\nexport const appBuildAssetsDir = \"/_nuxt/\"\n\nexport const appCdnURL = \"\"\n\nexport const appHead = {\"meta\":[{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"charset\":\"utf-8\"}],\"link\":[],\"style\":[],\"script\":[],\"noscript\":[]}\n\nexport const appLayoutTransition = false\n\nexport const appPageTransition = false\n\nexport const appViewTransition = false\n\nexport const appKeepalive = false\n\nexport const appRootId = \"__nuxt\"\n\nexport const appRootTag = \"div\"\n\nexport const appRootAttrs = {\"id\":\"__nuxt\"}\n\nexport const appTeleportTag = \"div\"\n\nexport const appTeleportId = \"teleports\"\n\nexport const appTeleportAttrs = {\"id\":\"teleports\"}\n\nexport const appSpaLoaderTag = \"div\"\n\nexport const appSpaLoaderAttrs = {\"id\":\"__nuxt-loader\"}\n\nexport const renderJsonPayloads = true\n\nexport const componentIslands = false\n\nexport const payloadExtraction = false\n\nexport const cookieStore = true\n\nexport const appManifest = true\n\nexport const remoteComponentIslands = false\n\nexport const selectiveClient = false\n\nexport const devPagesDir = null\n\nexport const devRootDir = null\n\nexport const devLogs = false\n\nexport const nuxtLinkDefaults = {\"componentName\":\"NuxtLink\",\"prefetch\":true,\"prefetchOn\":{\"visibility\":true}}\n\nexport const asyncDataDefaults = {\"value\":null,\"errorValue\":null,\"deep\":true}\n\nexport const resetAsyncDataToUndefined = true\n\nexport const nuxtDefaultErrorValue = null\n\nexport const fetchDefaults = {}\n\nexport const vueAppRootContainer = '#__nuxt'\n\nexport const viewTransition = false\n\nexport const appId = \"nuxt-app\"\n\nexport const outdatedBuildInterval = 3600000\n\nexport const multiApp = false\n\nexport const chunkErrorEvent = \"vite:preloadError\"\n\nexport const crawlLinks = false\n\nexport const spaLoadingTemplateOutside = false\n\nexport const purgeCachedData = true\n\nexport const granularCachedData = false\n\nexport const pendingWhenIdle = true\n\nexport const alwaysRunFetchOnKeyChange = true","import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive, shallowReactive } from \"vue\";\nimport { createHooks } from \"hookable\";\nimport { getContext } from \"unctx\";\nimport { appId, chunkErrorEvent, multiApp } from \"#build/nuxt.config.mjs\";\nexport function getNuxtAppCtx(id = appId || \"nuxt-app\") {\n return getContext(id, {\n asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server\n });\n}\nexport const NuxtPluginIndicator = \"__nuxt_plugin\";\nexport function createNuxtApp(options) {\n let hydratingCount = 0;\n const nuxtApp = {\n _id: options.id || appId || \"nuxt-app\",\n _scope: effectScope(),\n provide: void 0,\n globalName: \"nuxt\",\n versions: {\n get nuxt() {\n return __NUXT_VERSION__;\n },\n get vue() {\n return nuxtApp.vueApp.version;\n }\n },\n payload: shallowReactive({\n ...options.ssrContext?.payload || {},\n data: shallowReactive({}),\n state: reactive({}),\n once: /* @__PURE__ */ new Set(),\n _errors: shallowReactive({})\n }),\n static: {\n data: {}\n },\n runWithContext(fn) {\n if (nuxtApp._scope.active && !getCurrentScope()) {\n return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));\n }\n return callWithNuxt(nuxtApp, fn);\n },\n isHydrating: import.meta.client,\n deferHydration() {\n if (!nuxtApp.isHydrating) {\n return () => {\n };\n }\n hydratingCount++;\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n hydratingCount--;\n if (hydratingCount === 0) {\n nuxtApp.isHydrating = false;\n return nuxtApp.callHook(\"app:suspense:resolve\");\n }\n };\n },\n _asyncDataPromises: {},\n _asyncData: shallowReactive({}),\n _payloadRevivers: {},\n ...options\n };\n if (import.meta.server) {\n nuxtApp.payload.serverRendered = true;\n }\n if (import.meta.server && nuxtApp.ssrContext) {\n nuxtApp.payload.path = nuxtApp.ssrContext.url;\n nuxtApp.ssrContext.nuxt = nuxtApp;\n nuxtApp.ssrContext.payload = nuxtApp.payload;\n nuxtApp.ssrContext.config = {\n public: nuxtApp.ssrContext.runtimeConfig.public,\n app: nuxtApp.ssrContext.runtimeConfig.app\n };\n }\n if (import.meta.client) {\n const __NUXT__ = multiApp ? window.__NUXT__?.[nuxtApp._id] : window.__NUXT__;\n if (__NUXT__) {\n for (const key in __NUXT__) {\n switch (key) {\n case \"data\":\n case \"state\":\n case \"_errors\":\n Object.assign(nuxtApp.payload[key], __NUXT__[key]);\n break;\n default:\n nuxtApp.payload[key] = __NUXT__[key];\n }\n }\n }\n }\n nuxtApp.hooks = createHooks();\n nuxtApp.hook = nuxtApp.hooks.hook;\n if (import.meta.server) {\n const contextCaller = async function(hooks, args) {\n for (const hook of hooks) {\n await nuxtApp.runWithContext(() => hook(...args));\n }\n };\n nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);\n }\n nuxtApp.callHook = nuxtApp.hooks.callHook;\n nuxtApp.provide = (name, value) => {\n const $name = \"$\" + name;\n defineGetter(nuxtApp, $name, value);\n defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);\n };\n defineGetter(nuxtApp.vueApp, \"$nuxt\", nuxtApp);\n defineGetter(nuxtApp.vueApp.config.globalProperties, \"$nuxt\", nuxtApp);\n if (import.meta.client) {\n if (chunkErrorEvent) {\n window.addEventListener(chunkErrorEvent, (event) => {\n nuxtApp.callHook(\"app:chunkError\", { error: event.payload });\n if (event.payload?.message?.includes(\"Unable to preload CSS\")) {\n event.preventDefault();\n }\n });\n }\n window.useNuxtApp ||= useNuxtApp;\n const unreg = nuxtApp.hook(\"app:error\", (...args) => {\n console.error(\"[nuxt] error caught during app initialization\", ...args);\n });\n nuxtApp.hook(\"app:mounted\", unreg);\n }\n const runtimeConfig = import.meta.server ? options.ssrContext.runtimeConfig : nuxtApp.payload.config;\n nuxtApp.provide(\"config\", import.meta.client && import.meta.dev ? wrappedConfig(runtimeConfig) : runtimeConfig);\n return nuxtApp;\n}\nexport function registerPluginHooks(nuxtApp, plugin) {\n if (plugin.hooks) {\n nuxtApp.hooks.addHooks(plugin.hooks);\n }\n}\nexport async function applyPlugin(nuxtApp, plugin) {\n if (typeof plugin === \"function\") {\n const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};\n if (provide && typeof provide === \"object\") {\n for (const key in provide) {\n nuxtApp.provide(key, provide[key]);\n }\n }\n }\n}\nexport async function applyPlugins(nuxtApp, plugins) {\n const resolvedPlugins = /* @__PURE__ */ new Set();\n const unresolvedPlugins = [];\n const parallels = [];\n let error = void 0;\n let promiseDepth = 0;\n async function executePlugin(plugin) {\n const unresolvedPluginsForThisPlugin = plugin.dependsOn?.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.has(name)) ?? [];\n if (unresolvedPluginsForThisPlugin.length > 0) {\n unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);\n } else {\n const promise = applyPlugin(nuxtApp, plugin).then(async () => {\n if (plugin._name) {\n resolvedPlugins.add(plugin._name);\n await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {\n if (dependsOn.has(plugin._name)) {\n dependsOn.delete(plugin._name);\n if (dependsOn.size === 0) {\n promiseDepth++;\n await executePlugin(unexecutedPlugin);\n }\n }\n }));\n }\n }).catch((e) => {\n if (!plugin.parallel && !nuxtApp.payload.error) {\n throw e;\n }\n error ||= e;\n });\n if (plugin.parallel) {\n parallels.push(promise);\n } else {\n await promise;\n }\n }\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n registerPluginHooks(nuxtApp, plugin);\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n await executePlugin(plugin);\n }\n await Promise.all(parallels);\n if (promiseDepth) {\n for (let i = 0; i < promiseDepth; i++) {\n await Promise.all(parallels);\n }\n }\n if (error) {\n throw nuxtApp.payload.error || error;\n }\n}\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtPlugin(plugin) {\n if (typeof plugin === \"function\") {\n return plugin;\n }\n const _name = plugin._name || plugin.name;\n delete plugin.name;\n return Object.assign(plugin.setup || (() => {\n }), plugin, { [NuxtPluginIndicator]: true, _name });\n}\nexport const definePayloadPlugin = defineNuxtPlugin;\nexport function isNuxtPlugin(plugin) {\n return typeof plugin === \"function\" && NuxtPluginIndicator in plugin;\n}\nexport function callWithNuxt(nuxt, setup, args) {\n const fn = () => args ? setup(...args) : setup();\n const nuxtAppCtx = getNuxtAppCtx(nuxt._id);\n if (import.meta.server) {\n return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));\n } else {\n nuxtAppCtx.set(nuxt);\n return nuxt.vueApp.runWithContext(fn);\n }\n}\nexport function tryUseNuxtApp(id) {\n let nuxtAppInstance;\n if (hasInjectionContext()) {\n nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;\n }\n nuxtAppInstance ||= getNuxtAppCtx(id).tryUse();\n return nuxtAppInstance || null;\n}\nexport function useNuxtApp(id) {\n const nuxtAppInstance = tryUseNuxtApp(id);\n if (!nuxtAppInstance) {\n if (import.meta.dev) {\n throw new Error(\"[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables`.\");\n } else {\n throw new Error(\"[nuxt] instance unavailable\");\n }\n }\n return nuxtAppInstance;\n}\n// @__NO_SIDE_EFFECTS__\nexport function useRuntimeConfig(_event) {\n return useNuxtApp().$config;\n}\nfunction defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function defineAppConfig(config) {\n return config;\n}\nconst loggedKeys = /* @__PURE__ */ new Set();\nfunction wrappedConfig(runtimeConfig) {\n if (!import.meta.dev || import.meta.server) {\n return runtimeConfig;\n }\n const keys = [];\n for (const key in runtimeConfig) {\n keys.push(`\\`${key}\\``);\n }\n const lastKey = keys.pop();\n return new Proxy(runtimeConfig, {\n get(target, p, receiver) {\n if (typeof p === \"string\" && p !== \"public\" && !(p in target) && !p.startsWith(\"__v\")) {\n if (!loggedKeys.has(p)) {\n loggedKeys.add(p);\n console.warn(`[nuxt] Could not access \\`${p}\\`. The only available runtime config keys on the client side are ${keys.join(\", \")} and ${lastKey}. See https://nuxt.com/docs/guide/going-further/runtime-config for more information.`);\n }\n }\n return Reflect.get(target, p, receiver);\n }\n });\n}\n","export const LayoutMetaSymbol = Symbol(\"layout-meta\");\nexport const PageRouteSymbol = Symbol(\"route\");\n","import { captureStackTrace } from \"errx\";\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nconst distURL = import.meta.url.replace(/\\/app\\/.*$/, \"/\");\nexport function getUserTrace() {\n if (!import.meta.dev) {\n return [];\n }\n const trace = captureStackTrace();\n const start = trace.findIndex((entry) => !entry.source.startsWith(distURL));\n const end = [...trace].reverse().findIndex((entry) => !entry.source.includes(\"node_modules\") && !entry.source.startsWith(distURL));\n if (start === -1 || end === -1) {\n return [];\n }\n return trace.slice(start, end > 0 ? -end : void 0).map((i) => ({\n ...i,\n source: i.source.replace(/^file:\\/\\//, \"\")\n }));\n}\nexport function getUserCaller() {\n if (!import.meta.dev) {\n return null;\n }\n const { source, line, column } = captureStackTrace().find((entry) => !entry.source.startsWith(distURL)) ?? {};\n if (!source) {\n return null;\n }\n return {\n source: source.replace(/^file:\\/\\//, \"\"),\n line,\n column\n };\n}\n","import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from \"vue\";\nimport { sanitizeStatusCode } from \"h3\";\nimport { decodePath, encodePath, hasProtocol, isScriptProtocol, joinURL, parseQuery, parseURL, withQuery } from \"ufo\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { PageRouteSymbol } from \"../components/injections.js\";\nimport { createError, showError } from \"./error.js\";\nimport { getUserTrace } from \"../utils.js\";\nexport const useRouter = () => {\n return useNuxtApp()?.$router;\n};\nexport const useRoute = () => {\n if (import.meta.dev && !getCurrentInstance() && isProcessingMiddleware()) {\n const middleware = useNuxtApp()._processingMiddleware;\n const trace = getUserTrace().map(({ source, line, column }) => `at ${source}:${line}:${column}`).join(\"\\n\");\n console.warn(`[nuxt] \\`useRoute\\` was called within middleware${typeof middleware === \"string\" ? ` (\\`${middleware}\\`)` : \"\"}. This may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes. Learn more: https://nuxt.com/docs/3.x/directory-structure/middleware#accessing-route-in-middleware` + (\"\\n\" + trace));\n }\n if (hasInjectionContext()) {\n return inject(PageRouteSymbol, useNuxtApp()._route);\n }\n return useNuxtApp()._route;\n};\nexport const onBeforeRouteLeave = (guard) => {\n const unsubscribe = useRouter().beforeEach((to, from, next) => {\n if (to === from) {\n return;\n }\n return guard(to, from, next);\n });\n onScopeDispose(unsubscribe);\n};\nexport const onBeforeRouteUpdate = (guard) => {\n const unsubscribe = useRouter().beforeEach(guard);\n onScopeDispose(unsubscribe);\n};\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtRouteMiddleware(middleware) {\n return middleware;\n}\nexport const addRouteMiddleware = (name, middleware, options = {}) => {\n const nuxtApp = useNuxtApp();\n const global = options.global || typeof name !== \"string\";\n const mw = typeof name !== \"string\" ? name : middleware;\n if (!mw) {\n console.warn(\"[nuxt] No route middleware passed to `addRouteMiddleware`.\", name);\n return;\n }\n if (global) {\n nuxtApp._middleware.global.push(mw);\n } else {\n nuxtApp._middleware.named[name] = mw;\n }\n};\nconst isProcessingMiddleware = () => {\n try {\n if (useNuxtApp()._processingMiddleware) {\n return true;\n }\n } catch {\n return false;\n }\n return false;\n};\nconst HTML_ATTR_UNSAFE_RE = /[&\"'<>]/g;\nconst HTML_ATTR_ENCODE_MAP = {\n \"&\": \"%26\",\n '\"': \"%22\",\n \"'\": \"%27\",\n \"<\": \"%3C\",\n \">\": \"%3E\"\n};\nfunction encodeForHtmlAttr(value) {\n return value.replace(HTML_ATTR_UNSAFE_RE, (c) => HTML_ATTR_ENCODE_MAP[c]);\n}\nexport const navigateTo = (to, options) => {\n to ||= \"/\";\n const toPath = typeof to === \"string\" ? to : \"path\" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;\n if (import.meta.client && options?.open) {\n const { protocol } = new URL(toPath, window.location.href);\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n const { target = \"_blank\", windowFeatures = {} } = options.open;\n const features = [];\n for (const [feature, value] of Object.entries(windowFeatures)) {\n if (value !== void 0) {\n features.push(`${feature.toLowerCase()}=${value}`);\n }\n }\n open(toPath, target, features.join(\", \"));\n return Promise.resolve();\n }\n const isExternalHost = hasProtocol(toPath, { acceptRelative: true });\n const isExternal = options?.external || isExternalHost;\n if (isExternal) {\n if (!options?.external) {\n throw new Error(\"Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.\");\n }\n const { protocol } = new URL(toPath, import.meta.client ? window.location.href : \"http://localhost\");\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n }\n const inMiddleware = isProcessingMiddleware();\n if (import.meta.client && !isExternal && inMiddleware) {\n if (options?.replace) {\n if (typeof to === \"string\") {\n const { pathname, search, hash } = parseURL(to);\n return {\n path: pathname,\n ...search && { query: parseQuery(search) },\n ...hash && { hash },\n replace: true\n };\n }\n return { ...to, replace: true };\n }\n return to;\n }\n const router = useRouter();\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n const fullPath = typeof to === \"string\" || isExternal ? toPath : router.resolve(to).fullPath || \"/\";\n const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);\n const redirect = async function(response) {\n await nuxtApp.callHook(\"app:redirected\");\n const encodedHeader = encodeURL(location2, isExternalHost);\n const encodedLoc = encodeForHtmlAttr(encodedHeader);\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),\n body: ``,\n headers: { location: encodedHeader }\n };\n return response;\n };\n if (!isExternal && inMiddleware) {\n router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);\n return to;\n }\n return redirect(!inMiddleware ? void 0 : (\n /* abort route navigation */\n false\n ));\n }\n }\n if (isExternal) {\n nuxtApp._scope.stop();\n if (options?.replace) {\n location.replace(toPath);\n } else {\n location.href = toPath;\n }\n if (inMiddleware) {\n if (!nuxtApp.isHydrating) {\n return false;\n }\n return new Promise(() => {\n });\n }\n return Promise.resolve();\n }\n const encodedTo = typeof to === \"string\" ? encodeRoutePath(to) : to;\n return options?.replace ? router.replace(encodedTo) : router.push(encodedTo);\n};\nexport const abortNavigation = (err) => {\n if (import.meta.dev && !isProcessingMiddleware()) {\n throw new Error(\"abortNavigation() is only usable inside a route middleware handler.\");\n }\n if (!err) {\n return false;\n }\n err = createError(err);\n if (err.fatal) {\n useNuxtApp().runWithContext(() => showError(err));\n }\n throw err;\n};\nexport const setPageLayout = (layout, props) => {\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (import.meta.dev && getCurrentInstance() && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.\");\n }\n nuxtApp.payload.state._layout = layout;\n nuxtApp.payload.state._layoutProps = props;\n }\n if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.\");\n }\n const inMiddleware = isProcessingMiddleware();\n if (inMiddleware || import.meta.server || nuxtApp.isHydrating) {\n const unsubscribe = useRouter().beforeResolve((to) => {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n unsubscribe();\n });\n }\n if (!inMiddleware) {\n const route = useRoute();\n route.meta.layout = layout;\n route.meta.layoutProps = props;\n if (import.meta.client) {\n const unsubscribe = useRouter().beforeResolve((to, from) => {\n if (to.path === from.path) {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n } else {\n unsubscribe();\n }\n });\n onScopeDispose(unsubscribe, true);\n }\n }\n};\nexport function resolveRouteObject(to) {\n return withQuery(to.path || \"\", to.query || {}) + (to.hash || \"\");\n}\nexport function encodeURL(location2, isExternalHost = false) {\n const url = new URL(location2, \"http://localhost\");\n if (!isExternalHost) {\n const pathname = url.pathname.replace(/^\\/{2,}/, \"/\");\n return pathname + url.search + url.hash;\n }\n if (location2.startsWith(\"//\")) {\n return url.toString().replace(url.protocol, \"\");\n }\n return url.toString();\n}\nexport function encodeRoutePath(url) {\n const parsed = parseURL(url);\n return encodePath(decodePath(parsed.pathname)) + parsed.search + parsed.hash;\n}\n","import { createError as createH3Error } from \"h3\";\nimport { toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nimport { nuxtDefaultErrorValue } from \"#build/nuxt.config.mjs\";\nexport const NUXT_ERROR_SIGNATURE = \"__nuxt_error\";\nexport const useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, \"error\");\nexport const showError = (error) => {\n const nuxtError = createError(error);\n try {\n const error2 = /* @__PURE__ */ useError();\n if (import.meta.client) {\n const nuxtApp = useNuxtApp();\n nuxtApp.hooks.callHook(\"app:error\", nuxtError);\n }\n error2.value ||= nuxtError;\n } catch {\n throw nuxtError;\n }\n return nuxtError;\n};\nexport const clearError = async (options = {}) => {\n const nuxtApp = useNuxtApp();\n const error = /* @__PURE__ */ useError();\n nuxtApp.callHook(\"app:error:cleared\", options);\n if (options.redirect) {\n await useRouter().replace(options.redirect);\n }\n error.value = nuxtDefaultErrorValue;\n};\nexport const isNuxtError = (error) => !!error && typeof error === \"object\" && NUXT_ERROR_SIGNATURE in error;\nexport const createError = (error) => {\n if (typeof error !== \"string\" && error.statusText) {\n error.message ??= error.statusText;\n }\n const nuxtError = createH3Error(error);\n Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {\n value: true,\n configurable: false,\n writable: false\n });\n Object.defineProperty(nuxtError, \"status\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusCode,\n configurable: true\n });\n Object.defineProperty(nuxtError, \"statusText\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusMessage,\n configurable: true\n });\n return nuxtError;\n};\n","import { hasInjectionContext, inject } from \"vue\";\nimport {\n useHead as headCore,\n useHeadSafe as headSafe,\n headSymbol,\n useSeoMeta as seoMeta,\n useServerHead as serverHead,\n useServerHeadSafe as serverHeadSafe,\n useServerSeoMeta as serverSeoMeta\n} from \"@unhead/vue\";\nimport { tryUseNuxtApp } from \"#app/nuxt\";\nexport function injectHead(nuxtApp) {\n const nuxt = nuxtApp || tryUseNuxtApp();\n return nuxt?.ssrContext?.head || nuxt?.runWithContext(() => {\n if (hasInjectionContext()) {\n return inject(headSymbol);\n }\n });\n}\nexport function useHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headCore(input, { head, ...options });\n }\n}\nexport function useHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headSafe(input, { head, ...options });\n }\n}\nexport function useSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return seoMeta(input, { head, ...options });\n }\n}\nexport function useServerHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHead(input, { head, ...options });\n }\n}\nexport function useServerHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHeadSafe(input, { head, ...options });\n }\n}\nexport function useServerSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverSeoMeta(input, { head, ...options });\n }\n}\n","\n import { defu } from 'defu'\n const matcher = (m,p)=>{return [];}\n export default (path) => defu({}, ...matcher('', typeof path === 'string' ? path.toLowerCase() : path).map(r => r.data).reverse())\n ","import { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nlet manifest;\nfunction fetchManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n let _manifest;\n if (import.meta.server) {\n _manifest = import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n \"#app-manifest\"\n );\n } else {\n _manifest = $fetch(buildAssetsURL(`builds/meta/${useRuntimeConfig().app.buildId}.json`), {\n responseType: \"json\"\n }).then((res) => {\n if (!res || typeof res !== \"object\" || !Array.isArray(res.prerendered)) {\n throw new Error(\"[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.\");\n }\n return res;\n });\n }\n manifest = _manifest;\n _manifest.catch((e) => {\n if (manifest === _manifest) {\n manifest = void 0;\n }\n console.error(\"[nuxt] Error fetching app manifest.\", e);\n });\n return _manifest;\n}\nexport function getAppManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~preloadManifest\"] = true;\n }\n return manifest || fetchManifest();\n}\nexport function getRouteRules(arg) {\n const path = typeof arg === \"string\" ? arg : arg.path;\n try {\n return routeRulesMatcher(path.toLowerCase());\n } catch (e) {\n console.error(\"[nuxt] Error matching route rules.\", e);\n return {};\n }\n}\n","import { hasProtocol, joinURL } from \"ufo\";\nimport { parse } from \"devalue\";\nimport { getCurrentInstance, onServerPrefetch, reactive } from \"vue\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useHead } from \"./head.js\";\nimport { useRoute } from \"./router.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { appId, appManifest, multiApp, payloadExtraction, renderJsonPayloads } from \"#build/nuxt.config.mjs\";\nexport async function loadPayload(url, opts = {}) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n if (await shouldLoadPayload(url)) {\n const payloadURL = await _getPayloadURL(url, opts);\n return await _importPayload(payloadURL) || null;\n }\n return null;\n}\nlet linkRelType;\nfunction detectLinkRelType() {\n if (import.meta.server) {\n return \"preload\";\n }\n if (linkRelType) {\n return linkRelType;\n }\n const relList = document.createElement(\"link\").relList;\n linkRelType = relList && relList.supports && relList.supports(\"prefetch\") ? \"prefetch\" : \"preload\";\n return linkRelType;\n}\nexport function preloadPayload(url, opts = {}) {\n const nuxtApp = useNuxtApp();\n const promise = shouldLoadPayload(url).then(async (shouldPreload) => {\n if (!shouldPreload) {\n return;\n }\n const payloadURL = await _getPayloadURL(url, opts);\n const link = renderJsonPayloads ? { rel: detectLinkRelType(), as: \"fetch\", crossorigin: \"anonymous\", href: payloadURL } : { rel: \"modulepreload\", crossorigin: \"\", href: payloadURL };\n if (import.meta.server) {\n nuxtApp.runWithContext(() => useHead({ link: [link] }));\n } else {\n const linkEl = document.createElement(\"link\");\n for (const key of Object.keys(link)) {\n linkEl[key === \"crossorigin\" ? \"crossOrigin\" : key] = link[key];\n }\n document.head.appendChild(linkEl);\n return new Promise((resolve, reject) => {\n linkEl.addEventListener(\"load\", () => resolve());\n linkEl.addEventListener(\"error\", () => reject());\n });\n }\n });\n if (import.meta.server) {\n onServerPrefetch(() => promise);\n }\n return promise;\n}\nconst filename = renderJsonPayloads ? \"_payload.json\" : \"_payload.js\";\nasync function _getPayloadURL(url, opts = {}) {\n const u = new URL(url, \"http://localhost\");\n if (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) {\n throw new Error(\"Payload URL must not include hostname: \" + url);\n }\n const config = useRuntimeConfig();\n const hash = opts.hash || (opts.fresh || import.meta.dev ? Date.now() : config.app.buildId);\n const cdnURL = config.app.cdnURL;\n const baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n return joinURL(baseOrCdnURL, u.pathname, filename + (hash ? `?${hash}` : \"\"));\n}\nasync function _importPayload(payloadURL) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n try {\n if (renderJsonPayloads) {\n const res = await fetch(payloadURL, import.meta.dev ? {} : { cache: \"force-cache\" });\n if (!res.ok) {\n if (import.meta.dev) {\n console.warn(`[nuxt] Cannot load payload ${payloadURL}: ${res.status} ${res.statusText}`);\n }\n return null;\n }\n return await parsePayload(await res.text());\n } else {\n return await import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n payloadURL\n ).then((r) => r.default || r);\n }\n } catch (err) {\n console.warn(\"[nuxt] Cannot load payload \", payloadURL, err);\n }\n return null;\n}\nfunction _shouldLoadPrerenderedPayload(rules) {\n if (rules.redirect) {\n return false;\n }\n if (rules.prerender) {\n return true;\n }\n}\nasync function _isPrerenderedInManifest(url) {\n if (!appManifest) {\n return false;\n }\n url = url === \"/\" ? url : url.replace(/\\/$/, \"\");\n try {\n const manifest = await getAppManifest();\n return manifest.prerendered.includes(url);\n } catch {\n return false;\n }\n}\nexport async function shouldLoadPayload(url = useRoute().path) {\n const rules = getRouteRules({ path: url });\n if (rules.ssr === false) {\n return false;\n }\n const res = _shouldLoadPrerenderedPayload(rules);\n if (res !== void 0) {\n return res;\n }\n if (rules.payload) {\n return true;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nexport async function isPrerendered(url = useRoute().path) {\n const res = _shouldLoadPrerenderedPayload(getRouteRules({ path: url }));\n if (res !== void 0) {\n return res;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nlet payloadCache = null;\nexport async function getNuxtClientPayload() {\n if (import.meta.server) {\n return null;\n }\n if (payloadCache) {\n return payloadCache;\n }\n const el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n if (!el) {\n return {};\n }\n const inlineData = await parsePayload(el.textContent || \"\");\n const externalData = el.dataset.src ? await _importPayload(el.dataset.src) : void 0;\n payloadCache = {\n ...inlineData,\n ...externalData,\n ...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n };\n if (payloadCache.config?.public) {\n payloadCache.config.public = reactive(payloadCache.config.public);\n }\n return payloadCache;\n}\nexport async function parsePayload(payload) {\n return await parse(payload, useNuxtApp()._payloadRevivers);\n}\nexport function definePayloadReducer(name, reduce) {\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~payloadReducers\"][name] = reduce;\n }\n}\nexport function definePayloadReviver(name, revive) {\n if (import.meta.dev && getCurrentInstance()) {\n console.warn(\"[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\");\n }\n if (import.meta.client) {\n useNuxtApp()._payloadRevivers[name] = revive;\n }\n}\n","import {\n definePayloadPlugin,\n definePayloadReducer,\n definePayloadReviver\n} from \"#imports\";\nimport { shouldHydrate } from \"pinia\";\nconst payloadPlugin = definePayloadPlugin(() => {\n definePayloadReducer(\n \"skipHydrate\",\n // We need to return something truthy to be treated as a match\n (data) => !shouldHydrate(data) && 1\n );\n definePayloadReviver(\"skipHydrate\", (_data) => void 0);\n});\nexport default payloadPlugin;\n","export function freezeHead(head) {\n const realPush = head.push;\n head.push = () => ({ dispose: () => {\n }, patch: () => {\n }, _poll: () => {\n } });\n return () => {\n head.push = realPush;\n };\n}\n","import { createHead as createClientHead, renderDOMHead } from \"@unhead/vue/client\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\nimport { freezeHead } from \"../island-head.js\";\nimport unheadOptions from \"#build/unhead-options.mjs\";\nexport default defineNuxtPlugin({\n name: \"nuxt:head\",\n enforce: \"pre\",\n setup(nuxtApp) {\n const head = import.meta.server ? nuxtApp.ssrContext.head : createClientHead(unheadOptions);\n if (import.meta.server && nuxtApp.ssrContext.islandContext) {\n const unfreeze = freezeHead(head);\n nuxtApp.hooks.hookOnce(\"app:created\", unfreeze);\n }\n nuxtApp.vueApp.use(head);\n if (import.meta.client) {\n let pauseDOMUpdates = true;\n const syncHead = async () => {\n pauseDOMUpdates = false;\n await renderDOMHead(head);\n };\n head.hooks.hook(\"dom:beforeRender\", (context) => {\n context.shouldRender = !pauseDOMUpdates;\n });\n nuxtApp.hooks.hook(\"page:start\", () => {\n pauseDOMUpdates = true;\n });\n nuxtApp.hooks.hook(\"page:finish\", () => {\n if (!nuxtApp.isHydrating) {\n syncHead();\n }\n });\n nuxtApp.hooks.hook(\"app:error\", syncHead);\n nuxtApp.hooks.hook(\"app:suspense:resolve\", syncHead);\n const originalPush = head.push.bind(head);\n head.push = ((input, options) => {\n const entry = originalPush(input, options);\n const originalDispose = entry.dispose.bind(entry);\n entry.dispose = () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(originalDispose);\n } else {\n originalDispose();\n }\n };\n return entry;\n });\n }\n }\n});\n","import { KeepAlive, h } from \"vue\";\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nconst interpolatePath = (route, match) => {\n return match.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nexport const generateRouteKey = (routeProps, override) => {\n const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n return typeof source === \"function\" ? source(routeProps.route) : source;\n};\nexport const wrapInKeepAlive = (props, children) => {\n return { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n const router = import.meta.hot.data.router\n const generateRoutes = import.meta.hot.data.generateRoutes\n if (!router || !generateRoutes) {\n import.meta.hot.invalidate('[nuxt] Cannot replace routes because there is no active router. Reloading.')\n return\n }\n const addedRoutes = router.getRoutes().filter(r => !r._initial)\n router.clearRoutes()\n const routes = generateRoutes(mod.default || mod)\n function addRoutes (routes) {\n for (const route of routes) {\n router.addRoute(route)\n }\n for (const route of router.getRoutes()) {\n route._initial = true\n }\n for (const route of addedRoutes) {\n router.addRoute(route)\n }\n router.isReady().then(() => {\n // Resolve the current path against the new routes to get updated meta\n const newRoute = router.resolve(router.currentRoute.value.fullPath)\n // Clear old meta values and assign new ones\n for (const key of Object.keys(router.currentRoute.value.meta)) {\n delete router.currentRoute.value.meta[key]\n }\n Object.assign(router.currentRoute.value.meta, newRoute.meta)\n })\n }\n if (routes && 'then' in routes) {\n routes.then(addRoutes)\n } else {\n addRoutes(routes)\n }\n })\n}\n\nexport function handleHotUpdate(_router, _generateRoutes) {\n if (import.meta.hot) {\n import.meta.hot.data ||= {}\n import.meta.hot.data.router = _router\n import.meta.hot.data.generateRoutes = _generateRoutes\n for (const route of _router.getRoutes()) {\n route._initial = true\n }\n }\n}\nimport { default as indexndqPXFtP262szLmLJV4PriPTgAg5k_457f05QyTfosBXQMeta } from \"/app/pages/index.vue?macro=true\";\nimport { default as loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta } from \"/app/pages/login.vue?macro=true\";\nimport { default as indexmGB0sc77z4nVdouTyxGPwq1E4nqHwF5EhzkXRcpUofYMeta } from \"/app/pages/garages/index.vue?macro=true\";\nimport { default as index4QOTtNxyMkSDhg1SvMqdYexX0LysiSHughzzK0HxGl0Meta } from \"/app/pages/packages/index.vue?macro=true\";\nimport { default as indexmFHuXm1TRDyTx4rDob8_G9bfnp43YCs_HCFMFiG56X4Meta } from \"/app/pages/permissions/index.vue?macro=true\";\nexport default [\n {\n name: \"index\",\n path: \"/\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/index.vue\")\n },\n {\n name: \"login\",\n path: \"/login\",\n component: () => import(\"/app/pages/login.vue\")\n },\n {\n name: \"garages\",\n path: \"/garages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/garages/index.vue\")\n },\n {\n name: \"packages\",\n path: \"/packages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/packages/index.vue\")\n },\n {\n name: \"permissions\",\n path: \"/permissions\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/permissions/index.vue\")\n }\n]","import { Transition, createStaticVNode, h } from \"vue\";\nimport { defu } from \"defu\";\nimport { isString, isPromise, isArray, isObject } from \"@vue/shared\";\nimport { START_LOCATION } from \"#build/pages\";\nexport const _wrapInTransition = (props, children) => {\n return { default: () => import.meta.client && props ? h(Transition, props === true ? {} : props, children) : children.default?.() };\n};\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nfunction generateRouteKey(route) {\n const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n return typeof source === \"function\" ? source(route) : source;\n}\nexport function isChangingPage(to, from) {\n if (to === from || from === START_LOCATION) {\n return false;\n }\n if (generateRouteKey(to) !== generateRouteKey(from)) {\n return true;\n }\n const areComponentsSame = to.matched.every(\n (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default\n );\n if (areComponentsSame) {\n return false;\n }\n return true;\n}\nexport function createBuffer() {\n let appendable = false;\n const buffer = [];\n return {\n getBuffer() {\n return buffer;\n },\n push(item) {\n const isStringItem = isString(item);\n if (appendable && isStringItem) {\n buffer[buffer.length - 1] += item;\n } else {\n buffer.push(item);\n }\n appendable = isStringItem;\n if (isPromise(item) || isArray(item) && item.hasAsync) {\n buffer.hasAsync = true;\n }\n }\n };\n}\nexport function vforToArray(source) {\n if (isArray(source)) {\n return source;\n } else if (isString(source)) {\n return source.split(\"\");\n } else if (typeof source === \"number\") {\n if (import.meta.dev && !Number.isInteger(source)) {\n console.warn(`The v-for range expect an integer value but got ${source}.`);\n }\n const array = [];\n for (let i = 0; i < source; i++) {\n array[i] = i;\n }\n return array;\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n return Array.from(\n source,\n (item) => item\n );\n } else {\n const keys = Object.keys(source);\n const array = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n array[i] = source[key];\n }\n return array;\n }\n }\n return [];\n}\nexport function getFragmentHTML(element, withoutSlots = false) {\n if (element) {\n if (element.nodeName === \"#comment\" && element.nodeValue === \"[\") {\n return getFragmentChildren(element, [], withoutSlots);\n }\n if (withoutSlots) {\n const clone = element.cloneNode(true);\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n return [clone.outerHTML];\n }\n return [element.outerHTML];\n }\n}\nfunction getFragmentChildren(element, blocks = [], withoutSlots = false) {\n if (element && element.nodeName) {\n if (isEndFragment(element)) {\n return blocks;\n } else if (!isStartFragment(element)) {\n const clone = element.cloneNode(true);\n if (withoutSlots) {\n clone.querySelectorAll?.(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n }\n blocks.push(clone.outerHTML);\n }\n getFragmentChildren(element.nextSibling, blocks, withoutSlots);\n }\n return blocks;\n}\nexport function elToStaticVNode(el, staticNodeFallback) {\n const fragment = el ? getFragmentHTML(el) : staticNodeFallback ? [staticNodeFallback] : void 0;\n if (fragment) {\n return createStaticVNode(fragment.join(\"\"), fragment.length);\n }\n return h(\"div\");\n}\nexport function isStartFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"[\";\n}\nexport function isEndFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"]\";\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function _mergeTransitionProps(routeProps) {\n const _props = [];\n for (const prop of routeProps) {\n if (!prop) {\n continue;\n }\n _props.push({\n ...prop,\n onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : void 0,\n onBeforeLeave: prop.onBeforeLeave ? toArray(prop.onBeforeLeave) : void 0\n });\n }\n return defu(..._props);\n}\n","import { START_LOCATION } from \"vue-router\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { isChangingPage } from \"#app/components/utils\";\nimport { useRouter } from \"#app/composables/router\";\nexport default {\n scrollBehavior(to, from, savedPosition) {\n const nuxtApp = useNuxtApp();\n const hashScrollBehaviour = useRouter().options?.scrollBehaviorType ?? \"auto\";\n if (to.path.replace(/\\/$/, \"\") === from.path.replace(/\\/$/, \"\")) {\n if (from.hash && !to.hash) {\n return { left: 0, top: 0 };\n }\n if (to.hash) {\n return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior: hashScrollBehaviour };\n }\n return false;\n }\n const routeAllowsScrollToTop = typeof to.meta.scrollToTop === \"function\" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;\n if (routeAllowsScrollToTop === false) {\n return false;\n }\n if (from === START_LOCATION) {\n return _calculatePosition(to, from, savedPosition, hashScrollBehaviour);\n }\n return new Promise((resolve) => {\n const doScroll = () => {\n requestAnimationFrame(() => resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour)));\n };\n nuxtApp.hooks.hookOnce(\"page:loading:end\", () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(doScroll);\n } else {\n doScroll();\n }\n });\n });\n }\n};\nfunction _getHashElementScrollMarginTop(selector) {\n try {\n const elem = document.querySelector(selector);\n if (elem) {\n return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop) || 0);\n }\n } catch {\n }\n return 0;\n}\nfunction _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) {\n if (savedPosition) {\n return savedPosition;\n }\n if (to.hash) {\n return {\n el: to.hash,\n top: _getHashElementScrollMarginTop(to.hash),\n behavior: isChangingPage(to, from) ? defaultHashScrollBehaviour : \"instant\"\n };\n }\n return {\n left: 0,\n top: 0\n };\n}\n","import routerOptions0 from \"/app/node_modules/nuxt/dist/pages/runtime/router.options.js\";\nconst configRouterOptions = {\n hashMode: false,\n scrollBehaviorType: \"auto\"\n}\nexport const hashMode = false\nexport default {\n...configRouterOptions,\n...routerOptions0,\n}","import { createError } from \"#app/composables/error\";\nimport { defineNuxtRouteMiddleware } from \"#app/composables/router\";\nexport default defineNuxtRouteMiddleware(async (to, from) => {\n if (!to.meta?.validate) {\n return;\n }\n const result = await Promise.resolve(to.meta.validate(to));\n if (result === true) {\n return;\n }\n const error = createError({\n fatal: import.meta.client,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n status: result && (result.status || result.statusCode) || 404,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n });\n if (typeof window !== \"undefined\") {\n window.history.pushState({}, \"\", from.fullPath);\n }\n return error;\n});\n","import { hasProtocol } from \"ufo\";\nimport { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nexport default defineNuxtRouteMiddleware((to) => {\n if (import.meta.server || import.meta.test) {\n return;\n }\n const rules = getRouteRules({ path: to.path });\n if (rules.redirect) {\n const path = rules.redirect.includes(\"#\") ? rules.redirect : rules.redirect + to.hash;\n if (hasProtocol(path, { acceptRelative: true })) {\n window.location.href = path;\n return false;\n }\n return path;\n }\n});\n","import validate from \"/app/node_modules/nuxt/dist/pages/runtime/validate.js\";\nimport manifest_45route_45rule from \"/app/node_modules/nuxt/dist/app/middleware/route-rules.js\";\nexport const globalMiddleware = [\n validate,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {\n auth: () => import(\"/app/middleware/auth.ts\")\n}","import { defineAsyncComponent } from 'vue'\nexport const islandComponents = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})\nexport const pageIslandRoutes = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})","import { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { isSamePath, withoutBase } from \"ufo\";\nimport { toArray } from \"../utils.js\";\nimport { getRouteRules } from \"#app/composables/manifest\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport { clearError, createError, isNuxtError, showError, useError } from \"#app/composables/error\";\nimport { navigateTo } from \"#app/composables/router\";\nimport _routes, { handleHotUpdate } from \"#build/routes\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nimport { pageIslandRoutes } from \"#build/components.islands.mjs\";\nfunction createCurrentLocation(base, location, renderedPath) {\n const { pathname, search, hash } = location;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n const slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\") {\n pathFromHash = \"/\" + pathFromHash;\n }\n return withoutBase(pathFromHash, \"\");\n }\n const displayedPath = withoutBase(pathname, base);\n const path = !renderedPath || isSamePath(displayedPath, renderedPath) ? displayedPath : renderedPath;\n return path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n name: \"nuxt:router\",\n enforce: \"pre\",\n async setup(nuxtApp) {\n let routerBase = useRuntimeConfig().app.baseURL;\n if (hashMode && !routerBase.includes(\"#\")) {\n routerBase += \"#\";\n }\n const history = routerOptions.history?.(routerBase) ?? (import.meta.client ? hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n const routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n let startPosition;\n const router = createRouter({\n ...routerOptions,\n scrollBehavior: (to, from, savedPosition) => {\n if (from === START_LOCATION) {\n startPosition = savedPosition;\n return;\n }\n if (routerOptions.scrollBehavior) {\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n if (\"scrollRestoration\" in window.history) {\n const unsub = router.beforeEach(() => {\n unsub();\n window.history.scrollRestoration = \"manual\";\n });\n }\n return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n }\n },\n history,\n routes\n });\n if (import.meta.hot) {\n handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes2) => routes2);\n }\n if (import.meta.client && \"scrollRestoration\" in window.history) {\n window.history.scrollRestoration = \"auto\";\n }\n nuxtApp.vueApp.use(router);\n const previousRoute = shallowRef(router.currentRoute.value);\n router.afterEach((_to, from) => {\n previousRoute.value = from;\n });\n Object.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", {\n get: () => previousRoute.value\n });\n const initialURL = import.meta.server ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n const _route = shallowRef(router.currentRoute.value);\n const syncCurrentRoute = () => {\n _route.value = router.currentRoute.value;\n };\n router.afterEach((to, from) => {\n const lastTo = to.matched.at(-1)?.components?.default;\n const lastFrom = from.matched.at(-1)?.components?.default;\n if (lastTo === lastFrom) {\n syncCurrentRoute();\n return;\n }\n if (to.matched.length < from.matched.length && to.matched.every((m, i) => m.components?.default === from.matched[i]?.components?.default)) {\n syncCurrentRoute();\n }\n });\n const route = { sync: syncCurrentRoute };\n for (const key in _route.value) {\n Object.defineProperty(route, key, {\n get: () => _route.value[key],\n enumerable: true\n });\n }\n nuxtApp._route = shallowReactive(route);\n nuxtApp._middleware ||= {\n global: [],\n named: {}\n };\n const error = useError();\n const isServerPage = import.meta.server && nuxtApp.ssrContext?.islandContext?.name?.startsWith(\"page_\");\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n router.afterEach(async (to, _from, failure) => {\n delete nuxtApp._processingMiddleware;\n if (import.meta.client && !nuxtApp.isHydrating && error.value) {\n await nuxtApp.runWithContext(clearError);\n }\n if (failure) {\n await nuxtApp.callHook(\"page:loading:end\");\n }\n if (import.meta.server && failure?.type === 4) {\n return;\n }\n if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) {\n await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n }\n });\n }\n try {\n if (import.meta.server) {\n await router.push(initialURL);\n }\n await router.isReady();\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n const hasDeferredRoute = import.meta.client && nuxtApp.isHydrating && nuxtApp.payload.prerenderedAt && nuxtApp.payload.path && initialURL !== nuxtApp.payload.path && isSamePath(router.currentRoute.value.path, nuxtApp.payload.path);\n syncCurrentRoute();\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && !isServerPage) {\n return { provide: { router } };\n }\n const initialLayout = nuxtApp.payload.state._layout;\n router.beforeEach(async (to, from) => {\n await nuxtApp.callHook(\"page:loading:start\");\n to.meta = reactive(to.meta);\n if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {\n to.meta.layout = initialLayout;\n }\n nuxtApp._processingMiddleware = true;\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n for (const component of to.matched) {\n const componentMiddleware = component.meta.middleware;\n if (!componentMiddleware) {\n continue;\n }\n for (const entry of toArray(componentMiddleware)) {\n middlewareEntries.add(entry);\n }\n }\n const routeRules = getRouteRules({ path: to.path });\n if (routeRules.appMiddleware) {\n for (const key in routeRules.appMiddleware) {\n if (routeRules.appMiddleware[key]) {\n middlewareEntries.add(key);\n } else {\n middlewareEntries.delete(key);\n }\n }\n }\n for (const entry of middlewareEntries) {\n const middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n if (!middleware) {\n if (import.meta.dev) {\n throw new Error(`Unknown route middleware: '${entry}'. Valid middleware: ${Object.keys(namedMiddleware).map((mw) => `'${mw}'`).join(\", \")}.`);\n }\n throw new Error(`Unknown route middleware: '${entry}'.`);\n }\n try {\n if (import.meta.dev) {\n nuxtApp._processingMiddleware = middleware._path || (typeof entry === \"string\" ? entry : true);\n }\n const result = await nuxtApp.runWithContext(() => middleware(to, from));\n if (import.meta.server || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n if (result === false || result instanceof Error) {\n const error2 = result || createError({\n status: 404,\n statusText: `Page Not Found: ${initialURL}`\n });\n await nuxtApp.runWithContext(() => showError(error2));\n return false;\n }\n }\n if (result === true) {\n continue;\n }\n if (result === false) {\n return result;\n }\n if (result) {\n if (isNuxtError(result) && result.fatal) {\n await nuxtApp.runWithContext(() => showError(result));\n }\n return result;\n }\n } catch (err) {\n const error2 = createError(err);\n if (error2.fatal) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n return error2;\n }\n }\n }\n });\n if (isServerPage) {\n router.beforeResolve((to) => {\n const expected = pageIslandRoutes[nuxtApp.ssrContext.islandContext.name];\n const actual = to.matched.find((m) => m.components?.default?.__nuxt_island)?.components?.default;\n if (!expected || expected !== actual?.__nuxt_island) {\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: 400,\n statusMessage: \"Invalid island request path\"\n };\n return false;\n }\n });\n }\n router.onError(async () => {\n delete nuxtApp._processingMiddleware;\n await nuxtApp.callHook(\"page:loading:end\");\n });\n router.afterEach((to) => {\n if (to.matched.length === 0 && !error.value) {\n return nuxtApp.runWithContext(() => showError(createError({\n status: 404,\n fatal: false,\n statusText: `Page not found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n })));\n }\n });\n nuxtApp.hooks.hookOnce(\"app:created\", async () => {\n try {\n if (\"name\" in resolvedInitialRoute) {\n resolvedInitialRoute.name = void 0;\n }\n if (hasDeferredRoute) {\n const payloadRoute = router.resolve(nuxtApp.payload.path);\n if (\"name\" in payloadRoute) {\n payloadRoute.name = void 0;\n }\n await router.replace({ ...payloadRoute, force: true });\n nuxtApp.hooks.hookOnce(\"app:suspense:resolve\", async () => {\n await router.replace({ ...resolvedInitialRoute, force: true });\n });\n } else {\n await router.replace({\n ...resolvedInitialRoute,\n force: true\n });\n }\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n });\n return { provide: { router } };\n }\n});\nexport default plugin;\n","import { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { defineNuxtPlugin } from \"../nuxt.js\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\nimport { isValidIslandKey } from \"./utils.js\";\nconst reducers = [\n [\"NuxtError\", (data) => isNuxtError(data) && data.toJSON()],\n [\"EmptyShallowRef\", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"EmptyRef\", (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"ShallowRef\", (data) => isRef(data) && isShallow(data) && data.value],\n [\"ShallowReactive\", (data) => isReactive(data) && isShallow(data) && toRaw(data)],\n [\"Ref\", (data) => isRef(data) && data.value],\n [\"Reactive\", (data) => isReactive(data) && toRaw(data)]\n];\nif (componentIslands) {\n reducers.push([\"Island\", (data) => data && data?.__nuxt_island && isValidIslandKey(data.__nuxt_island.key) && data.__nuxt_island]);\n}\nexport default defineNuxtPlugin({\n name: \"nuxt:revive-payload:server\",\n setup() {\n for (const [reducer, fn] of reducers) {\n definePayloadReducer(reducer, fn);\n }\n }\n});\n","import { createElementBlock, defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"ServerPlaceholder\",\n render() {\n return createElementBlock(\"div\");\n }\n});\n","import { cloneVNode, createElementBlock, defineComponent, getCurrentInstance, h, onMounted, provide, shallowRef } from \"vue\";\nimport { isPromise } from \"@vue/shared\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport ServerPlaceholder from \"./server-placeholder.js\";\nimport { elToStaticVNode } from \"./utils.js\";\nexport const clientOnlySymbol = Symbol.for(\"nuxt:client-only\");\nconst STATIC_DIV = \"
\";\nexport default defineComponent({\n name: \"ClientOnly\",\n inheritAttrs: false,\n props: [\"fallback\", \"placeholder\", \"placeholderTag\", \"fallbackTag\"],\n ...import.meta.dev && {\n slots: Object\n },\n setup(props, { slots, attrs }) {\n const mounted = shallowRef(false);\n onMounted(() => {\n mounted.value = true;\n });\n if (import.meta.dev) {\n const nuxtApp = useNuxtApp();\n nuxtApp._isNuxtPageUsed = true;\n nuxtApp._isNuxtLayoutUsed = true;\n }\n const vm = getCurrentInstance();\n if (vm) {\n vm._nuxtClientOnly = true;\n }\n provide(clientOnlySymbol, true);\n return () => {\n if (mounted.value) {\n const vnodes = slots.default?.();\n if (vnodes && vnodes.length === 1) {\n return [cloneVNode(vnodes[0], attrs)];\n }\n return vnodes;\n }\n const slot = slots.fallback || slots.placeholder;\n if (slot) {\n return h(slot);\n }\n const fallbackStr = props.fallback || props.placeholder || \"\";\n const fallbackTag = props.fallbackTag || props.placeholderTag || \"span\";\n return createElementBlock(fallbackTag, attrs, fallbackStr);\n };\n }\n});\nconst cache = /* @__PURE__ */ new WeakMap();\n// @__NO_SIDE_EFFECTS__\nexport function createClientOnly(component) {\n if (import.meta.server) {\n return ServerPlaceholder;\n }\n if (cache.has(component)) {\n return cache.get(component);\n }\n const clone = { ...component };\n if (clone.render) {\n clone.render = (ctx, cache2, $props, $setup, $data, $options) => {\n if ($setup.mounted$ ?? ctx.mounted$) {\n const res = component.render?.bind(ctx)(ctx, cache2, $props, $setup, $data, $options);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(ctx._.vnode.el, STATIC_DIV);\n };\n } else {\n clone.template &&= `\n \n \n `;\n }\n clone.setup = (props, ctx) => {\n const nuxtApp = useNuxtApp();\n const mounted$ = shallowRef(nuxtApp.isHydrating === false);\n const instance = getCurrentInstance();\n if (nuxtApp.isHydrating) {\n const attrs = { ...instance.attrs };\n const directives = extractDirectives(instance);\n for (const key in attrs) {\n delete instance.attrs[key];\n }\n onMounted(() => {\n Object.assign(instance.attrs, attrs);\n instance.vnode.dirs = directives;\n });\n }\n onMounted(() => {\n mounted$.value = true;\n });\n const setupState = component.setup?.(props, ctx) || {};\n if (isPromise(setupState)) {\n return Promise.resolve(setupState).then((setupState2) => {\n if (typeof setupState2 !== \"function\") {\n setupState2 ||= {};\n setupState2.mounted$ = mounted$;\n return setupState2;\n }\n return (...args) => {\n if (mounted$.value || !nuxtApp.isHydrating) {\n const res = setupState2(...args);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n });\n } else {\n if (typeof setupState === \"function\") {\n return (...args) => {\n if (mounted$.value) {\n const res = setupState(...args);\n const attrs = clone.inheritAttrs !== false ? ctx.attrs : void 0;\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res, attrs) : h(res, attrs);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n }\n return Object.assign(setupState, { mounted$ });\n }\n };\n cache.set(component, clone);\n return clone;\n}\nfunction extractDirectives(instance) {\n if (!instance || !instance.vnode.dirs) {\n return null;\n }\n const directives = instance.vnode.dirs;\n instance.vnode.dirs = null;\n return directives;\n}\n","import { isRef, toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nconst useStateKeyPrefix = \"$s\";\nexport function useState(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [_key, init] = args;\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useState] key must be a string: \" + _key);\n }\n if (init !== void 0 && typeof init !== \"function\") {\n throw new Error(\"[nuxt] [useState] init must be a function: \" + init);\n }\n const key = useStateKeyPrefix + _key;\n const nuxtApp = useNuxtApp();\n const state = toRef(nuxtApp.payload.state, key);\n if (state.value === void 0 && init) {\n const initialValue = init();\n if (isRef(initialValue)) {\n nuxtApp.payload.state[key] = initialValue;\n return initialValue;\n }\n state.value = initialValue;\n }\n return state;\n}\nexport function clearNuxtState(keys) {\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.state).filter((key) => key.startsWith(useStateKeyPrefix)).map((key) => key.substring(useStateKeyPrefix.length));\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const _key of _keys) {\n const key = useStateKeyPrefix + _key;\n if (key in nuxtApp.payload.state) {\n nuxtApp.payload.state[key] = void 0;\n }\n }\n}\n","import { setResponseStatus as _setResponseStatus, appendHeader, getRequestHeader, getRequestHeaders, getResponseHeader, removeResponseHeader, setResponseHeader } from \"h3\";\nimport { computed, getCurrentInstance, ref } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { useHead } from \"./head.js\";\nexport function useRequestEvent(nuxtApp) {\n if (import.meta.client) {\n return;\n }\n nuxtApp ||= useNuxtApp();\n return nuxtApp.ssrContext?.event;\n}\nexport function useRequestHeaders(include) {\n if (import.meta.client) {\n return {};\n }\n const event = useRequestEvent();\n const _headers = event ? getRequestHeaders(event) : {};\n if (!include || !event) {\n return _headers;\n }\n const headers = /* @__PURE__ */ Object.create(null);\n for (const _key of include) {\n const key = _key.toLowerCase();\n const header = _headers[key];\n if (header) {\n headers[key] = header;\n }\n }\n return headers;\n}\nexport function useRequestHeader(header) {\n if (import.meta.client) {\n return void 0;\n }\n const event = useRequestEvent();\n return event ? getRequestHeader(event, header) : void 0;\n}\nexport function useRequestFetch() {\n if (import.meta.client) {\n return globalThis.$fetch;\n }\n return useRequestEvent()?.$fetch || globalThis.$fetch;\n}\nexport function setResponseStatus(arg1, arg2, arg3) {\n if (import.meta.client) {\n return;\n }\n if (arg1 && typeof arg1 !== \"number\") {\n return _setResponseStatus(arg1, arg2, arg3);\n }\n const event = useRequestEvent();\n if (event) {\n return _setResponseStatus(event, arg1, arg2);\n }\n}\nexport function useResponseHeader(header) {\n if (import.meta.client) {\n if (import.meta.dev) {\n return computed({\n get: () => void 0,\n set: () => console.warn(\"[nuxt] Setting response headers is not supported in the browser.\")\n });\n }\n return ref();\n }\n const event = useRequestEvent();\n return computed({\n get() {\n return getResponseHeader(event, header);\n },\n set(newValue) {\n if (!newValue) {\n return removeResponseHeader(event, header);\n }\n return setResponseHeader(event, header, newValue);\n }\n });\n}\nexport function prerenderRoutes(path) {\n if (!import.meta.server || !import.meta.prerender) {\n return;\n }\n const paths = toArray(path);\n appendHeader(useRequestEvent(), \"x-nitro-prerender\", paths.map((p) => encodeURIComponent(p)).join(\", \"));\n}\nconst PREHYDRATE_ATTR_KEY = \"data-prehydrate-id\";\nexport function onPrehydrate(callback, key) {\n if (import.meta.client) {\n return;\n }\n if (typeof callback !== \"string\") {\n throw new TypeError(\"[nuxt] To transform a callback into a string, `onPrehydrate` must be processed by the Nuxt build pipeline. If it is called in a third-party library, make sure to add the library to `build.transpile`.\");\n }\n const vm = getCurrentInstance();\n if (vm && key) {\n vm.attrs[PREHYDRATE_ATTR_KEY] ||= \"\";\n key = \":\" + key + \":\";\n if (!vm.attrs[PREHYDRATE_ATTR_KEY].includes(key)) {\n vm.attrs[PREHYDRATE_ATTR_KEY] += key;\n }\n }\n const code = vm && key ? `document.querySelectorAll('[${PREHYDRATE_ATTR_KEY}*=${JSON.stringify(key)}]').forEach` + callback : callback + \"()\";\n useHead({\n script: [{\n key: vm && key ? key : void 0,\n tagPosition: \"bodyClose\",\n tagPriority: \"critical\",\n innerHTML: code\n }]\n });\n return vm && key ? vm.attrs[PREHYDRATE_ATTR_KEY] : void 0;\n}\n","import { customRef, getCurrentScope, nextTick, onScopeDispose, ref, watch } from \"vue\";\nimport { parse, serialize } from \"cookie-es\";\nimport { deleteCookie, getCookie, getRequestHeader, setCookie } from \"h3\";\nimport destr from \"destr\";\nimport { isEqual } from \"ohash\";\nimport { klona } from \"klona\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRequestEvent } from \"./ssr.js\";\nimport { cookieStore } from \"#build/nuxt.config.mjs\";\nconst CookieDefaults = {\n path: \"/\",\n watch: true,\n decode: (val) => {\n const decoded = decodeURIComponent(val);\n const parsed = destr(decoded);\n if (typeof parsed === \"number\" && (!Number.isFinite(parsed) || String(parsed) !== decoded)) {\n return decoded;\n }\n return parsed;\n },\n encode: (val) => encodeURIComponent(typeof val === \"string\" ? val : JSON.stringify(val))\n};\nconst store = import.meta.client && cookieStore ? globalThis.cookieStore : void 0;\nexport function useCookie(name, _opts) {\n const opts = { ...CookieDefaults, ..._opts };\n opts.filter ??= (key) => key === name;\n const cookies = readRawCookies(opts) || {};\n let delay;\n if (opts.maxAge !== void 0) {\n delay = opts.maxAge * 1e3;\n } else if (opts.expires) {\n delay = opts.expires.getTime() - Date.now();\n }\n const hasExpired = delay !== void 0 && delay <= 0;\n const shouldSetInitialClientCookie = import.meta.client && (hasExpired || cookies[name] === void 0 || cookies[name] === null);\n const cookieValue = klona(hasExpired ? void 0 : cookies[name] ?? opts.default?.());\n const cookie = import.meta.client && delay && !hasExpired ? cookieRef(cookieValue, delay, opts.watch && opts.watch !== \"shallow\") : ref(cookieValue);\n if (import.meta.dev && hasExpired) {\n console.warn(`[nuxt] not setting cookie \\`${name}\\` as it has already expired.`);\n }\n if (import.meta.client) {\n let channel = null;\n try {\n if (!store && typeof BroadcastChannel !== \"undefined\") {\n channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n }\n } catch {\n }\n const callback = (force = false) => {\n if (!force) {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n }\n writeClientCookie(name, cookie.value, opts);\n cookies[name] = klona(cookie.value);\n channel?.postMessage({ value: opts.encode(cookie.value) });\n };\n const handleChange = (data) => {\n const value = data.refresh ? readRawCookies(opts)?.[name] : opts.decode(data.value);\n watchPaused = true;\n cookie.value = value;\n cookies[name] = klona(value);\n nextTick(() => {\n watchPaused = false;\n });\n };\n let watchPaused = false;\n const hasScope = !!getCurrentScope();\n if (hasScope) {\n onScopeDispose(() => {\n watchPaused = true;\n callback();\n channel?.close();\n });\n }\n if (store) {\n const changeHandler = (event) => {\n const changedCookie = event.changed.find((c) => c.name === name);\n const removedCookie = event.deleted.find((c) => c.name === name);\n if (changedCookie) {\n handleChange({ value: changedCookie.value });\n }\n if (removedCookie) {\n handleChange({ value: null });\n }\n };\n store.addEventListener(\"change\", changeHandler);\n if (hasScope) {\n onScopeDispose(() => store.removeEventListener(\"change\", changeHandler));\n }\n } else if (channel) {\n channel.onmessage = ({ data }) => handleChange(data);\n }\n if (opts.watch) {\n watch(\n cookie,\n () => {\n if (watchPaused) {\n return;\n }\n callback();\n },\n { deep: opts.watch !== \"shallow\" }\n );\n }\n if (shouldSetInitialClientCookie) {\n callback(shouldSetInitialClientCookie);\n }\n } else if (import.meta.server) {\n const nuxtApp = useNuxtApp();\n const writeFinalCookieValue = () => {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n nuxtApp._cookies ||= {};\n if (name in nuxtApp._cookies) {\n if (isEqual(cookie.value, nuxtApp._cookies[name])) {\n return;\n }\n if (import.meta.dev) {\n console.warn(`[nuxt] cookie \\`${name}\\` was previously set to \\`${opts.encode(nuxtApp._cookies[name])}\\` and is being overridden to \\`${opts.encode(cookie.value)}\\`. This may cause unexpected issues.`);\n }\n }\n nuxtApp._cookies[name] = cookie.value;\n writeServerCookie(useRequestEvent(nuxtApp), name, cookie.value, opts);\n };\n const unhook = nuxtApp.hooks.hookOnce(\"app:rendered\", writeFinalCookieValue);\n nuxtApp.hooks.hookOnce(\"app:error\", () => {\n unhook();\n return writeFinalCookieValue();\n });\n }\n return cookie;\n}\nexport function refreshCookie(name) {\n if (import.meta.server || store || typeof BroadcastChannel === \"undefined\") {\n return;\n }\n try {\n const channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n channel.postMessage({ refresh: true });\n channel.close();\n } catch {\n }\n}\nfunction readRawCookies(opts = {}) {\n if (import.meta.server) {\n return parse(getRequestHeader(useRequestEvent(), \"cookie\") || \"\", opts);\n } else if (import.meta.client) {\n return parse(document.cookie, opts);\n }\n}\nfunction serializeCookie(name, value, opts = {}) {\n if (value === null || value === void 0) {\n return serialize(name, value, { ...opts, maxAge: -1 });\n }\n return serialize(name, value, opts);\n}\nfunction writeClientCookie(name, value, opts = {}) {\n if (import.meta.client) {\n document.cookie = serializeCookie(name, value, opts);\n }\n}\nfunction writeServerCookie(event, name, value, opts = {}) {\n if (event) {\n if (value !== null && value !== void 0) {\n return setCookie(event, name, value, opts);\n }\n if (getCookie(event, name) !== void 0) {\n return deleteCookie(event, name, opts);\n }\n }\n}\nconst MAX_TIMEOUT_DELAY = 2147483647;\nfunction cookieRef(value, delay, shouldWatch) {\n let timeout;\n let unsubscribe;\n let elapsed = 0;\n const internalRef = shouldWatch ? ref(value) : { value };\n if (getCurrentScope()) {\n onScopeDispose(() => {\n unsubscribe?.();\n clearTimeout(timeout);\n });\n }\n return customRef((track, trigger) => {\n if (shouldWatch) {\n unsubscribe = watch(internalRef, trigger);\n }\n function scheduleTimeout() {\n const timeRemaining = delay - elapsed;\n const timeoutLength = timeRemaining < MAX_TIMEOUT_DELAY ? timeRemaining : MAX_TIMEOUT_DELAY;\n timeout = setTimeout(() => {\n elapsed += timeoutLength;\n if (elapsed < delay) {\n return scheduleTimeout();\n }\n internalRef.value = void 0;\n trigger();\n }, timeoutLength);\n }\n function createExpirationTimeout() {\n elapsed = 0;\n clearTimeout(timeout);\n scheduleTimeout();\n }\n return {\n get() {\n track();\n return internalRef.value;\n },\n set(newValue) {\n createExpirationTimeout();\n internalRef.value = newValue;\n trigger();\n }\n };\n });\n}\n","import { getRequestURL } from \"h3\";\nimport { useRequestEvent } from \"./ssr.js\";\nexport function useRequestURL(opts) {\n if (import.meta.server) {\n return getRequestURL(useRequestEvent(), opts);\n }\n return new URL(globalThis.location.href);\n}\n","import { createPinia, setActivePinia } from \"pinia\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { toRaw } from \"vue\";\nconst plugin = defineNuxtPlugin({\n name: \"pinia\",\n setup(nuxtApp) {\n const pinia = createPinia();\n nuxtApp.vueApp.use(pinia);\n setActivePinia(pinia);\n if (nuxtApp.payload && nuxtApp.payload.pinia) {\n pinia.state.value = nuxtApp.payload.pinia;\n }\n return {\n provide: {\n pinia\n }\n };\n },\n hooks: {\n \"app:rendered\"() {\n const nuxtApp = useNuxtApp();\n nuxtApp.payload.pinia = toRaw(nuxtApp.$pinia).state.value;\n setActivePinia(void 0);\n }\n }\n});\nexport default plugin;\n","\nimport { defineNuxtPlugin } from '#app/nuxt'\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n})\n","/*!\n * shared v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : create()));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(/&/g, '&') // escape `&` first to avoid double escaping\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/') // escape `/` to prevent closing tags or JavaScript URLs\n .replace(/=/g, '='); // escape `=` to prevent attribute injection\n}\nfunction escapeAttributeValue(value) {\n return value\n .replace(/&(?![a-zA-Z0-9#]{2,6};)/g, '&') // escape unescaped `&`\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n}\nfunction sanitizeTranslatedHtml(html) {\n // Escape dangerous characters in attribute values\n // Process attributes with double quotes\n html = html.replace(/(\\w+)\\s*=\\s*\"([^\"]*)\"/g, (_, attrName, attrValue) => `${attrName}=\"${escapeAttributeValue(attrValue)}\"`);\n // Process attributes with single quotes\n html = html.replace(/(\\w+)\\s*=\\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);\n // Detect and neutralize event handler attributes\n const eventHandlerPattern = /\\s*on\\w+\\s*=\\s*[\"']?[^\"'>]+[\"']?/gi;\n if (eventHandlerPattern.test(html)) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Potentially dangerous event handlers detected in translation. ' +\n 'Consider removing onclick, onerror, etc. from your translation messages.');\n }\n // Neutralize event handler attributes by escaping 'on'\n html = html.replace(/(\\s+)(on)(\\w+\\s*=)/gi, '$1on$3');\n }\n // Disable javascript: URLs in various contexts\n const javascriptUrlPattern = [\n // In href, src, action, formaction attributes\n /(\\s+(?:href|src|action|formaction)\\s*=\\s*[\"']?)\\s*javascript:/gi,\n // In style attributes within url()\n /(style\\s*=\\s*[\"'][^\"']*url\\s*\\(\\s*)javascript:/gi\n ];\n javascriptUrlPattern.forEach(pattern => {\n html = html.replace(pattern, '$1javascript:');\n });\n return html;\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, sanitizeTranslatedHtml, toDisplayString, toTypeString, warn, warnOnce };\n","import { hasProtocol, joinURL, withQuery } from \"ufo\";\nconst strictSeo = __I18N_STRICT_SEO__;\nexport function localeHead(options, currentLanguage = options.getCurrentLanguage(), currentDirection = options.getCurrentDirection()) {\n const metaObject = {\n htmlAttrs: {},\n link: [],\n meta: []\n };\n if (options.dir) {\n metaObject.htmlAttrs.dir = currentDirection;\n }\n if (options.lang && currentLanguage) {\n metaObject.htmlAttrs.lang = currentLanguage;\n }\n if (options.seo) {\n const alternateLinks = getHreflangLinks(options);\n metaObject.link = metaObject.link.concat(\n alternateLinks,\n getCanonicalLink(options)\n );\n metaObject.meta = metaObject.meta.concat(\n getOgUrl(options),\n getCurrentOgLocale(options),\n getAlternateOgLocales(\n options,\n strictSeo ? alternateLinks.map((x) => x.hreflang).filter((x) => x !== \"x-default\") : options.locales.map((x) => x.language || x.code)\n )\n );\n }\n return metaObject;\n}\nfunction createLocaleMap(locales) {\n const localeMap = /* @__PURE__ */ new Map();\n for (const locale of locales) {\n if (!locale.language) {\n console.warn(\"Locale `language` ISO code is required to generate alternate link\");\n continue;\n }\n const [language, region] = locale.language.split(\"-\");\n if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n localeMap.set(language, locale);\n }\n localeMap.set(locale.language, locale);\n }\n return localeMap;\n}\nfunction getHreflangLinks(options) {\n if (!options.hreflangLinks) {\n return [];\n }\n const links = [];\n const localeMap = createLocaleMap(options.locales);\n for (const [language, locale] of localeMap.entries()) {\n const link = getHreflangLink(language, locale, options);\n if (!link) {\n continue;\n }\n links.push(link);\n if (options.defaultLocale && options.defaultLocale === locale.code && links[0].hreflang !== \"x-default\") {\n links.unshift(\n strictSeo ? { rel: \"alternate\", href: link.href, hreflang: \"x-default\" } : { [options.key]: \"i18n-xd\", rel: \"alternate\", href: link.href, hreflang: \"x-default\" }\n );\n }\n }\n return links;\n}\nfunction getHreflangLink(language, locale, options, routeWithoutQuery = options.strictCanonicals ? options.getRouteWithoutQuery() : void 0) {\n const localePath = options.getLocalizedRoute(locale.code, routeWithoutQuery);\n if (!localePath) {\n return void 0;\n }\n const href = withQuery(\n hasProtocol(localePath) ? localePath : joinURL(options.baseUrl, localePath),\n options.strictCanonicals ? getCanonicalQueryParams(options) : {}\n );\n return strictSeo ? { rel: \"alternate\", href, hreflang: language } : { [options.key]: `i18n-alt-${language}`, rel: \"alternate\", href, hreflang: language };\n}\nfunction getCanonicalUrl(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n if (!currentRoute) {\n return \"\";\n }\n return withQuery(joinURL(options.baseUrl, currentRoute.path), getCanonicalQueryParams(options));\n}\nfunction getCanonicalLink(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [strictSeo ? { rel: \"canonical\", href } : { [options.key]: \"i18n-can\", rel: \"canonical\", href }];\n}\nfunction getCanonicalQueryParams(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n const currentRouteQuery = currentRoute?.query ?? {};\n const params = {};\n for (const param of options.canonicalQueries.filter((x) => x in currentRouteQuery)) {\n params[param] ??= [];\n for (const val of toArray(currentRouteQuery[param])) {\n params[param].push(val || \"\");\n }\n }\n return params;\n}\nfunction getOgUrl(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:url\", content: href } : { [options.key]: \"i18n-og-url\", property: \"og:url\", content: href }\n ];\n}\nfunction getCurrentOgLocale(options, currentLanguage = options.getCurrentLanguage()) {\n if (!currentLanguage) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:locale\", content: formatOgLanguage(currentLanguage) } : { [options.key]: \"i18n-og\", property: \"og:locale\", content: formatOgLanguage(currentLanguage) }\n ];\n}\nfunction getAlternateOgLocales(options, languages, currentLanguage = options.getCurrentLanguage()) {\n const alternateLocales = languages.filter((locale) => locale && locale !== currentLanguage);\n return alternateLocales.map(\n (locale) => strictSeo ? {\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n } : {\n [options.key]: `i18n-og-alt-${locale}`,\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n }\n );\n}\nfunction formatOgLanguage(val = \"\") {\n return val.replace(/-/g, \"_\");\n}\nfunction toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol, parsePath, parseQuery } from \"ufo\";\nimport { assign, isString } from \"@intlify/shared\";\nexport function localePath(ctx, route, locale = ctx.getLocale()) {\n if (isString(route) && hasProtocol(route, { acceptRelative: true })) {\n return route;\n }\n try {\n return resolveRoute(ctx, route, locale).fullPath;\n } catch {\n return \"\";\n }\n}\nexport function localeRoute(ctx, route, locale = ctx.getLocale()) {\n try {\n return resolveRoute(ctx, route, locale);\n } catch {\n return;\n }\n}\nfunction normalizeRawLocation(route) {\n if (!isString(route)) {\n return assign({}, route);\n }\n if (route[0] === \"/\") {\n const { pathname: path, search, hash } = parsePath(route);\n return { path, query: parseQuery(search), hash };\n }\n return { name: route };\n}\nfunction resolveRoute(ctx, route, locale) {\n const normalized = normalizeRawLocation(route);\n const resolved = ctx.router.resolve(ctx.resolveLocalizedRouteObject(normalized, locale));\n if (resolved.name) {\n return resolved;\n }\n return ctx.router.resolve(route);\n}\nexport function switchLocalePath(ctx, locale, route = ctx.router.currentRoute.value) {\n const name = ctx.getRouteBaseName(route);\n if (!name) {\n return \"\";\n }\n const routeCopy = {\n name,\n params: assign(\n {},\n route.params,\n ctx.getLocalizedDynamicParams(locale)\n ),\n fullPath: route.fullPath,\n query: route.query,\n hash: route.hash,\n path: route.path,\n meta: route.meta\n };\n const path = localePath(ctx, routeCopy, locale);\n return ctx.afterSwitchLocalePath(path, locale);\n}\n","import { computed, getCurrentScope, onScopeDispose, ref, useHead, useRequestEvent, watch } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { localeHead as _localeHead } from \"#i18n-kit/head\";\nimport { localeRoute, switchLocalePath } from \"./routing.js\";\nfunction createHeadContext(ctx, config, locale = ctx.getLocale(), locales = ctx.getLocales(), baseUrl = ctx.getBaseUrl()) {\n const currentLocale = locales.find((l) => l.code === locale) || { code: locale };\n const canonicalQueries = typeof config.seo === \"object\" && config.seo?.canonicalQueries || [];\n if (!baseUrl && !__DIFFERENT_DOMAINS__ && !__MULTI_DOMAIN_LOCALES__) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n console.warn(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n return {\n ...config,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n locales,\n baseUrl,\n canonicalQueries,\n hreflangLinks: ctx.routingOptions.hreflangLinks,\n defaultLocale: ctx.routingOptions.defaultLocale,\n strictCanonicals: __I18N_STRICT_SEO__ || ctx.routingOptions.strictCanonicals,\n getRouteBaseName: ctx.getRouteBaseName,\n getCurrentRoute: () => ctx.router.currentRoute.value,\n getCurrentLanguage: () => currentLocale.language,\n getCurrentDirection: () => currentLocale.dir || __DEFAULT_DIRECTION__,\n getLocaleRoute: (route) => localeRoute(ctx, route),\n getLocalizedRoute: (locale2, route) => switchLocalePath(ctx, locale2, route),\n getRouteWithoutQuery: () => {\n try {\n return assign({}, ctx.router.resolve({ query: {} }), { meta: ctx.router.currentRoute.value.meta });\n } catch {\n return void 0;\n }\n }\n };\n}\nexport function localeHead(ctx, { dir = true, lang = true, seo = true }) {\n return _localeHead(createHeadContext(ctx, { dir, lang, seo }));\n}\nexport function _useLocaleHead(ctx, options) {\n const metaObject = ref(_localeHead(createHeadContext(ctx, options)));\n if (import.meta.client) {\n const unsub = watch([() => ctx.router.currentRoute.value, () => ctx.getLocale()], () => {\n metaObject.value = _localeHead(createHeadContext(ctx, options));\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n });\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n }\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n return metaObject;\n}\nexport function _useSetI18nParams(ctx, seo, router = ctx.router) {\n const head = __I18N_STRICT_SEO__ ? ctx.head : useHead({});\n const evt = __I18N_STRICT_SEO__ && import.meta.server && useRequestEvent();\n const _i18nParams = ref({});\n const i18nParams = computed({\n get() {\n return router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__];\n },\n set(val) {\n _i18nParams.value = val;\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = val;\n if (evt && evt?.context.nuxtI18n?.slp) {\n evt.context.nuxtI18n.slp = val;\n }\n }\n });\n const unsub = watch(\n () => router.currentRoute.value.fullPath,\n () => {\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = _i18nParams.value;\n __I18N_STRICT_SEO__ && updateState();\n }\n );\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n function updateState() {\n ctx.metaState = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(ctx.metaState);\n }\n const ctxOptions = ref({\n ...ctx.seoSettings,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n seo: seo ?? ctx.seoSettings.seo\n });\n return function(params) {\n i18nParams.value = { ...params };\n __I18N_STRICT_SEO__ && updateState();\n if (!__I18N_STRICT_SEO__) {\n const val = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(val);\n }\n };\n}\n","const objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nfunction isURL(val) {\n return toTypeString(val) === \"[object URL]\";\n}\nfunction isURLSearchParams(val) {\n return toTypeString(val) === \"[object URLSearchParams]\";\n}\nfunction isLocale(val) {\n return toTypeString(val) === \"[object Intl.Locale]\";\n}\nfunction toLocale(val) {\n return isLocale(val) ? val : new Intl.Locale(val);\n}\nfunction validateLangTag(lang) {\n try {\n Intl.getCanonicalLocales(lang);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseAcceptLanguage(value) {\n return value.split(\",\").map((tag) => tag.split(\";\")[0]).filter(\n (tag) => !(tag === \"*\" || tag === \"\")\n );\n}\nfunction normalizeLanguageName(langName) {\n const [lang] = langName.split(\".\");\n return lang.replace(/_/g, \"-\");\n}\nfunction createPathIndexLanguageParser(index = 0) {\n return (path) => {\n const rawPath = typeof path === \"string\" ? path : path.pathname;\n const normalizedPath = rawPath.split(\"?\")[0];\n const parts = normalizedPath.split(\"/\");\n if (parts[0] === \"\") {\n parts.shift();\n }\n return parts.length > index ? parts[index] || \"\" : \"\";\n };\n}\nlet pathLanguageParser = /* @__PURE__ */ createPathIndexLanguageParser();\nfunction registerPathLanguageParser(parser) {\n pathLanguageParser = parser;\n}\n\nconst DEFAULT_LANG_TAG = \"en-US\";\nconst DEFAULT_COOKIE_NAME = \"i18n_locale\";\nconst ACCEPT_LANGUAGE_HEADER = \"accept-language\";\n\nfunction parseDefaultHeader(input) {\n return [input];\n}\nfunction getHeaderLanguagesWithGetter(getter, {\n name = ACCEPT_LANGUAGE_HEADER,\n parser = parseDefaultHeader\n} = {}) {\n const langString = getter();\n return langString ? name === ACCEPT_LANGUAGE_HEADER ? parser === parseDefaultHeader ? parseAcceptLanguage(langString) : parser(langString) : parser(langString) : [];\n}\nfunction getLocaleWithGetter(getter) {\n return toLocale(getter());\n}\nfunction validateLocale(locale) {\n if (!(isLocale(locale) || typeof locale === \"string\" && validateLangTag(locale))) {\n throw new SyntaxError(`locale is invalid: ${locale.toString()}`);\n }\n}\nfunction mapToLocaleFromLanguageTag(getter, ...args) {\n return Reflect.apply(getter, null, args).map(\n (lang) => getLocaleWithGetter(() => lang)\n );\n}\nfunction getExistCookies(name, getter) {\n let setCookies = getter();\n if (!Array.isArray(setCookies)) {\n setCookies = [setCookies];\n }\n setCookies = setCookies.filter(\n (cookieValue) => cookieValue && !cookieValue.startsWith(name + \"=\")\n );\n return setCookies;\n}\nfunction getPathLanguage(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return (parser || pathLanguageParser)(path) || lang;\n}\nfunction getPathLocale(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return new Intl.Locale(getPathLanguage(path, { lang, parser }));\n}\nfunction getURLSearchParams(input) {\n if (isURLSearchParams(input)) {\n return input;\n } else if (isURL(input)) {\n return input.searchParams;\n } else {\n return new URLSearchParams(input);\n }\n}\nfunction getQueryLanguage(query, { lang = DEFAULT_LANG_TAG, name = \"lang\" } = {}) {\n const queryParams = getURLSearchParams(query);\n return queryParams.get(name) || lang;\n}\nfunction getQueryLocale(query, { lang = DEFAULT_LANG_TAG, name = \"locale\" } = {}) {\n return new Intl.Locale(getQueryLanguage(query, { lang, name }));\n}\n\nexport { ACCEPT_LANGUAGE_HEADER as A, DEFAULT_LANG_TAG as D, getLocaleWithGetter as a, DEFAULT_COOKIE_NAME as b, getExistCookies as c, getPathLocale as d, pathLanguageParser as e, getQueryLocale as f, getHeaderLanguagesWithGetter as g, createPathIndexLanguageParser as h, isLocale as i, parseAcceptLanguage as j, validateLangTag as k, mapToLocaleFromLanguageTag as m, normalizeLanguageName as n, parseDefaultHeader as p, registerPathLanguageParser as r, validateLocale as v };\n","import { createPathIndexLanguageParser } from \"@intlify/utils\";\nconst separator = __ROUTE_NAME_SEPARATOR__ || \"___\";\nconst defaultSuffix = __ROUTE_NAME_DEFAULT_SUFFIX__ || \"default\";\nexport const defaultRouteNameSuffix = separator + defaultSuffix;\nexport function normalizeRouteName(routeName) {\n if (typeof routeName === \"string\") {\n return routeName;\n }\n if (routeName != null) {\n return routeName.toString();\n }\n return \"\";\n}\nexport function getRouteBaseName(route) {\n return normalizeRouteName(typeof route === \"object\" ? route?.name : route).split(separator)[0];\n}\nexport function getLocalizedRouteName(routeName, locale, isDefault) {\n return !isDefault ? routeName + separator + locale : routeName + separator + locale + defaultRouteNameSuffix;\n}\nconst pathLanguageParser = createPathIndexLanguageParser(0);\nexport const getLocaleFromRoutePath = (path) => pathLanguageParser(path);\nexport const getLocaleFromRouteName = (name) => name.split(separator).at(1) ?? \"\";\nfunction normalizeInput(input) {\n return typeof input !== \"object\" ? String(input) : String(input?.name || input?.path || \"\");\n}\nexport function getLocaleFromRoute(route) {\n const input = normalizeInput(route);\n if (input[0] === \"/\") {\n return getLocaleFromRoutePath(input);\n }\n const fromName = getLocaleFromRouteName(input);\n if (fromName) {\n return fromName;\n }\n if (typeof route === \"object\" && route?.path) {\n return getLocaleFromRoutePath(String(route.path));\n }\n return \"\";\n}\n","import { assign } from \"@intlify/shared\";\nimport { getLocalizedRouteName, normalizeRouteName } from \"#i18n-kit/routing\";\nexport function createLocaleRouteNameGetter(defaultLocale) {\n if (!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__) {\n return (routeName) => normalizeRouteName(routeName);\n }\n if (__I18N_STRATEGY__ === \"prefix_and_default\") {\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, locale === defaultLocale);\n }\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, false);\n}\nexport function createLocalizedRouteByPathResolver(router) {\n if (!__I18N_ROUTING__) {\n return (route) => route;\n }\n if (__I18N_STRATEGY__ === \"prefix\") {\n return (route, locale) => {\n const targetPath = \"/\" + locale + (route.path === \"/\" ? \"\" : route.path);\n const _route = router.options.routes.find((r) => r.path === targetPath);\n if (_route != null) {\n return router.resolve(assign({}, route, _route, { path: targetPath }));\n }\n return route;\n };\n }\n return (route) => router.resolve(route);\n}\n","// @ts-nocheck\n\nexport const localeCodes = [\n \"hu\",\n \"en\"\n]\nexport const localeLoaders = {\n hu: [\n {\n key: \"locale_hu_46json_ee06c965\",\n load: () => import(\"#nuxt-i18n/ee06c965\" /* webpackChunkName: \"locale_hu_46json_ee06c965\" */),\n cache: true\n }\n ],\n en: [\n {\n key: \"locale_en_46json_0b63539c\",\n load: () => import(\"#nuxt-i18n/0b63539c\" /* webpackChunkName: \"locale_en_46json_0b63539c\" */),\n cache: true\n }\n ]\n}\nexport const vueI18nConfigs = []\nexport const normalizedLocales = [\n {\n code: \"hu\",\n iso: \"hu-HU\",\n name: \"Magyar\",\n language: undefined\n },\n {\n code: \"en\",\n iso: \"en-GB\",\n name: \"English\",\n language: undefined\n }\n]\n\n","import { create, deepCopy, isFunction, toTypeString } from \"@intlify/shared\";\nimport { useNuxtApp } from \"#app\";\nimport { createDefu } from \"defu\";\nconst cacheMessages = /* @__PURE__ */ new Map();\nconst merger = createDefu((obj, key, value) => {\n if (key === \"messages\" || key === \"datetimeFormats\" || key === \"numberFormats\") {\n obj[key] ??= create(null);\n deepCopy(value, obj[key]);\n return true;\n }\n});\nexport async function loadVueI18nOptions(vueI18nConfigs) {\n const nuxtApp = useNuxtApp();\n let vueI18nOptions = { messages: create(null) };\n for (const configFile of vueI18nConfigs) {\n const resolver = await configFile().then((x) => isModule(x) ? x.default : x);\n const resolved = isFunction(resolver) ? await nuxtApp.runWithContext(() => resolver()) : resolver;\n vueI18nOptions = merger(create(null), resolved, vueI18nOptions);\n }\n vueI18nOptions.fallbackLocale ??= false;\n return vueI18nOptions;\n}\nconst isModule = (val) => toTypeString(val) === \"[object Module]\";\nasync function getLocaleMessages(locale, loader) {\n const nuxtApp = useNuxtApp();\n try {\n const getter = await nuxtApp.runWithContext(loader.load).then((x) => isModule(x) ? x.default : x);\n return isFunction(getter) ? await nuxtApp.runWithContext(() => getter(locale)) : getter;\n } catch (e) {\n throw new Error(`Failed loading locale (${locale}): ` + e.message);\n }\n}\nexport async function getLocaleMessagesMerged(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(\n loaders.map((loader) => nuxtApp.runWithContext(() => getLocaleMessages(locale, loader)))\n );\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nexport async function getLocaleMessagesMergedCached(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(loaders.map(async (loader) => {\n const cached = getCachedMessages(loader);\n const messages2 = cached || await nuxtApp.runWithContext(() => getLocaleMessages(locale, loader));\n if (!cached && loader.cache !== false) {\n cacheMessages.set(loader.key, { ttl: Date.now() + __I18N_CACHE_LIFETIME__ * 1e3, value: messages2 });\n }\n return messages2;\n }));\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nfunction getCachedMessages(loader) {\n if (!__I18N_CACHE__) {\n return;\n }\n if (loader.cache === false) {\n return;\n }\n const cache = cacheMessages.get(loader.key);\n if (cache == null) {\n return;\n }\n return __I18N_CACHE_LIFETIME__ === 0 || cache.ttl > Date.now() ? cache.value : void 0;\n}\n","export function getI18nTarget(i18n) {\n return i18n != null && \"global\" in i18n && \"mode\" in i18n ? i18n.global : i18n;\n}\nexport function getComposer(i18n) {\n const target = getI18nTarget(i18n);\n return \"__composer\" in target ? target.__composer : target;\n}\n","import { useRuntimeConfig } from \"#imports\";\nimport { isString } from \"@intlify/shared\";\nexport function useRuntimeI18n(nuxtApp, event) {\n if (!nuxtApp) {\n return useRuntimeConfig(event).public.i18n;\n }\n return nuxtApp.$config.public.i18n;\n}\nexport function useI18nDetection(nuxtApp) {\n const detectBrowserLanguage = useRuntimeI18n(nuxtApp).detectBrowserLanguage;\n const detect = detectBrowserLanguage || {};\n return {\n ...detect,\n enabled: !!detectBrowserLanguage,\n cookieKey: detect.cookieKey || __DEFAULT_COOKIE_KEY__\n };\n}\nexport function resolveRootRedirect(config) {\n if (!config) {\n return void 0;\n }\n return {\n path: \"/\" + (isString(config) ? config : config.path).replace(/^\\//, \"\"),\n code: !isString(config) && config.statusCode || 302\n };\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol } from \"ufo\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { toArray } from \"./utils.js\";\nexport function matchDomainLocale(locales, host, pathLocale) {\n const normalizeDomain = (domain = \"\") => domain.replace(/https?:\\/\\//, \"\");\n const matches = locales.filter(\n (locale) => normalizeDomain(locale.domain) === host || toArray(locale.domains).includes(host)\n );\n if (matches.length <= 1) {\n return matches[0]?.code;\n }\n return (\n // match by current path locale\n matches.find((l) => l.code === pathLocale)?.code || matches.find((l) => l.defaultForDomains?.includes(host) ?? l.domainDefault)?.code\n );\n}\nexport function domainFromLocale(domainLocales, url, locale) {\n const lang = normalizedLocales.find((x) => x.code === locale);\n const domain = domainLocales?.[locale]?.domain || lang?.domain || lang?.domains?.find((v) => v === url.host);\n if (!domain) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Could not find domain name for locale \" + locale);\n return;\n }\n if (hasProtocol(domain, { strict: true })) {\n return domain;\n }\n return url.protocol + \"//\" + domain;\n}\n","import { localeCodes, localeLoaders, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { isArray, isString } from \"@intlify/shared\";\nexport function createLocaleConfigs(fallbackLocale) {\n const localeConfigs = {};\n for (const locale of localeCodes) {\n const fallbacks = getFallbackLocaleCodes(fallbackLocale, [locale]);\n const cacheable = isLocaleWithFallbacksCacheable(locale, fallbacks);\n localeConfigs[locale] = { fallbacks, cacheable };\n }\n return localeConfigs;\n}\nfunction getFallbackLocaleCodes(fallback, locales) {\n if (fallback === false) {\n return [];\n }\n if (isArray(fallback)) {\n return fallback;\n }\n let fallbackLocales = [];\n if (isString(fallback)) {\n if (locales.every((locale) => locale !== fallback)) {\n fallbackLocales.push(fallback);\n }\n return fallbackLocales;\n }\n const targets = [...locales, \"default\"];\n for (const locale of targets) {\n if (locale in fallback == false) {\n continue;\n }\n fallbackLocales = [...fallbackLocales, ...fallback[locale].filter(Boolean)];\n }\n return fallbackLocales;\n}\nexport function isLocaleCacheable(locale) {\n return localeLoaders[locale] != null && localeLoaders[locale].every((loader) => loader.cache !== false);\n}\nexport function isLocaleWithFallbacksCacheable(locale, fallbackLocales) {\n return isLocaleCacheable(locale) && fallbackLocales.every((fallbackLocale) => isLocaleCacheable(fallbackLocale));\n}\nexport function getDefaultLocaleForDomain(host) {\n return normalizedLocales.find((l) => !!l.defaultForDomains?.includes(host))?.code;\n}\nexport const isSupportedLocale = (locale) => localeCodes.includes(locale || \"\");\nexport const resolveSupportedLocale = (locale) => isSupportedLocale(locale) ? locale : void 0;\n","import { isRef, unref } from \"vue\";\nimport { useCookie, useRequestURL, useState } from \"#imports\";\nimport { localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"./shared/messages.js\";\nimport { createBaseUrlGetter, createComposableContext } from \"./utils.js\";\nimport { getI18nTarget } from \"./compatibility.js\";\nimport { domainFromLocale } from \"./shared/domain.js\";\nimport { isSupportedLocale } from \"./shared/locales.js\";\nimport { resolveRootRedirect, useI18nDetection, useRuntimeI18n } from \"./shared/utils.js\";\nimport { joinURL } from \"ufo\";\nimport { isString } from \"@intlify/shared\";\nexport const useLocaleConfigs = () => useState(\n \"i18n:cached-locale-configs\",\n () => void 0\n);\nexport const useResolvedLocale = () => useState(\"i18n:resolved-locale\", () => \"\");\nfunction useI18nCookie({ cookieCrossOrigin, cookieDomain, cookieSecure, cookieKey }) {\n const date = /* @__PURE__ */ new Date();\n return useCookie(cookieKey || __DEFAULT_COOKIE_KEY__, {\n path: \"/\",\n readonly: false,\n expires: new Date(date.setDate(date.getDate() + 365)),\n sameSite: cookieCrossOrigin ? \"none\" : \"lax\",\n domain: cookieDomain || void 0,\n secure: cookieCrossOrigin || cookieSecure\n });\n}\nexport function createNuxtI18nContext(nuxt, vueI18n, defaultLocale) {\n const i18n = getI18nTarget(vueI18n);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const detectConfig = useI18nDetection(nuxt);\n const serverLocaleConfigs = useLocaleConfigs();\n const localeCookie = useI18nCookie(detectConfig);\n const loadMap = /* @__PURE__ */ new Set();\n const getLocaleConfig = (locale) => serverLocaleConfigs.value[locale];\n const getDomainFromLocale = (locale) => domainFromLocale(runtimeI18n.domainLocales, useRequestURL({ xForwardedHost: true }), locale);\n const baseUrl = createBaseUrlGetter(nuxt, runtimeI18n.baseUrl, defaultLocale, getDomainFromLocale);\n const resolvedLocale = useResolvedLocale();\n if (__I18N_SERVER_REDIRECT__ && import.meta.server && nuxt.ssrContext?.event?.context?.nuxtI18n?.detectLocale) {\n resolvedLocale.value = nuxt.ssrContext.event.context.nuxtI18n.detectLocale;\n }\n const loadMessagesFromClient = async (locale) => {\n const locales = getLocaleConfig(locale)?.fallbacks ?? [];\n if (!locales.includes(locale)) {\n locales.push(locale);\n }\n for (const k of locales) {\n const msg = await nuxt.runWithContext(() => getLocaleMessagesMergedCached(k, localeLoaders[k]));\n i18n.mergeLocaleMessage(k, msg);\n }\n };\n const loadMessagesFromServer = async (locale) => {\n if (locale in localeLoaders === false) {\n return;\n }\n const headers = getLocaleConfig(locale)?.cacheable ? {} : { \"Cache-Control\": \"no-cache\" };\n const prefix = import.meta.client && __I18N_CDN__ ? nuxt.$config.app.cdnURL || \"\" : \"\";\n const url = joinURL(prefix, __I18N_SERVER_ROUTE__, __I18N_LOCALE_HASHES__[locale], locale, \"messages.json\");\n const messages = await $fetch(url, { headers });\n for (const k of Object.keys(messages)) {\n i18n.mergeLocaleMessage(k, messages[k]);\n }\n };\n const ctx = {\n vueI18n,\n initial: true,\n preloaded: false,\n config: runtimeI18n,\n rootRedirect: resolveRootRedirect(runtimeI18n.rootRedirect),\n redirectStatusCode: runtimeI18n.redirectStatusCode ?? 302,\n dynamicResourcesSSG: !__IS_SSR__ || !__I18N_FULL_STATIC__ && (import.meta.prerender || __IS_SSG__),\n getDefaultLocale: () => defaultLocale,\n getLocale: () => unref(i18n.locale),\n setLocale: async (locale) => {\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale || !isSupportedLocale(locale)) {\n return;\n }\n if (isRef(i18n.locale)) {\n i18n.locale.value = locale;\n } else {\n i18n.locale = locale;\n }\n await nuxt.callHook(\"i18n:localeSwitched\", { newLocale: locale, oldLocale });\n resolvedLocale.value = locale;\n },\n setLocaleSuspend: async (locale) => {\n if (!isSupportedLocale(locale)) {\n return;\n }\n ctx.vueI18n.__pendingLocale = locale;\n ctx.vueI18n.__pendingLocalePromise = new Promise((resolve) => {\n ctx.vueI18n.__resolvePendingLocalePromise = async () => {\n ctx.setCookieLocale(locale);\n await ctx.setLocale(locale);\n ctx.vueI18n.__pendingLocale = void 0;\n resolve();\n };\n });\n if (import.meta.server || nuxt.isHydrating || !ctx.config.skipSettingLocaleOnNavigate) {\n await ctx.vueI18n.__resolvePendingLocalePromise?.();\n }\n },\n getLocales: () => unref(i18n.locales).map((x) => isString(x) ? { code: x } : x),\n setCookieLocale: (locale) => {\n if (detectConfig.useCookie && isSupportedLocale(locale)) {\n localeCookie.value = locale;\n }\n },\n getBaseUrl: (locale) => {\n if (locale) {\n return joinURL(getDomainFromLocale(locale) || baseUrl(), nuxt.$config.app.baseURL);\n }\n return joinURL(baseUrl(), nuxt.$config.app.baseURL);\n },\n loadMessages: async (locale) => {\n if (nuxt.isHydrating && loadMap.has(locale)) {\n return;\n }\n try {\n return ctx.dynamicResourcesSSG || import.meta.dev ? await loadMessagesFromClient(locale) : await loadMessagesFromServer(locale);\n } catch (e) {\n console.warn(`Failed to load messages for locale \"${locale}\"`, e);\n } finally {\n loadMap.add(locale);\n }\n },\n composableCtx: void 0\n };\n ctx.composableCtx = createComposableContext(ctx, nuxt);\n return ctx;\n}\nexport function useNuxtI18nContext(nuxt) {\n if (nuxt._nuxtI18n == null) {\n throw new Error(\"Nuxt I18n context has not been set up yet.\");\n }\n return nuxt._nuxtI18n;\n}\n","function matchBrowserLocale(locales, browserLocales) {\n const matchedLocales = [];\n for (const [index, browserCode] of browserLocales.entries()) {\n const matchedLocale = locales.find((l) => l.language?.toLowerCase() === browserCode.toLowerCase());\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 1 - index / browserLocales.length });\n break;\n }\n }\n for (const [index, browserCode] of browserLocales.entries()) {\n const languageCode = browserCode.split(\"-\")[0].toLowerCase();\n const matchedLocale = locales.find((l) => l.language?.split(\"-\")[0].toLowerCase() === languageCode);\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 0.999 - index / browserLocales.length });\n break;\n }\n }\n return matchedLocales;\n}\nfunction compareBrowserLocale(a, b) {\n if (a.score === b.score) {\n return b.code.length - a.code.length;\n }\n return b.score - a.score;\n}\nexport function findBrowserLocale(locales, browserLocales) {\n const matchedLocales = matchBrowserLocale(\n locales.map((l) => ({ code: l.code, language: l.language || l.code })),\n browserLocales\n );\n return matchedLocales.sort(compareBrowserLocale).at(0)?.code ?? \"\";\n}\n","import { getCookie, getRequestHeader, getRequestURL } from \"h3\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { getLocaleFromRoute, getLocaleFromRoutePath } from \"#i18n-kit/routing\";\nimport { findBrowserLocale } from \"#i18n-kit/browser\";\nimport { parseAcceptLanguage } from \"@intlify/utils\";\nimport { matchDomainLocale } from \"./domain.js\";\nimport { useRuntimeI18n } from \"../shared/utils.js\";\nimport { useCookie } from \"#app\";\nconst getCookieLocale = (event, cookieName) => (import.meta.client ? useCookie(cookieName).value : getCookie(event, cookieName)) || void 0;\nconst getRouteLocale = (event, route) => getLocaleFromRoute(route);\nconst getHeaderLocale = (event) => findBrowserLocale(normalizedLocales, parseAcceptLanguage(getRequestHeader(event, \"accept-language\") || \"\"));\nconst getNavigatorLocale = (event) => findBrowserLocale(normalizedLocales, navigator.languages);\nconst getHostLocale = (event, path, domainLocales) => {\n const host = import.meta.client ? new URL(window.location.href).host : getRequestURL(event, { xForwardedHost: true }).host;\n const locales = normalizedLocales.map((l) => ({\n ...l,\n domain: domainLocales[l.code]?.domain ?? l.domain\n }));\n return matchDomainLocale(locales, host, getLocaleFromRoutePath(path));\n};\nexport const useDetectors = (event, config, nuxtApp) => {\n if (import.meta.server && !event) {\n throw new Error(\"H3Event is required for server-side locale detection\");\n }\n const runtimeI18n = useRuntimeI18n(nuxtApp);\n return {\n cookie: () => getCookieLocale(event, config.cookieKey),\n header: () => import.meta.server ? getHeaderLocale(event) : void 0,\n navigator: () => import.meta.client ? getNavigatorLocale(event) : void 0,\n host: (path) => getHostLocale(event, path, runtimeI18n.domainLocales),\n route: (path) => getRouteLocale(event, path)\n };\n};\n","import { isEqual, joinURL, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { isFunction, isString } from \"@intlify/shared\";\nimport { navigateTo, useHead, useNuxtApp, useRequestEvent, useRequestURL, useRouter } from \"#imports\";\nimport { createLocaleRouteNameGetter, createLocalizedRouteByPathResolver } from \"./routing/utils.js\";\nimport { getRouteBaseName } from \"#i18n-kit/routing\";\nimport {\n localePath,\n switchLocalePath\n} from \"./routing/routing.js\";\nimport { useNuxtI18nContext } from \"./context.js\";\nimport { getDefaultLocaleForDomain, isSupportedLocale } from \"./shared/locales.js\";\nimport { useDetectors } from \"./shared/detection.js\";\nimport { useI18nDetection } from \"./shared/utils.js\";\nexport const isRouteLocationPathRaw = (val) => !!val.path && !val.name;\nexport function useComposableContext(nuxtApp) {\n const context = nuxtApp?._nuxtI18n?.composableCtx;\n if (!context) {\n throw new Error(\n \"i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.\"\n );\n }\n return context;\n}\nconst formatTrailingSlash = __TRAILING_SLASH__ ? withTrailingSlash : withoutTrailingSlash;\nexport function createComposableContext(ctx, nuxtApp = useNuxtApp()) {\n const router = useRouter();\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n const defaultLocale = ctx.getDefaultLocale();\n const getLocalizedRouteName = createLocaleRouteNameGetter(defaultLocale);\n function resolveLocalizedRouteByName(route, locale) {\n route.name = getRouteBaseName(route.name || router.currentRoute.value);\n const localizedName = getLocalizedRouteName(route.name, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n if (__I18N_COMPACT_ROUTES__ && route.params) {\n delete route.params.locale;\n }\n } else if (__I18N_COMPACT_ROUTES__ && isSupportedLocale(locale) && getCompactRouteNames().has(route.name)) {\n route.params = { ...route.params || {}, locale };\n return route;\n }\n route.name = localizedName;\n return route;\n }\n const routeByPathResolver = createLocalizedRouteByPathResolver(router);\n let compactRouteRecords;\n function getCompactRouteNames() {\n if (compactRouteRecords) {\n return compactRouteRecords;\n }\n compactRouteRecords = /* @__PURE__ */ new Set();\n if (__I18N_COMPACT_ROUTES__) {\n for (const r of router.getRoutes()) {\n if (r.name != null && /^\\/:locale\\(/.test(r.path)) {\n compactRouteRecords.add(String(r.name));\n }\n }\n }\n return compactRouteRecords;\n }\n function resolveLocalizedRouteByPath(input, locale) {\n const route = routeByPathResolver(input, locale);\n const baseName = getRouteBaseName(route);\n if (baseName) {\n const localizedName = getLocalizedRouteName(baseName, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n return route;\n }\n if (__I18N_COMPACT_ROUTES__ && getCompactRouteNames().has(baseName)) {\n const compacted = route;\n compacted.name = baseName;\n compacted.params = { ...compacted.params || {}, locale };\n return compacted;\n }\n route.name = localizedName;\n return route;\n }\n if (prefixable(locale, defaultLocale)) {\n route.path = \"/\" + locale + route.path;\n }\n route.path = formatTrailingSlash(route.path, true);\n return route;\n }\n const composableCtx = {\n router,\n _head: void 0,\n get head() {\n this._head ??= useHead({});\n return this._head;\n },\n metaState: { htmlAttrs: {}, meta: [], link: [] },\n seoSettings: {\n dir: __I18N_STRICT_SEO__,\n lang: __I18N_STRICT_SEO__,\n seo: __I18N_STRICT_SEO__\n },\n localePathPayload: getLocalePathPayload(),\n routingOptions: {\n defaultLocale,\n strictCanonicals: ctx.config.experimental.alternateLinkCanonicalQueries ?? true,\n hreflangLinks: !(!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__)\n },\n getLocale: ctx.getLocale,\n getLocales: ctx.getLocales,\n getBaseUrl: ctx.getBaseUrl,\n getRouteBaseName,\n getRouteLocalizedParams: () => router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] ?? {},\n getLocalizedDynamicParams: (locale) => {\n if (__I18N_STRICT_SEO__ && import.meta.client && nuxtApp.isHydrating && composableCtx.localePathPayload) {\n return composableCtx.localePathPayload[locale] || {};\n }\n return composableCtx.getRouteLocalizedParams()?.[locale];\n },\n afterSwitchLocalePath: (path, locale) => {\n const params = composableCtx.getRouteLocalizedParams();\n if (__I18N_STRICT_SEO__ && locale && Object.keys(params).length && !params[locale]) {\n return \"\";\n }\n if (__MULTI_DOMAIN_LOCALES__ && __I18N_STRATEGY__ === \"prefix_except_default\") {\n const defaultLocale2 = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host);\n if (locale !== defaultLocale2 || detectors.route(path) !== defaultLocale2) {\n return path;\n }\n return path.slice(locale.length + 1);\n }\n if (__DIFFERENT_DOMAINS__) {\n return joinURL(ctx.getBaseUrl(locale), path);\n }\n return path;\n },\n resolveLocalizedRouteObject: (route, locale) => {\n return isRouteLocationPathRaw(route) ? resolveLocalizedRouteByPath(route, locale) : resolveLocalizedRouteByName(route, locale);\n }\n };\n return composableCtx;\n}\nfunction getLocalePathPayload(nuxtApp = useNuxtApp()) {\n const payload = import.meta.client && document.querySelector(`[data-nuxt-i18n-slp=\"${nuxtApp._id}\"]`)?.textContent;\n return JSON.parse(payload || \"{}\");\n}\nexport async function loadAndSetLocale(nuxtApp, locale) {\n const ctx = useNuxtI18nContext(nuxtApp);\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale && !ctx.initial && (!ctx.vueI18n.__pendingLocale || ctx.vueI18n.__pendingLocale === locale)) {\n return locale;\n }\n const data = { oldLocale, newLocale: locale, initialSetup: ctx.initial, context: nuxtApp };\n let override = await nuxtApp.callHook(\"i18n:beforeLocaleSwitch\", data);\n if (override != null && import.meta.dev) {\n console.warn(\"[nuxt-i18n] Do not return in `i18n:beforeLocaleSwitch`, mutate `data.newLocale` instead.\");\n }\n override ??= data.newLocale;\n if (isSupportedLocale(override)) {\n locale = override;\n }\n await ctx.loadMessages(locale);\n await ctx.setLocaleSuspend(locale);\n return locale;\n}\nfunction skipDetect(detect, path, pathLocale) {\n if (!__I18N_ROUTING__) {\n return false;\n }\n if (detect.redirectOn === \"root\" && path !== \"/\") {\n return true;\n }\n if (detect.redirectOn === \"no prefix\" && !detect.alwaysRedirect && isSupportedLocale(pathLocale)) {\n return true;\n }\n return false;\n}\nexport function detectLocale(nuxtApp, route) {\n const detectConfig = useI18nDetection(nuxtApp);\n const detectors = useDetectors(useRequestEvent(nuxtApp), detectConfig, nuxtApp);\n const ctx = useNuxtI18nContext(nuxtApp);\n const path = isString(route) ? route : route.path;\n function* detect() {\n if (ctx.initial && detectConfig.enabled && !skipDetect(detectConfig, path, detectors.route(path))) {\n yield detectors.cookie();\n yield detectors.header();\n yield detectors.navigator();\n yield detectConfig.fallbackLocale;\n }\n if (__DIFFERENT_DOMAINS__ || __MULTI_DOMAIN_LOCALES__) {\n yield detectors.host(path);\n }\n if (__I18N_ROUTING__) {\n yield detectors.route(route);\n }\n }\n for (const detected of detect()) {\n if (detected && isSupportedLocale(detected)) {\n return detected;\n }\n }\n return ctx.getLocale() || ctx.getDefaultLocale() || \"\";\n}\nexport function navigate(nuxtApp, to, locale) {\n if (!__I18N_ROUTING__ || __DIFFERENT_DOMAINS__) {\n return;\n }\n const ctx = useNuxtI18nContext(nuxtApp);\n const _ctx = useComposableContext(nuxtApp);\n if (to.path === \"/\" && ctx.rootRedirect) {\n return navigateTo(localePath(_ctx, ctx.rootRedirect.path, locale), { redirectCode: ctx.rootRedirect.code });\n }\n if (ctx.vueI18n.__pendingLocale && useNuxtApp()._processingMiddleware) {\n return;\n }\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n if (detectors.route(to) === locale) {\n return;\n }\n const destination = switchLocalePath(_ctx, locale, to) || localePath(_ctx, to.fullPath, locale);\n if (isEqual(destination, to.fullPath)) {\n return;\n }\n return navigateTo(destination, { redirectCode: ctx.redirectStatusCode });\n}\nexport function prefixable(currentLocale, defaultLocale) {\n return !__DIFFERENT_DOMAINS__ && __I18N_ROUTING__ && (currentLocale !== defaultLocale || __I18N_STRATEGY__ === \"prefix\");\n}\nexport function createBaseUrlGetter(nuxt, baseUrl, defaultLocale, getDomainFromLocale) {\n if (isFunction(baseUrl)) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Configuring baseUrl as a function is deprecated and will be removed in v11.\");\n return () => baseUrl(nuxt);\n }\n return () => {\n if (__DIFFERENT_DOMAINS__ && defaultLocale) {\n return (getDomainFromLocale(defaultLocale) || baseUrl) ?? \"\";\n }\n return baseUrl ?? \"\";\n };\n}\n","/*!\n * message-compiler v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16\n};\n// Special value for higher-order compilers to pick up the last code\n// to avoid collision of error codes.\n// This should always be kept as the last item.\nconst COMPILE_ERROR_CODES_EXTEND_POINT = 17;\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 13 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 13 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 7 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '') => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return hasSpace;\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === '\\\\') {\n const nextCh = scnr.peek();\n if (nextCh === \"{\" /* TokenChars.BraceLeft */ ||\n nextCh === \"}\" /* TokenChars.BraceRight */ ||\n nextCh === \"@\" /* TokenChars.LinkedAlias */ ||\n nextCh === \"|\" /* TokenChars.Pipe */ ||\n nextCh === '\\\\') {\n buf += ch + nextCh;\n scnr.next();\n scnr.next();\n }\n else {\n scnr.resetPeek();\n buf += ch;\n scnr.next();\n }\n }\n else if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n // Check if takeNamedIdentifierChar stoped because of invalid characters\n const currentChar = scnr.currentChar();\n if (currentChar &&\n currentChar !== '}' &&\n currentChar !== EOF &&\n currentChar !== CHAR_SP &&\n currentChar !== CHAR_LF &&\n currentChar !== '\\u3000') {\n const invalidPart = readInvalidIdentifier(scnr);\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, name + invalidPart);\n return name + invalidPart;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 4 /* TokenTypes.Named */ ||\n context.currentType === 5 /* TokenTypes.List */ ||\n context.currentType === 6 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 8 /* TokenTypes.LinkedDot */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */ ||\n currentType === 9 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 7 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 8 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 7 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 13 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 13 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\n// Text context escape sequences: \\\\, \\@, \\{, \\}, \\|\nconst TEXT_ESCAPES = /\\\\([\\\\@{}|])/g;\nfunction fromTextEscapeSequence(_match, char) {\n return char;\n}\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value.replace(TEXT_ESCAPES, fromTextEscapeSequence);\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 11 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 8 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 10 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 13 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 13 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 13 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 13 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 13 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {}) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { COMPILE_ERROR_CODES_EXTEND_POINT, CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, hasOwn, isNumber, create, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray, isPlainObject, assign, isRegExp, warnOnce, isDate, isEmptyObject, join, toDisplayString, sanitizeTranslatedHtml, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey } from '@intlify/shared';\nimport { detectHtmlTag, defaultOnError, baseCompile as baseCompile$1, COMPILE_ERROR_CODES_EXTEND_POINT, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue$1(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved != null) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nconst AST_NODE_PROPS_KEYS = [\n ...PROPS_BODY,\n ...PROPS_CASES,\n ...PROPS_STATIC,\n ...PROPS_ITEMS,\n ...PROPS_KEY,\n ...PROPS_MODIFIER,\n ...PROPS_VALUE,\n ...PROPS_TYPE\n];\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\n}\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue$1(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue$1(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue$1(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue$1(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction clearCompileCache() {\n compileCache = create();\n}\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nfunction compile(message, context) {\n if ((!__INTLIFY_DROP_MESSAGE_COMPILER__) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit('i18n:init', {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = \n/* #__PURE__*/ createDevToolsHook('function:translate');\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: COMPILE_ERROR_CODES_EXTEND_POINT, // 17\n INVALID_DATE_ARGUMENT: 18,\n INVALID_ISO_DATE_ARGUMENT: 19,\n NOT_SUPPORT_NON_STRING_MESSAGE: 20,\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21,\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22,\n NOT_SUPPORT_LOCALE_TYPE: 23\n};\nconst CORE_ERROR_CODES_EXTEND_POINT = 24;\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- for generic object\n let last = obj;\n let i = 0;\n while (i < len) {\n const key = hit[i];\n /**\n * NOTE:\n * if `key` is intlify message format AST node key and `last` is intlify message format AST, skip it.\n * because the AST node is not a key-value structure.\n */\n if (AST_NODE_PROPS_KEYS.includes(key) && isMessageAST(last)) {\n return null;\n }\n if (!isObject(last)) {\n return null;\n }\n if (!hasOwn(last, key)) {\n return null;\n }\n const val = last[key];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7,\n INVALID_NUMBER_ARGUMENT: 8,\n INVALID_DATE_ARGUMENT: 9\n};\nconst CORE_WARN_CODES_EXTEND_POINT = 10;\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`,\n [CoreWarnCodes.INVALID_NUMBER_ARGUMENT]: `Invalid argument for number formatting: expected a number but received '{value}'.`,\n [CoreWarnCodes.INVALID_DATE_ARGUMENT]: `Invalid argument for datetime formatting: expected a Date, number, or ISO string but received '{value}'.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '11.4.2';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('missing', {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isString(args[0]) && !isDate(args[0]) && !isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_DATE_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_NUMBER_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n // singular (0) | plural (1)\n if (choicesLength === 2) {\n // prettier-ignore\n return choice === 1\n ? 0\n : 1;\n }\n // zero (0) | singular (1) | plural (2)\n return Math.min(choice, 2);\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n return isNumber(options.named?.count)\n ? options.named.count\n : isNumber(options.named?.n)\n ? options.named.n\n : index;\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isString(locale) && isFunction(options.pluralRules?.[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = pluralRule === pluralDefault ? undefined : pluralDefault;\n const plural = (messages) => messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n const _list = options.list || [];\n const list = (index) => _list[index];\n const _named = options.named || create(); // eslint-disable-line @typescript-eslint/no-explicit-any\n // normalize named\n if (isNumber(options.pluralIndex)) {\n _named.count ||= options.pluralIndex;\n _named.n ||= options.pluralIndex;\n }\n const named = (key) => _named[key];\n function message(key, useLinked) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key, !!useLinked)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isFunction(options.processor?.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isFunction(options.processor?.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isString(options.processor?.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key, true)(ctx);\n // If the linked message is not resolved (empty string), fall back to the key itself\n const resolved = ret === '' || ret === undefined ? key : ret;\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(resolved) && modifier\n ? resolved[0]\n : resolved;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n };\n return ctx;\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : null;\n const enableDefaultMsg = fallbackFormat ||\n (defaultMsgOrKey != null &&\n (isString(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || create()\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n let ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // apply HTML sanitization for security\n if (escapeParameter && isString(ret)) {\n ret = sanitizeTranslatedHtml(ret);\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = create();\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || create();\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start && format) {\n emitter.emit('message-resolve', {\n type: 'message-resolve',\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-compilation', {\n type: 'message-compilation',\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-evaluation', {\n type: 'message-evaluation',\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = create();\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit('compile-error', {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n const message = `Message compilation error: ${err.message}`;\n throw new SyntaxError(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n throw err;\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key, useLinked) => {\n let val = resolveValue(message, key);\n // fallback\n if (val == null && (fallbackContext || useLinked)) {\n const [format, , message] = resolveMessageFormat(fallbackContext || context, // NOTE: if has fallbackContext, fallback to root, else if use linked, fallback to local context\n key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = format ?? resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\n{\n initFeatureFlags();\n}\n\nexport { AST_NODE_PROPS_KEYS, CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { CORE_ERROR_CODES_EXTEND_POINT, createCompileError, CORE_WARN_CODES_EXTEND_POINT, isMessageAST, AST_NODE_PROPS_KEYS, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, fallbackWithLocaleChain, isMessageFunction, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { getGlobalThis, makeSymbol, format, isObject, create, isPlainObject, isArray, deepCopy, isString, hasOwn, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, warnOnce, isEmptyObject } from '@intlify/shared';\nimport * as Vue from 'vue';\nimport { createVNode, Text, computed, watch, ref, shallowRef, Fragment, defineComponent, h, getCurrentScope, onScopeDispose, effectScope, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '11.4.2';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\n\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: CORE_WARN_CODES_EXTEND_POINT, // 10\n NOT_FOUND_PARENT_SCOPE: (CORE_WARN_CODES_EXTEND_POINT + 1),\n IGNORE_OBJ_FLATTEN: (CORE_WARN_CODES_EXTEND_POINT + 2),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_LEGACY_MODE: (CORE_WARN_CODES_EXTEND_POINT + 3),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE: (CORE_WARN_CODES_EXTEND_POINT +\n 4),\n // duplicate `useI18n` calling\n DUPLICATE_USE_I18N_CALLING: (CORE_WARN_CODES_EXTEND_POINT + 5)\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_LEGACY_MODE]: `Legacy API mode has been deprecated in v11. Use Composition API mode instead.\\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]: `'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.`,\n [I18nWarnCodes.DUPLICATE_USE_I18N_CALLING]: \"Duplicate `useI18n` calling by local scope. Please don't call it on local scope, due to it does not work properly in component.\"\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n if (isMessageAST(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (subKeys[i] === '__proto__') {\n throw new Error(`unsafe key: ${subKeys[i]}`);\n }\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = create();\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n if (!isMessageAST(currentObj)) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n else {\n /**\n * NOTE:\n * if the last object is a message AST and subKeys[lastIndex] has message AST prop key, ignore to copy and key deletion\n */\n if (!AST_NODE_PROPS_KEYS.includes(subKeys[lastIndex])) {\n delete obj[key];\n }\n }\n }\n // recursive process value if value is also a object\n if (!isMessageAST(currentObj)) {\n const target = currentObj[subKeys[lastIndex]];\n if (isObject(target)) {\n handleFlatJson(target);\n }\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? create()\n : { [locale]: create() });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || create();\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n // prettier-ignore\n let messages = isObject(options.messages)\n ? options.messages\n : create();\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0);\n}\nfunction getCurrentInstance() {\n // NOTE(kazupon): avoid bundler warning\n const key = 'currentInstance';\n if (key in Vue) {\n return Vue[key];\n }\n else {\n return Vue.getCurrentInstance();\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _context.locale = val;\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _context.fallbackLocale = val;\n _fallbackLocale.value = val;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit('fallback', {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n // When locale is explicitly specified, check only that locale (no fallback chain)\n // When locale is not specified, check the fallback locale chain\n const locales = isString(locale)\n ? [targetLocale]\n : fallbackWithLocaleChain(_context, _fallbackLocale.value, targetLocale);\n for (let i = 0; i < locales.length; i++) {\n const message = getLocaleMessage(locales[i]);\n let resolved = _context.messageResolver(message, key);\n // if null, resolve with object key path (for flat keys containing dots)\n if (resolved === null) {\n resolved = message[key];\n }\n if (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)) {\n return true;\n }\n }\n return false;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nconst VueDevToolsLabels = {\n 'vue-devtools-plugin-vue-i18n': 'Vue I18n DevTools',\n 'vue-i18n-resource-inspector': 'Vue I18n DevTools',\n 'vue-i18n-timeline': 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n 'vue-i18n-resource-inspector': 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n 'vue-i18n-timeline': 0xffcd19\n};\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: 'vue-devtools-plugin-vue-i18n',\n label: VueDevToolsLabels['vue-devtools-plugin-vue-i18n'],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.__VUE_I18N__ && instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: 'vue-i18n-resource-inspector',\n label: VueDevToolsLabels['vue-i18n-resource-inspector'],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders['vue-i18n-resource-inspector']\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: 'vue-i18n-timeline',\n label: VueDevToolsLabels['vue-i18n-timeline'],\n color: VueDevToolsTimelineColors['vue-i18n-timeline']\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$2(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: 'vue-i18n-timeline',\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === 'compile-error'\n ? 'error'\n : event === 'fallback' || event === 'missing'\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n *\n * @deprecated will be removed at vue-i18n v12\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$i18n) {\n const instance = getCurrentInstance();\n if (!instance) {\n return;\n }\n const _vueI18n = this.$i18n;\n instance.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n instance.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete instance.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, create());\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const renderChildren = () => {\n const keys = Object.keys(slots).filter(key => key[0] !== '_');\n const options = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const renderChildren = () => {\n const options = { part: true };\n let overrides = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n return children;\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\n/**\n * @deprecated will be removed at vue-i18n v12\n */\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n if ((process.env.NODE_ENV !== 'production')) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE));\n }\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser) {\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n if ((process.env.NODE_ENV !== 'production') && __legacyMode) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_LEGACY_MODE));\n }\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n // Isolated scope - independent composer not tied to component\n if (scope === 'isolated') {\n // Composition API mode only\n if (i18n.mode !== 'composition') {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n const i18nInternalIso = i18n;\n const composerOptions = assign({}, options);\n // Find parent composer via parent chain (or fall back to global)\n const parentComposer = getComposer(i18n, instance);\n composerOptions.__root = parentComposer || gl;\n const composer = createComposer(composerOptions);\n // ComposerExtend hook\n if (i18nInternalIso.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternalIso.__composerExtend(composer);\n }\n // Setup devtools emitter (no target.__VUE_I18N__ attachment -\n // multiple isolated composers per component are allowed)\n let emitter = null;\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n // Lifecycle cleanup via onScopeDispose\n const currentScope = getCurrentScope();\n if (currentScope) {\n onScopeDispose(() => {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dispose = composer[DisposeSymbol];\n if (dispose) {\n dispose();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete composer[DisposeSymbol];\n }\n });\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && scope === 'local') {\n warn(getWarnMessage(I18nWarnCodes.DUPLICATE_USE_I18N_CALLING));\n }\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode) {\n const scope = effectScope();\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n target.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nregisterMessageCompiler(compile);\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n","import { useCookie, useNuxtApp, useRequestEvent } from \"#imports\";\nimport { ref, watch } from \"vue\";\nimport { _useLocaleHead, _useSetI18nParams } from \"../routing/head.js\";\nimport { useComposableContext } from \"../utils.js\";\nimport { localePath, localeRoute, switchLocalePath } from \"../routing/routing.js\";\nexport * from \"vue-i18n\";\nexport * from \"./shared.js\";\nexport function useSetI18nParams(seo, nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return _useSetI18nParams(common, seo);\n}\nexport function useLocaleHead({ dir = true, lang = true, seo = true } = {}, nuxtApp = useNuxtApp()) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\n \"Strict SEO mode is enabled, `useLocaleHead` should not be used as localized head tags are handled internally by `@nuxtjs/i18n`\"\n );\n }\n const common = useComposableContext(nuxtApp);\n common.seoSettings = { dir, lang, seo };\n const head = _useLocaleHead(common, common.seoSettings);\n if (import.meta.client) {\n watch(head, () => common.metaState = head.value);\n }\n common.metaState = head.value;\n return head;\n}\nexport function useRouteBaseName(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route) => {\n if (route == null) {\n return;\n }\n return common.getRouteBaseName(route) || void 0;\n };\n}\nexport function useLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localePath(common, route, locale);\n}\nexport function useLocaleRoute(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localeRoute(common, route, locale);\n}\nexport function useSwitchLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (locale) => switchLocalePath(common, locale);\n}\nexport function useBrowserLocale(nuxtApp = useNuxtApp()) {\n return (nuxtApp || useNuxtApp()).$i18n.getBrowserLocale() || null;\n}\nexport function useCookieLocale(nuxtApp = useNuxtApp()) {\n const locale = ref(\"\");\n const nuxt = nuxtApp || useNuxtApp();\n const detect = nuxt.$config.public.i18n.detectBrowserLanguage;\n if (!detect || !detect.useCookie) {\n return locale;\n }\n const locales = useComposableContext(nuxt).getLocales();\n const code = useCookie(detect.cookieKey).value;\n if (code && locales.some((x) => x.code === code)) {\n locale.value = code;\n }\n return locale;\n}\nconst warnRuntimeUsage = (method) => console.warn(\n method + \"() is a compiler-hint helper that is only usable inside the script block of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.\"\n);\nexport function defineI18nRoute(route) {\n if (import.meta.dev) {\n warnRuntimeUsage(\"defineI18nRoute\");\n }\n}\nexport function useI18nPreloadKeys(keys) {\n if (import.meta.server) {\n const ctx = useRequestEvent()?.context?.nuxtI18n;\n if (ctx == null) {\n console.warn(\"useI18nPreloadKeys(): `nuxtI18n` server context is accessible.\");\n return;\n }\n const locale = useComposableContext(useNuxtApp()).getLocale();\n if (!locale) {\n console.warn(\"useI18nPreloadKeys(): Could not resolve locale during server-side render.\");\n return;\n }\n for (const k of keys) {\n ctx?.trackKey(k, locale);\n }\n }\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useSwitchLocalePath } from \"#i18n\";\nconst identifier = __SWITCH_LOCALE_PATH_LINK_IDENTIFIER__;\nconst switchLocalePathLinkWrapperExpr = new RegExp(\n [``, `.+?`, ``].join(\"\"),\n \"g\"\n);\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:switch-locale-path-ssr\",\n dependsOn: [\"i18n:plugin\"],\n setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const switchLocalePath = useSwitchLocalePath(nuxt);\n nuxt.hook(\"app:rendered\", (ctx) => {\n if (ctx.renderResult?.html == null) {\n return;\n }\n ctx.renderResult.html = ctx.renderResult.html.replaceAll(\n switchLocalePathLinkWrapperExpr,\n (match, p1) => {\n const encoded = encodeURI(switchLocalePath(p1 ?? \"\"));\n return match.replace(\n /href=\"([^\"]+)\"/,\n `href=\"${encoded || \"#\"}\" ${!encoded && __I18N_STRICT_SEO__ ? \"data-i18n-disabled\" : \"\"}`\n );\n }\n );\n });\n }\n});\n","import { useNuxtI18nContext, useResolvedLocale } from \"../context.js\";\nimport { detectLocale, loadAndSetLocale, navigate } from \"../utils.js\";\nimport { addRouteMiddleware, defineNuxtPlugin, defineNuxtRouteMiddleware, useNuxtApp, useRouter } from \"#imports\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:route-locale-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\"] : [\"i18n:plugin\", \"i18n:plugin:preload\"],\n async setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (__I18N_COMPACT_ROUTES__) {\n const router = useRouter();\n for (const route of router.getRoutes()) {\n if (route.meta?.__i18nCompact && route.meta.key == null) {\n route.meta.key = (r) => r.path;\n }\n }\n }\n const resolvedLocale = useResolvedLocale();\n await nuxt.runWithContext(\n () => loadAndSetLocale(\n nuxt,\n ctx.initial && resolvedLocale.value || detectLocale(nuxt, nuxt.$router.currentRoute.value)\n )\n );\n if (!__I18N_ROUTING__ || import.meta.server && __I18N_SERVER_REDIRECT__) {\n return;\n }\n addRouteMiddleware(\n \"locale-changing\",\n defineNuxtRouteMiddleware(async (to) => {\n const locale = await nuxt.runWithContext(() => loadAndSetLocale(nuxt, detectLocale(nuxt, to)));\n ctx.initial = false;\n return nuxt.runWithContext(() => navigate(nuxt, to, locale));\n }),\n { global: true }\n );\n }\n});\n","import { parse } from \"devalue\";\nimport { unref } from \"vue\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { localeCodes, localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"../shared/messages.js\";\nimport { useNuxtI18nContext } from \"../context.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:preload\",\n dependsOn: [\"i18n:plugin\"],\n async setup(_nuxt) {\n if (!__I18N_PRELOAD__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (import.meta.server) {\n for (const locale of localeCodes) {\n try {\n const messages = await $fetch(`${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`);\n for (const locale2 of Object.keys(messages)) {\n nuxt.$i18n.mergeLocaleMessage(locale2, messages[locale2]);\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n }\n ctx.preloaded = true;\n const serverI18n = nuxt.ssrContext?.event.context.nuxtI18n;\n if (serverI18n) {\n const msg = unref(ctx.vueI18n.global.messages);\n serverI18n.messages ??= {};\n for (const k in msg) {\n serverI18n.messages[k] = msg[k];\n }\n }\n }\n if (import.meta.client) {\n await mergePayloadMessages(ctx, ctx.vueI18n.global, nuxt);\n if (ctx.preloaded && __I18N_STRIP_UNUSED__) {\n const unsub = nuxt.$router.beforeResolve(async (to, from) => {\n if (to.path === from.path) {\n return;\n }\n await ctx.loadMessages(ctx.getLocale());\n unsub();\n });\n }\n }\n }\n});\nasync function mergePayloadMessages(ctx, i18n, nuxt = useNuxtApp()) {\n const content = document.querySelector(`[data-nuxt-i18n=\"${nuxt._id}\"]`)?.textContent;\n const preloadedMessages = content && parse(content);\n const preloadedKeys = Object.keys(preloadedMessages || {});\n if (preloadedKeys.length) {\n if (ctx.dynamicResourcesSSG) {\n const getKeyedLocaleMessages = async (locale) => {\n return { [locale]: await getLocaleMessagesMergedCached(locale, localeLoaders[locale]) };\n };\n try {\n const msg = await Promise.all(preloadedKeys.map(getKeyedLocaleMessages));\n for (const m of msg) {\n for (const k in m) {\n i18n.mergeLocaleMessage(k, m[k]);\n }\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n ctx.preloaded = true;\n } else {\n for (const locale of preloadedKeys) {\n const messages = preloadedMessages[locale];\n if (messages) {\n i18n.mergeLocaleMessage(locale, messages);\n }\n }\n ctx.preloaded = true;\n }\n }\n}\n","import { effectScope } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { getComposer } from \"../compatibility.js\";\nexport function extendI18n(i18n, { extendComposer, extendComposerInstance }) {\n const scope = effectScope();\n const installI18n = i18n.install.bind(i18n);\n i18n.install = (app, ...options) => {\n const pluginOptions = assign({}, options[0]);\n pluginOptions.__composerExtend = (c) => {\n extendComposerInstance(c, getComposer(i18n));\n return () => {\n };\n };\n if (i18n.mode === \"legacy\") {\n pluginOptions.__vueI18nExtend = (vueI18n) => {\n extendComposerInstance(vueI18n, getComposer(vueI18n));\n return () => {\n };\n };\n }\n Reflect.apply(installI18n, i18n, [app, pluginOptions]);\n const globalComposer = getComposer(i18n);\n scope.run(() => {\n extendComposer(globalComposer);\n if (i18n.mode === \"legacy\" && \"__composer\" in i18n.global) {\n extendComposerInstance(i18n.global, getComposer(i18n.global));\n }\n });\n if (i18n.mode === \"composition\" && app.config.globalProperties.$i18n != null) {\n extendComposerInstance(app.config.globalProperties.$i18n, globalComposer);\n }\n if (app.unmount) {\n const unmountApp = app.unmount.bind(app);\n app.unmount = () => {\n scope.stop();\n unmountApp();\n };\n }\n };\n}\n","import { loadVueI18nOptions } from \"./messages.js\";\nimport { localeCodes as _localeCodes, vueI18nConfigs } from \"#build/i18n-options.mjs\";\nexport const setupVueI18nOptions = async (defaultLocale) => {\n const options = await loadVueI18nOptions(vueI18nConfigs);\n options.locale = defaultLocale || options.locale || \"en-US\";\n options.defaultLocale = defaultLocale;\n options.fallbackLocale ??= false;\n options.messages ??= {};\n for (const locale of _localeCodes) {\n options.messages[locale] ??= {};\n }\n return options;\n};\n","import { computed, ref, watch } from \"vue\";\nimport { createI18n } from \"vue-i18n\";\nimport { defineNuxtPlugin, prerenderRoutes, useNuxtApp, useRequestEvent, useRequestURL } from \"#imports\";\nimport { localeCodes, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { loadAndSetLocale, navigate } from \"../utils.js\";\nimport { extendI18n } from \"../routing/i18n.js\";\nimport { getI18nTarget } from \"../compatibility.js\";\nimport { _useLocaleHead, localeHead } from \"../routing/head.js\";\nimport { useLocalePath, useLocaleRoute, useRouteBaseName, useSwitchLocalePath } from \"../composables/index.js\";\nimport { createLocaleConfigs, getDefaultLocaleForDomain, resolveSupportedLocale } from \"../shared/locales.js\";\nimport { setupVueI18nOptions } from \"../shared/vue-i18n.js\";\nimport { createNuxtI18nContext, useLocaleConfigs } from \"../context.js\";\nimport { useI18nDetection, useRuntimeI18n } from \"../shared/utils.js\";\nimport { useDetectors } from \"../shared/detection.js\";\nimport { setupMultiDomainLocales } from \"../routing/domain.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin\",\n parallel: __PARALLEL_PLUGIN__,\n async setup(_nuxt) {\n Object.defineProperty(_nuxt.versions, \"nuxtI18n\", { get: () => __NUXT_I18N_VERSION__ });\n const nuxt = useNuxtApp(_nuxt._id);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const preloadedOptions = nuxt.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions;\n const _defaultLocale = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host) || runtimeI18n.defaultLocale || \"\";\n const optionsI18n = preloadedOptions || await setupVueI18nOptions(_defaultLocale);\n const localeConfigs = useLocaleConfigs();\n if (import.meta.server) {\n localeConfigs.value = useRequestEvent().context.nuxtI18n?.localeConfigs || {};\n } else {\n localeConfigs.value ??= createLocaleConfigs(optionsI18n.fallbackLocale);\n }\n if (__MULTI_DOMAIN_LOCALES__) {\n setupMultiDomainLocales(optionsI18n.defaultLocale);\n }\n prerenderRoutes(localeCodes.map((locale) => `${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`));\n const i18n = createI18n(optionsI18n);\n const detectors = useDetectors(useRequestEvent(nuxt), useI18nDetection(nuxt), nuxt);\n const ctx = createNuxtI18nContext(nuxt, i18n, optionsI18n.defaultLocale);\n nuxt._nuxtI18n = ctx;\n if (__I18N_STRIP_UNUSED__ && import.meta.server) {\n wrapTranslationFunctions(ctx);\n }\n extendI18n(i18n, {\n extendComposer(composer) {\n composer.locales = computed(() => runtimeI18n.locales);\n composer.localeCodes = computed(() => localeCodes);\n const _baseUrl = ref(ctx.getBaseUrl());\n composer.baseUrl = computed(() => _baseUrl.value);\n if (import.meta.client) {\n watch(composer.locale, () => _baseUrl.value = ctx.getBaseUrl());\n }\n composer.strategy = __I18N_STRATEGY__;\n composer.localeProperties = computed(\n () => normalizedLocales.find((l) => l.code === composer.locale.value) || { code: composer.locale.value }\n );\n composer.setLocale = async (locale) => {\n await loadAndSetLocale(nuxt, locale);\n await nuxt.runWithContext(() => navigate(nuxt, nuxt.$router.currentRoute.value, locale));\n };\n composer.loadLocaleMessages = ctx.loadMessages;\n composer.differentDomains = __DIFFERENT_DOMAINS__;\n composer.defaultLocale = optionsI18n.defaultLocale;\n composer.getBrowserLocale = () => import.meta.client ? resolveSupportedLocale(detectors.navigator()) : resolveSupportedLocale(detectors.header());\n composer.getLocaleCookie = () => resolveSupportedLocale(detectors.cookie());\n composer.setLocaleCookie = ctx.setCookieLocale;\n composer.finalizePendingLocaleChange = async () => {\n if (!i18n.__pendingLocale) {\n return;\n }\n await i18n.__resolvePendingLocalePromise?.();\n };\n composer.waitForPendingLocaleChange = async () => {\n await i18n?.__pendingLocalePromise;\n };\n },\n extendComposerInstance(instance, c) {\n const props = [\n [\"locales\", () => c.locales],\n [\"localeCodes\", () => c.localeCodes],\n [\"baseUrl\", () => c.baseUrl],\n [\"strategy\", () => __I18N_STRATEGY__],\n [\"localeProperties\", () => c.localeProperties],\n [\"setLocale\", () => (locale) => Reflect.apply(c.setLocale, c, [locale])],\n [\"loadLocaleMessages\", () => (locale) => Reflect.apply(c.loadLocaleMessages, c, [locale])],\n [\"differentDomains\", () => __DIFFERENT_DOMAINS__],\n [\"defaultLocale\", () => c.defaultLocale],\n [\"getBrowserLocale\", () => () => Reflect.apply(c.getBrowserLocale, c, [])],\n [\"getLocaleCookie\", () => () => Reflect.apply(c.getLocaleCookie, c, [])],\n [\"setLocaleCookie\", () => (locale) => Reflect.apply(c.setLocaleCookie, c, [locale])],\n [\"finalizePendingLocaleChange\", () => () => Reflect.apply(c.finalizePendingLocaleChange, c, [])],\n [\"waitForPendingLocaleChange\", () => () => Reflect.apply(c.waitForPendingLocaleChange, c, [])]\n ];\n for (const [key, get] of props) {\n Object.defineProperty(instance, key, { get });\n }\n }\n });\n nuxt.vueApp.use(i18n);\n Object.defineProperty(nuxt, \"$i18n\", { get: () => getI18nTarget(i18n) });\n nuxt.provide(\"localeHead\", (options) => localeHead(nuxt._nuxtI18n.composableCtx, options));\n nuxt.provide(\"localePath\", useLocalePath(nuxt));\n nuxt.provide(\"localeRoute\", useLocaleRoute(nuxt));\n nuxt.provide(\"routeBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"getRouteBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"switchLocalePath\", useSwitchLocalePath(nuxt));\n if (__I18N_STRICT_SEO__) {\n nuxt.hook(import.meta.server ? \"app:rendered\" : \"app:mounted\", () => {\n _useLocaleHead(nuxt._nuxtI18n.composableCtx, { dir: true, lang: true, seo: true });\n });\n }\n }\n});\nfunction wrapTranslationFunctions(ctx, serverI18n = useRequestEvent()?.context?.nuxtI18n) {\n if (!serverI18n) {\n return;\n }\n const i18n = ctx.vueI18n.global;\n const originalT = i18n.t.bind(i18n);\n i18n.t = (key, listOrNamed, opts) => {\n const locale = typeof opts === \"object\" && opts?.locale || ctx.getLocale();\n serverI18n?.trackKey(key, locale);\n return originalT(key, listOrNamed, opts);\n };\n const originalTe = i18n.te.bind(i18n);\n i18n.te = (key, locale) => {\n serverI18n?.trackKey(key, locale || ctx.getLocale());\n return originalTe(key, locale);\n };\n const originalTm = i18n.tm.bind(i18n);\n i18n.tm = (key) => {\n serverI18n?.trackKey(key, ctx.getLocale());\n return originalTm(key);\n };\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useNuxtI18nContext } from \"../context.js\";\nimport { detectLocale } from \"../utils.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:ssg-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\"] : [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\", \"i18n:plugin:preload\"],\n enforce: \"post\",\n setup(_nuxt) {\n if (!__IS_SSG__ || !__I18N_ROUTING__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n nuxt.hook(\"app:mounted\", async () => {\n const detected = detectLocale(nuxt, nuxt.$router.currentRoute.value);\n await nuxt.runWithContext(() => nuxt.$i18n.setLocale(detected));\n ctx.initial = false;\n });\n }\n});\n","import payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M from \"/app/node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js\";\nimport unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU from \"/app/node_modules/nuxt/dist/head/runtime/plugins/unhead.js\";\nimport router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw from \"/app/node_modules/nuxt/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms from \"/app/node_modules/nuxt/dist/app/plugins/revive-payload.server.js\";\nimport plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs from \"/app/node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js\";\nimport components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4 from \"/app/.nuxt/components.plugin.mjs\";\nimport switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js\";\nimport route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js\";\nimport preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24 from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js\";\nimport i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js\";\nimport ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js\";\nexport default [\n payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M,\n unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,\n router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw,\n revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,\n plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs,\n components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4,\n switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw,\n route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U,\n preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24,\n i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM,\n ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs\n]","import { defineAsyncComponent } from 'vue'\nexport default {\n default: defineAsyncComponent(() => import(\"/app/layouts/default.vue\").then(m => m.default || m))\n}","import { Suspense, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, shallowReactive, shallowRef, unref } from \"vue\";\nimport { useRoute, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"./utils.js\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"./injections.js\";\nimport { useRoute as useVueRouterRoute } from \"#build/pages\";\nimport layouts from \"#build/layouts\";\nimport { appLayoutTransition as defaultLayoutTransition } from \"#build/nuxt.config.mjs\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nconst LayoutLoader = defineComponent({\n name: \"LayoutLoader\",\n inheritAttrs: false,\n props: {\n name: String,\n layoutProps: Object\n },\n setup(props, context) {\n return () => h(layouts[props.name], props.layoutProps, context.slots);\n }\n});\nconst nuxtLayoutProps = {\n name: {\n type: [String, Boolean, Object],\n default: null\n },\n fallback: {\n type: [String, Object],\n default: null\n }\n};\nexport default defineComponent({\n name: \"NuxtLayout\",\n inheritAttrs: false,\n props: nuxtLayoutProps,\n setup(props, context) {\n const nuxtApp = useNuxtApp();\n const injectedRoute = inject(PageRouteSymbol);\n const shouldUseEagerRoute = !injectedRoute || injectedRoute === useRoute();\n const route = shouldUseEagerRoute ? useVueRouterRoute() : injectedRoute;\n const layout = computed(() => {\n let layout2 = unref(props.name) ?? route?.meta.layout ?? routeRulesMatcher(route?.path).appLayout ?? \"default\";\n if (layout2 && !(layout2 in layouts)) {\n if (import.meta.dev && layout2 !== \"default\") {\n console.warn(`[nuxt] Invalid layout \\`${layout2}\\` selected.`);\n }\n if (props.fallback) {\n layout2 = unref(props.fallback);\n }\n }\n return layout2;\n });\n const layoutRef = shallowRef();\n context.expose({ layoutRef });\n const done = nuxtApp.deferHydration();\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtLayoutUsed = true;\n }\n let lastLayout;\n return () => {\n const hasLayout = !!layout.value && layout.value in layouts;\n const hasTransition = hasLayout && !!(route?.meta.layoutTransition ?? defaultLayoutTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n route?.meta.layoutTransition,\n defaultLayoutTransition,\n {\n onBeforeLeave() {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n },\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n }\n }\n ]);\n const previouslyRenderedLayout = lastLayout;\n lastLayout = layout.value;\n return _wrapInTransition(transitionProps, {\n default: () => h(\n Suspense,\n {\n suspensible: true,\n onResolve: async () => {\n await nextTick(done);\n }\n },\n {\n default: () => h(\n LayoutProvider,\n {\n layoutProps: mergeProps(context.attrs, route.meta.layoutProps ?? {}, { ref: layoutRef }),\n key: layout.value || void 0,\n name: layout.value,\n shouldProvide: !props.name,\n isRenderingNewLayout: (name) => {\n return name !== previouslyRenderedLayout && name === layout.value;\n },\n hasTransition\n },\n context.slots\n )\n }\n )\n }).default();\n };\n }\n});\nconst LayoutProvider = defineComponent({\n name: \"NuxtLayoutProvider\",\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Boolean]\n },\n layoutProps: {\n type: Object\n },\n hasTransition: {\n type: Boolean\n },\n shouldProvide: {\n type: Boolean\n },\n isRenderingNewLayout: {\n type: Function,\n required: true\n }\n },\n setup(props, context) {\n const name = props.name;\n if (props.shouldProvide) {\n provide(LayoutMetaSymbol, {\n // When name=false, always return true so NuxtPage doesn't skip rendering\n isCurrent: (route) => name === false || name === (route.meta.layout ?? routeRulesMatcher(route.path).appLayout ?? \"default\")\n });\n }\n const injectedRoute = inject(PageRouteSymbol);\n const isNotWithinNuxtPage = injectedRoute && injectedRoute === useRoute();\n if (isNotWithinNuxtPage) {\n const vueRouterRoute = useVueRouterRoute();\n const reactiveChildRoute = {};\n for (const _key in vueRouterRoute) {\n const key = _key;\n Object.defineProperty(reactiveChildRoute, key, {\n enumerable: true,\n get: () => {\n return props.isRenderingNewLayout(props.name) ? vueRouterRoute[key] : injectedRoute[key];\n }\n });\n }\n provide(PageRouteSymbol, shallowReactive(reactiveChildRoute));\n }\n let vnode;\n if (import.meta.dev && import.meta.client) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n if (name) {\n console.warn(`[nuxt] \\`${name}\\` layout does not have a single root node and will cause errors when navigating between routes.`);\n } else {\n console.warn(\"[nuxt] `` needs to be passed a single root node in its default slot.\");\n }\n }\n });\n });\n }\n return () => {\n if (!name || typeof name === \"string\" && !(name in layouts)) {\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = context.slots.default?.();\n return vnode;\n }\n return context.slots.default?.();\n }\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n return vnode;\n }\n return h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n };\n }\n});\n","import { defineComponent, h, nextTick, onMounted, provide, shallowReactive } from \"vue\";\nimport { PageRouteSymbol } from \"./injections.js\";\nexport const defineRouteProvider = (name = \"RouteProvider\") => defineComponent({\n name,\n props: {\n route: {\n type: Object,\n required: true\n },\n vnode: Object,\n vnodeRef: Object,\n renderKey: String,\n trackRootNodes: Boolean\n },\n setup(props) {\n const previousKey = props.renderKey;\n const previousRoute = props.route;\n const route = {};\n for (const key in props.route) {\n Object.defineProperty(route, key, {\n get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],\n enumerable: true\n });\n }\n provide(PageRouteSymbol, shallowReactive(route));\n let vnode;\n if (import.meta.dev && import.meta.client && props.trackRootNodes) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n const filename = vnode?.type?.__file;\n console.warn(`[nuxt] \\`${filename}\\` does not have a single root node and will cause errors when navigating between routes.`);\n }\n });\n });\n }\n return () => {\n if (!props.vnode) {\n return props.vnode;\n }\n if (import.meta.dev && import.meta.client) {\n vnode = h(props.vnode, { ref: props.vnodeRef });\n return vnode;\n }\n return h(props.vnode, { ref: props.vnodeRef });\n };\n }\n});\nexport const RouteProvider = defineRouteProvider();\n","import { Fragment, Suspense, defineComponent, h, inject, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { RouterView } from \"vue-router\";\nimport { generateRouteKey, wrapInKeepAlive } from \"./utils.js\";\nimport { RouteProvider, defineRouteProvider } from \"#app/components/route-provider\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"#app/components/utils\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\nimport { appKeepalive as defaultKeepaliveConfig, appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nconst _routeProviders = import.meta.dev ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new WeakMap();\nexport default defineComponent({\n name: \"NuxtPage\",\n inheritAttrs: false,\n props: {\n name: {\n type: String\n },\n transition: {\n type: [Boolean, Object],\n default: void 0\n },\n keepalive: {\n type: [Boolean, Object],\n default: void 0\n },\n route: {\n type: Object\n },\n pageKey: {\n type: [Function, String],\n default: null\n }\n },\n setup(props, { attrs, slots, expose }) {\n const nuxtApp = useNuxtApp();\n const pageRef = ref();\n const forkRoute = inject(PageRouteSymbol, null);\n let previousPageKey;\n expose({ pageRef });\n const _layoutMeta = inject(LayoutMetaSymbol, null);\n let vnode;\n const done = nuxtApp.deferHydration();\n let isSuspensePending = false;\n let hasResolvedOnce = false;\n let suspenseKey = 0;\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.client && props.pageKey) {\n watch(() => props.pageKey, (next, prev) => {\n if (next !== prev) {\n nuxtApp.callHook(\"page:loading:start\");\n }\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtPageUsed = true;\n }\n let pageLoadingEndHookAlreadyCalled = false;\n if (import.meta.client) {\n const unsub = useRouter().beforeResolve(() => {\n pageLoadingEndHookAlreadyCalled = false;\n });\n onBeforeUnmount(() => {\n unsub();\n done();\n });\n }\n return () => {\n return h(RouterView, { name: props.name, route: props.route, ...attrs }, {\n default: import.meta.server ? (routeProps) => {\n return h(Suspense, { suspensible: true }, {\n default() {\n return h(RouteProvider, {\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n vnodeRef: pageRef\n });\n }\n });\n } : (routeProps) => {\n const isRenderingNewRouteInOldFork = haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n const hasSameChildren = forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n if (!routeProps.Component) {\n if (vnode && !hasSameChildren && !isStaleVNode(vnode)) {\n return vnode;\n }\n done();\n return;\n }\n if (vnode && _layoutMeta && !isStaleVNode(vnode) && !_layoutMeta.isCurrent(routeProps.route)) {\n return vnode;\n }\n if (isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n if ((hasSameChildren || vnode) && !isStaleVNode(vnode)) {\n return vnode;\n }\n return null;\n }\n const key = generateRouteKey(routeProps, props.pageKey);\n const willRenderAnotherChild = hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component);\n if (!nuxtApp.isHydrating && previousPageKey === key && !willRenderAnotherChild) {\n nextTick(() => {\n if (!pageLoadingEndHookAlreadyCalled) {\n pageLoadingEndHookAlreadyCalled = true;\n nuxtApp.callHook(\"page:loading:end\");\n }\n });\n }\n if (isSuspensePending && previousPageKey !== key && hasResolvedOnce) {\n suspenseKey++;\n }\n previousPageKey = key;\n const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? defaultPageTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n props.transition,\n routeProps.route.meta.pageTransition,\n defaultPageTransition,\n {\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n nuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n }\n }\n ]);\n const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? defaultKeepaliveConfig;\n vnode = _wrapInTransition(\n hasTransition && transitionProps,\n wrapInKeepAlive(\n keepaliveConfig,\n h(Suspense, {\n key: suspenseKey,\n suspensible: true,\n onPending: () => {\n isSuspensePending = true;\n if (hasTransition && !nuxtApp[\"~transitionPromise\"]) {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n }\n nuxtApp.callHook(\"page:start\", routeProps.Component);\n },\n onResolve: async () => {\n isSuspensePending = false;\n hasResolvedOnce = true;\n try {\n await nextTick();\n nuxtApp._route.sync?.();\n await nuxtApp.callHook(\"page:finish\", routeProps.Component);\n if (!pageLoadingEndHookAlreadyCalled && !willRenderAnotherChild) {\n pageLoadingEndHookAlreadyCalled = true;\n await nuxtApp.callHook(\"page:loading:end\");\n }\n } finally {\n done();\n }\n }\n }, {\n default: () => {\n const routeProviderProps = {\n key: key || void 0,\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n renderKey: key || void 0,\n trackRootNodes: hasTransition,\n vnodeRef: pageRef\n };\n if (!keepaliveConfig) {\n return h(RouteProvider, routeProviderProps);\n }\n const routerComponentType = routeProps.Component.type;\n const routeProviderKey = import.meta.dev ? routerComponentType.name || routerComponentType.__name : routerComponentType;\n let PageRouteProvider = _routeProviders.get(routeProviderKey);\n if (!PageRouteProvider) {\n PageRouteProvider = defineRouteProvider(routerComponentType.name || routerComponentType.__name);\n _routeProviders.set(routeProviderKey, PageRouteProvider);\n }\n return h(PageRouteProvider, routeProviderProps);\n }\n })\n )\n ).default();\n return vnode;\n }\n });\n };\n }\n});\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n if (index === -1) {\n return false;\n }\n const newParents = newRoute.matched.slice(0, index).filter((m) => m.components?.default);\n if (!newParents.length) {\n return false;\n }\n const forkParents = fork.matched.filter((m) => m.components?.default);\n return newParents.some((c, i) => c.components?.default !== forkParents[i]?.components?.default) || Component && generateRouteKey({ route: newRoute, Component }) !== generateRouteKey({ route: fork, Component });\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n return index < newRoute.matched.length - 1;\n}\nfunction normalizeSlot(slot, data) {\n const slotContent = slot(data);\n return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);\n}\nfunction isStaleVNode(vnode) {\n return !!vnode && (!!vnode.suspense?.isUnmounted || !!vnode.component?.isUnmounted);\n}\n","\n\n\n","\n\n\n","\n\n\n","import { createApp, createSSRApp, nextTick } from \"vue\";\nimport \"#build/fetch.mjs\";\nimport \"#build/global-polyfills.mjs\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\nimport { appId, appSpaLoaderAttrs, multiApp, spaLoadingTemplateOutside, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nlet entry;\nif (import.meta.server) {\n entry = async function createNuxtAppServer(ssrContext) {\n const vueApp = createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp, ssrContext });\n try {\n await applyPlugins(nuxt, plugins);\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n } catch (error) {\n await nuxt.hooks.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n if (ssrContext && (ssrContext[\"~renderResponse\"] || ssrContext._renderResponse)) {\n throw new Error(\"skipping render\");\n }\n return vueApp;\n };\n}\nif (import.meta.client) {\n if (import.meta.dev && import.meta.webpackHot) {\n import.meta.webpackHot.accept();\n }\n let vueAppPromise;\n entry = async function initApp() {\n if (vueAppPromise) {\n return vueAppPromise;\n }\n const isSSR = Boolean(\n (multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\"\n );\n const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp });\n async function handleVueError(error) {\n await nuxt.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n ;\n handleVueError.__nuxt_default = true;\n vueApp.config.errorHandler = handleVueError;\n nuxt.hook(\"app:suspense:resolve\", () => {\n if (vueApp.config.errorHandler === handleVueError) {\n vueApp.config.errorHandler = void 0;\n }\n });\n if (spaLoadingTemplateOutside && !isSSR && appSpaLoaderAttrs.id) {\n nuxt.hook(\"app:suspense:resolve\", () => {\n document.getElementById(appSpaLoaderAttrs.id)?.remove();\n });\n }\n try {\n await applyPlugins(nuxt, plugins);\n } catch (err) {\n handleVueError(err);\n }\n try {\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n await nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n vueApp.mount(vueAppRootContainer);\n await nuxt.hooks.callHook(\"app:mounted\", vueApp);\n await nextTick();\n } catch (err) {\n handleVueError(err);\n }\n return vueApp;\n };\n vueAppPromise = entry().catch((error) => {\n console.error(\"Error while mounting app:\", error);\n throw error;\n });\n}\nexport default ((ssrContext) => entry(ssrContext));\n"],"version":3} \ No newline at end of file +{"file":"server.mjs","mappings":"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","names":["$fetch","plugin","provide","plugins","getCurrentInstance","toArray","createH3Error","headCore","routeRulesMatcher","loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta","__executeAsync","entry","parse","format","identifier","separator","src","des","localeHead","localePath","_localeHead","vueI18nConfigs","getLocaleMessages","cache","getComposer","define_I18N_LOCALE_HASHES_default","errorMessages","index","context","isLiteral","baseCompile","warnMessages","getWarnMessage","VERSION","type","resolveValue","msg","source","message","locale","locales","_context","messages","global","options","composer","switchLocalePath","_localeCodes","payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs","useVueRouterRoute","defaultLayoutTransition","_push","_parent","_createVNode","_unref","_ssrRenderComponent","ErrorComponent","RootComponent"],"sources":["../../../virtual:nuxt:%2Fapp%2F.nuxt%2Ffetch.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fglobal-polyfills.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fnuxt.config.mjs","../../../node_modules/nuxt/dist/app/nuxt.js","../../../node_modules/nuxt/dist/app/components/injections.js","../../../node_modules/nuxt/dist/app/utils.js","../../../node_modules/nuxt/dist/app/composables/router.js","../../../node_modules/nuxt/dist/app/composables/error.js","../../../node_modules/nuxt/dist/head/runtime/composables/v3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froute-rules.mjs","../../../node_modules/nuxt/dist/app/composables/manifest.js","../../../node_modules/nuxt/dist/app/composables/payload.js","../../../node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js","../../../node_modules/nuxt/dist/head/runtime/island-head.js","../../../node_modules/nuxt/dist/head/runtime/plugins/unhead.js","../../../node_modules/nuxt/dist/pages/runtime/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Froutes.mjs","../../../node_modules/nuxt/dist/app/components/utils.js","../../../node_modules/nuxt/dist/pages/runtime/router.options.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Frouter.options.mjs","../../../node_modules/nuxt/dist/pages/runtime/validate.js","../../../node_modules/nuxt/dist/app/middleware/route-rules.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fmiddleware.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.islands.mjs","../../../node_modules/nuxt/dist/pages/runtime/plugins/router.js","../../../node_modules/nuxt/dist/app/plugins/revive-payload.server.js","../../../node_modules/nuxt/dist/app/components/server-placeholder.js","../../../node_modules/nuxt/dist/app/components/client-only.js","../../../node_modules/nuxt/dist/app/composables/state.js","../../../node_modules/nuxt/dist/app/composables/ssr.js","../../../node_modules/nuxt/dist/app/composables/cookie.js","../../../node_modules/nuxt/dist/app/composables/url.js","../../../node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fcomponents.plugin.mjs","../../../node_modules/@intlify/shared/dist/shared.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/head.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/head.js","../../../node_modules/@intlify/utils/dist/shared/utils.9f8159f5.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/routing.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/utils.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fi18n-options.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/messages.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/compatibility.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/utils.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/domain.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/locales.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/context.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/kit/browser.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/detection.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/utils.js","../../../node_modules/@intlify/message-compiler/dist/message-compiler.mjs","../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../../node_modules/@nuxtjs/i18n/dist/runtime/composables/index.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/routing/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/shared/vue-i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js","../../../node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Fplugins.server.mjs","../../../virtual:nuxt:%2Fapp%2F.nuxt%2Flayouts.mjs","../../../node_modules/nuxt/dist/app/components/nuxt-layout.js","../../../node_modules/nuxt/dist/app/components/route-provider.js","../../../node_modules/nuxt/dist/pages/runtime/page.js","../../../app.vue","../../../node_modules/nuxt/dist/app/components/nuxt-error-page.vue","../../../node_modules/nuxt/dist/app/components/nuxt-root.vue","../../../node_modules/nuxt/dist/app/entry.js"],"sourcesContent":["import { $fetch } from 'ofetch'\nimport { baseURL } from '#internal/nuxt/paths'\nif (!globalThis.$fetch) {\n globalThis.$fetch = $fetch.create({\n baseURL: baseURL()\n })\n}","\nif (!(\"global\" in globalThis)) {\n globalThis.global = globalThis;\n}","export const appBaseURL = \"/\"\n\nexport const appBuildAssetsDir = \"/_nuxt/\"\n\nexport const appCdnURL = \"\"\n\nexport const appHead = {\"meta\":[{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"charset\":\"utf-8\"}],\"link\":[],\"style\":[],\"script\":[],\"noscript\":[]}\n\nexport const appLayoutTransition = false\n\nexport const appPageTransition = false\n\nexport const appViewTransition = false\n\nexport const appKeepalive = false\n\nexport const appRootId = \"__nuxt\"\n\nexport const appRootTag = \"div\"\n\nexport const appRootAttrs = {\"id\":\"__nuxt\"}\n\nexport const appTeleportTag = \"div\"\n\nexport const appTeleportId = \"teleports\"\n\nexport const appTeleportAttrs = {\"id\":\"teleports\"}\n\nexport const appSpaLoaderTag = \"div\"\n\nexport const appSpaLoaderAttrs = {\"id\":\"__nuxt-loader\"}\n\nexport const renderJsonPayloads = true\n\nexport const componentIslands = false\n\nexport const payloadExtraction = false\n\nexport const cookieStore = true\n\nexport const appManifest = true\n\nexport const remoteComponentIslands = false\n\nexport const selectiveClient = false\n\nexport const devPagesDir = null\n\nexport const devRootDir = null\n\nexport const devLogs = false\n\nexport const nuxtLinkDefaults = {\"componentName\":\"NuxtLink\",\"prefetch\":true,\"prefetchOn\":{\"visibility\":true}}\n\nexport const asyncDataDefaults = {\"value\":null,\"errorValue\":null,\"deep\":true}\n\nexport const resetAsyncDataToUndefined = true\n\nexport const nuxtDefaultErrorValue = null\n\nexport const fetchDefaults = {}\n\nexport const vueAppRootContainer = '#__nuxt'\n\nexport const viewTransition = false\n\nexport const appId = \"nuxt-app\"\n\nexport const outdatedBuildInterval = 3600000\n\nexport const multiApp = false\n\nexport const chunkErrorEvent = \"vite:preloadError\"\n\nexport const crawlLinks = false\n\nexport const spaLoadingTemplateOutside = false\n\nexport const purgeCachedData = true\n\nexport const granularCachedData = false\n\nexport const pendingWhenIdle = true\n\nexport const alwaysRunFetchOnKeyChange = true","import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive, shallowReactive } from \"vue\";\nimport { createHooks } from \"hookable\";\nimport { getContext } from \"unctx\";\nimport { appId, chunkErrorEvent, multiApp } from \"#build/nuxt.config.mjs\";\nexport function getNuxtAppCtx(id = appId || \"nuxt-app\") {\n return getContext(id, {\n asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server\n });\n}\nexport const NuxtPluginIndicator = \"__nuxt_plugin\";\nexport function createNuxtApp(options) {\n let hydratingCount = 0;\n const nuxtApp = {\n _id: options.id || appId || \"nuxt-app\",\n _scope: effectScope(),\n provide: void 0,\n globalName: \"nuxt\",\n versions: {\n get nuxt() {\n return __NUXT_VERSION__;\n },\n get vue() {\n return nuxtApp.vueApp.version;\n }\n },\n payload: shallowReactive({\n ...options.ssrContext?.payload || {},\n data: shallowReactive({}),\n state: reactive({}),\n once: /* @__PURE__ */ new Set(),\n _errors: shallowReactive({})\n }),\n static: {\n data: {}\n },\n runWithContext(fn) {\n if (nuxtApp._scope.active && !getCurrentScope()) {\n return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));\n }\n return callWithNuxt(nuxtApp, fn);\n },\n isHydrating: import.meta.client,\n deferHydration() {\n if (!nuxtApp.isHydrating) {\n return () => {\n };\n }\n hydratingCount++;\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n hydratingCount--;\n if (hydratingCount === 0) {\n nuxtApp.isHydrating = false;\n return nuxtApp.callHook(\"app:suspense:resolve\");\n }\n };\n },\n _asyncDataPromises: {},\n _asyncData: shallowReactive({}),\n _payloadRevivers: {},\n ...options\n };\n if (import.meta.server) {\n nuxtApp.payload.serverRendered = true;\n }\n if (import.meta.server && nuxtApp.ssrContext) {\n nuxtApp.payload.path = nuxtApp.ssrContext.url;\n nuxtApp.ssrContext.nuxt = nuxtApp;\n nuxtApp.ssrContext.payload = nuxtApp.payload;\n nuxtApp.ssrContext.config = {\n public: nuxtApp.ssrContext.runtimeConfig.public,\n app: nuxtApp.ssrContext.runtimeConfig.app\n };\n }\n if (import.meta.client) {\n const __NUXT__ = multiApp ? window.__NUXT__?.[nuxtApp._id] : window.__NUXT__;\n if (__NUXT__) {\n for (const key in __NUXT__) {\n switch (key) {\n case \"data\":\n case \"state\":\n case \"_errors\":\n Object.assign(nuxtApp.payload[key], __NUXT__[key]);\n break;\n default:\n nuxtApp.payload[key] = __NUXT__[key];\n }\n }\n }\n }\n nuxtApp.hooks = createHooks();\n nuxtApp.hook = nuxtApp.hooks.hook;\n if (import.meta.server) {\n const contextCaller = async function(hooks, args) {\n for (const hook of hooks) {\n await nuxtApp.runWithContext(() => hook(...args));\n }\n };\n nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);\n }\n nuxtApp.callHook = nuxtApp.hooks.callHook;\n nuxtApp.provide = (name, value) => {\n const $name = \"$\" + name;\n defineGetter(nuxtApp, $name, value);\n defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);\n };\n defineGetter(nuxtApp.vueApp, \"$nuxt\", nuxtApp);\n defineGetter(nuxtApp.vueApp.config.globalProperties, \"$nuxt\", nuxtApp);\n if (import.meta.client) {\n if (chunkErrorEvent) {\n window.addEventListener(chunkErrorEvent, (event) => {\n nuxtApp.callHook(\"app:chunkError\", { error: event.payload });\n if (event.payload?.message?.includes(\"Unable to preload CSS\")) {\n event.preventDefault();\n }\n });\n }\n window.useNuxtApp ||= useNuxtApp;\n const unreg = nuxtApp.hook(\"app:error\", (...args) => {\n console.error(\"[nuxt] error caught during app initialization\", ...args);\n });\n nuxtApp.hook(\"app:mounted\", unreg);\n }\n const runtimeConfig = import.meta.server ? options.ssrContext.runtimeConfig : nuxtApp.payload.config;\n nuxtApp.provide(\"config\", import.meta.client && import.meta.dev ? wrappedConfig(runtimeConfig) : runtimeConfig);\n return nuxtApp;\n}\nexport function registerPluginHooks(nuxtApp, plugin) {\n if (plugin.hooks) {\n nuxtApp.hooks.addHooks(plugin.hooks);\n }\n}\nexport async function applyPlugin(nuxtApp, plugin) {\n if (typeof plugin === \"function\") {\n const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};\n if (provide && typeof provide === \"object\") {\n for (const key in provide) {\n nuxtApp.provide(key, provide[key]);\n }\n }\n }\n}\nexport async function applyPlugins(nuxtApp, plugins) {\n const resolvedPlugins = /* @__PURE__ */ new Set();\n const unresolvedPlugins = [];\n const parallels = [];\n let error = void 0;\n let promiseDepth = 0;\n async function executePlugin(plugin) {\n const unresolvedPluginsForThisPlugin = plugin.dependsOn?.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.has(name)) ?? [];\n if (unresolvedPluginsForThisPlugin.length > 0) {\n unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);\n } else {\n const promise = applyPlugin(nuxtApp, plugin).then(async () => {\n if (plugin._name) {\n resolvedPlugins.add(plugin._name);\n await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {\n if (dependsOn.has(plugin._name)) {\n dependsOn.delete(plugin._name);\n if (dependsOn.size === 0) {\n promiseDepth++;\n await executePlugin(unexecutedPlugin);\n }\n }\n }));\n }\n }).catch((e) => {\n if (!plugin.parallel && !nuxtApp.payload.error) {\n throw e;\n }\n error ||= e;\n });\n if (plugin.parallel) {\n parallels.push(promise);\n } else {\n await promise;\n }\n }\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n registerPluginHooks(nuxtApp, plugin);\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n await executePlugin(plugin);\n }\n await Promise.all(parallels);\n if (promiseDepth) {\n for (let i = 0; i < promiseDepth; i++) {\n await Promise.all(parallels);\n }\n }\n if (error) {\n throw nuxtApp.payload.error || error;\n }\n}\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtPlugin(plugin) {\n if (typeof plugin === \"function\") {\n return plugin;\n }\n const _name = plugin._name || plugin.name;\n delete plugin.name;\n return Object.assign(plugin.setup || (() => {\n }), plugin, { [NuxtPluginIndicator]: true, _name });\n}\nexport const definePayloadPlugin = defineNuxtPlugin;\nexport function isNuxtPlugin(plugin) {\n return typeof plugin === \"function\" && NuxtPluginIndicator in plugin;\n}\nexport function callWithNuxt(nuxt, setup, args) {\n const fn = () => args ? setup(...args) : setup();\n const nuxtAppCtx = getNuxtAppCtx(nuxt._id);\n if (import.meta.server) {\n return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));\n } else {\n nuxtAppCtx.set(nuxt);\n return nuxt.vueApp.runWithContext(fn);\n }\n}\nexport function tryUseNuxtApp(id) {\n let nuxtAppInstance;\n if (hasInjectionContext()) {\n nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;\n }\n nuxtAppInstance ||= getNuxtAppCtx(id).tryUse();\n return nuxtAppInstance || null;\n}\nexport function useNuxtApp(id) {\n const nuxtAppInstance = tryUseNuxtApp(id);\n if (!nuxtAppInstance) {\n if (import.meta.dev) {\n throw new Error(\"[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/guide/concepts/auto-imports#vue-and-nuxt-composables`.\");\n } else {\n throw new Error(\"[nuxt] instance unavailable\");\n }\n }\n return nuxtAppInstance;\n}\n// @__NO_SIDE_EFFECTS__\nexport function useRuntimeConfig(_event) {\n return useNuxtApp().$config;\n}\nfunction defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function defineAppConfig(config) {\n return config;\n}\nconst loggedKeys = /* @__PURE__ */ new Set();\nfunction wrappedConfig(runtimeConfig) {\n if (!import.meta.dev || import.meta.server) {\n return runtimeConfig;\n }\n const keys = [];\n for (const key in runtimeConfig) {\n keys.push(`\\`${key}\\``);\n }\n const lastKey = keys.pop();\n return new Proxy(runtimeConfig, {\n get(target, p, receiver) {\n if (typeof p === \"string\" && p !== \"public\" && !(p in target) && !p.startsWith(\"__v\")) {\n if (!loggedKeys.has(p)) {\n loggedKeys.add(p);\n console.warn(`[nuxt] Could not access \\`${p}\\`. The only available runtime config keys on the client side are ${keys.join(\", \")} and ${lastKey}. See https://nuxt.com/docs/guide/going-further/runtime-config for more information.`);\n }\n }\n return Reflect.get(target, p, receiver);\n }\n });\n}\n","export const LayoutMetaSymbol = Symbol(\"layout-meta\");\nexport const PageRouteSymbol = Symbol(\"route\");\n","import { captureStackTrace } from \"errx\";\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nconst distURL = import.meta.url.replace(/\\/app\\/.*$/, \"/\");\nexport function getUserTrace() {\n if (!import.meta.dev) {\n return [];\n }\n const trace = captureStackTrace();\n const start = trace.findIndex((entry) => !entry.source.startsWith(distURL));\n const end = [...trace].reverse().findIndex((entry) => !entry.source.includes(\"node_modules\") && !entry.source.startsWith(distURL));\n if (start === -1 || end === -1) {\n return [];\n }\n return trace.slice(start, end > 0 ? -end : void 0).map((i) => ({\n ...i,\n source: i.source.replace(/^file:\\/\\//, \"\")\n }));\n}\nexport function getUserCaller() {\n if (!import.meta.dev) {\n return null;\n }\n const { source, line, column } = captureStackTrace().find((entry) => !entry.source.startsWith(distURL)) ?? {};\n if (!source) {\n return null;\n }\n return {\n source: source.replace(/^file:\\/\\//, \"\"),\n line,\n column\n };\n}\n","import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from \"vue\";\nimport { sanitizeStatusCode } from \"h3\";\nimport { decodePath, encodePath, hasProtocol, isScriptProtocol, joinURL, parseQuery, parseURL, withQuery } from \"ufo\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { PageRouteSymbol } from \"../components/injections.js\";\nimport { createError, showError } from \"./error.js\";\nimport { getUserTrace } from \"../utils.js\";\nexport const useRouter = () => {\n return useNuxtApp()?.$router;\n};\nexport const useRoute = () => {\n if (import.meta.dev && !getCurrentInstance() && isProcessingMiddleware()) {\n const middleware = useNuxtApp()._processingMiddleware;\n const trace = getUserTrace().map(({ source, line, column }) => `at ${source}:${line}:${column}`).join(\"\\n\");\n console.warn(`[nuxt] \\`useRoute\\` was called within middleware${typeof middleware === \"string\" ? ` (\\`${middleware}\\`)` : \"\"}. This may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes. Learn more: https://nuxt.com/docs/3.x/directory-structure/middleware#accessing-route-in-middleware` + (\"\\n\" + trace));\n }\n if (hasInjectionContext()) {\n return inject(PageRouteSymbol, useNuxtApp()._route);\n }\n return useNuxtApp()._route;\n};\nexport const onBeforeRouteLeave = (guard) => {\n const unsubscribe = useRouter().beforeEach((to, from, next) => {\n if (to === from) {\n return;\n }\n return guard(to, from, next);\n });\n onScopeDispose(unsubscribe);\n};\nexport const onBeforeRouteUpdate = (guard) => {\n const unsubscribe = useRouter().beforeEach(guard);\n onScopeDispose(unsubscribe);\n};\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtRouteMiddleware(middleware) {\n return middleware;\n}\nexport const addRouteMiddleware = (name, middleware, options = {}) => {\n const nuxtApp = useNuxtApp();\n const global = options.global || typeof name !== \"string\";\n const mw = typeof name !== \"string\" ? name : middleware;\n if (!mw) {\n console.warn(\"[nuxt] No route middleware passed to `addRouteMiddleware`.\", name);\n return;\n }\n if (global) {\n nuxtApp._middleware.global.push(mw);\n } else {\n nuxtApp._middleware.named[name] = mw;\n }\n};\nconst isProcessingMiddleware = () => {\n try {\n if (useNuxtApp()._processingMiddleware) {\n return true;\n }\n } catch {\n return false;\n }\n return false;\n};\nconst HTML_ATTR_UNSAFE_RE = /[&\"'<>]/g;\nconst HTML_ATTR_ENCODE_MAP = {\n \"&\": \"%26\",\n '\"': \"%22\",\n \"'\": \"%27\",\n \"<\": \"%3C\",\n \">\": \"%3E\"\n};\nfunction encodeForHtmlAttr(value) {\n return value.replace(HTML_ATTR_UNSAFE_RE, (c) => HTML_ATTR_ENCODE_MAP[c]);\n}\nexport const navigateTo = (to, options) => {\n to ||= \"/\";\n const toPath = typeof to === \"string\" ? to : \"path\" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;\n if (import.meta.client && options?.open) {\n const { protocol } = new URL(toPath, window.location.href);\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n const { target = \"_blank\", windowFeatures = {} } = options.open;\n const features = [];\n for (const [feature, value] of Object.entries(windowFeatures)) {\n if (value !== void 0) {\n features.push(`${feature.toLowerCase()}=${value}`);\n }\n }\n open(toPath, target, features.join(\", \"));\n return Promise.resolve();\n }\n const isExternalHost = hasProtocol(toPath, { acceptRelative: true });\n const isExternal = options?.external || isExternalHost;\n if (isExternal) {\n if (!options?.external) {\n throw new Error(\"Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.\");\n }\n const { protocol } = new URL(toPath, import.meta.client ? window.location.href : \"http://localhost\");\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n }\n const inMiddleware = isProcessingMiddleware();\n if (import.meta.client && !isExternal && inMiddleware) {\n if (options?.replace) {\n if (typeof to === \"string\") {\n const { pathname, search, hash } = parseURL(to);\n return {\n path: pathname,\n ...search && { query: parseQuery(search) },\n ...hash && { hash },\n replace: true\n };\n }\n return { ...to, replace: true };\n }\n return to;\n }\n const router = useRouter();\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n const fullPath = typeof to === \"string\" || isExternal ? toPath : router.resolve(to).fullPath || \"/\";\n const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);\n const redirect = async function(response) {\n await nuxtApp.callHook(\"app:redirected\");\n const encodedHeader = encodeURL(location2, isExternalHost);\n const encodedLoc = encodeForHtmlAttr(encodedHeader);\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),\n body: ``,\n headers: { location: encodedHeader }\n };\n return response;\n };\n if (!isExternal && inMiddleware) {\n router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);\n return to;\n }\n return redirect(!inMiddleware ? void 0 : (\n /* abort route navigation */\n false\n ));\n }\n }\n if (isExternal) {\n nuxtApp._scope.stop();\n if (options?.replace) {\n location.replace(toPath);\n } else {\n location.href = toPath;\n }\n if (inMiddleware) {\n if (!nuxtApp.isHydrating) {\n return false;\n }\n return new Promise(() => {\n });\n }\n return Promise.resolve();\n }\n const encodedTo = typeof to === \"string\" ? encodeRoutePath(to) : to;\n return options?.replace ? router.replace(encodedTo) : router.push(encodedTo);\n};\nexport const abortNavigation = (err) => {\n if (import.meta.dev && !isProcessingMiddleware()) {\n throw new Error(\"abortNavigation() is only usable inside a route middleware handler.\");\n }\n if (!err) {\n return false;\n }\n err = createError(err);\n if (err.fatal) {\n useNuxtApp().runWithContext(() => showError(err));\n }\n throw err;\n};\nexport const setPageLayout = (layout, props) => {\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (import.meta.dev && getCurrentInstance() && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.\");\n }\n nuxtApp.payload.state._layout = layout;\n nuxtApp.payload.state._layoutProps = props;\n }\n if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.\");\n }\n const inMiddleware = isProcessingMiddleware();\n if (inMiddleware || import.meta.server || nuxtApp.isHydrating) {\n const unsubscribe = useRouter().beforeResolve((to) => {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n unsubscribe();\n });\n }\n if (!inMiddleware) {\n const route = useRoute();\n route.meta.layout = layout;\n route.meta.layoutProps = props;\n if (import.meta.client) {\n const unsubscribe = useRouter().beforeResolve((to, from) => {\n if (to.path === from.path) {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n } else {\n unsubscribe();\n }\n });\n onScopeDispose(unsubscribe, true);\n }\n }\n};\nexport function resolveRouteObject(to) {\n return withQuery(to.path || \"\", to.query || {}) + (to.hash || \"\");\n}\nexport function encodeURL(location2, isExternalHost = false) {\n const url = new URL(location2, \"http://localhost\");\n if (!isExternalHost) {\n const pathname = url.pathname.replace(/^\\/{2,}/, \"/\");\n return pathname + url.search + url.hash;\n }\n if (location2.startsWith(\"//\")) {\n return url.toString().replace(url.protocol, \"\");\n }\n return url.toString();\n}\nexport function encodeRoutePath(url) {\n const parsed = parseURL(url);\n return encodePath(decodePath(parsed.pathname)) + parsed.search + parsed.hash;\n}\n","import { createError as createH3Error } from \"h3\";\nimport { toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nimport { nuxtDefaultErrorValue } from \"#build/nuxt.config.mjs\";\nexport const NUXT_ERROR_SIGNATURE = \"__nuxt_error\";\nexport const useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, \"error\");\nexport const showError = (error) => {\n const nuxtError = createError(error);\n try {\n const error2 = /* @__PURE__ */ useError();\n if (import.meta.client) {\n const nuxtApp = useNuxtApp();\n nuxtApp.hooks.callHook(\"app:error\", nuxtError);\n }\n error2.value ||= nuxtError;\n } catch {\n throw nuxtError;\n }\n return nuxtError;\n};\nexport const clearError = async (options = {}) => {\n const nuxtApp = useNuxtApp();\n const error = /* @__PURE__ */ useError();\n nuxtApp.callHook(\"app:error:cleared\", options);\n if (options.redirect) {\n await useRouter().replace(options.redirect);\n }\n error.value = nuxtDefaultErrorValue;\n};\nexport const isNuxtError = (error) => !!error && typeof error === \"object\" && NUXT_ERROR_SIGNATURE in error;\nexport const createError = (error) => {\n if (typeof error !== \"string\" && error.statusText) {\n error.message ??= error.statusText;\n }\n const nuxtError = createH3Error(error);\n Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {\n value: true,\n configurable: false,\n writable: false\n });\n Object.defineProperty(nuxtError, \"status\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusCode,\n configurable: true\n });\n Object.defineProperty(nuxtError, \"statusText\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusMessage,\n configurable: true\n });\n return nuxtError;\n};\n","import { hasInjectionContext, inject } from \"vue\";\nimport {\n useHead as headCore,\n useHeadSafe as headSafe,\n headSymbol,\n useSeoMeta as seoMeta,\n useServerHead as serverHead,\n useServerHeadSafe as serverHeadSafe,\n useServerSeoMeta as serverSeoMeta\n} from \"@unhead/vue\";\nimport { tryUseNuxtApp } from \"#app/nuxt\";\nexport function injectHead(nuxtApp) {\n const nuxt = nuxtApp || tryUseNuxtApp();\n return nuxt?.ssrContext?.head || nuxt?.runWithContext(() => {\n if (hasInjectionContext()) {\n return inject(headSymbol);\n }\n });\n}\nexport function useHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headCore(input, { head, ...options });\n }\n}\nexport function useHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return headSafe(input, { head, ...options });\n }\n}\nexport function useSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return seoMeta(input, { head, ...options });\n }\n}\nexport function useServerHead(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHead(input, { head, ...options });\n }\n}\nexport function useServerHeadSafe(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverHeadSafe(input, { head, ...options });\n }\n}\nexport function useServerSeoMeta(input, options = {}) {\n const head = injectHead(options.nuxt);\n if (head) {\n return serverSeoMeta(input, { head, ...options });\n }\n}\n","\n import { defu } from 'defu'\n const matcher = (m,p)=>{return [];}\n export default (path) => defu({}, ...matcher('', typeof path === 'string' ? path.toLowerCase() : path).map(r => r.data).reverse())\n ","import { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nlet manifest;\nfunction fetchManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n let _manifest;\n if (import.meta.server) {\n _manifest = import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n \"#app-manifest\"\n );\n } else {\n _manifest = $fetch(buildAssetsURL(`builds/meta/${useRuntimeConfig().app.buildId}.json`), {\n responseType: \"json\"\n }).then((res) => {\n if (!res || typeof res !== \"object\" || !Array.isArray(res.prerendered)) {\n throw new Error(\"[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.\");\n }\n return res;\n });\n }\n manifest = _manifest;\n _manifest.catch((e) => {\n if (manifest === _manifest) {\n manifest = void 0;\n }\n console.error(\"[nuxt] Error fetching app manifest.\", e);\n });\n return _manifest;\n}\nexport function getAppManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~preloadManifest\"] = true;\n }\n return manifest || fetchManifest();\n}\nexport function getRouteRules(arg) {\n const path = typeof arg === \"string\" ? arg : arg.path;\n try {\n return routeRulesMatcher(path.toLowerCase());\n } catch (e) {\n console.error(\"[nuxt] Error matching route rules.\", e);\n return {};\n }\n}\n","import { hasProtocol, joinURL } from \"ufo\";\nimport { parse } from \"devalue\";\nimport { getCurrentInstance, onServerPrefetch, reactive } from \"vue\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useHead } from \"./head.js\";\nimport { useRoute } from \"./router.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { appId, appManifest, multiApp, payloadExtraction, renderJsonPayloads } from \"#build/nuxt.config.mjs\";\nexport async function loadPayload(url, opts = {}) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n if (await shouldLoadPayload(url)) {\n const payloadURL = await _getPayloadURL(url, opts);\n return await _importPayload(payloadURL) || null;\n }\n return null;\n}\nlet linkRelType;\nfunction detectLinkRelType() {\n if (import.meta.server) {\n return \"preload\";\n }\n if (linkRelType) {\n return linkRelType;\n }\n const relList = document.createElement(\"link\").relList;\n linkRelType = relList && relList.supports && relList.supports(\"prefetch\") ? \"prefetch\" : \"preload\";\n return linkRelType;\n}\nexport function preloadPayload(url, opts = {}) {\n const nuxtApp = useNuxtApp();\n const promise = shouldLoadPayload(url).then(async (shouldPreload) => {\n if (!shouldPreload) {\n return;\n }\n const payloadURL = await _getPayloadURL(url, opts);\n const link = renderJsonPayloads ? { rel: detectLinkRelType(), as: \"fetch\", crossorigin: \"anonymous\", href: payloadURL } : { rel: \"modulepreload\", crossorigin: \"\", href: payloadURL };\n if (import.meta.server) {\n nuxtApp.runWithContext(() => useHead({ link: [link] }));\n } else {\n const linkEl = document.createElement(\"link\");\n for (const key of Object.keys(link)) {\n linkEl[key === \"crossorigin\" ? \"crossOrigin\" : key] = link[key];\n }\n document.head.appendChild(linkEl);\n return new Promise((resolve, reject) => {\n linkEl.addEventListener(\"load\", () => resolve());\n linkEl.addEventListener(\"error\", () => reject());\n });\n }\n });\n if (import.meta.server) {\n onServerPrefetch(() => promise);\n }\n return promise;\n}\nconst filename = renderJsonPayloads ? \"_payload.json\" : \"_payload.js\";\nasync function _getPayloadURL(url, opts = {}) {\n const u = new URL(url, \"http://localhost\");\n if (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) {\n throw new Error(\"Payload URL must not include hostname: \" + url);\n }\n const config = useRuntimeConfig();\n const hash = opts.hash || (opts.fresh || import.meta.dev ? Date.now() : config.app.buildId);\n const cdnURL = config.app.cdnURL;\n const baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n return joinURL(baseOrCdnURL, u.pathname, filename + (hash ? `?${hash}` : \"\"));\n}\nasync function _importPayload(payloadURL) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n try {\n if (renderJsonPayloads) {\n const res = await fetch(payloadURL, import.meta.dev ? {} : { cache: \"force-cache\" });\n if (!res.ok) {\n if (import.meta.dev) {\n console.warn(`[nuxt] Cannot load payload ${payloadURL}: ${res.status} ${res.statusText}`);\n }\n return null;\n }\n return await parsePayload(await res.text());\n } else {\n return await import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n payloadURL\n ).then((r) => r.default || r);\n }\n } catch (err) {\n console.warn(\"[nuxt] Cannot load payload \", payloadURL, err);\n }\n return null;\n}\nfunction _shouldLoadPrerenderedPayload(rules) {\n if (rules.redirect) {\n return false;\n }\n if (rules.prerender) {\n return true;\n }\n}\nasync function _isPrerenderedInManifest(url) {\n if (!appManifest) {\n return false;\n }\n url = url === \"/\" ? url : url.replace(/\\/$/, \"\");\n try {\n const manifest = await getAppManifest();\n return manifest.prerendered.includes(url);\n } catch {\n return false;\n }\n}\nexport async function shouldLoadPayload(url = useRoute().path) {\n const rules = getRouteRules({ path: url });\n if (rules.ssr === false) {\n return false;\n }\n const res = _shouldLoadPrerenderedPayload(rules);\n if (res !== void 0) {\n return res;\n }\n if (rules.payload) {\n return true;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nexport async function isPrerendered(url = useRoute().path) {\n const res = _shouldLoadPrerenderedPayload(getRouteRules({ path: url }));\n if (res !== void 0) {\n return res;\n }\n const prerendered = await _isPrerenderedInManifest(url);\n return prerendered;\n}\nlet payloadCache = null;\nexport async function getNuxtClientPayload() {\n if (import.meta.server) {\n return null;\n }\n if (payloadCache) {\n return payloadCache;\n }\n const el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n if (!el) {\n return {};\n }\n const inlineData = await parsePayload(el.textContent || \"\");\n const externalData = el.dataset.src ? await _importPayload(el.dataset.src) : void 0;\n payloadCache = {\n ...inlineData,\n ...externalData,\n ...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n };\n if (payloadCache.config?.public) {\n payloadCache.config.public = reactive(payloadCache.config.public);\n }\n return payloadCache;\n}\nexport async function parsePayload(payload) {\n return await parse(payload, useNuxtApp()._payloadRevivers);\n}\nexport function definePayloadReducer(name, reduce) {\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~payloadReducers\"][name] = reduce;\n }\n}\nexport function definePayloadReviver(name, revive) {\n if (import.meta.dev && getCurrentInstance()) {\n console.warn(\"[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\");\n }\n if (import.meta.client) {\n useNuxtApp()._payloadRevivers[name] = revive;\n }\n}\n","import {\n definePayloadPlugin,\n definePayloadReducer,\n definePayloadReviver\n} from \"#imports\";\nimport { shouldHydrate } from \"pinia\";\nconst payloadPlugin = definePayloadPlugin(() => {\n definePayloadReducer(\n \"skipHydrate\",\n // We need to return something truthy to be treated as a match\n (data) => !shouldHydrate(data) && 1\n );\n definePayloadReviver(\"skipHydrate\", (_data) => void 0);\n});\nexport default payloadPlugin;\n","export function freezeHead(head) {\n const realPush = head.push;\n head.push = () => ({ dispose: () => {\n }, patch: () => {\n }, _poll: () => {\n } });\n return () => {\n head.push = realPush;\n };\n}\n","import { createHead as createClientHead, renderDOMHead } from \"@unhead/vue/client\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\nimport { freezeHead } from \"../island-head.js\";\nimport unheadOptions from \"#build/unhead-options.mjs\";\nexport default defineNuxtPlugin({\n name: \"nuxt:head\",\n enforce: \"pre\",\n setup(nuxtApp) {\n const head = import.meta.server ? nuxtApp.ssrContext.head : createClientHead(unheadOptions);\n if (import.meta.server && nuxtApp.ssrContext.islandContext) {\n const unfreeze = freezeHead(head);\n nuxtApp.hooks.hookOnce(\"app:created\", unfreeze);\n }\n nuxtApp.vueApp.use(head);\n if (import.meta.client) {\n let pauseDOMUpdates = true;\n const syncHead = async () => {\n pauseDOMUpdates = false;\n await renderDOMHead(head);\n };\n head.hooks.hook(\"dom:beforeRender\", (context) => {\n context.shouldRender = !pauseDOMUpdates;\n });\n nuxtApp.hooks.hook(\"page:start\", () => {\n pauseDOMUpdates = true;\n });\n nuxtApp.hooks.hook(\"page:finish\", () => {\n if (!nuxtApp.isHydrating) {\n syncHead();\n }\n });\n nuxtApp.hooks.hook(\"app:error\", syncHead);\n nuxtApp.hooks.hook(\"app:suspense:resolve\", syncHead);\n const originalPush = head.push.bind(head);\n head.push = ((input, options) => {\n const entry = originalPush(input, options);\n const originalDispose = entry.dispose.bind(entry);\n entry.dispose = () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(originalDispose);\n } else {\n originalDispose();\n }\n };\n return entry;\n });\n }\n }\n});\n","import { KeepAlive, h } from \"vue\";\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nconst interpolatePath = (route, match) => {\n return match.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nexport const generateRouteKey = (routeProps, override) => {\n const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n return typeof source === \"function\" ? source(routeProps.route) : source;\n};\nexport const wrapInKeepAlive = (props, children) => {\n return { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n const router = import.meta.hot.data.router\n const generateRoutes = import.meta.hot.data.generateRoutes\n if (!router || !generateRoutes) {\n import.meta.hot.invalidate('[nuxt] Cannot replace routes because there is no active router. Reloading.')\n return\n }\n const addedRoutes = router.getRoutes().filter(r => !r._initial)\n router.clearRoutes()\n const routes = generateRoutes(mod.default || mod)\n function addRoutes (routes) {\n for (const route of routes) {\n router.addRoute(route)\n }\n for (const route of router.getRoutes()) {\n route._initial = true\n }\n for (const route of addedRoutes) {\n router.addRoute(route)\n }\n router.isReady().then(() => {\n // Resolve the current path against the new routes to get updated meta\n const newRoute = router.resolve(router.currentRoute.value.fullPath)\n // Clear old meta values and assign new ones\n for (const key of Object.keys(router.currentRoute.value.meta)) {\n delete router.currentRoute.value.meta[key]\n }\n Object.assign(router.currentRoute.value.meta, newRoute.meta)\n })\n }\n if (routes && 'then' in routes) {\n routes.then(addRoutes)\n } else {\n addRoutes(routes)\n }\n })\n}\n\nexport function handleHotUpdate(_router, _generateRoutes) {\n if (import.meta.hot) {\n import.meta.hot.data ||= {}\n import.meta.hot.data.router = _router\n import.meta.hot.data.generateRoutes = _generateRoutes\n for (const route of _router.getRoutes()) {\n route._initial = true\n }\n }\n}\nimport { default as indexndqPXFtP262szLmLJV4PriPTgAg5k_457f05QyTfosBXQMeta } from \"/app/pages/index.vue?macro=true\";\nimport { default as loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta } from \"/app/pages/login.vue?macro=true\";\nimport { default as indexmGB0sc77z4nVdouTyxGPwq1E4nqHwF5EhzkXRcpUofYMeta } from \"/app/pages/garages/index.vue?macro=true\";\nimport { default as index4QOTtNxyMkSDhg1SvMqdYexX0LysiSHughzzK0HxGl0Meta } from \"/app/pages/packages/index.vue?macro=true\";\nimport { default as indexmFHuXm1TRDyTx4rDob8_G9bfnp43YCs_HCFMFiG56X4Meta } from \"/app/pages/permissions/index.vue?macro=true\";\nimport { default as indexAuxdrh0pHX6Iqtqd32rOzygNETRCVAwmUBNefBquEOoMeta } from \"/app/pages/garages/[id]/index.vue?macro=true\";\nexport default [\n {\n name: \"index\",\n path: \"/\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/index.vue\")\n },\n {\n name: \"login\",\n path: \"/login\",\n meta: loginKGJhNRZhH4FU_45RnHfId5ZCGRhKzPnQPbdAbdNd47TwsMeta || {},\n component: () => import(\"/app/pages/login.vue\")\n },\n {\n name: \"garages\",\n path: \"/garages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/garages/index.vue\")\n },\n {\n name: \"packages\",\n path: \"/packages\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/packages/index.vue\")\n },\n {\n name: \"permissions\",\n path: \"/permissions\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/permissions/index.vue\")\n },\n {\n name: \"garages-id\",\n path: \"/garages/:id()\",\n meta: {\"middleware\":\"auth\"},\n component: () => import(\"/app/pages/garages/[id]/index.vue\")\n }\n]","import { Transition, createStaticVNode, h } from \"vue\";\nimport { defu } from \"defu\";\nimport { isString, isPromise, isArray, isObject } from \"@vue/shared\";\nimport { START_LOCATION } from \"#build/pages\";\nexport const _wrapInTransition = (props, children) => {\n return { default: () => import.meta.client && props ? h(Transition, props === true ? {} : props, children) : children.default?.() };\n};\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nfunction generateRouteKey(route) {\n const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n return typeof source === \"function\" ? source(route) : source;\n}\nexport function isChangingPage(to, from) {\n if (to === from || from === START_LOCATION) {\n return false;\n }\n if (generateRouteKey(to) !== generateRouteKey(from)) {\n return true;\n }\n const areComponentsSame = to.matched.every(\n (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default\n );\n if (areComponentsSame) {\n return false;\n }\n return true;\n}\nexport function createBuffer() {\n let appendable = false;\n const buffer = [];\n return {\n getBuffer() {\n return buffer;\n },\n push(item) {\n const isStringItem = isString(item);\n if (appendable && isStringItem) {\n buffer[buffer.length - 1] += item;\n } else {\n buffer.push(item);\n }\n appendable = isStringItem;\n if (isPromise(item) || isArray(item) && item.hasAsync) {\n buffer.hasAsync = true;\n }\n }\n };\n}\nexport function vforToArray(source) {\n if (isArray(source)) {\n return source;\n } else if (isString(source)) {\n return source.split(\"\");\n } else if (typeof source === \"number\") {\n if (import.meta.dev && !Number.isInteger(source)) {\n console.warn(`The v-for range expect an integer value but got ${source}.`);\n }\n const array = [];\n for (let i = 0; i < source; i++) {\n array[i] = i;\n }\n return array;\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n return Array.from(\n source,\n (item) => item\n );\n } else {\n const keys = Object.keys(source);\n const array = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n array[i] = source[key];\n }\n return array;\n }\n }\n return [];\n}\nexport function getFragmentHTML(element, withoutSlots = false) {\n if (element) {\n if (element.nodeName === \"#comment\" && element.nodeValue === \"[\") {\n return getFragmentChildren(element, [], withoutSlots);\n }\n if (withoutSlots) {\n const clone = element.cloneNode(true);\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n return [clone.outerHTML];\n }\n return [element.outerHTML];\n }\n}\nfunction getFragmentChildren(element, blocks = [], withoutSlots = false) {\n if (element && element.nodeName) {\n if (isEndFragment(element)) {\n return blocks;\n } else if (!isStartFragment(element)) {\n const clone = element.cloneNode(true);\n if (withoutSlots) {\n clone.querySelectorAll?.(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n }\n blocks.push(clone.outerHTML);\n }\n getFragmentChildren(element.nextSibling, blocks, withoutSlots);\n }\n return blocks;\n}\nexport function elToStaticVNode(el, staticNodeFallback) {\n const fragment = el ? getFragmentHTML(el) : staticNodeFallback ? [staticNodeFallback] : void 0;\n if (fragment) {\n return createStaticVNode(fragment.join(\"\"), fragment.length);\n }\n return h(\"div\");\n}\nexport function isStartFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"[\";\n}\nexport function isEndFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"]\";\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function _mergeTransitionProps(routeProps) {\n const _props = [];\n for (const prop of routeProps) {\n if (!prop) {\n continue;\n }\n _props.push({\n ...prop,\n onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : void 0,\n onBeforeLeave: prop.onBeforeLeave ? toArray(prop.onBeforeLeave) : void 0\n });\n }\n return defu(..._props);\n}\n","import { START_LOCATION } from \"vue-router\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { isChangingPage } from \"#app/components/utils\";\nimport { useRouter } from \"#app/composables/router\";\nexport default {\n scrollBehavior(to, from, savedPosition) {\n const nuxtApp = useNuxtApp();\n const hashScrollBehaviour = useRouter().options?.scrollBehaviorType ?? \"auto\";\n if (to.path.replace(/\\/$/, \"\") === from.path.replace(/\\/$/, \"\")) {\n if (from.hash && !to.hash) {\n return { left: 0, top: 0 };\n }\n if (to.hash) {\n return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior: hashScrollBehaviour };\n }\n return false;\n }\n const routeAllowsScrollToTop = typeof to.meta.scrollToTop === \"function\" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;\n if (routeAllowsScrollToTop === false) {\n return false;\n }\n if (from === START_LOCATION) {\n return _calculatePosition(to, from, savedPosition, hashScrollBehaviour);\n }\n return new Promise((resolve) => {\n const doScroll = () => {\n requestAnimationFrame(() => resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour)));\n };\n nuxtApp.hooks.hookOnce(\"page:loading:end\", () => {\n const transitionPromise = nuxtApp[\"~transitionPromise\"];\n if (transitionPromise) {\n transitionPromise.then(doScroll);\n } else {\n doScroll();\n }\n });\n });\n }\n};\nfunction _getHashElementScrollMarginTop(selector) {\n try {\n const elem = document.querySelector(selector);\n if (elem) {\n return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop) || 0);\n }\n } catch {\n }\n return 0;\n}\nfunction _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) {\n if (savedPosition) {\n return savedPosition;\n }\n if (to.hash) {\n return {\n el: to.hash,\n top: _getHashElementScrollMarginTop(to.hash),\n behavior: isChangingPage(to, from) ? defaultHashScrollBehaviour : \"instant\"\n };\n }\n return {\n left: 0,\n top: 0\n };\n}\n","import routerOptions0 from \"/app/node_modules/nuxt/dist/pages/runtime/router.options.js\";\nconst configRouterOptions = {\n hashMode: false,\n scrollBehaviorType: \"auto\"\n}\nexport const hashMode = false\nexport default {\n...configRouterOptions,\n...routerOptions0,\n}","import { createError } from \"#app/composables/error\";\nimport { defineNuxtRouteMiddleware } from \"#app/composables/router\";\nexport default defineNuxtRouteMiddleware(async (to, from) => {\n if (!to.meta?.validate) {\n return;\n }\n const result = await Promise.resolve(to.meta.validate(to));\n if (result === true) {\n return;\n }\n const error = createError({\n fatal: import.meta.client,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n status: result && (result.status || result.statusCode) || 404,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n });\n if (typeof window !== \"undefined\") {\n window.history.pushState({}, \"\", from.fullPath);\n }\n return error;\n});\n","import { hasProtocol } from \"ufo\";\nimport { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nexport default defineNuxtRouteMiddleware((to) => {\n if (import.meta.server || import.meta.test) {\n return;\n }\n const rules = getRouteRules({ path: to.path });\n if (rules.redirect) {\n const path = rules.redirect.includes(\"#\") ? rules.redirect : rules.redirect + to.hash;\n if (hasProtocol(path, { acceptRelative: true })) {\n window.location.href = path;\n return false;\n }\n return path;\n }\n});\n","import validate from \"/app/node_modules/nuxt/dist/pages/runtime/validate.js\";\nimport manifest_45route_45rule from \"/app/node_modules/nuxt/dist/app/middleware/route-rules.js\";\nexport const globalMiddleware = [\n validate,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {\n auth: () => import(\"/app/middleware/auth.ts\")\n}","import { defineAsyncComponent } from 'vue'\nexport const islandComponents = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})\nexport const pageIslandRoutes = import.meta.client ? Object.create(null) : Object.assign(Object.create(null), {\n\n})","import { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { isSamePath, withoutBase } from \"ufo\";\nimport { toArray } from \"../utils.js\";\nimport { getRouteRules } from \"#app/composables/manifest\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport { clearError, createError, isNuxtError, showError, useError } from \"#app/composables/error\";\nimport { navigateTo } from \"#app/composables/router\";\nimport _routes, { handleHotUpdate } from \"#build/routes\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nimport { pageIslandRoutes } from \"#build/components.islands.mjs\";\nfunction createCurrentLocation(base, location, renderedPath) {\n const { pathname, search, hash } = location;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n const slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\") {\n pathFromHash = \"/\" + pathFromHash;\n }\n return withoutBase(pathFromHash, \"\");\n }\n const displayedPath = withoutBase(pathname, base);\n const path = !renderedPath || isSamePath(displayedPath, renderedPath) ? displayedPath : renderedPath;\n return path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n name: \"nuxt:router\",\n enforce: \"pre\",\n async setup(nuxtApp) {\n let routerBase = useRuntimeConfig().app.baseURL;\n if (hashMode && !routerBase.includes(\"#\")) {\n routerBase += \"#\";\n }\n const history = routerOptions.history?.(routerBase) ?? (import.meta.client ? hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n const routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n let startPosition;\n const router = createRouter({\n ...routerOptions,\n scrollBehavior: (to, from, savedPosition) => {\n if (from === START_LOCATION) {\n startPosition = savedPosition;\n return;\n }\n if (routerOptions.scrollBehavior) {\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n if (\"scrollRestoration\" in window.history) {\n const unsub = router.beforeEach(() => {\n unsub();\n window.history.scrollRestoration = \"manual\";\n });\n }\n return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n }\n },\n history,\n routes\n });\n if (import.meta.hot) {\n handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes2) => routes2);\n }\n if (import.meta.client && \"scrollRestoration\" in window.history) {\n window.history.scrollRestoration = \"auto\";\n }\n nuxtApp.vueApp.use(router);\n const previousRoute = shallowRef(router.currentRoute.value);\n router.afterEach((_to, from) => {\n previousRoute.value = from;\n });\n Object.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", {\n get: () => previousRoute.value\n });\n const initialURL = import.meta.server ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n const _route = shallowRef(router.currentRoute.value);\n const syncCurrentRoute = () => {\n _route.value = router.currentRoute.value;\n };\n router.afterEach((to, from) => {\n const lastTo = to.matched.at(-1)?.components?.default;\n const lastFrom = from.matched.at(-1)?.components?.default;\n if (lastTo === lastFrom) {\n syncCurrentRoute();\n return;\n }\n if (to.matched.length < from.matched.length && to.matched.every((m, i) => m.components?.default === from.matched[i]?.components?.default)) {\n syncCurrentRoute();\n }\n });\n const route = { sync: syncCurrentRoute };\n for (const key in _route.value) {\n Object.defineProperty(route, key, {\n get: () => _route.value[key],\n enumerable: true\n });\n }\n nuxtApp._route = shallowReactive(route);\n nuxtApp._middleware ||= {\n global: [],\n named: {}\n };\n const error = useError();\n const isServerPage = import.meta.server && nuxtApp.ssrContext?.islandContext?.name?.startsWith(\"page_\");\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n router.afterEach(async (to, _from, failure) => {\n delete nuxtApp._processingMiddleware;\n if (import.meta.client && !nuxtApp.isHydrating && error.value) {\n await nuxtApp.runWithContext(clearError);\n }\n if (failure) {\n await nuxtApp.callHook(\"page:loading:end\");\n }\n if (import.meta.server && failure?.type === 4) {\n return;\n }\n if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) {\n await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n }\n });\n }\n try {\n if (import.meta.server) {\n await router.push(initialURL);\n }\n await router.isReady();\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n const hasDeferredRoute = import.meta.client && nuxtApp.isHydrating && nuxtApp.payload.prerenderedAt && nuxtApp.payload.path && initialURL !== nuxtApp.payload.path && isSamePath(router.currentRoute.value.path, nuxtApp.payload.path);\n syncCurrentRoute();\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && !isServerPage) {\n return { provide: { router } };\n }\n const initialLayout = nuxtApp.payload.state._layout;\n router.beforeEach(async (to, from) => {\n await nuxtApp.callHook(\"page:loading:start\");\n to.meta = reactive(to.meta);\n if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {\n to.meta.layout = initialLayout;\n }\n nuxtApp._processingMiddleware = true;\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext || isServerPage) {\n const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n for (const component of to.matched) {\n const componentMiddleware = component.meta.middleware;\n if (!componentMiddleware) {\n continue;\n }\n for (const entry of toArray(componentMiddleware)) {\n middlewareEntries.add(entry);\n }\n }\n const routeRules = getRouteRules({ path: to.path });\n if (routeRules.appMiddleware) {\n for (const key in routeRules.appMiddleware) {\n if (routeRules.appMiddleware[key]) {\n middlewareEntries.add(key);\n } else {\n middlewareEntries.delete(key);\n }\n }\n }\n for (const entry of middlewareEntries) {\n const middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n if (!middleware) {\n if (import.meta.dev) {\n throw new Error(`Unknown route middleware: '${entry}'. Valid middleware: ${Object.keys(namedMiddleware).map((mw) => `'${mw}'`).join(\", \")}.`);\n }\n throw new Error(`Unknown route middleware: '${entry}'.`);\n }\n try {\n if (import.meta.dev) {\n nuxtApp._processingMiddleware = middleware._path || (typeof entry === \"string\" ? entry : true);\n }\n const result = await nuxtApp.runWithContext(() => middleware(to, from));\n if (import.meta.server || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n if (result === false || result instanceof Error) {\n const error2 = result || createError({\n status: 404,\n statusText: `Page Not Found: ${initialURL}`\n });\n await nuxtApp.runWithContext(() => showError(error2));\n return false;\n }\n }\n if (result === true) {\n continue;\n }\n if (result === false) {\n return result;\n }\n if (result) {\n if (isNuxtError(result) && result.fatal) {\n await nuxtApp.runWithContext(() => showError(result));\n }\n return result;\n }\n } catch (err) {\n const error2 = createError(err);\n if (error2.fatal) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n return error2;\n }\n }\n }\n });\n if (isServerPage) {\n router.beforeResolve((to) => {\n const expected = pageIslandRoutes[nuxtApp.ssrContext.islandContext.name];\n const actual = to.matched.find((m) => m.components?.default?.__nuxt_island)?.components?.default;\n if (!expected || expected !== actual?.__nuxt_island) {\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: 400,\n statusMessage: \"Invalid island request path\"\n };\n return false;\n }\n });\n }\n router.onError(async () => {\n delete nuxtApp._processingMiddleware;\n await nuxtApp.callHook(\"page:loading:end\");\n });\n router.afterEach((to) => {\n if (to.matched.length === 0 && !error.value) {\n return nuxtApp.runWithContext(() => showError(createError({\n status: 404,\n fatal: false,\n statusText: `Page not found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n })));\n }\n });\n nuxtApp.hooks.hookOnce(\"app:created\", async () => {\n try {\n if (\"name\" in resolvedInitialRoute) {\n resolvedInitialRoute.name = void 0;\n }\n if (hasDeferredRoute) {\n const payloadRoute = router.resolve(nuxtApp.payload.path);\n if (\"name\" in payloadRoute) {\n payloadRoute.name = void 0;\n }\n await router.replace({ ...payloadRoute, force: true });\n nuxtApp.hooks.hookOnce(\"app:suspense:resolve\", async () => {\n await router.replace({ ...resolvedInitialRoute, force: true });\n });\n } else {\n await router.replace({\n ...resolvedInitialRoute,\n force: true\n });\n }\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n });\n return { provide: { router } };\n }\n});\nexport default plugin;\n","import { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { defineNuxtPlugin } from \"../nuxt.js\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\nimport { isValidIslandKey } from \"./utils.js\";\nconst reducers = [\n [\"NuxtError\", (data) => isNuxtError(data) && data.toJSON()],\n [\"EmptyShallowRef\", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"EmptyRef\", (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"ShallowRef\", (data) => isRef(data) && isShallow(data) && data.value],\n [\"ShallowReactive\", (data) => isReactive(data) && isShallow(data) && toRaw(data)],\n [\"Ref\", (data) => isRef(data) && data.value],\n [\"Reactive\", (data) => isReactive(data) && toRaw(data)]\n];\nif (componentIslands) {\n reducers.push([\"Island\", (data) => data && data?.__nuxt_island && isValidIslandKey(data.__nuxt_island.key) && data.__nuxt_island]);\n}\nexport default defineNuxtPlugin({\n name: \"nuxt:revive-payload:server\",\n setup() {\n for (const [reducer, fn] of reducers) {\n definePayloadReducer(reducer, fn);\n }\n }\n});\n","import { createElementBlock, defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"ServerPlaceholder\",\n render() {\n return createElementBlock(\"div\");\n }\n});\n","import { cloneVNode, createElementBlock, defineComponent, getCurrentInstance, h, onMounted, provide, shallowRef } from \"vue\";\nimport { isPromise } from \"@vue/shared\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport ServerPlaceholder from \"./server-placeholder.js\";\nimport { elToStaticVNode } from \"./utils.js\";\nexport const clientOnlySymbol = Symbol.for(\"nuxt:client-only\");\nconst STATIC_DIV = \"
\";\nexport default defineComponent({\n name: \"ClientOnly\",\n inheritAttrs: false,\n props: [\"fallback\", \"placeholder\", \"placeholderTag\", \"fallbackTag\"],\n ...import.meta.dev && {\n slots: Object\n },\n setup(props, { slots, attrs }) {\n const mounted = shallowRef(false);\n onMounted(() => {\n mounted.value = true;\n });\n if (import.meta.dev) {\n const nuxtApp = useNuxtApp();\n nuxtApp._isNuxtPageUsed = true;\n nuxtApp._isNuxtLayoutUsed = true;\n }\n const vm = getCurrentInstance();\n if (vm) {\n vm._nuxtClientOnly = true;\n }\n provide(clientOnlySymbol, true);\n return () => {\n if (mounted.value) {\n const vnodes = slots.default?.();\n if (vnodes && vnodes.length === 1) {\n return [cloneVNode(vnodes[0], attrs)];\n }\n return vnodes;\n }\n const slot = slots.fallback || slots.placeholder;\n if (slot) {\n return h(slot);\n }\n const fallbackStr = props.fallback || props.placeholder || \"\";\n const fallbackTag = props.fallbackTag || props.placeholderTag || \"span\";\n return createElementBlock(fallbackTag, attrs, fallbackStr);\n };\n }\n});\nconst cache = /* @__PURE__ */ new WeakMap();\n// @__NO_SIDE_EFFECTS__\nexport function createClientOnly(component) {\n if (import.meta.server) {\n return ServerPlaceholder;\n }\n if (cache.has(component)) {\n return cache.get(component);\n }\n const clone = { ...component };\n if (clone.render) {\n clone.render = (ctx, cache2, $props, $setup, $data, $options) => {\n if ($setup.mounted$ ?? ctx.mounted$) {\n const res = component.render?.bind(ctx)(ctx, cache2, $props, $setup, $data, $options);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(ctx._.vnode.el, STATIC_DIV);\n };\n } else {\n clone.template &&= `\n \n \n `;\n }\n clone.setup = (props, ctx) => {\n const nuxtApp = useNuxtApp();\n const mounted$ = shallowRef(nuxtApp.isHydrating === false);\n const instance = getCurrentInstance();\n if (nuxtApp.isHydrating) {\n const attrs = { ...instance.attrs };\n const directives = extractDirectives(instance);\n for (const key in attrs) {\n delete instance.attrs[key];\n }\n onMounted(() => {\n Object.assign(instance.attrs, attrs);\n instance.vnode.dirs = directives;\n });\n }\n onMounted(() => {\n mounted$.value = true;\n });\n const setupState = component.setup?.(props, ctx) || {};\n if (isPromise(setupState)) {\n return Promise.resolve(setupState).then((setupState2) => {\n if (typeof setupState2 !== \"function\") {\n setupState2 ||= {};\n setupState2.mounted$ = mounted$;\n return setupState2;\n }\n return (...args) => {\n if (mounted$.value || !nuxtApp.isHydrating) {\n const res = setupState2(...args);\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res) : h(res);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n });\n } else {\n if (typeof setupState === \"function\") {\n return (...args) => {\n if (mounted$.value) {\n const res = setupState(...args);\n const attrs = clone.inheritAttrs !== false ? ctx.attrs : void 0;\n return res.children === null || typeof res.children === \"string\" ? cloneVNode(res, attrs) : h(res, attrs);\n }\n return elToStaticVNode(instance?.vnode.el, STATIC_DIV);\n };\n }\n return Object.assign(setupState, { mounted$ });\n }\n };\n cache.set(component, clone);\n return clone;\n}\nfunction extractDirectives(instance) {\n if (!instance || !instance.vnode.dirs) {\n return null;\n }\n const directives = instance.vnode.dirs;\n instance.vnode.dirs = null;\n return directives;\n}\n","import { isRef, toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nconst useStateKeyPrefix = \"$s\";\nexport function useState(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [_key, init] = args;\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useState] key must be a string: \" + _key);\n }\n if (init !== void 0 && typeof init !== \"function\") {\n throw new Error(\"[nuxt] [useState] init must be a function: \" + init);\n }\n const key = useStateKeyPrefix + _key;\n const nuxtApp = useNuxtApp();\n const state = toRef(nuxtApp.payload.state, key);\n if (state.value === void 0 && init) {\n const initialValue = init();\n if (isRef(initialValue)) {\n nuxtApp.payload.state[key] = initialValue;\n return initialValue;\n }\n state.value = initialValue;\n }\n return state;\n}\nexport function clearNuxtState(keys) {\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.state).filter((key) => key.startsWith(useStateKeyPrefix)).map((key) => key.substring(useStateKeyPrefix.length));\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const _key of _keys) {\n const key = useStateKeyPrefix + _key;\n if (key in nuxtApp.payload.state) {\n nuxtApp.payload.state[key] = void 0;\n }\n }\n}\n","import { setResponseStatus as _setResponseStatus, appendHeader, getRequestHeader, getRequestHeaders, getResponseHeader, removeResponseHeader, setResponseHeader } from \"h3\";\nimport { computed, getCurrentInstance, ref } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { useHead } from \"./head.js\";\nexport function useRequestEvent(nuxtApp) {\n if (import.meta.client) {\n return;\n }\n nuxtApp ||= useNuxtApp();\n return nuxtApp.ssrContext?.event;\n}\nexport function useRequestHeaders(include) {\n if (import.meta.client) {\n return {};\n }\n const event = useRequestEvent();\n const _headers = event ? getRequestHeaders(event) : {};\n if (!include || !event) {\n return _headers;\n }\n const headers = /* @__PURE__ */ Object.create(null);\n for (const _key of include) {\n const key = _key.toLowerCase();\n const header = _headers[key];\n if (header) {\n headers[key] = header;\n }\n }\n return headers;\n}\nexport function useRequestHeader(header) {\n if (import.meta.client) {\n return void 0;\n }\n const event = useRequestEvent();\n return event ? getRequestHeader(event, header) : void 0;\n}\nexport function useRequestFetch() {\n if (import.meta.client) {\n return globalThis.$fetch;\n }\n return useRequestEvent()?.$fetch || globalThis.$fetch;\n}\nexport function setResponseStatus(arg1, arg2, arg3) {\n if (import.meta.client) {\n return;\n }\n if (arg1 && typeof arg1 !== \"number\") {\n return _setResponseStatus(arg1, arg2, arg3);\n }\n const event = useRequestEvent();\n if (event) {\n return _setResponseStatus(event, arg1, arg2);\n }\n}\nexport function useResponseHeader(header) {\n if (import.meta.client) {\n if (import.meta.dev) {\n return computed({\n get: () => void 0,\n set: () => console.warn(\"[nuxt] Setting response headers is not supported in the browser.\")\n });\n }\n return ref();\n }\n const event = useRequestEvent();\n return computed({\n get() {\n return getResponseHeader(event, header);\n },\n set(newValue) {\n if (!newValue) {\n return removeResponseHeader(event, header);\n }\n return setResponseHeader(event, header, newValue);\n }\n });\n}\nexport function prerenderRoutes(path) {\n if (!import.meta.server || !import.meta.prerender) {\n return;\n }\n const paths = toArray(path);\n appendHeader(useRequestEvent(), \"x-nitro-prerender\", paths.map((p) => encodeURIComponent(p)).join(\", \"));\n}\nconst PREHYDRATE_ATTR_KEY = \"data-prehydrate-id\";\nexport function onPrehydrate(callback, key) {\n if (import.meta.client) {\n return;\n }\n if (typeof callback !== \"string\") {\n throw new TypeError(\"[nuxt] To transform a callback into a string, `onPrehydrate` must be processed by the Nuxt build pipeline. If it is called in a third-party library, make sure to add the library to `build.transpile`.\");\n }\n const vm = getCurrentInstance();\n if (vm && key) {\n vm.attrs[PREHYDRATE_ATTR_KEY] ||= \"\";\n key = \":\" + key + \":\";\n if (!vm.attrs[PREHYDRATE_ATTR_KEY].includes(key)) {\n vm.attrs[PREHYDRATE_ATTR_KEY] += key;\n }\n }\n const code = vm && key ? `document.querySelectorAll('[${PREHYDRATE_ATTR_KEY}*=${JSON.stringify(key)}]').forEach` + callback : callback + \"()\";\n useHead({\n script: [{\n key: vm && key ? key : void 0,\n tagPosition: \"bodyClose\",\n tagPriority: \"critical\",\n innerHTML: code\n }]\n });\n return vm && key ? vm.attrs[PREHYDRATE_ATTR_KEY] : void 0;\n}\n","import { customRef, getCurrentScope, nextTick, onScopeDispose, ref, watch } from \"vue\";\nimport { parse, serialize } from \"cookie-es\";\nimport { deleteCookie, getCookie, getRequestHeader, setCookie } from \"h3\";\nimport destr from \"destr\";\nimport { isEqual } from \"ohash\";\nimport { klona } from \"klona\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRequestEvent } from \"./ssr.js\";\nimport { cookieStore } from \"#build/nuxt.config.mjs\";\nconst CookieDefaults = {\n path: \"/\",\n watch: true,\n decode: (val) => {\n const decoded = decodeURIComponent(val);\n const parsed = destr(decoded);\n if (typeof parsed === \"number\" && (!Number.isFinite(parsed) || String(parsed) !== decoded)) {\n return decoded;\n }\n return parsed;\n },\n encode: (val) => encodeURIComponent(typeof val === \"string\" ? val : JSON.stringify(val))\n};\nconst store = import.meta.client && cookieStore ? globalThis.cookieStore : void 0;\nexport function useCookie(name, _opts) {\n const opts = { ...CookieDefaults, ..._opts };\n opts.filter ??= (key) => key === name;\n const cookies = readRawCookies(opts) || {};\n let delay;\n if (opts.maxAge !== void 0) {\n delay = opts.maxAge * 1e3;\n } else if (opts.expires) {\n delay = opts.expires.getTime() - Date.now();\n }\n const hasExpired = delay !== void 0 && delay <= 0;\n const shouldSetInitialClientCookie = import.meta.client && (hasExpired || cookies[name] === void 0 || cookies[name] === null);\n const cookieValue = klona(hasExpired ? void 0 : cookies[name] ?? opts.default?.());\n const cookie = import.meta.client && delay && !hasExpired ? cookieRef(cookieValue, delay, opts.watch && opts.watch !== \"shallow\") : ref(cookieValue);\n if (import.meta.dev && hasExpired) {\n console.warn(`[nuxt] not setting cookie \\`${name}\\` as it has already expired.`);\n }\n if (import.meta.client) {\n let channel = null;\n try {\n if (!store && typeof BroadcastChannel !== \"undefined\") {\n channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n }\n } catch {\n }\n const callback = (force = false) => {\n if (!force) {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n }\n writeClientCookie(name, cookie.value, opts);\n cookies[name] = klona(cookie.value);\n channel?.postMessage({ value: opts.encode(cookie.value) });\n };\n const handleChange = (data) => {\n const value = data.refresh ? readRawCookies(opts)?.[name] : opts.decode(data.value);\n watchPaused = true;\n cookie.value = value;\n cookies[name] = klona(value);\n nextTick(() => {\n watchPaused = false;\n });\n };\n let watchPaused = false;\n const hasScope = !!getCurrentScope();\n if (hasScope) {\n onScopeDispose(() => {\n watchPaused = true;\n callback();\n channel?.close();\n });\n }\n if (store) {\n const changeHandler = (event) => {\n const changedCookie = event.changed.find((c) => c.name === name);\n const removedCookie = event.deleted.find((c) => c.name === name);\n if (changedCookie) {\n handleChange({ value: changedCookie.value });\n }\n if (removedCookie) {\n handleChange({ value: null });\n }\n };\n store.addEventListener(\"change\", changeHandler);\n if (hasScope) {\n onScopeDispose(() => store.removeEventListener(\"change\", changeHandler));\n }\n } else if (channel) {\n channel.onmessage = ({ data }) => handleChange(data);\n }\n if (opts.watch) {\n watch(\n cookie,\n () => {\n if (watchPaused) {\n return;\n }\n callback();\n },\n { deep: opts.watch !== \"shallow\" }\n );\n }\n if (shouldSetInitialClientCookie) {\n callback(shouldSetInitialClientCookie);\n }\n } else if (import.meta.server) {\n const nuxtApp = useNuxtApp();\n const writeFinalCookieValue = () => {\n if (opts.readonly || isEqual(cookie.value, cookies[name])) {\n return;\n }\n nuxtApp._cookies ||= {};\n if (name in nuxtApp._cookies) {\n if (isEqual(cookie.value, nuxtApp._cookies[name])) {\n return;\n }\n if (import.meta.dev) {\n console.warn(`[nuxt] cookie \\`${name}\\` was previously set to \\`${opts.encode(nuxtApp._cookies[name])}\\` and is being overridden to \\`${opts.encode(cookie.value)}\\`. This may cause unexpected issues.`);\n }\n }\n nuxtApp._cookies[name] = cookie.value;\n writeServerCookie(useRequestEvent(nuxtApp), name, cookie.value, opts);\n };\n const unhook = nuxtApp.hooks.hookOnce(\"app:rendered\", writeFinalCookieValue);\n nuxtApp.hooks.hookOnce(\"app:error\", () => {\n unhook();\n return writeFinalCookieValue();\n });\n }\n return cookie;\n}\nexport function refreshCookie(name) {\n if (import.meta.server || store || typeof BroadcastChannel === \"undefined\") {\n return;\n }\n try {\n const channel = new BroadcastChannel(`nuxt:cookies:${name}`);\n channel.postMessage({ refresh: true });\n channel.close();\n } catch {\n }\n}\nfunction readRawCookies(opts = {}) {\n if (import.meta.server) {\n return parse(getRequestHeader(useRequestEvent(), \"cookie\") || \"\", opts);\n } else if (import.meta.client) {\n return parse(document.cookie, opts);\n }\n}\nfunction serializeCookie(name, value, opts = {}) {\n if (value === null || value === void 0) {\n return serialize(name, value, { ...opts, maxAge: -1 });\n }\n return serialize(name, value, opts);\n}\nfunction writeClientCookie(name, value, opts = {}) {\n if (import.meta.client) {\n document.cookie = serializeCookie(name, value, opts);\n }\n}\nfunction writeServerCookie(event, name, value, opts = {}) {\n if (event) {\n if (value !== null && value !== void 0) {\n return setCookie(event, name, value, opts);\n }\n if (getCookie(event, name) !== void 0) {\n return deleteCookie(event, name, opts);\n }\n }\n}\nconst MAX_TIMEOUT_DELAY = 2147483647;\nfunction cookieRef(value, delay, shouldWatch) {\n let timeout;\n let unsubscribe;\n let elapsed = 0;\n const internalRef = shouldWatch ? ref(value) : { value };\n if (getCurrentScope()) {\n onScopeDispose(() => {\n unsubscribe?.();\n clearTimeout(timeout);\n });\n }\n return customRef((track, trigger) => {\n if (shouldWatch) {\n unsubscribe = watch(internalRef, trigger);\n }\n function scheduleTimeout() {\n const timeRemaining = delay - elapsed;\n const timeoutLength = timeRemaining < MAX_TIMEOUT_DELAY ? timeRemaining : MAX_TIMEOUT_DELAY;\n timeout = setTimeout(() => {\n elapsed += timeoutLength;\n if (elapsed < delay) {\n return scheduleTimeout();\n }\n internalRef.value = void 0;\n trigger();\n }, timeoutLength);\n }\n function createExpirationTimeout() {\n elapsed = 0;\n clearTimeout(timeout);\n scheduleTimeout();\n }\n return {\n get() {\n track();\n return internalRef.value;\n },\n set(newValue) {\n createExpirationTimeout();\n internalRef.value = newValue;\n trigger();\n }\n };\n });\n}\n","import { getRequestURL } from \"h3\";\nimport { useRequestEvent } from \"./ssr.js\";\nexport function useRequestURL(opts) {\n if (import.meta.server) {\n return getRequestURL(useRequestEvent(), opts);\n }\n return new URL(globalThis.location.href);\n}\n","import { createPinia, setActivePinia } from \"pinia\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { toRaw } from \"vue\";\nconst plugin = defineNuxtPlugin({\n name: \"pinia\",\n setup(nuxtApp) {\n const pinia = createPinia();\n nuxtApp.vueApp.use(pinia);\n setActivePinia(pinia);\n if (nuxtApp.payload && nuxtApp.payload.pinia) {\n pinia.state.value = nuxtApp.payload.pinia;\n }\n return {\n provide: {\n pinia\n }\n };\n },\n hooks: {\n \"app:rendered\"() {\n const nuxtApp = useNuxtApp();\n nuxtApp.payload.pinia = toRaw(nuxtApp.$pinia).state.value;\n setActivePinia(void 0);\n }\n }\n});\nexport default plugin;\n","\nimport { defineNuxtPlugin } from '#app/nuxt'\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n})\n","/*!\n * shared v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : create()));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(/&/g, '&') // escape `&` first to avoid double escaping\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/') // escape `/` to prevent closing tags or JavaScript URLs\n .replace(/=/g, '='); // escape `=` to prevent attribute injection\n}\nfunction escapeAttributeValue(value) {\n return value\n .replace(/&(?![a-zA-Z0-9#]{2,6};)/g, '&') // escape unescaped `&`\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n}\nfunction sanitizeTranslatedHtml(html) {\n // Escape dangerous characters in attribute values\n // Process attributes with double quotes\n html = html.replace(/(\\w+)\\s*=\\s*\"([^\"]*)\"/g, (_, attrName, attrValue) => `${attrName}=\"${escapeAttributeValue(attrValue)}\"`);\n // Process attributes with single quotes\n html = html.replace(/(\\w+)\\s*=\\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);\n // Detect and neutralize event handler attributes\n const eventHandlerPattern = /\\s*on\\w+\\s*=\\s*[\"']?[^\"'>]+[\"']?/gi;\n if (eventHandlerPattern.test(html)) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Potentially dangerous event handlers detected in translation. ' +\n 'Consider removing onclick, onerror, etc. from your translation messages.');\n }\n // Neutralize event handler attributes by escaping 'on'\n html = html.replace(/(\\s+)(on)(\\w+\\s*=)/gi, '$1on$3');\n }\n // Disable javascript: URLs in various contexts\n const javascriptUrlPattern = [\n // In href, src, action, formaction attributes\n /(\\s+(?:href|src|action|formaction)\\s*=\\s*[\"']?)\\s*javascript:/gi,\n // In style attributes within url()\n /(style\\s*=\\s*[\"'][^\"']*url\\s*\\(\\s*)javascript:/gi\n ];\n javascriptUrlPattern.forEach(pattern => {\n html = html.replace(pattern, '$1javascript:');\n });\n return html;\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, sanitizeTranslatedHtml, toDisplayString, toTypeString, warn, warnOnce };\n","import { hasProtocol, joinURL, withQuery } from \"ufo\";\nconst strictSeo = __I18N_STRICT_SEO__;\nexport function localeHead(options, currentLanguage = options.getCurrentLanguage(), currentDirection = options.getCurrentDirection()) {\n const metaObject = {\n htmlAttrs: {},\n link: [],\n meta: []\n };\n if (options.dir) {\n metaObject.htmlAttrs.dir = currentDirection;\n }\n if (options.lang && currentLanguage) {\n metaObject.htmlAttrs.lang = currentLanguage;\n }\n if (options.seo) {\n const alternateLinks = getHreflangLinks(options);\n metaObject.link = metaObject.link.concat(\n alternateLinks,\n getCanonicalLink(options)\n );\n metaObject.meta = metaObject.meta.concat(\n getOgUrl(options),\n getCurrentOgLocale(options),\n getAlternateOgLocales(\n options,\n strictSeo ? alternateLinks.map((x) => x.hreflang).filter((x) => x !== \"x-default\") : options.locales.map((x) => x.language || x.code)\n )\n );\n }\n return metaObject;\n}\nfunction createLocaleMap(locales) {\n const localeMap = /* @__PURE__ */ new Map();\n for (const locale of locales) {\n if (!locale.language) {\n console.warn(\"Locale `language` ISO code is required to generate alternate link\");\n continue;\n }\n const [language, region] = locale.language.split(\"-\");\n if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {\n localeMap.set(language, locale);\n }\n localeMap.set(locale.language, locale);\n }\n return localeMap;\n}\nfunction getHreflangLinks(options) {\n if (!options.hreflangLinks) {\n return [];\n }\n const links = [];\n const localeMap = createLocaleMap(options.locales);\n for (const [language, locale] of localeMap.entries()) {\n const link = getHreflangLink(language, locale, options);\n if (!link) {\n continue;\n }\n links.push(link);\n if (options.defaultLocale && options.defaultLocale === locale.code && links[0].hreflang !== \"x-default\") {\n links.unshift(\n strictSeo ? { rel: \"alternate\", href: link.href, hreflang: \"x-default\" } : { [options.key]: \"i18n-xd\", rel: \"alternate\", href: link.href, hreflang: \"x-default\" }\n );\n }\n }\n return links;\n}\nfunction getHreflangLink(language, locale, options, routeWithoutQuery = options.strictCanonicals ? options.getRouteWithoutQuery() : void 0) {\n const localePath = options.getLocalizedRoute(locale.code, routeWithoutQuery);\n if (!localePath) {\n return void 0;\n }\n const href = withQuery(\n hasProtocol(localePath) ? localePath : joinURL(options.baseUrl, localePath),\n options.strictCanonicals ? getCanonicalQueryParams(options) : {}\n );\n return strictSeo ? { rel: \"alternate\", href, hreflang: language } : { [options.key]: `i18n-alt-${language}`, rel: \"alternate\", href, hreflang: language };\n}\nfunction getCanonicalUrl(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n if (!currentRoute) {\n return \"\";\n }\n return withQuery(joinURL(options.baseUrl, currentRoute.path), getCanonicalQueryParams(options));\n}\nfunction getCanonicalLink(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [strictSeo ? { rel: \"canonical\", href } : { [options.key]: \"i18n-can\", rel: \"canonical\", href }];\n}\nfunction getCanonicalQueryParams(options, route = options.getCurrentRoute()) {\n const currentRoute = options.getLocaleRoute(\n Object.assign({}, route, { path: void 0, name: options.getRouteBaseName(route) })\n );\n const currentRouteQuery = currentRoute?.query ?? {};\n const params = {};\n for (const param of options.canonicalQueries.filter((x) => x in currentRouteQuery)) {\n params[param] ??= [];\n for (const val of toArray(currentRouteQuery[param])) {\n params[param].push(val || \"\");\n }\n }\n return params;\n}\nfunction getOgUrl(options, href = getCanonicalUrl(options)) {\n if (!href) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:url\", content: href } : { [options.key]: \"i18n-og-url\", property: \"og:url\", content: href }\n ];\n}\nfunction getCurrentOgLocale(options, currentLanguage = options.getCurrentLanguage()) {\n if (!currentLanguage) {\n return [];\n }\n return [\n strictSeo ? { property: \"og:locale\", content: formatOgLanguage(currentLanguage) } : { [options.key]: \"i18n-og\", property: \"og:locale\", content: formatOgLanguage(currentLanguage) }\n ];\n}\nfunction getAlternateOgLocales(options, languages, currentLanguage = options.getCurrentLanguage()) {\n const alternateLocales = languages.filter((locale) => locale && locale !== currentLanguage);\n return alternateLocales.map(\n (locale) => strictSeo ? {\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n } : {\n [options.key]: `i18n-og-alt-${locale}`,\n property: \"og:locale:alternate\",\n content: formatOgLanguage(locale)\n }\n );\n}\nfunction formatOgLanguage(val = \"\") {\n return val.replace(/-/g, \"_\");\n}\nfunction toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol, parsePath, parseQuery } from \"ufo\";\nimport { assign, isString } from \"@intlify/shared\";\nexport function localePath(ctx, route, locale = ctx.getLocale()) {\n if (isString(route) && hasProtocol(route, { acceptRelative: true })) {\n return route;\n }\n try {\n return resolveRoute(ctx, route, locale).fullPath;\n } catch {\n return \"\";\n }\n}\nexport function localeRoute(ctx, route, locale = ctx.getLocale()) {\n try {\n return resolveRoute(ctx, route, locale);\n } catch {\n return;\n }\n}\nfunction normalizeRawLocation(route) {\n if (!isString(route)) {\n return assign({}, route);\n }\n if (route[0] === \"/\") {\n const { pathname: path, search, hash } = parsePath(route);\n return { path, query: parseQuery(search), hash };\n }\n return { name: route };\n}\nfunction resolveRoute(ctx, route, locale) {\n const normalized = normalizeRawLocation(route);\n const resolved = ctx.router.resolve(ctx.resolveLocalizedRouteObject(normalized, locale));\n if (resolved.name) {\n return resolved;\n }\n return ctx.router.resolve(route);\n}\nexport function switchLocalePath(ctx, locale, route = ctx.router.currentRoute.value) {\n const name = ctx.getRouteBaseName(route);\n if (!name) {\n return \"\";\n }\n const routeCopy = {\n name,\n params: assign(\n {},\n route.params,\n ctx.getLocalizedDynamicParams(locale)\n ),\n fullPath: route.fullPath,\n query: route.query,\n hash: route.hash,\n path: route.path,\n meta: route.meta\n };\n const path = localePath(ctx, routeCopy, locale);\n return ctx.afterSwitchLocalePath(path, locale);\n}\n","import { computed, getCurrentScope, onScopeDispose, ref, useHead, useRequestEvent, watch } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { localeHead as _localeHead } from \"#i18n-kit/head\";\nimport { localeRoute, switchLocalePath } from \"./routing.js\";\nfunction createHeadContext(ctx, config, locale = ctx.getLocale(), locales = ctx.getLocales(), baseUrl = ctx.getBaseUrl()) {\n const currentLocale = locales.find((l) => l.code === locale) || { code: locale };\n const canonicalQueries = typeof config.seo === \"object\" && config.seo?.canonicalQueries || [];\n if (!baseUrl && !__DIFFERENT_DOMAINS__ && !__MULTI_DOMAIN_LOCALES__) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n console.warn(\"I18n `baseUrl` is required to generate valid SEO tag links.\");\n }\n return {\n ...config,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n locales,\n baseUrl,\n canonicalQueries,\n hreflangLinks: ctx.routingOptions.hreflangLinks,\n defaultLocale: ctx.routingOptions.defaultLocale,\n strictCanonicals: __I18N_STRICT_SEO__ || ctx.routingOptions.strictCanonicals,\n getRouteBaseName: ctx.getRouteBaseName,\n getCurrentRoute: () => ctx.router.currentRoute.value,\n getCurrentLanguage: () => currentLocale.language,\n getCurrentDirection: () => currentLocale.dir || __DEFAULT_DIRECTION__,\n getLocaleRoute: (route) => localeRoute(ctx, route),\n getLocalizedRoute: (locale2, route) => switchLocalePath(ctx, locale2, route),\n getRouteWithoutQuery: () => {\n try {\n return assign({}, ctx.router.resolve({ query: {} }), { meta: ctx.router.currentRoute.value.meta });\n } catch {\n return void 0;\n }\n }\n };\n}\nexport function localeHead(ctx, { dir = true, lang = true, seo = true }) {\n return _localeHead(createHeadContext(ctx, { dir, lang, seo }));\n}\nexport function _useLocaleHead(ctx, options) {\n const metaObject = ref(_localeHead(createHeadContext(ctx, options)));\n if (import.meta.client) {\n const unsub = watch([() => ctx.router.currentRoute.value, () => ctx.getLocale()], () => {\n metaObject.value = _localeHead(createHeadContext(ctx, options));\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n });\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n }\n __I18N_STRICT_SEO__ && ctx.head?.patch(metaObject.value);\n return metaObject;\n}\nexport function _useSetI18nParams(ctx, seo, router = ctx.router) {\n const head = __I18N_STRICT_SEO__ ? ctx.head : useHead({});\n const evt = __I18N_STRICT_SEO__ && import.meta.server && useRequestEvent();\n const _i18nParams = ref({});\n const i18nParams = computed({\n get() {\n return router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__];\n },\n set(val) {\n _i18nParams.value = val;\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = val;\n if (evt && evt?.context.nuxtI18n?.slp) {\n evt.context.nuxtI18n.slp = val;\n }\n }\n });\n const unsub = watch(\n () => router.currentRoute.value.fullPath,\n () => {\n router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] = _i18nParams.value;\n __I18N_STRICT_SEO__ && updateState();\n }\n );\n if (getCurrentScope()) {\n onScopeDispose(unsub);\n }\n function updateState() {\n ctx.metaState = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(ctx.metaState);\n }\n const ctxOptions = ref({\n ...ctx.seoSettings,\n key: __I18N_STRICT_SEO__ ? \"key\" : \"id\",\n seo: seo ?? ctx.seoSettings.seo\n });\n return function(params) {\n i18nParams.value = { ...params };\n __I18N_STRICT_SEO__ && updateState();\n if (!__I18N_STRICT_SEO__) {\n const val = _localeHead(createHeadContext(ctx, ctxOptions.value));\n head?.patch(val);\n }\n };\n}\n","const objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nfunction isURL(val) {\n return toTypeString(val) === \"[object URL]\";\n}\nfunction isURLSearchParams(val) {\n return toTypeString(val) === \"[object URLSearchParams]\";\n}\nfunction isLocale(val) {\n return toTypeString(val) === \"[object Intl.Locale]\";\n}\nfunction toLocale(val) {\n return isLocale(val) ? val : new Intl.Locale(val);\n}\nfunction validateLangTag(lang) {\n try {\n Intl.getCanonicalLocales(lang);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseAcceptLanguage(value) {\n return value.split(\",\").map((tag) => tag.split(\";\")[0]).filter(\n (tag) => !(tag === \"*\" || tag === \"\")\n );\n}\nfunction normalizeLanguageName(langName) {\n const [lang] = langName.split(\".\");\n return lang.replace(/_/g, \"-\");\n}\nfunction createPathIndexLanguageParser(index = 0) {\n return (path) => {\n const rawPath = typeof path === \"string\" ? path : path.pathname;\n const normalizedPath = rawPath.split(\"?\")[0];\n const parts = normalizedPath.split(\"/\");\n if (parts[0] === \"\") {\n parts.shift();\n }\n return parts.length > index ? parts[index] || \"\" : \"\";\n };\n}\nlet pathLanguageParser = /* @__PURE__ */ createPathIndexLanguageParser();\nfunction registerPathLanguageParser(parser) {\n pathLanguageParser = parser;\n}\n\nconst DEFAULT_LANG_TAG = \"en-US\";\nconst DEFAULT_COOKIE_NAME = \"i18n_locale\";\nconst ACCEPT_LANGUAGE_HEADER = \"accept-language\";\n\nfunction parseDefaultHeader(input) {\n return [input];\n}\nfunction getHeaderLanguagesWithGetter(getter, {\n name = ACCEPT_LANGUAGE_HEADER,\n parser = parseDefaultHeader\n} = {}) {\n const langString = getter();\n return langString ? name === ACCEPT_LANGUAGE_HEADER ? parser === parseDefaultHeader ? parseAcceptLanguage(langString) : parser(langString) : parser(langString) : [];\n}\nfunction getLocaleWithGetter(getter) {\n return toLocale(getter());\n}\nfunction validateLocale(locale) {\n if (!(isLocale(locale) || typeof locale === \"string\" && validateLangTag(locale))) {\n throw new SyntaxError(`locale is invalid: ${locale.toString()}`);\n }\n}\nfunction mapToLocaleFromLanguageTag(getter, ...args) {\n return Reflect.apply(getter, null, args).map(\n (lang) => getLocaleWithGetter(() => lang)\n );\n}\nfunction getExistCookies(name, getter) {\n let setCookies = getter();\n if (!Array.isArray(setCookies)) {\n setCookies = [setCookies];\n }\n setCookies = setCookies.filter(\n (cookieValue) => cookieValue && !cookieValue.startsWith(name + \"=\")\n );\n return setCookies;\n}\nfunction getPathLanguage(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return (parser || pathLanguageParser)(path) || lang;\n}\nfunction getPathLocale(path, { lang = DEFAULT_LANG_TAG, parser = pathLanguageParser } = {}) {\n return new Intl.Locale(getPathLanguage(path, { lang, parser }));\n}\nfunction getURLSearchParams(input) {\n if (isURLSearchParams(input)) {\n return input;\n } else if (isURL(input)) {\n return input.searchParams;\n } else {\n return new URLSearchParams(input);\n }\n}\nfunction getQueryLanguage(query, { lang = DEFAULT_LANG_TAG, name = \"lang\" } = {}) {\n const queryParams = getURLSearchParams(query);\n return queryParams.get(name) || lang;\n}\nfunction getQueryLocale(query, { lang = DEFAULT_LANG_TAG, name = \"locale\" } = {}) {\n return new Intl.Locale(getQueryLanguage(query, { lang, name }));\n}\n\nexport { ACCEPT_LANGUAGE_HEADER as A, DEFAULT_LANG_TAG as D, getLocaleWithGetter as a, DEFAULT_COOKIE_NAME as b, getExistCookies as c, getPathLocale as d, pathLanguageParser as e, getQueryLocale as f, getHeaderLanguagesWithGetter as g, createPathIndexLanguageParser as h, isLocale as i, parseAcceptLanguage as j, validateLangTag as k, mapToLocaleFromLanguageTag as m, normalizeLanguageName as n, parseDefaultHeader as p, registerPathLanguageParser as r, validateLocale as v };\n","import { createPathIndexLanguageParser } from \"@intlify/utils\";\nconst separator = __ROUTE_NAME_SEPARATOR__ || \"___\";\nconst defaultSuffix = __ROUTE_NAME_DEFAULT_SUFFIX__ || \"default\";\nexport const defaultRouteNameSuffix = separator + defaultSuffix;\nexport function normalizeRouteName(routeName) {\n if (typeof routeName === \"string\") {\n return routeName;\n }\n if (routeName != null) {\n return routeName.toString();\n }\n return \"\";\n}\nexport function getRouteBaseName(route) {\n return normalizeRouteName(typeof route === \"object\" ? route?.name : route).split(separator)[0];\n}\nexport function getLocalizedRouteName(routeName, locale, isDefault) {\n return !isDefault ? routeName + separator + locale : routeName + separator + locale + defaultRouteNameSuffix;\n}\nconst pathLanguageParser = createPathIndexLanguageParser(0);\nexport const getLocaleFromRoutePath = (path) => pathLanguageParser(path);\nexport const getLocaleFromRouteName = (name) => name.split(separator).at(1) ?? \"\";\nfunction normalizeInput(input) {\n return typeof input !== \"object\" ? String(input) : String(input?.name || input?.path || \"\");\n}\nexport function getLocaleFromRoute(route) {\n const input = normalizeInput(route);\n if (input[0] === \"/\") {\n return getLocaleFromRoutePath(input);\n }\n const fromName = getLocaleFromRouteName(input);\n if (fromName) {\n return fromName;\n }\n if (typeof route === \"object\" && route?.path) {\n return getLocaleFromRoutePath(String(route.path));\n }\n return \"\";\n}\n","import { assign } from \"@intlify/shared\";\nimport { getLocalizedRouteName, normalizeRouteName } from \"#i18n-kit/routing\";\nexport function createLocaleRouteNameGetter(defaultLocale) {\n if (!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__) {\n return (routeName) => normalizeRouteName(routeName);\n }\n if (__I18N_STRATEGY__ === \"prefix_and_default\") {\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, locale === defaultLocale);\n }\n return (name, locale) => getLocalizedRouteName(normalizeRouteName(name), locale, false);\n}\nexport function createLocalizedRouteByPathResolver(router) {\n if (!__I18N_ROUTING__) {\n return (route) => route;\n }\n if (__I18N_STRATEGY__ === \"prefix\") {\n return (route, locale) => {\n const targetPath = \"/\" + locale + (route.path === \"/\" ? \"\" : route.path);\n const _route = router.options.routes.find((r) => r.path === targetPath);\n if (_route != null) {\n return router.resolve(assign({}, route, _route, { path: targetPath }));\n }\n return route;\n };\n }\n return (route) => router.resolve(route);\n}\n","// @ts-nocheck\n\nexport const localeCodes = [\n \"hu\",\n \"en\"\n]\nexport const localeLoaders = {\n hu: [\n {\n key: \"locale_hu_46json_ee06c965\",\n load: () => import(\"#nuxt-i18n/ee06c965\" /* webpackChunkName: \"locale_hu_46json_ee06c965\" */),\n cache: true\n }\n ],\n en: [\n {\n key: \"locale_en_46json_0b63539c\",\n load: () => import(\"#nuxt-i18n/0b63539c\" /* webpackChunkName: \"locale_en_46json_0b63539c\" */),\n cache: true\n }\n ]\n}\nexport const vueI18nConfigs = []\nexport const normalizedLocales = [\n {\n code: \"hu\",\n iso: \"hu-HU\",\n name: \"Magyar\",\n language: undefined\n },\n {\n code: \"en\",\n iso: \"en-GB\",\n name: \"English\",\n language: undefined\n }\n]\n\n","import { create, deepCopy, isFunction, toTypeString } from \"@intlify/shared\";\nimport { useNuxtApp } from \"#app\";\nimport { createDefu } from \"defu\";\nconst cacheMessages = /* @__PURE__ */ new Map();\nconst merger = createDefu((obj, key, value) => {\n if (key === \"messages\" || key === \"datetimeFormats\" || key === \"numberFormats\") {\n obj[key] ??= create(null);\n deepCopy(value, obj[key]);\n return true;\n }\n});\nexport async function loadVueI18nOptions(vueI18nConfigs) {\n const nuxtApp = useNuxtApp();\n let vueI18nOptions = { messages: create(null) };\n for (const configFile of vueI18nConfigs) {\n const resolver = await configFile().then((x) => isModule(x) ? x.default : x);\n const resolved = isFunction(resolver) ? await nuxtApp.runWithContext(() => resolver()) : resolver;\n vueI18nOptions = merger(create(null), resolved, vueI18nOptions);\n }\n vueI18nOptions.fallbackLocale ??= false;\n return vueI18nOptions;\n}\nconst isModule = (val) => toTypeString(val) === \"[object Module]\";\nasync function getLocaleMessages(locale, loader) {\n const nuxtApp = useNuxtApp();\n try {\n const getter = await nuxtApp.runWithContext(loader.load).then((x) => isModule(x) ? x.default : x);\n return isFunction(getter) ? await nuxtApp.runWithContext(() => getter(locale)) : getter;\n } catch (e) {\n throw new Error(`Failed loading locale (${locale}): ` + e.message);\n }\n}\nexport async function getLocaleMessagesMerged(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(\n loaders.map((loader) => nuxtApp.runWithContext(() => getLocaleMessages(locale, loader)))\n );\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nexport async function getLocaleMessagesMergedCached(locale, loaders = []) {\n const nuxtApp = useNuxtApp();\n const messages = await Promise.all(loaders.map(async (loader) => {\n const cached = getCachedMessages(loader);\n const messages2 = cached || await nuxtApp.runWithContext(() => getLocaleMessages(locale, loader));\n if (!cached && loader.cache !== false) {\n cacheMessages.set(loader.key, { ttl: Date.now() + __I18N_CACHE_LIFETIME__ * 1e3, value: messages2 });\n }\n return messages2;\n }));\n const merged = {};\n for (const message of messages) {\n deepCopy(message, merged);\n }\n return merged;\n}\nfunction getCachedMessages(loader) {\n if (!__I18N_CACHE__) {\n return;\n }\n if (loader.cache === false) {\n return;\n }\n const cache = cacheMessages.get(loader.key);\n if (cache == null) {\n return;\n }\n return __I18N_CACHE_LIFETIME__ === 0 || cache.ttl > Date.now() ? cache.value : void 0;\n}\n","export function getI18nTarget(i18n) {\n return i18n != null && \"global\" in i18n && \"mode\" in i18n ? i18n.global : i18n;\n}\nexport function getComposer(i18n) {\n const target = getI18nTarget(i18n);\n return \"__composer\" in target ? target.__composer : target;\n}\n","import { useRuntimeConfig } from \"#imports\";\nimport { isString } from \"@intlify/shared\";\nexport function useRuntimeI18n(nuxtApp, event) {\n if (!nuxtApp) {\n return useRuntimeConfig(event).public.i18n;\n }\n return nuxtApp.$config.public.i18n;\n}\nexport function useI18nDetection(nuxtApp) {\n const detectBrowserLanguage = useRuntimeI18n(nuxtApp).detectBrowserLanguage;\n const detect = detectBrowserLanguage || {};\n return {\n ...detect,\n enabled: !!detectBrowserLanguage,\n cookieKey: detect.cookieKey || __DEFAULT_COOKIE_KEY__\n };\n}\nexport function resolveRootRedirect(config) {\n if (!config) {\n return void 0;\n }\n return {\n path: \"/\" + (isString(config) ? config : config.path).replace(/^\\//, \"\"),\n code: !isString(config) && config.statusCode || 302\n };\n}\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","import { hasProtocol } from \"ufo\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { toArray } from \"./utils.js\";\nexport function matchDomainLocale(locales, host, pathLocale) {\n const normalizeDomain = (domain = \"\") => domain.replace(/https?:\\/\\//, \"\");\n const matches = locales.filter(\n (locale) => normalizeDomain(locale.domain) === host || toArray(locale.domains).includes(host)\n );\n if (matches.length <= 1) {\n return matches[0]?.code;\n }\n return (\n // match by current path locale\n matches.find((l) => l.code === pathLocale)?.code || matches.find((l) => l.defaultForDomains?.includes(host) ?? l.domainDefault)?.code\n );\n}\nexport function domainFromLocale(domainLocales, url, locale) {\n const lang = normalizedLocales.find((x) => x.code === locale);\n const domain = domainLocales?.[locale]?.domain || lang?.domain || lang?.domains?.find((v) => v === url.host);\n if (!domain) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Could not find domain name for locale \" + locale);\n return;\n }\n if (hasProtocol(domain, { strict: true })) {\n return domain;\n }\n return url.protocol + \"//\" + domain;\n}\n","import { localeCodes, localeLoaders, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { isArray, isString } from \"@intlify/shared\";\nexport function createLocaleConfigs(fallbackLocale) {\n const localeConfigs = {};\n for (const locale of localeCodes) {\n const fallbacks = getFallbackLocaleCodes(fallbackLocale, [locale]);\n const cacheable = isLocaleWithFallbacksCacheable(locale, fallbacks);\n localeConfigs[locale] = { fallbacks, cacheable };\n }\n return localeConfigs;\n}\nfunction getFallbackLocaleCodes(fallback, locales) {\n if (fallback === false) {\n return [];\n }\n if (isArray(fallback)) {\n return fallback;\n }\n let fallbackLocales = [];\n if (isString(fallback)) {\n if (locales.every((locale) => locale !== fallback)) {\n fallbackLocales.push(fallback);\n }\n return fallbackLocales;\n }\n const targets = [...locales, \"default\"];\n for (const locale of targets) {\n if (locale in fallback == false) {\n continue;\n }\n fallbackLocales = [...fallbackLocales, ...fallback[locale].filter(Boolean)];\n }\n return fallbackLocales;\n}\nexport function isLocaleCacheable(locale) {\n return localeLoaders[locale] != null && localeLoaders[locale].every((loader) => loader.cache !== false);\n}\nexport function isLocaleWithFallbacksCacheable(locale, fallbackLocales) {\n return isLocaleCacheable(locale) && fallbackLocales.every((fallbackLocale) => isLocaleCacheable(fallbackLocale));\n}\nexport function getDefaultLocaleForDomain(host) {\n return normalizedLocales.find((l) => !!l.defaultForDomains?.includes(host))?.code;\n}\nexport const isSupportedLocale = (locale) => localeCodes.includes(locale || \"\");\nexport const resolveSupportedLocale = (locale) => isSupportedLocale(locale) ? locale : void 0;\n","import { isRef, unref } from \"vue\";\nimport { useCookie, useRequestURL, useState } from \"#imports\";\nimport { localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"./shared/messages.js\";\nimport { createBaseUrlGetter, createComposableContext } from \"./utils.js\";\nimport { getI18nTarget } from \"./compatibility.js\";\nimport { domainFromLocale } from \"./shared/domain.js\";\nimport { isSupportedLocale } from \"./shared/locales.js\";\nimport { resolveRootRedirect, useI18nDetection, useRuntimeI18n } from \"./shared/utils.js\";\nimport { joinURL } from \"ufo\";\nimport { isString } from \"@intlify/shared\";\nexport const useLocaleConfigs = () => useState(\n \"i18n:cached-locale-configs\",\n () => void 0\n);\nexport const useResolvedLocale = () => useState(\"i18n:resolved-locale\", () => \"\");\nfunction useI18nCookie({ cookieCrossOrigin, cookieDomain, cookieSecure, cookieKey }) {\n const date = /* @__PURE__ */ new Date();\n return useCookie(cookieKey || __DEFAULT_COOKIE_KEY__, {\n path: \"/\",\n readonly: false,\n expires: new Date(date.setDate(date.getDate() + 365)),\n sameSite: cookieCrossOrigin ? \"none\" : \"lax\",\n domain: cookieDomain || void 0,\n secure: cookieCrossOrigin || cookieSecure\n });\n}\nexport function createNuxtI18nContext(nuxt, vueI18n, defaultLocale) {\n const i18n = getI18nTarget(vueI18n);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const detectConfig = useI18nDetection(nuxt);\n const serverLocaleConfigs = useLocaleConfigs();\n const localeCookie = useI18nCookie(detectConfig);\n const loadMap = /* @__PURE__ */ new Set();\n const getLocaleConfig = (locale) => serverLocaleConfigs.value[locale];\n const getDomainFromLocale = (locale) => domainFromLocale(runtimeI18n.domainLocales, useRequestURL({ xForwardedHost: true }), locale);\n const baseUrl = createBaseUrlGetter(nuxt, runtimeI18n.baseUrl, defaultLocale, getDomainFromLocale);\n const resolvedLocale = useResolvedLocale();\n if (__I18N_SERVER_REDIRECT__ && import.meta.server && nuxt.ssrContext?.event?.context?.nuxtI18n?.detectLocale) {\n resolvedLocale.value = nuxt.ssrContext.event.context.nuxtI18n.detectLocale;\n }\n const loadMessagesFromClient = async (locale) => {\n const locales = getLocaleConfig(locale)?.fallbacks ?? [];\n if (!locales.includes(locale)) {\n locales.push(locale);\n }\n for (const k of locales) {\n const msg = await nuxt.runWithContext(() => getLocaleMessagesMergedCached(k, localeLoaders[k]));\n i18n.mergeLocaleMessage(k, msg);\n }\n };\n const loadMessagesFromServer = async (locale) => {\n if (locale in localeLoaders === false) {\n return;\n }\n const headers = getLocaleConfig(locale)?.cacheable ? {} : { \"Cache-Control\": \"no-cache\" };\n const prefix = import.meta.client && __I18N_CDN__ ? nuxt.$config.app.cdnURL || \"\" : \"\";\n const url = joinURL(prefix, __I18N_SERVER_ROUTE__, __I18N_LOCALE_HASHES__[locale], locale, \"messages.json\");\n const messages = await $fetch(url, { headers });\n for (const k of Object.keys(messages)) {\n i18n.mergeLocaleMessage(k, messages[k]);\n }\n };\n const ctx = {\n vueI18n,\n initial: true,\n preloaded: false,\n config: runtimeI18n,\n rootRedirect: resolveRootRedirect(runtimeI18n.rootRedirect),\n redirectStatusCode: runtimeI18n.redirectStatusCode ?? 302,\n dynamicResourcesSSG: !__IS_SSR__ || !__I18N_FULL_STATIC__ && (import.meta.prerender || __IS_SSG__),\n getDefaultLocale: () => defaultLocale,\n getLocale: () => unref(i18n.locale),\n setLocale: async (locale) => {\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale || !isSupportedLocale(locale)) {\n return;\n }\n if (isRef(i18n.locale)) {\n i18n.locale.value = locale;\n } else {\n i18n.locale = locale;\n }\n await nuxt.callHook(\"i18n:localeSwitched\", { newLocale: locale, oldLocale });\n resolvedLocale.value = locale;\n },\n setLocaleSuspend: async (locale) => {\n if (!isSupportedLocale(locale)) {\n return;\n }\n ctx.vueI18n.__pendingLocale = locale;\n ctx.vueI18n.__pendingLocalePromise = new Promise((resolve) => {\n ctx.vueI18n.__resolvePendingLocalePromise = async () => {\n ctx.setCookieLocale(locale);\n await ctx.setLocale(locale);\n ctx.vueI18n.__pendingLocale = void 0;\n resolve();\n };\n });\n if (import.meta.server || nuxt.isHydrating || !ctx.config.skipSettingLocaleOnNavigate) {\n await ctx.vueI18n.__resolvePendingLocalePromise?.();\n }\n },\n getLocales: () => unref(i18n.locales).map((x) => isString(x) ? { code: x } : x),\n setCookieLocale: (locale) => {\n if (detectConfig.useCookie && isSupportedLocale(locale)) {\n localeCookie.value = locale;\n }\n },\n getBaseUrl: (locale) => {\n if (locale) {\n return joinURL(getDomainFromLocale(locale) || baseUrl(), nuxt.$config.app.baseURL);\n }\n return joinURL(baseUrl(), nuxt.$config.app.baseURL);\n },\n loadMessages: async (locale) => {\n if (nuxt.isHydrating && loadMap.has(locale)) {\n return;\n }\n try {\n return ctx.dynamicResourcesSSG || import.meta.dev ? await loadMessagesFromClient(locale) : await loadMessagesFromServer(locale);\n } catch (e) {\n console.warn(`Failed to load messages for locale \"${locale}\"`, e);\n } finally {\n loadMap.add(locale);\n }\n },\n composableCtx: void 0\n };\n ctx.composableCtx = createComposableContext(ctx, nuxt);\n return ctx;\n}\nexport function useNuxtI18nContext(nuxt) {\n if (nuxt._nuxtI18n == null) {\n throw new Error(\"Nuxt I18n context has not been set up yet.\");\n }\n return nuxt._nuxtI18n;\n}\n","function matchBrowserLocale(locales, browserLocales) {\n const matchedLocales = [];\n for (const [index, browserCode] of browserLocales.entries()) {\n const matchedLocale = locales.find((l) => l.language?.toLowerCase() === browserCode.toLowerCase());\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 1 - index / browserLocales.length });\n break;\n }\n }\n for (const [index, browserCode] of browserLocales.entries()) {\n const languageCode = browserCode.split(\"-\")[0].toLowerCase();\n const matchedLocale = locales.find((l) => l.language?.split(\"-\")[0].toLowerCase() === languageCode);\n if (matchedLocale) {\n matchedLocales.push({ code: matchedLocale.code, score: 0.999 - index / browserLocales.length });\n break;\n }\n }\n return matchedLocales;\n}\nfunction compareBrowserLocale(a, b) {\n if (a.score === b.score) {\n return b.code.length - a.code.length;\n }\n return b.score - a.score;\n}\nexport function findBrowserLocale(locales, browserLocales) {\n const matchedLocales = matchBrowserLocale(\n locales.map((l) => ({ code: l.code, language: l.language || l.code })),\n browserLocales\n );\n return matchedLocales.sort(compareBrowserLocale).at(0)?.code ?? \"\";\n}\n","import { getCookie, getRequestHeader, getRequestURL } from \"h3\";\nimport { normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { getLocaleFromRoute, getLocaleFromRoutePath } from \"#i18n-kit/routing\";\nimport { findBrowserLocale } from \"#i18n-kit/browser\";\nimport { parseAcceptLanguage } from \"@intlify/utils\";\nimport { matchDomainLocale } from \"./domain.js\";\nimport { useRuntimeI18n } from \"../shared/utils.js\";\nimport { useCookie } from \"#app\";\nconst getCookieLocale = (event, cookieName) => (import.meta.client ? useCookie(cookieName).value : getCookie(event, cookieName)) || void 0;\nconst getRouteLocale = (event, route) => getLocaleFromRoute(route);\nconst getHeaderLocale = (event) => findBrowserLocale(normalizedLocales, parseAcceptLanguage(getRequestHeader(event, \"accept-language\") || \"\"));\nconst getNavigatorLocale = (event) => findBrowserLocale(normalizedLocales, navigator.languages);\nconst getHostLocale = (event, path, domainLocales) => {\n const host = import.meta.client ? new URL(window.location.href).host : getRequestURL(event, { xForwardedHost: true }).host;\n const locales = normalizedLocales.map((l) => ({\n ...l,\n domain: domainLocales[l.code]?.domain ?? l.domain\n }));\n return matchDomainLocale(locales, host, getLocaleFromRoutePath(path));\n};\nexport const useDetectors = (event, config, nuxtApp) => {\n if (import.meta.server && !event) {\n throw new Error(\"H3Event is required for server-side locale detection\");\n }\n const runtimeI18n = useRuntimeI18n(nuxtApp);\n return {\n cookie: () => getCookieLocale(event, config.cookieKey),\n header: () => import.meta.server ? getHeaderLocale(event) : void 0,\n navigator: () => import.meta.client ? getNavigatorLocale(event) : void 0,\n host: (path) => getHostLocale(event, path, runtimeI18n.domainLocales),\n route: (path) => getRouteLocale(event, path)\n };\n};\n","import { isEqual, joinURL, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { isFunction, isString } from \"@intlify/shared\";\nimport { navigateTo, useHead, useNuxtApp, useRequestEvent, useRequestURL, useRouter } from \"#imports\";\nimport { createLocaleRouteNameGetter, createLocalizedRouteByPathResolver } from \"./routing/utils.js\";\nimport { getRouteBaseName } from \"#i18n-kit/routing\";\nimport {\n localePath,\n switchLocalePath\n} from \"./routing/routing.js\";\nimport { useNuxtI18nContext } from \"./context.js\";\nimport { getDefaultLocaleForDomain, isSupportedLocale } from \"./shared/locales.js\";\nimport { useDetectors } from \"./shared/detection.js\";\nimport { useI18nDetection } from \"./shared/utils.js\";\nexport const isRouteLocationPathRaw = (val) => !!val.path && !val.name;\nexport function useComposableContext(nuxtApp) {\n const context = nuxtApp?._nuxtI18n?.composableCtx;\n if (!context) {\n throw new Error(\n \"i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.\"\n );\n }\n return context;\n}\nconst formatTrailingSlash = __TRAILING_SLASH__ ? withTrailingSlash : withoutTrailingSlash;\nexport function createComposableContext(ctx, nuxtApp = useNuxtApp()) {\n const router = useRouter();\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n const defaultLocale = ctx.getDefaultLocale();\n const getLocalizedRouteName = createLocaleRouteNameGetter(defaultLocale);\n function resolveLocalizedRouteByName(route, locale) {\n route.name = getRouteBaseName(route.name || router.currentRoute.value);\n const localizedName = getLocalizedRouteName(route.name, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n if (__I18N_COMPACT_ROUTES__ && route.params) {\n delete route.params.locale;\n }\n } else if (__I18N_COMPACT_ROUTES__ && isSupportedLocale(locale) && getCompactRouteNames().has(route.name)) {\n route.params = { ...route.params || {}, locale };\n return route;\n }\n route.name = localizedName;\n return route;\n }\n const routeByPathResolver = createLocalizedRouteByPathResolver(router);\n let compactRouteRecords;\n function getCompactRouteNames() {\n if (compactRouteRecords) {\n return compactRouteRecords;\n }\n compactRouteRecords = /* @__PURE__ */ new Set();\n if (__I18N_COMPACT_ROUTES__) {\n for (const r of router.getRoutes()) {\n if (r.name != null && /^\\/:locale\\(/.test(r.path)) {\n compactRouteRecords.add(String(r.name));\n }\n }\n }\n return compactRouteRecords;\n }\n function resolveLocalizedRouteByPath(input, locale) {\n const route = routeByPathResolver(input, locale);\n const baseName = getRouteBaseName(route);\n if (baseName) {\n const localizedName = getLocalizedRouteName(baseName, locale);\n if (router.hasRoute(localizedName)) {\n route.name = localizedName;\n return route;\n }\n if (__I18N_COMPACT_ROUTES__ && getCompactRouteNames().has(baseName)) {\n const compacted = route;\n compacted.name = baseName;\n compacted.params = { ...compacted.params || {}, locale };\n return compacted;\n }\n route.name = localizedName;\n return route;\n }\n if (prefixable(locale, defaultLocale)) {\n route.path = \"/\" + locale + route.path;\n }\n route.path = formatTrailingSlash(route.path, true);\n return route;\n }\n const composableCtx = {\n router,\n _head: void 0,\n get head() {\n this._head ??= useHead({});\n return this._head;\n },\n metaState: { htmlAttrs: {}, meta: [], link: [] },\n seoSettings: {\n dir: __I18N_STRICT_SEO__,\n lang: __I18N_STRICT_SEO__,\n seo: __I18N_STRICT_SEO__\n },\n localePathPayload: getLocalePathPayload(),\n routingOptions: {\n defaultLocale,\n strictCanonicals: ctx.config.experimental.alternateLinkCanonicalQueries ?? true,\n hreflangLinks: !(!__I18N_ROUTING__ && !__DIFFERENT_DOMAINS__)\n },\n getLocale: ctx.getLocale,\n getLocales: ctx.getLocales,\n getBaseUrl: ctx.getBaseUrl,\n getRouteBaseName,\n getRouteLocalizedParams: () => router.currentRoute.value.meta[__DYNAMIC_PARAMS_KEY__] ?? {},\n getLocalizedDynamicParams: (locale) => {\n if (__I18N_STRICT_SEO__ && import.meta.client && nuxtApp.isHydrating && composableCtx.localePathPayload) {\n return composableCtx.localePathPayload[locale] || {};\n }\n return composableCtx.getRouteLocalizedParams()?.[locale];\n },\n afterSwitchLocalePath: (path, locale) => {\n const params = composableCtx.getRouteLocalizedParams();\n if (__I18N_STRICT_SEO__ && locale && Object.keys(params).length && !params[locale]) {\n return \"\";\n }\n if (__MULTI_DOMAIN_LOCALES__ && __I18N_STRATEGY__ === \"prefix_except_default\") {\n const defaultLocale2 = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host);\n if (locale !== defaultLocale2 || detectors.route(path) !== defaultLocale2) {\n return path;\n }\n return path.slice(locale.length + 1);\n }\n if (__DIFFERENT_DOMAINS__) {\n return joinURL(ctx.getBaseUrl(locale), path);\n }\n return path;\n },\n resolveLocalizedRouteObject: (route, locale) => {\n return isRouteLocationPathRaw(route) ? resolveLocalizedRouteByPath(route, locale) : resolveLocalizedRouteByName(route, locale);\n }\n };\n return composableCtx;\n}\nfunction getLocalePathPayload(nuxtApp = useNuxtApp()) {\n const payload = import.meta.client && document.querySelector(`[data-nuxt-i18n-slp=\"${nuxtApp._id}\"]`)?.textContent;\n return JSON.parse(payload || \"{}\");\n}\nexport async function loadAndSetLocale(nuxtApp, locale) {\n const ctx = useNuxtI18nContext(nuxtApp);\n const oldLocale = ctx.getLocale();\n if (locale === oldLocale && !ctx.initial && (!ctx.vueI18n.__pendingLocale || ctx.vueI18n.__pendingLocale === locale)) {\n return locale;\n }\n const data = { oldLocale, newLocale: locale, initialSetup: ctx.initial, context: nuxtApp };\n let override = await nuxtApp.callHook(\"i18n:beforeLocaleSwitch\", data);\n if (override != null && import.meta.dev) {\n console.warn(\"[nuxt-i18n] Do not return in `i18n:beforeLocaleSwitch`, mutate `data.newLocale` instead.\");\n }\n override ??= data.newLocale;\n if (isSupportedLocale(override)) {\n locale = override;\n }\n await ctx.loadMessages(locale);\n await ctx.setLocaleSuspend(locale);\n return locale;\n}\nfunction skipDetect(detect, path, pathLocale) {\n if (!__I18N_ROUTING__) {\n return false;\n }\n if (detect.redirectOn === \"root\" && path !== \"/\") {\n return true;\n }\n if (detect.redirectOn === \"no prefix\" && !detect.alwaysRedirect && isSupportedLocale(pathLocale)) {\n return true;\n }\n return false;\n}\nexport function detectLocale(nuxtApp, route) {\n const detectConfig = useI18nDetection(nuxtApp);\n const detectors = useDetectors(useRequestEvent(nuxtApp), detectConfig, nuxtApp);\n const ctx = useNuxtI18nContext(nuxtApp);\n const path = isString(route) ? route : route.path;\n function* detect() {\n if (ctx.initial && detectConfig.enabled && !skipDetect(detectConfig, path, detectors.route(path))) {\n yield detectors.cookie();\n yield detectors.header();\n yield detectors.navigator();\n yield detectConfig.fallbackLocale;\n }\n if (__DIFFERENT_DOMAINS__ || __MULTI_DOMAIN_LOCALES__) {\n yield detectors.host(path);\n }\n if (__I18N_ROUTING__) {\n yield detectors.route(route);\n }\n }\n for (const detected of detect()) {\n if (detected && isSupportedLocale(detected)) {\n return detected;\n }\n }\n return ctx.getLocale() || ctx.getDefaultLocale() || \"\";\n}\nexport function navigate(nuxtApp, to, locale) {\n if (!__I18N_ROUTING__ || __DIFFERENT_DOMAINS__) {\n return;\n }\n const ctx = useNuxtI18nContext(nuxtApp);\n const _ctx = useComposableContext(nuxtApp);\n if (to.path === \"/\" && ctx.rootRedirect) {\n return navigateTo(localePath(_ctx, ctx.rootRedirect.path, locale), { redirectCode: ctx.rootRedirect.code });\n }\n if (ctx.vueI18n.__pendingLocale && useNuxtApp()._processingMiddleware) {\n return;\n }\n const detectors = useDetectors(useRequestEvent(), useI18nDetection(nuxtApp), nuxtApp);\n if (detectors.route(to) === locale) {\n return;\n }\n const destination = switchLocalePath(_ctx, locale, to) || localePath(_ctx, to.fullPath, locale);\n if (isEqual(destination, to.fullPath)) {\n return;\n }\n return navigateTo(destination, { redirectCode: ctx.redirectStatusCode });\n}\nexport function prefixable(currentLocale, defaultLocale) {\n return !__DIFFERENT_DOMAINS__ && __I18N_ROUTING__ && (currentLocale !== defaultLocale || __I18N_STRATEGY__ === \"prefix\");\n}\nexport function createBaseUrlGetter(nuxt, baseUrl, defaultLocale, getDomainFromLocale) {\n if (isFunction(baseUrl)) {\n import.meta.dev && console.warn(\"[nuxt-i18n] Configuring baseUrl as a function is deprecated and will be removed in v11.\");\n return () => baseUrl(nuxt);\n }\n return () => {\n if (__DIFFERENT_DOMAINS__ && defaultLocale) {\n return (getDomainFromLocale(defaultLocale) || baseUrl) ?? \"\";\n }\n return baseUrl ?? \"\";\n };\n}\n","/*!\n * message-compiler v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16\n};\n// Special value for higher-order compilers to pick up the last code\n// to avoid collision of error codes.\n// This should always be kept as the last item.\nconst COMPILE_ERROR_CODES_EXTEND_POINT = 17;\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 13 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 13 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 7 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '') => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return hasSpace;\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === '\\\\') {\n const nextCh = scnr.peek();\n if (nextCh === \"{\" /* TokenChars.BraceLeft */ ||\n nextCh === \"}\" /* TokenChars.BraceRight */ ||\n nextCh === \"@\" /* TokenChars.LinkedAlias */ ||\n nextCh === \"|\" /* TokenChars.Pipe */ ||\n nextCh === '\\\\') {\n buf += ch + nextCh;\n scnr.next();\n scnr.next();\n }\n else {\n scnr.resetPeek();\n buf += ch;\n scnr.next();\n }\n }\n else if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n // Check if takeNamedIdentifierChar stoped because of invalid characters\n const currentChar = scnr.currentChar();\n if (currentChar &&\n currentChar !== '}' &&\n currentChar !== EOF &&\n currentChar !== CHAR_SP &&\n currentChar !== CHAR_LF &&\n currentChar !== '\\u3000') {\n const invalidPart = readInvalidIdentifier(scnr);\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, name + invalidPart);\n return name + invalidPart;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 4 /* TokenTypes.Named */ ||\n context.currentType === 5 /* TokenTypes.List */ ||\n context.currentType === 6 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 8 /* TokenTypes.LinkedDot */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */ ||\n currentType === 9 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 7 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 8 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 7 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 13 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 13 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\n// Text context escape sequences: \\\\, \\@, \\{, \\}, \\|\nconst TEXT_ESCAPES = /\\\\([\\\\@{}|])/g;\nfunction fromTextEscapeSequence(_match, char) {\n return char;\n}\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value.replace(TEXT_ESCAPES, fromTextEscapeSequence);\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 11 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 8 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 10 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 13 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 13 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 13 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 13 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 13 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {}) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { COMPILE_ERROR_CODES_EXTEND_POINT, CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, hasOwn, isNumber, create, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray, isPlainObject, assign, isRegExp, warnOnce, isDate, isEmptyObject, join, toDisplayString, sanitizeTranslatedHtml, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey } from '@intlify/shared';\nimport { detectHtmlTag, defaultOnError, baseCompile as baseCompile$1, COMPILE_ERROR_CODES_EXTEND_POINT, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue$1(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved != null) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nconst AST_NODE_PROPS_KEYS = [\n ...PROPS_BODY,\n ...PROPS_CASES,\n ...PROPS_STATIC,\n ...PROPS_ITEMS,\n ...PROPS_KEY,\n ...PROPS_MODIFIER,\n ...PROPS_VALUE,\n ...PROPS_TYPE\n];\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\n}\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue$1(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue$1(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue$1(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue$1(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction clearCompileCache() {\n compileCache = create();\n}\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nfunction compile(message, context) {\n if ((!__INTLIFY_DROP_MESSAGE_COMPILER__) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit('i18n:init', {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = \n/* #__PURE__*/ createDevToolsHook('function:translate');\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: COMPILE_ERROR_CODES_EXTEND_POINT, // 17\n INVALID_DATE_ARGUMENT: 18,\n INVALID_ISO_DATE_ARGUMENT: 19,\n NOT_SUPPORT_NON_STRING_MESSAGE: 20,\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21,\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22,\n NOT_SUPPORT_LOCALE_TYPE: 23\n};\nconst CORE_ERROR_CODES_EXTEND_POINT = 24;\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- for generic object\n let last = obj;\n let i = 0;\n while (i < len) {\n const key = hit[i];\n /**\n * NOTE:\n * if `key` is intlify message format AST node key and `last` is intlify message format AST, skip it.\n * because the AST node is not a key-value structure.\n */\n if (AST_NODE_PROPS_KEYS.includes(key) && isMessageAST(last)) {\n return null;\n }\n if (!isObject(last)) {\n return null;\n }\n if (!hasOwn(last, key)) {\n return null;\n }\n const val = last[key];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7,\n INVALID_NUMBER_ARGUMENT: 8,\n INVALID_DATE_ARGUMENT: 9\n};\nconst CORE_WARN_CODES_EXTEND_POINT = 10;\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`,\n [CoreWarnCodes.INVALID_NUMBER_ARGUMENT]: `Invalid argument for number formatting: expected a number but received '{value}'.`,\n [CoreWarnCodes.INVALID_DATE_ARGUMENT]: `Invalid argument for datetime formatting: expected a Date, number, or ISO string but received '{value}'.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '11.4.2';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('missing', {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isString(args[0]) && !isDate(args[0]) && !isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_DATE_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n if (!isNumber(args[0])) {\n if ((process.env.NODE_ENV !== 'production')) {\n onWarn(getWarnMessage(CoreWarnCodes.INVALID_NUMBER_ARGUMENT, {\n value: String(args[0])\n }));\n }\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale.replace(/!/g, ''), overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n // singular (0) | plural (1)\n if (choicesLength === 2) {\n // prettier-ignore\n return choice === 1\n ? 0\n : 1;\n }\n // zero (0) | singular (1) | plural (2)\n return Math.min(choice, 2);\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n return isNumber(options.named?.count)\n ? options.named.count\n : isNumber(options.named?.n)\n ? options.named.n\n : index;\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isString(locale) && isFunction(options.pluralRules?.[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = pluralRule === pluralDefault ? undefined : pluralDefault;\n const plural = (messages) => messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n const _list = options.list || [];\n const list = (index) => _list[index];\n const _named = options.named || create(); // eslint-disable-line @typescript-eslint/no-explicit-any\n // normalize named\n if (isNumber(options.pluralIndex)) {\n _named.count ||= options.pluralIndex;\n _named.n ||= options.pluralIndex;\n }\n const named = (key) => _named[key];\n function message(key, useLinked) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key, !!useLinked)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isFunction(options.processor?.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isFunction(options.processor?.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isString(options.processor?.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key, true)(ctx);\n // If the linked message is not resolved (empty string), fall back to the key itself\n const resolved = ret === '' || ret === undefined ? key : ret;\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(resolved) && modifier\n ? resolved[0]\n : resolved;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n };\n return ctx;\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : null;\n const enableDefaultMsg = fallbackFormat ||\n (defaultMsgOrKey != null &&\n (isString(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || create()\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n let ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // apply HTML sanitization for security\n if (escapeParameter && isString(ret)) {\n ret = sanitizeTranslatedHtml(ret);\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = create();\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || create();\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start && format) {\n emitter.emit('message-resolve', {\n type: 'message-resolve',\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-compilation', {\n type: 'message-compilation',\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n const emitter = (process.env.NODE_ENV !== 'production')\n ? context.__v_emitter\n : undefined;\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser && emitter) {\n const end = window.performance.now();\n if (emitter && start) {\n emitter.emit('message-evaluation', {\n type: 'message-evaluation',\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = create();\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit('compile-error', {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n const message = `Message compilation error: ${err.message}`;\n throw new SyntaxError(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n throw err;\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key, useLinked) => {\n let val = resolveValue(message, key);\n // fallback\n if (val == null && (fallbackContext || useLinked)) {\n const [format, , message] = resolveMessageFormat(fallbackContext || context, // NOTE: if has fallbackContext, fallback to root, else if use linked, fallback to local context\n key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = format ?? resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\n{\n initFeatureFlags();\n}\n\nexport { AST_NODE_PROPS_KEYS, CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v11.4.2\n * (c) 2026 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { CORE_ERROR_CODES_EXTEND_POINT, createCompileError, CORE_WARN_CODES_EXTEND_POINT, isMessageAST, AST_NODE_PROPS_KEYS, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, fallbackWithLocaleChain, isMessageFunction, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { getGlobalThis, makeSymbol, format, isObject, create, isPlainObject, isArray, deepCopy, isString, hasOwn, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, warnOnce, isEmptyObject } from '@intlify/shared';\nimport * as Vue from 'vue';\nimport { createVNode, Text, computed, watch, ref, shallowRef, Fragment, defineComponent, h, getCurrentScope, onScopeDispose, effectScope, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '11.4.2';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\n\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: CORE_WARN_CODES_EXTEND_POINT, // 10\n NOT_FOUND_PARENT_SCOPE: (CORE_WARN_CODES_EXTEND_POINT + 1),\n IGNORE_OBJ_FLATTEN: (CORE_WARN_CODES_EXTEND_POINT + 2),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_LEGACY_MODE: (CORE_WARN_CODES_EXTEND_POINT + 3),\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE: (CORE_WARN_CODES_EXTEND_POINT +\n 4),\n // duplicate `useI18n` calling\n DUPLICATE_USE_I18N_CALLING: (CORE_WARN_CODES_EXTEND_POINT + 5)\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_LEGACY_MODE]: `Legacy API mode has been deprecated in v11. Use Composition API mode instead.\\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]: `'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.`,\n [I18nWarnCodes.DUPLICATE_USE_I18N_CALLING]: \"Duplicate `useI18n` calling by local scope. Please don't call it on local scope, due to it does not work properly in component.\"\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n if (isMessageAST(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (subKeys[i] === '__proto__') {\n throw new Error(`unsafe key: ${subKeys[i]}`);\n }\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = create();\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n if (!isMessageAST(currentObj)) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n else {\n /**\n * NOTE:\n * if the last object is a message AST and subKeys[lastIndex] has message AST prop key, ignore to copy and key deletion\n */\n if (!AST_NODE_PROPS_KEYS.includes(subKeys[lastIndex])) {\n delete obj[key];\n }\n }\n }\n // recursive process value if value is also a object\n if (!isMessageAST(currentObj)) {\n const target = currentObj[subKeys[lastIndex]];\n if (isObject(target)) {\n handleFlatJson(target);\n }\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? create()\n : { [locale]: create() });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || create();\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n // prettier-ignore\n let messages = isObject(options.messages)\n ? options.messages\n : create();\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0);\n}\nfunction getCurrentInstance() {\n // NOTE(kazupon): avoid bundler warning\n const key = 'currentInstance';\n if (key in Vue) {\n return Vue[key];\n }\n else {\n return Vue.getCurrentInstance();\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _context.locale = val;\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _context.fallbackLocale = val;\n _fallbackLocale.value = val;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit('fallback', {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val) || isArray(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n // When locale is explicitly specified, check only that locale (no fallback chain)\n // When locale is not specified, check the fallback locale chain\n const locales = isString(locale)\n ? [targetLocale]\n : fallbackWithLocaleChain(_context, _fallbackLocale.value, targetLocale);\n for (let i = 0; i < locales.length; i++) {\n const message = getLocaleMessage(locales[i]);\n let resolved = _context.messageResolver(message, key);\n // if null, resolve with object key path (for flat keys containing dots)\n if (resolved === null) {\n resolved = message[key];\n }\n if (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)) {\n return true;\n }\n }\n return false;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nconst VueDevToolsLabels = {\n 'vue-devtools-plugin-vue-i18n': 'Vue I18n DevTools',\n 'vue-i18n-resource-inspector': 'Vue I18n DevTools',\n 'vue-i18n-timeline': 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n 'vue-i18n-resource-inspector': 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n 'vue-i18n-timeline': 0xffcd19\n};\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: 'vue-devtools-plugin-vue-i18n',\n label: VueDevToolsLabels['vue-devtools-plugin-vue-i18n'],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.__VUE_I18N__ && instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: 'vue-i18n-resource-inspector',\n label: VueDevToolsLabels['vue-i18n-resource-inspector'],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders['vue-i18n-resource-inspector']\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: 'vue-i18n-timeline',\n label: VueDevToolsLabels['vue-i18n-timeline'],\n color: VueDevToolsTimelineColors['vue-i18n-timeline']\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$2(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: 'vue-i18n-timeline',\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === 'compile-error'\n ? 'error'\n : event === 'fallback' || event === 'missing'\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n *\n * @deprecated will be removed at vue-i18n v12\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$i18n) {\n const instance = getCurrentInstance();\n if (!instance) {\n return;\n }\n const _vueI18n = this.$i18n;\n instance.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n instance.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete instance.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, create());\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const renderChildren = () => {\n const keys = Object.keys(slots).filter(key => key[0] !== '_');\n const options = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const renderChildren = () => {\n const options = { part: true };\n let overrides = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n return children;\n };\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return isObject(tag)\n ? h(tag, assignedAttrs, { default: renderChildren })\n : h(tag, assignedAttrs, renderChildren());\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\n/**\n * @deprecated will be removed at vue-i18n v12\n */\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n if ((process.env.NODE_ENV !== 'production')) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE));\n }\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser) {\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n if ((process.env.NODE_ENV !== 'production') && __legacyMode) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_LEGACY_MODE));\n }\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n // Isolated scope - independent composer not tied to component\n if (scope === 'isolated') {\n // Composition API mode only\n if (i18n.mode !== 'composition') {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n const i18nInternalIso = i18n;\n const composerOptions = assign({}, options);\n // Find parent composer via parent chain (or fall back to global)\n const parentComposer = getComposer(i18n, instance);\n composerOptions.__root = parentComposer || gl;\n const composer = createComposer(composerOptions);\n // ComposerExtend hook\n if (i18nInternalIso.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternalIso.__composerExtend(composer);\n }\n // Setup devtools emitter (no target.__VUE_I18N__ attachment -\n // multiple isolated composers per component are allowed)\n let emitter = null;\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n // Lifecycle cleanup via onScopeDispose\n const currentScope = getCurrentScope();\n if (currentScope) {\n onScopeDispose(() => {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dispose = composer[DisposeSymbol];\n if (dispose) {\n dispose();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete composer[DisposeSymbol];\n }\n });\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && scope === 'local') {\n warn(getWarnMessage(I18nWarnCodes.DUPLICATE_USE_I18N_CALLING));\n }\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode) {\n const scope = effectScope();\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n target.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nregisterMessageCompiler(compile);\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n","import { useCookie, useNuxtApp, useRequestEvent } from \"#imports\";\nimport { ref, watch } from \"vue\";\nimport { _useLocaleHead, _useSetI18nParams } from \"../routing/head.js\";\nimport { useComposableContext } from \"../utils.js\";\nimport { localePath, localeRoute, switchLocalePath } from \"../routing/routing.js\";\nexport * from \"vue-i18n\";\nexport * from \"./shared.js\";\nexport function useSetI18nParams(seo, nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return _useSetI18nParams(common, seo);\n}\nexport function useLocaleHead({ dir = true, lang = true, seo = true } = {}, nuxtApp = useNuxtApp()) {\n if (__I18N_STRICT_SEO__) {\n throw new Error(\n \"Strict SEO mode is enabled, `useLocaleHead` should not be used as localized head tags are handled internally by `@nuxtjs/i18n`\"\n );\n }\n const common = useComposableContext(nuxtApp);\n common.seoSettings = { dir, lang, seo };\n const head = _useLocaleHead(common, common.seoSettings);\n if (import.meta.client) {\n watch(head, () => common.metaState = head.value);\n }\n common.metaState = head.value;\n return head;\n}\nexport function useRouteBaseName(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route) => {\n if (route == null) {\n return;\n }\n return common.getRouteBaseName(route) || void 0;\n };\n}\nexport function useLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localePath(common, route, locale);\n}\nexport function useLocaleRoute(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (route, locale) => localeRoute(common, route, locale);\n}\nexport function useSwitchLocalePath(nuxtApp = useNuxtApp()) {\n const common = useComposableContext(nuxtApp);\n return (locale) => switchLocalePath(common, locale);\n}\nexport function useBrowserLocale(nuxtApp = useNuxtApp()) {\n return (nuxtApp || useNuxtApp()).$i18n.getBrowserLocale() || null;\n}\nexport function useCookieLocale(nuxtApp = useNuxtApp()) {\n const locale = ref(\"\");\n const nuxt = nuxtApp || useNuxtApp();\n const detect = nuxt.$config.public.i18n.detectBrowserLanguage;\n if (!detect || !detect.useCookie) {\n return locale;\n }\n const locales = useComposableContext(nuxt).getLocales();\n const code = useCookie(detect.cookieKey).value;\n if (code && locales.some((x) => x.code === code)) {\n locale.value = code;\n }\n return locale;\n}\nconst warnRuntimeUsage = (method) => console.warn(\n method + \"() is a compiler-hint helper that is only usable inside the script block of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.\"\n);\nexport function defineI18nRoute(route) {\n if (import.meta.dev) {\n warnRuntimeUsage(\"defineI18nRoute\");\n }\n}\nexport function useI18nPreloadKeys(keys) {\n if (import.meta.server) {\n const ctx = useRequestEvent()?.context?.nuxtI18n;\n if (ctx == null) {\n console.warn(\"useI18nPreloadKeys(): `nuxtI18n` server context is accessible.\");\n return;\n }\n const locale = useComposableContext(useNuxtApp()).getLocale();\n if (!locale) {\n console.warn(\"useI18nPreloadKeys(): Could not resolve locale during server-side render.\");\n return;\n }\n for (const k of keys) {\n ctx?.trackKey(k, locale);\n }\n }\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useSwitchLocalePath } from \"#i18n\";\nconst identifier = __SWITCH_LOCALE_PATH_LINK_IDENTIFIER__;\nconst switchLocalePathLinkWrapperExpr = new RegExp(\n [``, `.+?`, ``].join(\"\"),\n \"g\"\n);\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:switch-locale-path-ssr\",\n dependsOn: [\"i18n:plugin\"],\n setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const switchLocalePath = useSwitchLocalePath(nuxt);\n nuxt.hook(\"app:rendered\", (ctx) => {\n if (ctx.renderResult?.html == null) {\n return;\n }\n ctx.renderResult.html = ctx.renderResult.html.replaceAll(\n switchLocalePathLinkWrapperExpr,\n (match, p1) => {\n const encoded = encodeURI(switchLocalePath(p1 ?? \"\"));\n return match.replace(\n /href=\"([^\"]+)\"/,\n `href=\"${encoded || \"#\"}\" ${!encoded && __I18N_STRICT_SEO__ ? \"data-i18n-disabled\" : \"\"}`\n );\n }\n );\n });\n }\n});\n","import { useNuxtI18nContext, useResolvedLocale } from \"../context.js\";\nimport { detectLocale, loadAndSetLocale, navigate } from \"../utils.js\";\nimport { addRouteMiddleware, defineNuxtPlugin, defineNuxtRouteMiddleware, useNuxtApp, useRouter } from \"#imports\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:route-locale-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\"] : [\"i18n:plugin\", \"i18n:plugin:preload\"],\n async setup(_nuxt) {\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (__I18N_COMPACT_ROUTES__) {\n const router = useRouter();\n for (const route of router.getRoutes()) {\n if (route.meta?.__i18nCompact && route.meta.key == null) {\n route.meta.key = (r) => r.path;\n }\n }\n }\n const resolvedLocale = useResolvedLocale();\n await nuxt.runWithContext(\n () => loadAndSetLocale(\n nuxt,\n ctx.initial && resolvedLocale.value || detectLocale(nuxt, nuxt.$router.currentRoute.value)\n )\n );\n if (!__I18N_ROUTING__ || import.meta.server && __I18N_SERVER_REDIRECT__) {\n return;\n }\n addRouteMiddleware(\n \"locale-changing\",\n defineNuxtRouteMiddleware(async (to) => {\n const locale = await nuxt.runWithContext(() => loadAndSetLocale(nuxt, detectLocale(nuxt, to)));\n ctx.initial = false;\n return nuxt.runWithContext(() => navigate(nuxt, to, locale));\n }),\n { global: true }\n );\n }\n});\n","import { parse } from \"devalue\";\nimport { unref } from \"vue\";\nimport { defineNuxtPlugin, useNuxtApp } from \"#app\";\nimport { localeCodes, localeLoaders } from \"#build/i18n-options.mjs\";\nimport { getLocaleMessagesMergedCached } from \"../shared/messages.js\";\nimport { useNuxtI18nContext } from \"../context.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:preload\",\n dependsOn: [\"i18n:plugin\"],\n async setup(_nuxt) {\n if (!__I18N_PRELOAD__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n if (import.meta.server) {\n for (const locale of localeCodes) {\n try {\n const messages = await $fetch(`${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`);\n for (const locale2 of Object.keys(messages)) {\n nuxt.$i18n.mergeLocaleMessage(locale2, messages[locale2]);\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n }\n ctx.preloaded = true;\n const serverI18n = nuxt.ssrContext?.event.context.nuxtI18n;\n if (serverI18n) {\n const msg = unref(ctx.vueI18n.global.messages);\n serverI18n.messages ??= {};\n for (const k in msg) {\n serverI18n.messages[k] = msg[k];\n }\n }\n }\n if (import.meta.client) {\n await mergePayloadMessages(ctx, ctx.vueI18n.global, nuxt);\n if (ctx.preloaded && __I18N_STRIP_UNUSED__) {\n const unsub = nuxt.$router.beforeResolve(async (to, from) => {\n if (to.path === from.path) {\n return;\n }\n await ctx.loadMessages(ctx.getLocale());\n unsub();\n });\n }\n }\n }\n});\nasync function mergePayloadMessages(ctx, i18n, nuxt = useNuxtApp()) {\n const content = document.querySelector(`[data-nuxt-i18n=\"${nuxt._id}\"]`)?.textContent;\n const preloadedMessages = content && parse(content);\n const preloadedKeys = Object.keys(preloadedMessages || {});\n if (preloadedKeys.length) {\n if (ctx.dynamicResourcesSSG) {\n const getKeyedLocaleMessages = async (locale) => {\n return { [locale]: await getLocaleMessagesMergedCached(locale, localeLoaders[locale]) };\n };\n try {\n const msg = await Promise.all(preloadedKeys.map(getKeyedLocaleMessages));\n for (const m of msg) {\n for (const k in m) {\n i18n.mergeLocaleMessage(k, m[k]);\n }\n }\n } catch (e) {\n console.warn(\"Error loading messages\", e);\n }\n ctx.preloaded = true;\n } else {\n for (const locale of preloadedKeys) {\n const messages = preloadedMessages[locale];\n if (messages) {\n i18n.mergeLocaleMessage(locale, messages);\n }\n }\n ctx.preloaded = true;\n }\n }\n}\n","import { effectScope } from \"#imports\";\nimport { assign } from \"@intlify/shared\";\nimport { getComposer } from \"../compatibility.js\";\nexport function extendI18n(i18n, { extendComposer, extendComposerInstance }) {\n const scope = effectScope();\n const installI18n = i18n.install.bind(i18n);\n i18n.install = (app, ...options) => {\n const pluginOptions = assign({}, options[0]);\n pluginOptions.__composerExtend = (c) => {\n extendComposerInstance(c, getComposer(i18n));\n return () => {\n };\n };\n if (i18n.mode === \"legacy\") {\n pluginOptions.__vueI18nExtend = (vueI18n) => {\n extendComposerInstance(vueI18n, getComposer(vueI18n));\n return () => {\n };\n };\n }\n Reflect.apply(installI18n, i18n, [app, pluginOptions]);\n const globalComposer = getComposer(i18n);\n scope.run(() => {\n extendComposer(globalComposer);\n if (i18n.mode === \"legacy\" && \"__composer\" in i18n.global) {\n extendComposerInstance(i18n.global, getComposer(i18n.global));\n }\n });\n if (i18n.mode === \"composition\" && app.config.globalProperties.$i18n != null) {\n extendComposerInstance(app.config.globalProperties.$i18n, globalComposer);\n }\n if (app.unmount) {\n const unmountApp = app.unmount.bind(app);\n app.unmount = () => {\n scope.stop();\n unmountApp();\n };\n }\n };\n}\n","import { loadVueI18nOptions } from \"./messages.js\";\nimport { localeCodes as _localeCodes, vueI18nConfigs } from \"#build/i18n-options.mjs\";\nexport const setupVueI18nOptions = async (defaultLocale) => {\n const options = await loadVueI18nOptions(vueI18nConfigs);\n options.locale = defaultLocale || options.locale || \"en-US\";\n options.defaultLocale = defaultLocale;\n options.fallbackLocale ??= false;\n options.messages ??= {};\n for (const locale of _localeCodes) {\n options.messages[locale] ??= {};\n }\n return options;\n};\n","import { computed, ref, watch } from \"vue\";\nimport { createI18n } from \"vue-i18n\";\nimport { defineNuxtPlugin, prerenderRoutes, useNuxtApp, useRequestEvent, useRequestURL } from \"#imports\";\nimport { localeCodes, normalizedLocales } from \"#build/i18n-options.mjs\";\nimport { loadAndSetLocale, navigate } from \"../utils.js\";\nimport { extendI18n } from \"../routing/i18n.js\";\nimport { getI18nTarget } from \"../compatibility.js\";\nimport { _useLocaleHead, localeHead } from \"../routing/head.js\";\nimport { useLocalePath, useLocaleRoute, useRouteBaseName, useSwitchLocalePath } from \"../composables/index.js\";\nimport { createLocaleConfigs, getDefaultLocaleForDomain, resolveSupportedLocale } from \"../shared/locales.js\";\nimport { setupVueI18nOptions } from \"../shared/vue-i18n.js\";\nimport { createNuxtI18nContext, useLocaleConfigs } from \"../context.js\";\nimport { useI18nDetection, useRuntimeI18n } from \"../shared/utils.js\";\nimport { useDetectors } from \"../shared/detection.js\";\nimport { setupMultiDomainLocales } from \"../routing/domain.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin\",\n parallel: __PARALLEL_PLUGIN__,\n async setup(_nuxt) {\n Object.defineProperty(_nuxt.versions, \"nuxtI18n\", { get: () => __NUXT_I18N_VERSION__ });\n const nuxt = useNuxtApp(_nuxt._id);\n const runtimeI18n = useRuntimeI18n(nuxt);\n const preloadedOptions = nuxt.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions;\n const _defaultLocale = getDefaultLocaleForDomain(useRequestURL({ xForwardedHost: true }).host) || runtimeI18n.defaultLocale || \"\";\n const optionsI18n = preloadedOptions || await setupVueI18nOptions(_defaultLocale);\n const localeConfigs = useLocaleConfigs();\n if (import.meta.server) {\n localeConfigs.value = useRequestEvent().context.nuxtI18n?.localeConfigs || {};\n } else {\n localeConfigs.value ??= createLocaleConfigs(optionsI18n.fallbackLocale);\n }\n if (__MULTI_DOMAIN_LOCALES__) {\n setupMultiDomainLocales(optionsI18n.defaultLocale);\n }\n prerenderRoutes(localeCodes.map((locale) => `${__I18N_SERVER_ROUTE__}/${__I18N_LOCALE_HASHES__[locale]}/${locale}/messages.json`));\n const i18n = createI18n(optionsI18n);\n const detectors = useDetectors(useRequestEvent(nuxt), useI18nDetection(nuxt), nuxt);\n const ctx = createNuxtI18nContext(nuxt, i18n, optionsI18n.defaultLocale);\n nuxt._nuxtI18n = ctx;\n if (__I18N_STRIP_UNUSED__ && import.meta.server) {\n wrapTranslationFunctions(ctx);\n }\n extendI18n(i18n, {\n extendComposer(composer) {\n composer.locales = computed(() => runtimeI18n.locales);\n composer.localeCodes = computed(() => localeCodes);\n const _baseUrl = ref(ctx.getBaseUrl());\n composer.baseUrl = computed(() => _baseUrl.value);\n if (import.meta.client) {\n watch(composer.locale, () => _baseUrl.value = ctx.getBaseUrl());\n }\n composer.strategy = __I18N_STRATEGY__;\n composer.localeProperties = computed(\n () => normalizedLocales.find((l) => l.code === composer.locale.value) || { code: composer.locale.value }\n );\n composer.setLocale = async (locale) => {\n await loadAndSetLocale(nuxt, locale);\n await nuxt.runWithContext(() => navigate(nuxt, nuxt.$router.currentRoute.value, locale));\n };\n composer.loadLocaleMessages = ctx.loadMessages;\n composer.differentDomains = __DIFFERENT_DOMAINS__;\n composer.defaultLocale = optionsI18n.defaultLocale;\n composer.getBrowserLocale = () => import.meta.client ? resolveSupportedLocale(detectors.navigator()) : resolveSupportedLocale(detectors.header());\n composer.getLocaleCookie = () => resolveSupportedLocale(detectors.cookie());\n composer.setLocaleCookie = ctx.setCookieLocale;\n composer.finalizePendingLocaleChange = async () => {\n if (!i18n.__pendingLocale) {\n return;\n }\n await i18n.__resolvePendingLocalePromise?.();\n };\n composer.waitForPendingLocaleChange = async () => {\n await i18n?.__pendingLocalePromise;\n };\n },\n extendComposerInstance(instance, c) {\n const props = [\n [\"locales\", () => c.locales],\n [\"localeCodes\", () => c.localeCodes],\n [\"baseUrl\", () => c.baseUrl],\n [\"strategy\", () => __I18N_STRATEGY__],\n [\"localeProperties\", () => c.localeProperties],\n [\"setLocale\", () => (locale) => Reflect.apply(c.setLocale, c, [locale])],\n [\"loadLocaleMessages\", () => (locale) => Reflect.apply(c.loadLocaleMessages, c, [locale])],\n [\"differentDomains\", () => __DIFFERENT_DOMAINS__],\n [\"defaultLocale\", () => c.defaultLocale],\n [\"getBrowserLocale\", () => () => Reflect.apply(c.getBrowserLocale, c, [])],\n [\"getLocaleCookie\", () => () => Reflect.apply(c.getLocaleCookie, c, [])],\n [\"setLocaleCookie\", () => (locale) => Reflect.apply(c.setLocaleCookie, c, [locale])],\n [\"finalizePendingLocaleChange\", () => () => Reflect.apply(c.finalizePendingLocaleChange, c, [])],\n [\"waitForPendingLocaleChange\", () => () => Reflect.apply(c.waitForPendingLocaleChange, c, [])]\n ];\n for (const [key, get] of props) {\n Object.defineProperty(instance, key, { get });\n }\n }\n });\n nuxt.vueApp.use(i18n);\n Object.defineProperty(nuxt, \"$i18n\", { get: () => getI18nTarget(i18n) });\n nuxt.provide(\"localeHead\", (options) => localeHead(nuxt._nuxtI18n.composableCtx, options));\n nuxt.provide(\"localePath\", useLocalePath(nuxt));\n nuxt.provide(\"localeRoute\", useLocaleRoute(nuxt));\n nuxt.provide(\"routeBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"getRouteBaseName\", useRouteBaseName(nuxt));\n nuxt.provide(\"switchLocalePath\", useSwitchLocalePath(nuxt));\n if (__I18N_STRICT_SEO__) {\n nuxt.hook(import.meta.server ? \"app:rendered\" : \"app:mounted\", () => {\n _useLocaleHead(nuxt._nuxtI18n.composableCtx, { dir: true, lang: true, seo: true });\n });\n }\n }\n});\nfunction wrapTranslationFunctions(ctx, serverI18n = useRequestEvent()?.context?.nuxtI18n) {\n if (!serverI18n) {\n return;\n }\n const i18n = ctx.vueI18n.global;\n const originalT = i18n.t.bind(i18n);\n i18n.t = (key, listOrNamed, opts) => {\n const locale = typeof opts === \"object\" && opts?.locale || ctx.getLocale();\n serverI18n?.trackKey(key, locale);\n return originalT(key, listOrNamed, opts);\n };\n const originalTe = i18n.te.bind(i18n);\n i18n.te = (key, locale) => {\n serverI18n?.trackKey(key, locale || ctx.getLocale());\n return originalTe(key, locale);\n };\n const originalTm = i18n.tm.bind(i18n);\n i18n.tm = (key) => {\n serverI18n?.trackKey(key, ctx.getLocale());\n return originalTm(key);\n };\n}\n","import { defineNuxtPlugin, useNuxtApp } from \"#imports\";\nimport { useNuxtI18nContext } from \"../context.js\";\nimport { detectLocale } from \"../utils.js\";\nexport default defineNuxtPlugin({\n name: \"i18n:plugin:ssg-detect\",\n dependsOn: !__I18N_PRELOAD__ ? [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\"] : [\"i18n:plugin\", \"i18n:plugin:route-locale-detect\", \"i18n:plugin:preload\"],\n enforce: \"post\",\n setup(_nuxt) {\n if (!__IS_SSG__ || !__I18N_ROUTING__) {\n return;\n }\n const nuxt = useNuxtApp(_nuxt._id);\n const ctx = useNuxtI18nContext(nuxt);\n nuxt.hook(\"app:mounted\", async () => {\n const detected = detectLocale(nuxt, nuxt.$router.currentRoute.value);\n await nuxt.runWithContext(() => nuxt.$i18n.setLocale(detected));\n ctx.initial = false;\n });\n }\n});\n","import payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M from \"/app/node_modules/@pinia/nuxt/dist/runtime/payload-plugin.js\";\nimport unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU from \"/app/node_modules/nuxt/dist/head/runtime/plugins/unhead.js\";\nimport router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw from \"/app/node_modules/nuxt/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms from \"/app/node_modules/nuxt/dist/app/plugins/revive-payload.server.js\";\nimport plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs from \"/app/node_modules/@pinia/nuxt/dist/runtime/plugin.vue3.js\";\nimport components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4 from \"/app/.nuxt/components.plugin.mjs\";\nimport switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/switch-locale-path-ssr.js\";\nimport route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/route-locale-detect.js\";\nimport preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24 from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/preload.js\";\nimport i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/i18n.js\";\nimport ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs from \"/app/node_modules/@nuxtjs/i18n/dist/runtime/plugins/ssg-detect.js\";\nexport default [\n payload_plugin_1_bEQpMjikuQhbV8UJ0PxUqmSvPdmV1jDa5DURnKW4M,\n unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,\n router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw,\n revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,\n plugin_vue3_CQ_pO3THrTGIeYc0dvC91V75hY8qpo9B_8yZzOW5SFs,\n components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4,\n switch_locale_path_ssr_NflG9_QeVcJ1jVig0vCfxB_cZhpEMQ9U2ujRUiYbbVw,\n route_locale_detect__HPHJq3Jg7gwhwgKEI8tQavopSAjmrCSPXl9HgL2h9U,\n preload_30FByJAs5vQa4mNNQLX15KPGCCVjIGrzdTjh6ve5W24,\n i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM,\n ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs\n]","import { defineAsyncComponent } from 'vue'\nexport default {\n blank: defineAsyncComponent(() => import(\"/app/layouts/blank.vue\").then(m => m.default || m)),\n default: defineAsyncComponent(() => import(\"/app/layouts/default.vue\").then(m => m.default || m))\n}","import { Suspense, computed, defineComponent, h, inject, mergeProps, nextTick, onMounted, provide, shallowReactive, shallowRef, unref } from \"vue\";\nimport { useRoute, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"./utils.js\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"./injections.js\";\nimport { useRoute as useVueRouterRoute } from \"#build/pages\";\nimport layouts from \"#build/layouts\";\nimport { appLayoutTransition as defaultLayoutTransition } from \"#build/nuxt.config.mjs\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nconst LayoutLoader = defineComponent({\n name: \"LayoutLoader\",\n inheritAttrs: false,\n props: {\n name: String,\n layoutProps: Object\n },\n setup(props, context) {\n return () => h(layouts[props.name], props.layoutProps, context.slots);\n }\n});\nconst nuxtLayoutProps = {\n name: {\n type: [String, Boolean, Object],\n default: null\n },\n fallback: {\n type: [String, Object],\n default: null\n }\n};\nexport default defineComponent({\n name: \"NuxtLayout\",\n inheritAttrs: false,\n props: nuxtLayoutProps,\n setup(props, context) {\n const nuxtApp = useNuxtApp();\n const injectedRoute = inject(PageRouteSymbol);\n const shouldUseEagerRoute = !injectedRoute || injectedRoute === useRoute();\n const route = shouldUseEagerRoute ? useVueRouterRoute() : injectedRoute;\n const layout = computed(() => {\n let layout2 = unref(props.name) ?? route?.meta.layout ?? routeRulesMatcher(route?.path).appLayout ?? \"default\";\n if (layout2 && !(layout2 in layouts)) {\n if (import.meta.dev && layout2 !== \"default\") {\n console.warn(`[nuxt] Invalid layout \\`${layout2}\\` selected.`);\n }\n if (props.fallback) {\n layout2 = unref(props.fallback);\n }\n }\n return layout2;\n });\n const layoutRef = shallowRef();\n context.expose({ layoutRef });\n const done = nuxtApp.deferHydration();\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtLayoutUsed = true;\n }\n let lastLayout;\n return () => {\n const hasLayout = !!layout.value && layout.value in layouts;\n const hasTransition = hasLayout && !!(route?.meta.layoutTransition ?? defaultLayoutTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n route?.meta.layoutTransition,\n defaultLayoutTransition,\n {\n onBeforeLeave() {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n },\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n }\n }\n ]);\n const previouslyRenderedLayout = lastLayout;\n lastLayout = layout.value;\n return _wrapInTransition(transitionProps, {\n default: () => h(\n Suspense,\n {\n suspensible: true,\n onResolve: async () => {\n await nextTick(done);\n }\n },\n {\n default: () => h(\n LayoutProvider,\n {\n layoutProps: mergeProps(context.attrs, route.meta.layoutProps ?? {}, { ref: layoutRef }),\n key: layout.value || void 0,\n name: layout.value,\n shouldProvide: !props.name,\n isRenderingNewLayout: (name) => {\n return name !== previouslyRenderedLayout && name === layout.value;\n },\n hasTransition\n },\n context.slots\n )\n }\n )\n }).default();\n };\n }\n});\nconst LayoutProvider = defineComponent({\n name: \"NuxtLayoutProvider\",\n inheritAttrs: false,\n props: {\n name: {\n type: [String, Boolean]\n },\n layoutProps: {\n type: Object\n },\n hasTransition: {\n type: Boolean\n },\n shouldProvide: {\n type: Boolean\n },\n isRenderingNewLayout: {\n type: Function,\n required: true\n }\n },\n setup(props, context) {\n const name = props.name;\n if (props.shouldProvide) {\n provide(LayoutMetaSymbol, {\n // When name=false, always return true so NuxtPage doesn't skip rendering\n isCurrent: (route) => name === false || name === (route.meta.layout ?? routeRulesMatcher(route.path).appLayout ?? \"default\")\n });\n }\n const injectedRoute = inject(PageRouteSymbol);\n const isNotWithinNuxtPage = injectedRoute && injectedRoute === useRoute();\n if (isNotWithinNuxtPage) {\n const vueRouterRoute = useVueRouterRoute();\n const reactiveChildRoute = {};\n for (const _key in vueRouterRoute) {\n const key = _key;\n Object.defineProperty(reactiveChildRoute, key, {\n enumerable: true,\n get: () => {\n return props.isRenderingNewLayout(props.name) ? vueRouterRoute[key] : injectedRoute[key];\n }\n });\n }\n provide(PageRouteSymbol, shallowReactive(reactiveChildRoute));\n }\n let vnode;\n if (import.meta.dev && import.meta.client) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n if (name) {\n console.warn(`[nuxt] \\`${name}\\` layout does not have a single root node and will cause errors when navigating between routes.`);\n } else {\n console.warn(\"[nuxt] `` needs to be passed a single root node in its default slot.\");\n }\n }\n });\n });\n }\n return () => {\n if (!name || typeof name === \"string\" && !(name in layouts)) {\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = context.slots.default?.();\n return vnode;\n }\n return context.slots.default?.();\n }\n if (import.meta.dev && import.meta.client && props.hasTransition) {\n vnode = h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n return vnode;\n }\n return h(\n LayoutLoader,\n { key: name, layoutProps: props.layoutProps, name },\n context.slots\n );\n };\n }\n});\n","import { defineComponent, h, nextTick, onMounted, provide, shallowReactive } from \"vue\";\nimport { PageRouteSymbol } from \"./injections.js\";\nexport const defineRouteProvider = (name = \"RouteProvider\") => defineComponent({\n name,\n props: {\n route: {\n type: Object,\n required: true\n },\n vnode: Object,\n vnodeRef: Object,\n renderKey: String,\n trackRootNodes: Boolean\n },\n setup(props) {\n const previousKey = props.renderKey;\n const previousRoute = props.route;\n const route = {};\n for (const key in props.route) {\n Object.defineProperty(route, key, {\n get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],\n enumerable: true\n });\n }\n provide(PageRouteSymbol, shallowReactive(route));\n let vnode;\n if (import.meta.dev && import.meta.client && props.trackRootNodes) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n const filename = vnode?.type?.__file;\n console.warn(`[nuxt] \\`${filename}\\` does not have a single root node and will cause errors when navigating between routes.`);\n }\n });\n });\n }\n return () => {\n if (!props.vnode) {\n return props.vnode;\n }\n if (import.meta.dev && import.meta.client) {\n vnode = h(props.vnode, { ref: props.vnodeRef });\n return vnode;\n }\n return h(props.vnode, { ref: props.vnodeRef });\n };\n }\n});\nexport const RouteProvider = defineRouteProvider();\n","import { Fragment, Suspense, defineComponent, h, inject, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { RouterView } from \"vue-router\";\nimport { generateRouteKey, wrapInKeepAlive } from \"./utils.js\";\nimport { RouteProvider, defineRouteProvider } from \"#app/components/route-provider\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { _mergeTransitionProps, _wrapInTransition } from \"#app/components/utils\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\nimport { appKeepalive as defaultKeepaliveConfig, appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nconst _routeProviders = import.meta.dev ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new WeakMap();\nexport default defineComponent({\n name: \"NuxtPage\",\n inheritAttrs: false,\n props: {\n name: {\n type: String\n },\n transition: {\n type: [Boolean, Object],\n default: void 0\n },\n keepalive: {\n type: [Boolean, Object],\n default: void 0\n },\n route: {\n type: Object\n },\n pageKey: {\n type: [Function, String],\n default: null\n }\n },\n setup(props, { attrs, slots, expose }) {\n const nuxtApp = useNuxtApp();\n const pageRef = ref();\n const forkRoute = inject(PageRouteSymbol, null);\n let previousPageKey;\n expose({ pageRef });\n const _layoutMeta = inject(LayoutMetaSymbol, null);\n let vnode;\n const done = nuxtApp.deferHydration();\n let isSuspensePending = false;\n let hasResolvedOnce = false;\n let suspenseKey = 0;\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n const removeGuard = useRouter().beforeEach(() => {\n removeErrorHook();\n removeGuard();\n });\n }\n if (import.meta.client && props.pageKey) {\n watch(() => props.pageKey, (next, prev) => {\n if (next !== prev) {\n nuxtApp.callHook(\"page:loading:start\");\n }\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtPageUsed = true;\n }\n let pageLoadingEndHookAlreadyCalled = false;\n if (import.meta.client) {\n const unsub = useRouter().beforeResolve(() => {\n pageLoadingEndHookAlreadyCalled = false;\n });\n onBeforeUnmount(() => {\n unsub();\n done();\n });\n }\n return () => {\n return h(RouterView, { name: props.name, route: props.route, ...attrs }, {\n default: import.meta.server ? (routeProps) => {\n return h(Suspense, { suspensible: true }, {\n default() {\n return h(RouteProvider, {\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n vnodeRef: pageRef\n });\n }\n });\n } : (routeProps) => {\n const isRenderingNewRouteInOldFork = haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n const hasSameChildren = forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n if (!routeProps.Component) {\n if (vnode && !hasSameChildren && !isStaleVNode(vnode)) {\n return vnode;\n }\n done();\n return;\n }\n if (vnode && _layoutMeta && !isStaleVNode(vnode) && !_layoutMeta.isCurrent(routeProps.route)) {\n return vnode;\n }\n if (isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n if ((hasSameChildren || vnode) && !isStaleVNode(vnode)) {\n return vnode;\n }\n return null;\n }\n const key = generateRouteKey(routeProps, props.pageKey);\n const willRenderAnotherChild = hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component);\n if (!nuxtApp.isHydrating && previousPageKey === key && !willRenderAnotherChild) {\n nextTick(() => {\n if (!pageLoadingEndHookAlreadyCalled) {\n pageLoadingEndHookAlreadyCalled = true;\n nuxtApp.callHook(\"page:loading:end\");\n }\n });\n }\n if (isSuspensePending && previousPageKey !== key && hasResolvedOnce) {\n suspenseKey++;\n }\n previousPageKey = key;\n const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? defaultPageTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n props.transition,\n routeProps.route.meta.pageTransition,\n defaultPageTransition,\n {\n onAfterLeave() {\n nuxtApp[\"~transitionFinish\"]?.();\n delete nuxtApp[\"~transitionFinish\"];\n delete nuxtApp[\"~transitionPromise\"];\n nuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n }\n }\n ]);\n const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? defaultKeepaliveConfig;\n vnode = _wrapInTransition(\n hasTransition && transitionProps,\n wrapInKeepAlive(\n keepaliveConfig,\n h(Suspense, {\n key: suspenseKey,\n suspensible: true,\n onPending: () => {\n isSuspensePending = true;\n if (hasTransition && !nuxtApp[\"~transitionPromise\"]) {\n nuxtApp[\"~transitionPromise\"] = new Promise((resolve) => {\n nuxtApp[\"~transitionFinish\"] = resolve;\n });\n }\n nuxtApp.callHook(\"page:start\", routeProps.Component);\n },\n onResolve: async () => {\n isSuspensePending = false;\n hasResolvedOnce = true;\n try {\n await nextTick();\n nuxtApp._route.sync?.();\n await nuxtApp.callHook(\"page:finish\", routeProps.Component);\n if (!pageLoadingEndHookAlreadyCalled && !willRenderAnotherChild) {\n pageLoadingEndHookAlreadyCalled = true;\n await nuxtApp.callHook(\"page:loading:end\");\n }\n } finally {\n done();\n }\n }\n }, {\n default: () => {\n const routeProviderProps = {\n key: key || void 0,\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n renderKey: key || void 0,\n trackRootNodes: hasTransition,\n vnodeRef: pageRef\n };\n if (!keepaliveConfig) {\n return h(RouteProvider, routeProviderProps);\n }\n const routerComponentType = routeProps.Component.type;\n const routeProviderKey = import.meta.dev ? routerComponentType.name || routerComponentType.__name : routerComponentType;\n let PageRouteProvider = _routeProviders.get(routeProviderKey);\n if (!PageRouteProvider) {\n PageRouteProvider = defineRouteProvider(routerComponentType.name || routerComponentType.__name);\n _routeProviders.set(routeProviderKey, PageRouteProvider);\n }\n return h(PageRouteProvider, routeProviderProps);\n }\n })\n )\n ).default();\n return vnode;\n }\n });\n };\n }\n});\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n if (index === -1) {\n return false;\n }\n const newParents = newRoute.matched.slice(0, index).filter((m) => m.components?.default);\n if (!newParents.length) {\n return false;\n }\n const forkParents = fork.matched.filter((m) => m.components?.default);\n return newParents.some((c, i) => c.components?.default !== forkParents[i]?.components?.default) || Component && generateRouteKey({ route: newRoute, Component }) !== generateRouteKey({ route: fork, Component });\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n return index < newRoute.matched.length - 1;\n}\nfunction normalizeSlot(slot, data) {\n const slotContent = slot(data);\n return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);\n}\nfunction isStaleVNode(vnode) {\n return !!vnode && (!!vnode.suspense?.isUnmounted || !!vnode.component?.isUnmounted);\n}\n","\n\n\n\n\n","\n\n\n","\n\n\n","import { createApp, createSSRApp, nextTick } from \"vue\";\nimport \"#build/fetch.mjs\";\nimport \"#build/global-polyfills.mjs\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\nimport { appId, appSpaLoaderAttrs, multiApp, spaLoadingTemplateOutside, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nlet entry;\nif (import.meta.server) {\n entry = async function createNuxtAppServer(ssrContext) {\n const vueApp = createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp, ssrContext });\n try {\n await applyPlugins(nuxt, plugins);\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n } catch (error) {\n await nuxt.hooks.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n if (ssrContext && (ssrContext[\"~renderResponse\"] || ssrContext._renderResponse)) {\n throw new Error(\"skipping render\");\n }\n return vueApp;\n };\n}\nif (import.meta.client) {\n if (import.meta.dev && import.meta.webpackHot) {\n import.meta.webpackHot.accept();\n }\n let vueAppPromise;\n entry = async function initApp() {\n if (vueAppPromise) {\n return vueAppPromise;\n }\n const isSSR = Boolean(\n (multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\"\n );\n const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp });\n async function handleVueError(error) {\n await nuxt.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n ;\n handleVueError.__nuxt_default = true;\n vueApp.config.errorHandler = handleVueError;\n nuxt.hook(\"app:suspense:resolve\", () => {\n if (vueApp.config.errorHandler === handleVueError) {\n vueApp.config.errorHandler = void 0;\n }\n });\n if (spaLoadingTemplateOutside && !isSSR && appSpaLoaderAttrs.id) {\n nuxt.hook(\"app:suspense:resolve\", () => {\n document.getElementById(appSpaLoaderAttrs.id)?.remove();\n });\n }\n try {\n await applyPlugins(nuxt, plugins);\n } catch (err) {\n handleVueError(err);\n }\n try {\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n await nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n vueApp.mount(vueAppRootContainer);\n await nuxt.hooks.callHook(\"app:mounted\", vueApp);\n await nextTick();\n } catch (err) {\n handleVueError(err);\n }\n return vueApp;\n };\n vueAppPromise = entry().catch((error) => {\n console.error(\"Error while mounting app:\", error);\n throw error;\n });\n}\nexport default ((ssrContext) => entry(ssrContext));\n"],"version":3} \ No newline at end of file diff --git a/frontend_admin/.nuxt/dist/server/styles.mjs b/frontend_admin/.nuxt/dist/server/styles.mjs index 976d846..0c51230 100644 --- a/frontend_admin/.nuxt/dist/server/styles.mjs +++ b/frontend_admin/.nuxt/dist/server/styles.mjs @@ -1,6 +1,6 @@ const interopDefault = r => r.default || r || [] export default { - "node_modules/nuxt/dist/app/entry.js": () => import('./_nuxt/entry-styles.w3HlJ-9O.mjs').then(interopDefault), + "node_modules/nuxt/dist/app/entry.js": () => import('./_nuxt/entry-styles.C2WXX8iB.mjs').then(interopDefault), "app.vue": () => import('./_nuxt/app-styles.BKebClGy.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-404.vue": () => import('./_nuxt/error-404-styles.CiJjK6WX.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-500.vue": () => import('./_nuxt/error-500-styles.ulHNpcF1.mjs').then(interopDefault) diff --git a/frontend_admin/.nuxt/manifest/latest.json b/frontend_admin/.nuxt/manifest/latest.json index 32b6852..1f4a484 100644 --- a/frontend_admin/.nuxt/manifest/latest.json +++ b/frontend_admin/.nuxt/manifest/latest.json @@ -1 +1 @@ -{"id":"dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233","timestamp":1782345679846} \ No newline at end of file +{"id":"e6a51bf7-9efc-4598-aa2a-be03bd94fdda","timestamp":1782415310321} \ No newline at end of file diff --git a/frontend_admin/.nuxt/manifest/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json b/frontend_admin/.nuxt/manifest/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json deleted file mode 100644 index 5fb889c..0000000 --- a/frontend_admin/.nuxt/manifest/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233","timestamp":1782345679846,"prerendered":[]} \ No newline at end of file diff --git a/frontend_admin/.nuxt/manifest/meta/dev.json b/frontend_admin/.nuxt/manifest/meta/dev.json index 8a6a5b5..7edd3d0 100644 --- a/frontend_admin/.nuxt/manifest/meta/dev.json +++ b/frontend_admin/.nuxt/manifest/meta/dev.json @@ -1 +1 @@ -{"id":"dev","timestamp":1782345680189,"prerendered":[]} \ No newline at end of file +{"id":"dev","timestamp":1782415310671,"prerendered":[]} \ No newline at end of file diff --git a/frontend_admin/.nuxt/manifest/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json b/frontend_admin/.nuxt/manifest/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json new file mode 100644 index 0000000..2c2b8e3 --- /dev/null +++ b/frontend_admin/.nuxt/manifest/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json @@ -0,0 +1 @@ +{"id":"e6a51bf7-9efc-4598-aa2a-be03bd94fdda","timestamp":1782415310321,"prerendered":[]} \ No newline at end of file diff --git a/frontend_admin/.nuxt/nitro.json b/frontend_admin/.nuxt/nitro.json index a461f6c..7054464 100644 --- a/frontend_admin/.nuxt/nitro.json +++ b/frontend_admin/.nuxt/nitro.json @@ -1,5 +1,5 @@ { - "date": "2026-06-25T01:04:57.360Z", + "date": "2026-06-25T19:56:47.228Z", "preset": "nitro-dev", "framework": { "name": "nuxt", @@ -11,7 +11,7 @@ "dev": { "pid": 19, "workerAddress": { - "socketPath": "\u0000nitro-worker-19-20-20-8127.sock" + "socketPath": "\u0000nitro-worker-19-19-19-6745.sock" } } } \ No newline at end of file diff --git a/frontend_admin/.nuxt/nuxt.d.ts b/frontend_admin/.nuxt/nuxt.d.ts index 9986ffb..bfcc4b4 100644 --- a/frontend_admin/.nuxt/nuxt.d.ts +++ b/frontend_admin/.nuxt/nuxt.d.ts @@ -1,8 +1,8 @@ +/// /// /// -/// -/// /// +/// /// /// /// diff --git a/frontend_admin/.nuxt/tailwind/postcss.mjs b/frontend_admin/.nuxt/tailwind/postcss.mjs index b0c6af4..59c5bd1 100644 --- a/frontend_admin/.nuxt/tailwind/postcss.mjs +++ b/frontend_admin/.nuxt/tailwind/postcss.mjs @@ -1,4 +1,4 @@ -// generated by the @nuxtjs/tailwindcss module at 6/25/2026, 1:04:56 AM +// generated by the @nuxtjs/tailwindcss module at 6/25/2026, 7:56:46 PM import "@nuxtjs/tailwindcss/config-ctx" import configMerger from "@nuxtjs/tailwindcss/merger"; diff --git a/frontend_admin/.output/nitro.json b/frontend_admin/.output/nitro.json index 3d7057f..2a46437 100644 --- a/frontend_admin/.output/nitro.json +++ b/frontend_admin/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2026-06-25T00:01:32.696Z", + "date": "2026-06-25T19:22:04.389Z", "preset": "node-server", "framework": { "name": "nuxt", diff --git a/frontend_admin/.output/public/_nuxt/B2nIQl38.js b/frontend_admin/.output/public/_nuxt/B2nIQl38.js new file mode 100644 index 0000000..64d2c03 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/B2nIQl38.js @@ -0,0 +1 @@ +import{_ as s}from"./DlAUqK2U.js";import{o,c as t,J as r}from"./CHWHIiGB.js";const c={},n={class:"bg-slate-900 min-h-screen"};function a(e,l){return o(),t("div",n,[r(e.$slots,"default")])}const d=s(c,[["render",a]]);export{d as default}; diff --git a/frontend_admin/.output/public/_nuxt/BO90Bn6x.js b/frontend_admin/.output/public/_nuxt/BO90Bn6x.js deleted file mode 100644 index 00eb82c..0000000 --- a/frontend_admin/.output/public/_nuxt/BO90Bn6x.js +++ /dev/null @@ -1 +0,0 @@ -import{e as O,y as q,c as a,a as e,t as o,F as f,n as M,i as k,d as S,r as h,m as p,x as P,A as B,o as n}from"./CqYPuxVf.js";const J={class:"mb-8"},Q={class:"text-2xl font-bold text-white"},W={class:"text-slate-400 mt-1"},X={key:0,class:"flex items-center justify-center py-20"},Y={class:"ml-3 text-slate-400"},Z={key:1,class:"bg-red-500/10 border border-red-500/20 rounded-xl p-6 mb-8"},ee={class:"flex items-center gap-3"},se={class:"text-red-300 font-medium"},te={class:"text-red-400/80 text-sm mt-1"},re={key:1,class:"mb-6 flex items-center gap-3"},oe={class:"text-sm text-slate-400"},ae={class:"bg-indigo-500/10 border border-indigo-500/20 rounded-xl p-4 mb-8 flex items-start gap-3"},ne={class:"text-sm text-indigo-300"},le={class:"font-semibold"},ie={key:0,class:"ml-3 text-indigo-400/70"},de={class:"grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8"},ce={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},ue={class:"flex items-center gap-3 mb-4"},pe={class:"text-lg font-semibold text-white"},me={class:"text-sm text-slate-400 mb-4"},fe={class:"space-y-3"},he={class:"text-sm text-slate-300"},ge={class:"relative inline-flex items-center cursor-pointer"},be=["checked","onChange"],ve={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},xe={class:"flex items-center gap-3 mb-4"},ke={class:"text-lg font-semibold text-white"},_e={class:"text-sm text-slate-400 mb-4"},ye={class:"space-y-3"},we={class:"text-sm text-slate-300"},Ce={class:"relative inline-flex items-center cursor-pointer"},$e=["checked","onChange"],Me={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},Pe={class:"flex items-center gap-3 mb-4"},Be={class:"text-lg font-semibold text-white"},je={class:"text-sm text-slate-400 mb-4"},Ve={class:"space-y-3"},Ae={class:"flex flex-col"},ze={class:"text-sm text-slate-300"},Fe={class:"text-xs text-slate-500"},Ne={class:"relative inline-flex items-center cursor-pointer"},Le=["checked","onChange"],Se={class:"bg-slate-800/50 border border-slate-700 rounded-xl p-6 mb-8"},He={class:"text-lg font-semibold text-white mb-4"},De={class:"text-sm text-slate-400 mb-6"},Te={class:"overflow-x-auto"},Ee={class:"w-full text-sm"},Ue={class:"border-b border-slate-700"},Ke={class:"text-left py-3 px-4 text-slate-400 font-medium"},Re={class:"py-2.5 px-4 text-slate-300"},Ie={key:0,class:"inline-flex items-center justify-center w-6 h-6 rounded-full bg-emerald-400/10"},Ge={key:1,class:"inline-flex items-center justify-center w-6 h-6 rounded-full bg-slate-700"},Oe={key:2,class:"flex items-center gap-3 pb-8"},Qe=O({__name:"index",setup(qe){const _=p(!0),x=p(null),m=p({tier:"free",features:{},expires_at:null}),y=p([]),j=p([]),c=p(new Map),g=p(new Map),u=p(null),H=P(()=>Object.entries(m.value.features||{})),V=P(()=>c.value.size>0),D=P(()=>{const s=m.value.tier;return s==="enterprise"?"bg-purple-500/20 text-purple-300":s==="premium"?"bg-amber-500/20 text-amber-300":"bg-slate-500/20 text-slate-300"}),w=[{key:"user_mgmt",label:"User Management",enabled:!0},{key:"billing_admin",label:"Billing Administration",enabled:!0},{key:"robot_config",label:"Robot Configuration",enabled:!0},{key:"system_logs",label:"System Logs Access",enabled:!0},{key:"api_keys",label:"API Key Management",enabled:!1}],C=[{key:"vehicle_crud",label:"Vehicle CRUD",enabled:!0},{key:"service_booking",label:"Service Booking",enabled:!0},{key:"customer_view",label:"Customer Data View",enabled:!0},{key:"report_export",label:"Report Export",enabled:!1},{key:"bulk_import",label:"Bulk Import",enabled:!1}];function A(s,t){const r=`${s}:${t}`;if(c.value.has(r))return c.value.get(r);const d=(s==="superadmin"?w:C).find(l=>l.key===t);return d?d.enabled:!1}function T(s){return s.replace(/^cost_category:/,"").replace(/_/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function E(s){try{return new Date(s).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"})}catch{return s}}function U(s,t){return s.actions.includes(t)}function $(s,t,r){const d=r.target.checked,l=`${s}:${t}`;if(!g.value.has(l)){const L=(s==="superadmin"?w:C).find(G=>G.key===t);g.value.set(l,L?L.enabled:!1)}const v=g.value.get(l);d===v?c.value.delete(l):c.value.set(l,d),c.value=new Map(c.value),console.log(`[Permissions] Toggle: group=${s}, key=${t}, newValue=${d}`)}function b(){setTimeout(()=>{u.value=null},5e3)}async function z(){u.value=null;try{const t=B("access_token").value;if(!t){u.value={type:"error",message:"Not authenticated"},b();return}const r=[];if(c.value.forEach((l,v)=>{const N=v.replace(/^(superadmin|garage):/,"").toUpperCase();r.push({action:N,granted:l})}),r.length===0){u.value={type:"error",message:"No changes to save"},b();return}const d=(await Promise.allSettled(r.map(l=>$fetch("/api/v1/admin/permissions/override/0",{method:"PATCH",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:{action:l.action,granted:l.granted}})))).filter(l=>l.status==="rejected");if(d.length>0){const l=d.map(v=>v.reason?.message||"Unknown error");u.value={type:"error",message:`Failed to save ${d.length} permission(s): ${l.join("; ")}`},b();return}c.value=new Map,g.value=new Map,u.value={type:"success",message:`Successfully saved ${r.length} permission change(s).`},b(),console.log("[Permissions] Save successful:",r)}catch(s){console.error("[Permissions] Save failed:",s),u.value={type:"error",message:s?.message||"Failed to save permissions"},b()}}function K(){c.value=new Map,g.value=new Map,u.value=null}async function R(){try{const t=B("access_token").value;if(!t){console.warn("[Permissions] No access token found for feature flags");return}const r=await $fetch("/api/v1/subscriptions/feature-flags",{headers:{Authorization:`Bearer ${t}`}});console.log("[Permissions] Feature flags loaded:",r),m.value=r}catch(s){console.error("[Permissions] Feature flags fetch failed:",s?.message||s)}}async function I(){try{const t=B("access_token").value;if(!t){console.warn("[Permissions] No access token found for permission matrix");return}const r=await $fetch("/api/v1/admin/permissions/matrix",{headers:{Authorization:`Bearer ${t}`}});console.log("[Permissions] Permission matrix loaded:",r),y.value=r.matrix,j.value=r.all_actions}catch(s){console.error("[Permissions] Permission matrix fetch failed:",s?.message||s)}}async function F(){_.value=!0,x.value=null;try{await Promise.all([R(),I()])}catch(s){console.error("[Permissions] fetchAll failed:",s?.message||s),x.value=s?.message||"Failed to load permissions data"}finally{_.value=!1}}return q(()=>{F()}),(s,t)=>(n(),a("div",null,[e("div",J,[e("h1",Q,o(s.$t("permissions.title")),1),e("p",W,o(s.$t("permissions.subtitle")),1)]),_.value?(n(),a("div",X,[t[0]||(t[0]=e("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("span",Y,o(s.$t("permissions.loading")),1)])):x.value?(n(),a("div",Z,[e("div",ee,[t[1]||(t[1]=e("svg",{class:"w-6 h-6 text-red-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),e("div",null,[e("h3",se,o(s.$t("permissions.error_title")),1),e("p",te,o(x.value),1)])]),e("button",{onClick:F,class:"mt-4 px-4 py-2 text-sm bg-red-600 hover:bg-red-500 text-white rounded-lg transition"},o(s.$t("permissions.retry")),1)])):(n(),a(f,{key:2},[u.value?(n(),a("div",{key:0,class:M(["mb-6 px-4 py-3 rounded-lg text-sm font-medium",u.value.type==="success"?"bg-emerald-500/10 border border-emerald-500/20 text-emerald-300":"bg-red-500/10 border border-red-500/20 text-red-300"])},o(u.value.message),3)):k("",!0),V.value?(n(),a("div",re,[e("button",{onClick:z,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[t[2]||(t[2]=e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),S(" "+o(s.$t("permissions.save_changes")),1)]),e("span",oe,o(s.$t("permissions.modified_count",{count:c.value.size})),1)])):k("",!0),e("div",ae,[t[3]||(t[3]=e("svg",{class:"w-5 h-5 text-indigo-400 flex-shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),e("div",ne,[e("span",le,o(s.$t("permissions.current_tier"))+":",1),e("span",{class:M(["ml-2 px-2 py-0.5 rounded-full text-xs font-medium",D.value])},o(m.value.tier||"free"),3),m.value.expires_at?(n(),a("span",ie,o(s.$t("permissions.expires"))+": "+o(E(m.value.expires_at)),1)):k("",!0)])]),e("div",de,[e("div",ce,[e("div",ue,[t[4]||(t[4]=e("div",{class:"p-2 rounded-lg bg-purple-500/10 text-purple-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"})])],-1)),e("h2",pe,o(s.$t("permissions.superadmin")),1)]),e("p",me,o(s.$t("permissions.superadmin_desc")),1),e("div",fe,[(n(),a(f,null,h(w,r=>e("div",{key:r.key,class:"flex items-center justify-between py-2 border-b border-slate-700/50 last:border-0"},[e("span",he,o(s.$t(`permissions.perms.${r.key}`)),1),e("label",ge,[e("input",{type:"checkbox",checked:A("superadmin",r.key),class:"sr-only peer",onChange:i=>$("superadmin",r.key,i)},null,40,be),t[5]||(t[5]=e("div",{class:"w-9 h-5 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-purple-500/50 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-purple-600"},null,-1))])])),64))])]),e("div",ve,[e("div",xe,[t[6]||(t[6]=e("div",{class:"p-2 rounded-lg bg-cyan-500/10 text-cyan-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8.25 18.75a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 01-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 00-3.213-9.193 2.056 2.056 0 00-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 00-10.026 0 1.106 1.106 0 00-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12"})])],-1)),e("h2",ke,o(s.$t("permissions.garages")),1)]),e("p",_e,o(s.$t("permissions.garages_desc")),1),e("div",ye,[(n(),a(f,null,h(C,r=>e("div",{key:r.key,class:"flex items-center justify-between py-2 border-b border-slate-700/50 last:border-0"},[e("span",we,o(s.$t(`permissions.perms.${r.key}`)),1),e("label",Ce,[e("input",{type:"checkbox",checked:A("garage",r.key),class:"sr-only peer",onChange:i=>$("garage",r.key,i)},null,40,$e),t[7]||(t[7]=e("div",{class:"w-9 h-5 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-cyan-500/50 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-cyan-600"},null,-1))])])),64))])]),e("div",Me,[e("div",Pe,[t[8]||(t[8]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20.25 7.5l-.625 10.632a2.25 2.25 0 01-2.247 2.118H6.622a2.25 2.25 0 01-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0l-3-3m3 3l3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z"})])],-1)),e("h2",Be,o(s.$t("permissions.feature_flags")),1)]),e("p",je,o(s.$t("permissions.feature_flags_desc",{tier:m.value.tier||"free"})),1),e("div",Ve,[(n(!0),a(f,null,h(H.value,([r,i])=>(n(),a("div",{key:r,class:"flex items-center justify-between py-2 border-b border-slate-700/50 last:border-0"},[e("div",Ae,[e("span",ze,o(T(r)),1),e("span",Fe,o(r),1)]),e("label",Ne,[e("input",{type:"checkbox",checked:i,class:"sr-only peer",disabled:!0,onChange:d=>$("feature",r,d)},null,40,Le),e("div",{class:M(["w-9 h-5 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-amber-500/50 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all",i?"peer-checked:bg-amber-600":""])},null,2)])]))),128))])])]),e("div",Se,[e("h3",He,o(s.$t("permissions.rbac_title")),1),e("p",De,o(s.$t("permissions.rbac_desc")),1),e("div",Te,[e("table",Ee,[e("thead",null,[e("tr",Ue,[e("th",Ke,o(s.$t("permissions.action")),1),(n(!0),a(f,null,h(y.value,r=>(n(),a("th",{key:r.role,class:"text-center py-3 px-4 text-slate-400 font-medium"},o(r.role),1))),128))])]),e("tbody",null,[(n(!0),a(f,null,h(j.value,r=>(n(),a("tr",{key:r,class:"border-b border-slate-700/50 hover:bg-slate-700/30"},[e("td",Re,o(r),1),(n(!0),a(f,null,h(y.value,i=>(n(),a("td",{key:i.role,class:"text-center py-2.5 px-4"},[U(i,r)?(n(),a("span",Ie,[...t[9]||(t[9]=[e("svg",{class:"w-4 h-4 text-emerald-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])])):(n(),a("span",Ge,[...t[10]||(t[10]=[e("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])]))]))),128))]))),128))])])])]),V.value?(n(),a("div",Oe,[e("button",{onClick:z,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[t[11]||(t[11]=e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),S(" "+o(s.$t("permissions.save_changes")),1)]),e("button",{onClick:K,class:"px-4 py-2.5 bg-slate-700 hover:bg-slate-600 text-slate-300 font-medium rounded-lg transition"},o(s.$t("permissions.discard")),1)])):k("",!0)],64))]))}});export{Qe as default}; diff --git a/frontend_admin/.output/public/_nuxt/BezjjCqI.js b/frontend_admin/.output/public/_nuxt/BezjjCqI.js new file mode 100644 index 0000000..668b9d9 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/BezjjCqI.js @@ -0,0 +1 @@ +import{_ as O}from"./qc1uPXiA.js";import{p as J,e as q,E as Q,g as X,D as Y,q as Z,K as ee,o,c as r,i as B,a as e,b as H,w,n as d,F as x,r as b,k as L,L as R,t as u,M as S,h as A,d as $,J as te,x as k,m,z as se}from"./CHWHIiGB.js";import{u as oe}from"./j8avB3IT.js";import{u as ne}from"./DKEj_yij.js";const le=J("/logo.svg"),ae={class:"min-h-screen bg-slate-900 text-white flex"},re={class:"flex items-center gap-3 min-w-0"},ie={class:"flex-1 px-2 py-4 space-y-2 overflow-y-auto overflow-x-hidden"},de={key:0},ue=["onClick"],ce=["innerHTML"],he={class:"ml-2 mt-1 space-y-1 overflow-hidden transition-all duration-200"},ve=["innerHTML"],pe={class:"whitespace-nowrap overflow-hidden"},xe=["innerHTML"],fe={class:"p-4 border-t border-slate-700 overflow-hidden"},ke={class:"flex-1 flex flex-col min-w-0 transition-all duration-300 ease-in-out"},me={class:"sticky top-0 z-10 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700"},ge={class:"flex items-center justify-between h-16 px-4 lg:px-6"},we={class:"flex items-center gap-3"},be={class:"text-lg font-semibold text-white truncate"},_e={class:"flex items-center gap-3"},ye={class:"flex items-center bg-slate-700/50 rounded-lg p-0.5"},Ce=["onClick"],ze={class:"w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold text-white"},Me={class:"hidden sm:block text-sm text-slate-300"},je={key:0,class:"absolute right-0 mt-2 w-56 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},Be={class:"px-4 py-3 border-b border-slate-700"},He={class:"text-sm font-medium text-white"},Le={class:"text-xs text-slate-400 mt-0.5"},Re={class:"flex-1 p-4 lg:p-6 overflow-auto"},Ee=q({__name:"default",setup(Se){const c=Q(),F=X(),h=ne(),C=oe(),{locale:z,locales:V}=Y(),T=k(()=>V.value),E=k(()=>z.value);function G(){const t=se("access_token").value;return t?{Authorization:`Bearer ${t}`}:{}}async function N(s){z.value=s;try{await $fetch("/api/v1/auth/me/language",{method:"PATCH",headers:{...G(),"Content-Type":"application/json"},body:{preferred_language:s}})}catch(t){console.error("[Layout] Failed to persist language preference:",t)}}const n=m(!1),i=m(!1),p=m(!1),_=m(null),f=m(new Set(["Központ"])),M=k(()=>h.userEmail||"Ismeretlen Felhasználó"),D=k(()=>{const s=h.userEmail;return s?s.split("@")[0].split(".").map(t=>t[0]).join("").toUpperCase().slice(0,2):"??"}),P=[{title:"Központ",items:[{path:"/",label:"Dashboard",icon:''}]},{title:"Felhasználók & Partnerek",items:[{label:"Garázsok",icon:'',children:[{path:"/garages",label:"Garázsok listája",icon:''}]},{label:"Felhasználók",icon:'',children:[{path:"/users",label:"Felhasználók listája",icon:''}]}]},{title:"Pénzügyek",items:[{path:"/packages",label:"Csomagok",icon:''}]},{title:"Rendszer",items:[{path:"/permissions",label:"Jogosultságok",icon:''},{label:"Rendszernaplók",icon:'',children:[{path:"/logs",label:"Rendszernaplók",icon:''}]}]}],W=k(()=>c.path==="/"?"Dashboard":c.path.startsWith("/permissions")?"Jogosultság Kezelés":c.path.startsWith("/garages")?"Garázsok":c.path.startsWith("/users")?"Felhasználók":c.path.startsWith("/logs")?"Rendszernaplók":c.path.startsWith("/packages")?"Csomagok":"Admin Panel");function y(s){return s==="/"?c.path==="/":c.path.startsWith(s)}function U(s){return s.children?s.children.some(t=>y(t.path)):!1}function I(s){f.value.has(s.label)?f.value.delete(s.label):f.value.add(s.label)}function K(){h.logout(),p.value=!1,F.push("/login")}function j(s){_.value&&!_.value.contains(s.target)&&(p.value=!1)}return Z(()=>{document.addEventListener("click",j),C.fetchRegions().then(()=>{h.user?.region_code&&C.setActiveRegion(h.user.region_code)})}),ee(()=>{document.removeEventListener("click",j)}),(s,t)=>{const g=O;return o(),r("div",ae,[n.value?(o(),r("div",{key:0,class:"fixed inset-0 bg-black/50 z-20 lg:hidden",onClick:t[0]||(t[0]=a=>n.value=!1)})):B("",!0),e("aside",{class:d(["fixed lg:static inset-y-0 left-0 z-30 flex flex-col bg-slate-800 border-r border-slate-700 transition-all duration-300 ease-in-out overflow-hidden",n.value||!i.value?"w-52":"w-20"])},[H(g,{to:"/",class:"flex items-center h-16 px-4 border-b border-slate-700 overflow-hidden hover:bg-slate-700/50 transition"},{default:w(()=>[e("div",re,[t[8]||(t[8]=e("img",{src:le,class:"h-8 w-auto flex-shrink-0",alt:"SF Logo"},null,-1)),e("div",{class:d(["transition-all duration-300 ease-in-out overflow-hidden whitespace-nowrap",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},[...t[7]||(t[7]=[e("div",{class:"text-sm font-bold text-white leading-tight"},"Service Finder",-1),e("div",{class:"text-[10px] font-semibold uppercase tracking-wider text-indigo-400 leading-tight"},"Admin",-1)])],2)])]),_:1}),e("button",{class:"hidden lg:flex items-center justify-center h-10 mx-2 mt-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition flex-shrink-0",onClick:t[1]||(t[1]=a=>i.value=!i.value)},[(o(),r("svg",{class:d(["w-5 h-5 transition-transform duration-300",{"rotate-180":i.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"},null,-1)])],2))]),e("nav",ie,[(o(),r(x,null,b(P,a=>(o(),r(x,{key:a.title},[L(e("div",{class:"px-3 py-1 text-xs font-semibold uppercase tracking-wider text-slate-500 whitespace-nowrap overflow-hidden"},u(a.title),513),[[R,n.value||!i.value]]),(o(!0),r(x,null,b(a.items,l=>(o(),r(x,{key:l.label},[l.children?(o(),r("div",de,[e("button",{class:d(["flex items-center w-full gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",U(l)?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:v=>I(l)},[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,ce),e("span",{class:d(["flex-1 text-left whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3),(o(),r("svg",{class:d(["w-4 h-4 transition-all duration-300 ease-in-out flex-shrink-0",{"rotate-90":f.value.has(l.label),"opacity-100":n.value||!i.value,"opacity-0":i.value&&!n.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],10,ue),L(e("div",he,[(o(!0),r(x,null,b(l.children,v=>(o(),S(g,{key:v.path,to:v.path,class:d(["flex items-center gap-3 px-3 py-2 rounded-lg text-sm font-medium transition",y(v.path)?"bg-indigo-600 text-white":"text-slate-400 hover:bg-slate-700 hover:text-white"]),onClick:t[2]||(t[2]=Ae=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-4 h-4",innerHTML:v.icon},null,8,ve),e("span",pe,u(v.label),1)]),_:2},1032,["to","class"]))),128))],512),[[R,f.value.has(l.label)&&(n.value||!i.value)]])])):(o(),S(g,{key:1,to:l.path,class:d(["flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",y(l.path)?"bg-indigo-600 text-white":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:t[3]||(t[3]=v=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,xe),e("span",{class:d(["whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3)]),_:2},1032,["to","class"]))],64))),128))],64))),64))]),e("div",fe,[e("div",{class:d(["text-xs text-slate-500 whitespace-nowrap transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])}," ServiceFinder v2.0 ",2)])],2),e("div",ke,[e("header",me,[e("div",ge,[e("div",we,[e("button",{class:"lg:hidden p-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",onClick:t[4]||(t[4]=a=>n.value=!0)},[...t[11]||(t[11]=[e("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("h1",be,u(W.value),1)]),e("div",_e,[e("div",ye,[(o(!0),r(x,null,b(T.value,a=>(o(),r("button",{key:a.code,onClick:l=>N(a.code),class:d(["px-2.5 py-1 text-xs font-medium rounded-md transition",E.value===a.code?"bg-indigo-600 text-white shadow-sm":"text-slate-400 hover:text-white"])},u(a.code==="hu"?"HU":"EN"),11,Ce))),128))]),e("div",{class:"relative",ref_key:"dropdownRef",ref:_},[e("button",{class:"flex items-center gap-2 p-1.5 rounded-lg hover:bg-slate-700 transition",onClick:t[5]||(t[5]=a=>p.value=!p.value)},[e("div",ze,u(D.value),1),e("span",Me,u(M.value),1),t[12]||(t[12]=e("svg",{class:"w-4 h-4 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),p.value?(o(),r("div",je,[e("div",Be,[e("p",He,u(M.value),1),e("p",Le,u(A(h).userRole==="SUPERADMIN"?"Super Administrator":A(h).userRole||"Administrator"),1)]),H(g,{to:"/profile",class:"flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition",onClick:t[6]||(t[6]=a=>p.value=!1)},{default:w(()=>[...t[13]||(t[13]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})],-1),$(" Profile Settings ",-1)])]),_:1}),e("button",{class:"flex items-center gap-3 w-full px-4 py-2.5 text-sm text-red-400 hover:bg-slate-700 hover:text-red-300 transition",onClick:K},[...t[14]||(t[14]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),$(" Sign Out ",-1)])])])):B("",!0)],512)])])]),e("main",Re,[te(s.$slots,"default")])])])}}});export{Ee as default}; diff --git a/frontend_admin/.output/public/_nuxt/C3lSWcZz.js b/frontend_admin/.output/public/_nuxt/C3lSWcZz.js new file mode 100644 index 0000000..01cbb9c --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/C3lSWcZz.js @@ -0,0 +1 @@ +import{e as Y,q as Z,c as l,a as e,t as o,F as L,k as C,v as F,s as H,r as T,i as b,j as ee,d as z,n as p,m as n,x as $,y as te,z as se,o as i,A as oe}from"./CHWHIiGB.js";const ae={class:"mb-8"},le={class:"text-2xl font-bold text-white"},ie={class:"text-slate-400 mt-1"},ne={key:0,class:"flex items-center justify-center py-20"},re={class:"flex flex-col items-center gap-3"},de={class:"text-slate-400 text-sm"},ce={key:1,class:"flex flex-col items-center justify-center py-20 text-center"},ue={class:"text-red-400 text-sm mb-2"},pe={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-8"},ge={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},me={class:"flex items-center gap-3"},ve={class:"text-xs text-slate-400 uppercase tracking-wider"},xe={class:"text-2xl font-bold text-white"},fe={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},he={class:"flex items-center gap-3"},be={class:"text-xs text-slate-400 uppercase tracking-wider"},_e={class:"text-2xl font-bold text-emerald-400"},ye={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},ke={class:"flex items-center gap-3"},we={class:"text-xs text-slate-400 uppercase tracking-wider"},Ce={class:"text-2xl font-bold text-amber-400"},$e={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},Me={class:"flex items-center gap-3"},je={class:"text-xs text-slate-400 uppercase tracking-wider"},Be={class:"text-2xl font-bold text-purple-400"},Le={class:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-6"},ze={class:"relative flex-1 max-w-md"},Se=["placeholder"],Ve={class:"flex items-center gap-2"},Ae={value:"all"},De={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},Fe={class:"overflow-x-auto"},He={class:"w-full text-sm"},Te={class:"border-b border-slate-700 bg-slate-800/80"},Ne={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ie={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ge={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ue={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Ee={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},Pe={class:"py-3.5 px-4 text-slate-400 font-mono text-xs"},qe={class:"py-3.5 px-4"},Oe={class:"flex items-center gap-3"},Qe={class:"text-sm font-medium text-white"},Je={class:"text-xs text-slate-500"},Ke={class:"py-3.5 px-4"},Re={class:"py-3.5 px-4"},We={class:"py-3.5 px-4"},Xe={key:0,class:"text-slate-300 text-xs"},Ye={key:1,class:"text-slate-500 text-xs italic"},Ze={class:"py-3.5 px-4"},et={class:"flex items-center gap-2"},tt=["onClick","title"],st=["onClick"],ot=["onClick"],at={key:0,class:"flex flex-col items-center justify-center py-16 text-center"},lt={class:"text-slate-400 text-sm"},it={class:"bg-slate-800 border border-slate-700 rounded-2xl shadow-2xl w-full max-w-lg mx-4 overflow-hidden"},nt={class:"px-6 py-4 border-b border-slate-700 flex items-center justify-between"},rt={class:"text-lg font-semibold text-white"},dt={class:"text-sm text-slate-400 mt-0.5"},ct={class:"px-6 py-5 space-y-5"},ut={class:"bg-slate-900/50 rounded-xl p-4 border border-slate-700/50"},pt={class:"text-xs text-slate-500 uppercase tracking-wider mb-1"},gt={class:"text-sm font-medium text-white"},mt={key:0,class:"text-xs text-slate-400 mt-1"},vt={class:"block text-sm font-medium text-slate-300 mb-2"},xt={value:"",disabled:""},ft=["value"],ht={class:"block text-sm font-medium text-slate-300 mb-2"},bt={class:"text-xs text-slate-500 ml-1"},_t={class:"text-xs text-slate-500 mt-1.5"},yt={key:0,class:"bg-red-500/10 border border-red-500/20 rounded-lg px-4 py-3"},kt={class:"text-sm text-red-400"},wt={class:"px-6 py-4 border-t border-slate-700 flex items-center justify-end gap-3"},Ct=["disabled"],$t={key:0,class:"flex items-center gap-2"},Mt={key:1},Lt=Y({__name:"index",setup(jt){const _=n(!0),y=n(null),g=n([]),S=n([]),k=n(""),m=n("all"),M=n(!1),r=n(null),d=n(""),v=n(""),f=n(!1),x=n(null),h=n(null),N=$(()=>g.value.filter(t=>t.is_active).length),I=$(()=>g.value.filter(t=>{const s=t.subscription_tier_name.toLowerCase();return s.includes("premium")||s.includes("pro")}).length),G=$(()=>g.value.filter(t=>{const s=t.subscription_tier_name.toLowerCase();return s.includes("enterprise")||s.includes("vip")||s.includes("corp")}).length),V=$(()=>g.value.filter(t=>{if(k.value){const s=k.value.toLowerCase();if(!(c(t).toLowerCase().includes(s)||t.full_name.toLowerCase().includes(s)||t.name.toLowerCase().includes(s)||t.city&&t.city.toLowerCase().includes(s)))return!1}if(m.value!=="all"){const s=t.subscription_tier_name.toLowerCase();if(m.value==="free"&&!s.includes("free")&&!s.includes("fallback")||m.value==="premium"&&!s.includes("premium")&&!s.includes("pro")||m.value==="enterprise"&&!s.includes("enterprise")&&!s.includes("vip")&&!s.includes("corp"))return!1}return!0}));function j(){const s=se("access_token").value;return s?{Authorization:`Bearer ${s}`}:{}}async function B(){_.value=!0,y.value=null;try{const t=await $fetch("/api/v1/admin/organizations",{params:{limit:200},headers:j()});g.value=t.garages}catch(t){console.error("[Garages] Failed to fetch garages:",t),y.value=t?.data?.detail||t?.message||"Failed to load garages"}finally{_.value=!1}}async function U(){try{const t=await $fetch("/api/v1/admin/packages",{params:{include_hidden:!0,limit:100},headers:j()});S.value=t.tiers}catch(t){console.error("[Garages] Failed to fetch tiers:",t)}}function E(t){r.value=t,d.value=t.subscription?.tier_id||"",v.value="",x.value=null,M.value=!0}function w(){M.value=!1,r.value=null,d.value="",v.value="",x.value=null}async function P(){if(!(!r.value||!d.value)){f.value=!0,x.value=null;try{const t={tier_id:d.value};v.value&&(t.expires_at=new Date(v.value).toISOString()),await $fetch(`/api/v1/admin/organizations/${r.value.id}/subscription`,{method:"PATCH",headers:{...j(),"Content-Type":"application/json"},body:t}),D("success",`"${c(r.value)}" ${te().$i18n.t("garages.subscription_updated")}`),w(),await B()}catch(t){console.error("[Garages] Failed to save subscription:",t),x.value=t?.data?.detail||t?.message||"Failed to save subscription"}finally{f.value=!1}}}async function q(t){D("error",`Status toggle for "${c(t)}" not yet implemented via API`)}function c(t){return t.display_name||t.name||t.full_name}function O(t){oe(`/garages/${t.id}`)}function Q(t){return t.split(" ").map(s=>s.charAt(0)).join("").toUpperCase().slice(0,2)}function J(t){const s=["bg-amber-600","bg-purple-600","bg-slate-600","bg-indigo-600","bg-emerald-600","bg-rose-600","bg-cyan-600","bg-orange-600","bg-teal-600"];let a=0;for(let u=0;u{h.value=null},4e3)}return Z(()=>{B(),U()}),(t,s)=>(i(),l("div",null,[e("div",ae,[e("h1",le,o(t.$t("garages.title")),1),e("p",ie,o(t.$t("garages.subtitle")),1)]),_.value?(i(),l("div",ne,[e("div",re,[s[4]||(s[4]=e("svg",{class:"w-8 h-8 text-indigo-400 animate-spin",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("p",de,o(t.$t("garages.loading")),1)])])):y.value?(i(),l("div",ce,[s[5]||(s[5]=e("svg",{class:"w-12 h-12 text-red-500 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),e("p",ue,o(y.value),1),e("button",{onClick:B,class:"px-4 py-2 text-sm bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},o(t.$t("garages.retry")),1)])):(i(),l(L,{key:2},[e("div",pe,[e("div",ge,[e("div",me,[s[6]||(s[6]=e("div",{class:"p-2 rounded-lg bg-indigo-500/10 text-indigo-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})])],-1)),e("div",null,[e("p",ve,o(t.$t("garages.total_garages")),1),e("p",xe,o(g.value.length),1)])])]),e("div",fe,[e("div",he,[s[7]||(s[7]=e("div",{class:"p-2 rounded-lg bg-emerald-500/10 text-emerald-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})])],-1)),e("div",null,[e("p",be,o(t.$t("garages.active_garages")),1),e("p",_e,o(N.value),1)])])]),e("div",ye,[e("div",ke,[s[8]||(s[8]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})])],-1)),e("div",null,[e("p",we,o(t.$t("garages.premium_garages")),1),e("p",Ce,o(I.value),1)])])]),e("div",$e,[e("div",Me,[s[9]||(s[9]=e("div",{class:"p-2 rounded-lg bg-purple-500/10 text-purple-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"})])],-1)),e("div",null,[e("p",je,o(t.$t("garages.enterprise_garages")),1),e("p",Be,o(G.value),1)])])])]),e("div",Le,[e("div",ze,[s[10]||(s[10]=e("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),C(e("input",{"onUpdate:modelValue":s[0]||(s[0]=a=>k.value=a),type:"text",placeholder:t.$t("garages.search_placeholder"),class:"w-full pl-10 pr-4 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 transition"},null,8,Se),[[F,k.value]])]),e("div",Ve,[C(e("select",{"onUpdate:modelValue":s[1]||(s[1]=a=>m.value=a),class:"px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},[e("option",Ae,o(t.$t("garages.all_tiers")),1),s[11]||(s[11]=e("option",{value:"free"},"Free",-1)),s[12]||(s[12]=e("option",{value:"premium"},"Premium",-1)),s[13]||(s[13]=e("option",{value:"enterprise"},"Enterprise",-1))],512),[[H,m.value]])])]),e("div",De,[e("div",Fe,[e("table",He,[e("thead",null,[e("tr",Te,[s[14]||(s[14]=e("th",{class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},"ID",-1)),e("th",Ne,o(t.$t("garages.company_name")),1),e("th",Ie,o(t.$t("garages.status")),1),e("th",Ge,o(t.$t("garages.current_package")),1),e("th",Ue,o(t.$t("garages.expiration_date")),1),e("th",Ee,o(t.$t("garages.actions")),1)])]),e("tbody",null,[(i(!0),l(L,null,T(V.value,a=>(i(),l("tr",{key:a.id,class:"border-b border-slate-700/50 hover:bg-slate-700/30 transition"},[e("td",Pe,o(a.id),1),e("td",qe,[e("div",Oe,[e("div",{class:p(["w-8 h-8 rounded-lg flex items-center justify-center text-sm font-bold text-white",J(c(a))])},o(Q(c(a))),3),e("div",null,[e("p",Qe,o(c(a)),1),e("p",Je,o(a.city||"—")+" · "+o(a.member_count)+" "+o(t.$t("garages.members")),1)])])]),e("td",Ke,[e("span",{class:p(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",K(a.status)])},[e("span",{class:p(["w-1.5 h-1.5 rounded-full mr-1.5",R(a.status)])},null,2),z(" "+o(W(a.status)),1)],2)]),e("td",Re,[e("span",{class:p(["px-2.5 py-0.5 rounded-full text-xs font-medium",X(a.subscription_tier_name)])},o(a.subscription_tier_name),3)]),e("td",We,[a.subscription_expires_at?(i(),l("span",Xe,o(A(a.subscription_expires_at)),1)):(i(),l("span",Ye,o(t.$t("garages.indefinite")),1))]),e("td",Ze,[e("div",et,[e("button",{onClick:u=>O(a),class:"px-3 py-1.5 text-xs font-medium bg-slate-600/20 text-slate-300 hover:bg-slate-600/30 rounded-lg transition",title:t.$t("garages.view_details")},o(t.$t("garages.view_details")),9,tt),e("button",{onClick:u=>E(a),class:"px-3 py-1.5 text-xs font-medium bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},o(t.$t("garages.manage_subscription")),9,st),e("button",{onClick:u=>q(a),class:p(["px-3 py-1.5 text-xs font-medium rounded-lg transition",a.is_active?"bg-red-500/10 text-red-300 hover:bg-red-500/20":"bg-emerald-500/10 text-emerald-300 hover:bg-emerald-500/20"])},o(a.is_active?t.$t("garages.deactivate"):t.$t("garages.activate")),11,ot)])])]))),128))])])]),V.value.length===0&&!_.value?(i(),l("div",at,[s[15]||(s[15]=e("svg",{class:"w-12 h-12 text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})],-1)),e("p",lt,o(t.$t("garages.no_results")),1)])):b("",!0)])],64)),M.value?(i(),l("div",{key:3,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:ee(w,["self"])},[e("div",it,[e("div",nt,[e("div",null,[e("h3",rt,o(t.$t("garages.manage_subscription")),1),e("p",dt,o(r.value?c(r.value):""),1)]),e("button",{onClick:w,class:"p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"},[...s[16]||(s[16]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e("div",ct,[e("div",ut,[e("p",pt,o(t.$t("garages.current_package")),1),e("p",gt,o(r.value?.subscription_tier_name||t.$t("garages.free_fallback")),1),r.value?.subscription_expires_at?(i(),l("p",mt,o(t.$t("garages.expires"))+": "+o(A(r.value.subscription_expires_at)),1)):b("",!0)]),e("div",null,[e("label",vt,o(t.$t("garages.select_package")),1),C(e("select",{"onUpdate:modelValue":s[2]||(s[2]=a=>d.value=a),class:"w-full px-3 py-2.5 bg-slate-900 border border-slate-700 rounded-lg text-sm text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},[e("option",xt,o(t.$t("garages.select_package_placeholder")),1),(i(!0),l(L,null,T(S.value,a=>(i(),l("option",{key:a.id,value:a.id},o(a.name)+" (Level "+o(a.tier_level)+") ",9,ft))),128))],512),[[H,d.value]])]),e("div",null,[e("label",ht,[z(o(t.$t("garages.custom_expiration"))+" ",1),e("span",bt,"("+o(t.$t("garages.optional"))+")",1)]),C(e("input",{"onUpdate:modelValue":s[3]||(s[3]=a=>v.value=a),type:"datetime-local",class:"w-full px-3 py-2.5 bg-slate-900 border border-slate-700 rounded-lg text-sm text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},null,512),[[F,v.value]]),e("p",_t,o(t.$t("garages.custom_expiration_hint")),1)]),x.value?(i(),l("div",yt,[e("p",kt,o(x.value),1)])):b("",!0)]),e("div",wt,[e("button",{onClick:w,class:"px-4 py-2 text-sm font-medium text-slate-300 hover:text-white transition"},o(t.$t("garages.cancel")),1),e("button",{onClick:P,disabled:f.value||!d.value,class:p(["px-5 py-2 text-sm font-medium rounded-lg transition disabled:opacity-50 disabled:cursor-not-allowed",f.value?"bg-indigo-600/50 text-indigo-200 cursor-wait":"bg-indigo-600 text-white hover:bg-indigo-500"])},[f.value?(i(),l("span",$t,[s[17]||(s[17]=e("svg",{class:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),z(" "+o(t.$t("garages.saving")),1)])):(i(),l("span",Mt,o(t.$t("garages.save")),1))],10,Ct)])])])):b("",!0),h.value?(i(),l("div",{key:4,class:p(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",h.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},o(h.value.message),3)):b("",!0)]))}});export{Lt as default}; diff --git a/frontend_admin/.output/public/_nuxt/9W9VXtTt.js b/frontend_admin/.output/public/_nuxt/C8W4Ef6u.js similarity index 94% rename from frontend_admin/.output/public/_nuxt/9W9VXtTt.js rename to frontend_admin/.output/public/_nuxt/C8W4Ef6u.js index 853ccd9..9cc608e 100644 --- a/frontend_admin/.output/public/_nuxt/9W9VXtTt.js +++ b/frontend_admin/.output/public/_nuxt/C8W4Ef6u.js @@ -1 +1 @@ -import{_ as h}from"./Da4aCGAe.js";import{p as v,e as y,g as _,c as n,a as t,f as k,h as s,t as c,i as u,j as S,k as p,v as m,l as x,b as V,w as L,m as f,o as i,d as C}from"./CqYPuxVf.js";import{u as N}from"./CWA6Xjbg.js";const B=v("/sf_logo.png"),E={class:"min-h-screen bg-slate-900 flex items-center justify-center px-4"},R={class:"w-full max-w-md"},j={class:"bg-slate-800 rounded-xl shadow-2xl border border-slate-700 p-8"},A={key:0,class:"mb-6 p-3 rounded-lg bg-red-900/40 border border-red-700 text-red-300 text-sm"},D=["disabled"],F={key:0,class:"animate-spin h-5 w-5 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},I={class:"mt-6 text-center"},T=y({__name:"login",setup(M){const a=f(""),l=f(""),b=_(),o=N();async function g(){try{await o.login(a.value,l.value),b.push("/")}catch(d){console.error("Login failed:",d)}}return(d,e)=>{const w=h;return i(),n("div",E,[t("div",R,[e[6]||(e[6]=k('
ServiceFinder LogoSERVICEFINDER

Staff Portal

Authorised personnel only

',1)),t("div",j,[s(o).error?(i(),n("div",A,c(s(o).error),1)):u("",!0),t("form",{onSubmit:S(g,["prevent"]),class:"space-y-5"},[t("div",null,[e[2]||(e[2]=t("label",{for:"email",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Email Address ",-1)),p(t("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=r=>x(a)?a.value=r:null),type:"email",autocomplete:"email",required:"",placeholder:"admin@example.com",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(a)]])]),t("div",null,[e[3]||(e[3]=t("label",{for:"password",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Password ",-1)),p(t("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>x(l)?l.value=r:null),type:"password",autocomplete:"current-password",required:"",placeholder:"••••••••",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(l)]])]),t("button",{type:"submit",disabled:s(o).isLoading,class:"w-full py-2.5 px-4 bg-cyan-600 hover:bg-cyan-500 disabled:bg-cyan-800 disabled:cursor-not-allowed text-white font-semibold rounded-lg transition duration-200 flex items-center justify-center gap-2"},[s(o).isLoading?(i(),n("svg",F,[...e[4]||(e[4]=[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):u("",!0),t("span",null,c(s(o).isLoading?"Signing in...":"Sign In"),1)],8,D)],32),t("div",I,[V(w,{to:"/",class:"text-sm text-slate-500 hover:text-cyan-400 transition"},{default:L(()=>[...e[5]||(e[5]=[C(" ← Back to ServiceFinder ",-1)])]),_:1})])])])])}}});export{T as default}; +import{_ as h}from"./qc1uPXiA.js";import{p as v,e as y,g as _,c as n,a as t,f as k,h as s,t as c,i as u,j as S,k as p,v as m,l as x,b as V,w as L,m as f,o as i,d as C}from"./CHWHIiGB.js";import{u as N}from"./DKEj_yij.js";const B=v("/sf_logo.png"),E={class:"min-h-screen bg-slate-900 flex items-center justify-center px-4"},R={class:"w-full max-w-md"},j={class:"bg-slate-800 rounded-xl shadow-2xl border border-slate-700 p-8"},A={key:0,class:"mb-6 p-3 rounded-lg bg-red-900/40 border border-red-700 text-red-300 text-sm"},D=["disabled"],F={key:0,class:"animate-spin h-5 w-5 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},I={class:"mt-6 text-center"},T=y({__name:"login",setup(M){const a=f(""),l=f(""),b=_(),o=N();async function g(){try{await o.login(a.value,l.value),b.push("/")}catch(d){console.error("Login failed:",d)}}return(d,e)=>{const w=h;return i(),n("div",E,[t("div",R,[e[6]||(e[6]=k('
ServiceFinder LogoSERVICEFINDER

Staff Portal

Authorised personnel only

',1)),t("div",j,[s(o).error?(i(),n("div",A,c(s(o).error),1)):u("",!0),t("form",{onSubmit:S(g,["prevent"]),class:"space-y-5"},[t("div",null,[e[2]||(e[2]=t("label",{for:"email",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Email Address ",-1)),p(t("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=r=>x(a)?a.value=r:null),type:"email",autocomplete:"email",required:"",placeholder:"admin@example.com",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(a)]])]),t("div",null,[e[3]||(e[3]=t("label",{for:"password",class:"block text-sm font-medium text-slate-300 mb-1.5"}," Password ",-1)),p(t("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>x(l)?l.value=r:null),type:"password",autocomplete:"current-password",required:"",placeholder:"••••••••",class:"w-full px-4 py-2.5 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-transparent transition"},null,512),[[m,s(l)]])]),t("button",{type:"submit",disabled:s(o).isLoading,class:"w-full py-2.5 px-4 bg-cyan-600 hover:bg-cyan-500 disabled:bg-cyan-800 disabled:cursor-not-allowed text-white font-semibold rounded-lg transition duration-200 flex items-center justify-center gap-2"},[s(o).isLoading?(i(),n("svg",F,[...e[4]||(e[4]=[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):u("",!0),t("span",null,c(s(o).isLoading?"Signing in...":"Sign In"),1)],8,D)],32),t("div",I,[V(w,{to:"/",class:"text-sm text-slate-500 hover:text-cyan-400 transition"},{default:L(()=>[...e[5]||(e[5]=[C(" ← Back to ServiceFinder ",-1)])]),_:1})])])])])}}});export{T as default}; diff --git a/frontend_admin/.output/public/_nuxt/C8yzOtqa.js b/frontend_admin/.output/public/_nuxt/C8yzOtqa.js deleted file mode 100644 index 599fa11..0000000 --- a/frontend_admin/.output/public/_nuxt/C8yzOtqa.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a}from"./Da4aCGAe.js";import{_ as i,u,o as c,c as l,a as e,t as r,b as d,w as p,d as f}from"./CqYPuxVf.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},b=["textContent"],h=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:404},statusText:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return u({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=a;return c(),l("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.status)},null,8,b),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,h),e("div",x,[d(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:p(()=>[f(r(t.backHome),1)]),_:1})])])])}}},v=i(y,[["__scopeId","data-v-1bd9e11a"]]);export{v as default}; diff --git a/frontend_admin/.output/public/_nuxt/CC4zKGJo.js b/frontend_admin/.output/public/_nuxt/CC4zKGJo.js deleted file mode 100644 index 8c134d5..0000000 --- a/frontend_admin/.output/public/_nuxt/CC4zKGJo.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as I}from"./Da4aCGAe.js";import{p as J,e as K,D as q,g as Q,E as X,y as Y,G as Z,o,c as r,i as H,a as e,b as B,w,n as d,F as p,r as b,k as L,H as A,t as u,I as S,d as R,J as ee,x as k,m as g,A as te}from"./CqYPuxVf.js";import{u as se}from"./DWjNh9rV.js";import{u as oe}from"./CWA6Xjbg.js";const ne=J("/logo.svg"),le={class:"min-h-screen bg-slate-900 text-white flex"},ae={class:"flex items-center gap-3 min-w-0"},re={class:"flex-1 px-2 py-4 space-y-2 overflow-y-auto overflow-x-hidden"},ie={key:0},de=["onClick"],ue=["innerHTML"],ce={class:"ml-2 mt-1 space-y-1 overflow-hidden transition-all duration-200"},he=["innerHTML"],ve={class:"whitespace-nowrap overflow-hidden"},pe=["innerHTML"],xe={class:"p-4 border-t border-slate-700 overflow-hidden"},fe={class:"flex-1 flex flex-col min-w-0 transition-all duration-300 ease-in-out"},ke={class:"sticky top-0 z-10 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700"},ge={class:"flex items-center justify-between h-16 px-4 lg:px-6"},me={class:"flex items-center gap-3"},we={class:"text-lg font-semibold text-white truncate"},be={class:"flex items-center gap-3"},ye={class:"flex items-center bg-slate-700/50 rounded-lg p-0.5"},_e=["onClick"],Ce={class:"w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold text-white"},ze={class:"hidden sm:block text-sm text-slate-300"},Me={key:0,class:"absolute right-0 mt-2 w-56 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},je={class:"px-4 py-3 border-b border-slate-700"},He={class:"text-sm font-medium text-white"},Be={class:"flex-1 p-4 lg:p-6 overflow-auto"},Fe=K({__name:"default",setup(Le){const c=q(),$=Q(),x=oe(),C=se(),{locale:z,locales:V}=X(),F=k(()=>V.value),T=k(()=>z.value);function E(){const t=te("access_token").value;return t?{Authorization:`Bearer ${t}`}:{}}async function G(s){z.value=s;try{await $fetch("/api/v1/auth/me/language",{method:"PATCH",headers:{...E(),"Content-Type":"application/json"},body:{preferred_language:s}})}catch(t){console.error("[Layout] Failed to persist language preference:",t)}}const n=g(!1),i=g(!1),v=g(!1),y=g(null),f=g(new Set(["Központ"])),M=k(()=>x.userEmail||"admin@servicefinder.hu"),D=k(()=>{const s=x.userEmail;return s?s.split("@")[0].split(".").map(t=>t[0]).join("").toUpperCase().slice(0,2):"AD"}),N=[{title:"Központ",items:[{path:"/",label:"Dashboard",icon:''}]},{title:"Felhasználók & Partnerek",items:[{label:"Garázsok",icon:'',children:[{path:"/garages",label:"Garázsok listája",icon:''}]},{label:"Felhasználók",icon:'',children:[{path:"/users",label:"Felhasználók listája",icon:''}]}]},{title:"Pénzügyek",items:[{path:"/packages",label:"Csomagok",icon:''}]},{title:"Rendszer",items:[{path:"/permissions",label:"Jogosultságok",icon:''},{label:"Rendszernaplók",icon:'',children:[{path:"/logs",label:"Rendszernaplók",icon:''}]}]}],W=k(()=>c.path==="/"?"Dashboard":c.path.startsWith("/permissions")?"Jogosultság Kezelés":c.path.startsWith("/garages")?"Garázsok":c.path.startsWith("/users")?"Felhasználók":c.path.startsWith("/logs")?"Rendszernaplók":c.path.startsWith("/packages")?"Csomagok":"Admin Panel");function _(s){return s==="/"?c.path==="/":c.path.startsWith(s)}function P(s){return s.children?s.children.some(t=>_(t.path)):!1}function O(s){f.value.has(s.label)?f.value.delete(s.label):f.value.add(s.label)}function U(){x.logout(),v.value=!1,$.push("/login")}function j(s){y.value&&!y.value.contains(s.target)&&(v.value=!1)}return Y(()=>{document.addEventListener("click",j),C.fetchRegions().then(()=>{x.user?.region_code&&C.setActiveRegion(x.user.region_code)})}),Z(()=>{document.removeEventListener("click",j)}),(s,t)=>{const m=I;return o(),r("div",le,[n.value?(o(),r("div",{key:0,class:"fixed inset-0 bg-black/50 z-20 lg:hidden",onClick:t[0]||(t[0]=a=>n.value=!1)})):H("",!0),e("aside",{class:d(["fixed lg:static inset-y-0 left-0 z-30 flex flex-col bg-slate-800 border-r border-slate-700 transition-all duration-300 ease-in-out overflow-hidden",n.value||!i.value?"w-52":"w-20"])},[B(m,{to:"/",class:"flex items-center h-16 px-4 border-b border-slate-700 overflow-hidden hover:bg-slate-700/50 transition"},{default:w(()=>[e("div",ae,[t[8]||(t[8]=e("img",{src:ne,class:"h-8 w-auto flex-shrink-0",alt:"SF Logo"},null,-1)),e("div",{class:d(["transition-all duration-300 ease-in-out overflow-hidden whitespace-nowrap",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},[...t[7]||(t[7]=[e("div",{class:"text-sm font-bold text-white leading-tight"},"Service Finder",-1),e("div",{class:"text-[10px] font-semibold uppercase tracking-wider text-indigo-400 leading-tight"},"Admin",-1)])],2)])]),_:1}),e("button",{class:"hidden lg:flex items-center justify-center h-10 mx-2 mt-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition flex-shrink-0",onClick:t[1]||(t[1]=a=>i.value=!i.value)},[(o(),r("svg",{class:d(["w-5 h-5 transition-transform duration-300",{"rotate-180":i.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"},null,-1)])],2))]),e("nav",re,[(o(),r(p,null,b(N,a=>(o(),r(p,{key:a.title},[L(e("div",{class:"px-3 py-1 text-xs font-semibold uppercase tracking-wider text-slate-500 whitespace-nowrap overflow-hidden"},u(a.title),513),[[A,n.value||!i.value]]),(o(!0),r(p,null,b(a.items,l=>(o(),r(p,{key:l.label},[l.children?(o(),r("div",ie,[e("button",{class:d(["flex items-center w-full gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",P(l)?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:h=>O(l)},[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,ue),e("span",{class:d(["flex-1 text-left whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3),(o(),r("svg",{class:d(["w-4 h-4 transition-all duration-300 ease-in-out flex-shrink-0",{"rotate-90":f.value.has(l.label),"opacity-100":n.value||!i.value,"opacity-0":i.value&&!n.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],10,de),L(e("div",ce,[(o(!0),r(p,null,b(l.children,h=>(o(),S(m,{key:h.path,to:h.path,class:d(["flex items-center gap-3 px-3 py-2 rounded-lg text-sm font-medium transition",_(h.path)?"bg-indigo-600 text-white":"text-slate-400 hover:bg-slate-700 hover:text-white"]),onClick:t[2]||(t[2]=Ae=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-4 h-4",innerHTML:h.icon},null,8,he),e("span",ve,u(h.label),1)]),_:2},1032,["to","class"]))),128))],512),[[A,f.value.has(l.label)&&(n.value||!i.value)]])])):(o(),S(m,{key:1,to:l.path,class:d(["flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",_(l.path)?"bg-indigo-600 text-white":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:t[3]||(t[3]=h=>n.value=!1)},{default:w(()=>[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:l.icon},null,8,pe),e("span",{class:d(["whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},u(l.label),3)]),_:2},1032,["to","class"]))],64))),128))],64))),64))]),e("div",xe,[e("div",{class:d(["text-xs text-slate-500 whitespace-nowrap transition-all duration-300 ease-in-out",n.value||!i.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])}," ServiceFinder v2.0 ",2)])],2),e("div",fe,[e("header",ke,[e("div",ge,[e("div",me,[e("button",{class:"lg:hidden p-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",onClick:t[4]||(t[4]=a=>n.value=!0)},[...t[11]||(t[11]=[e("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("h1",we,u(W.value),1)]),e("div",be,[e("div",ye,[(o(!0),r(p,null,b(F.value,a=>(o(),r("button",{key:a.code,onClick:l=>G(a.code),class:d(["px-2.5 py-1 text-xs font-medium rounded-md transition",T.value===a.code?"bg-indigo-600 text-white shadow-sm":"text-slate-400 hover:text-white"])},u(a.code==="hu"?"HU":"EN"),11,_e))),128))]),e("div",{class:"relative",ref_key:"dropdownRef",ref:y},[e("button",{class:"flex items-center gap-2 p-1.5 rounded-lg hover:bg-slate-700 transition",onClick:t[5]||(t[5]=a=>v.value=!v.value)},[e("div",Ce,u(D.value),1),e("span",ze,u(M.value),1),t[12]||(t[12]=e("svg",{class:"w-4 h-4 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),v.value?(o(),r("div",Me,[e("div",je,[e("p",He,u(M.value),1),t[13]||(t[13]=e("p",{class:"text-xs text-slate-400 mt-0.5"},"Administrator",-1))]),B(m,{to:"/profile",class:"flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition",onClick:t[6]||(t[6]=a=>v.value=!1)},{default:w(()=>[...t[14]||(t[14]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})],-1),R(" Profile Settings ",-1)])]),_:1}),e("button",{class:"flex items-center gap-3 w-full px-4 py-2.5 text-sm text-red-400 hover:bg-slate-700 hover:text-red-300 transition",onClick:U},[...t[15]||(t[15]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),R(" Sign Out ",-1)])])])):H("",!0)],512)])])]),e("main",Be,[ee(s.$slots,"default")])])])}}});export{Fe as default}; diff --git a/frontend_admin/.output/public/_nuxt/CqYPuxVf.js b/frontend_admin/.output/public/_nuxt/CHWHIiGB.js similarity index 57% rename from frontend_admin/.output/public/_nuxt/CqYPuxVf.js rename to frontend_admin/.output/public/_nuxt/CHWHIiGB.js index 4eca33e..da2a8c2 100644 --- a/frontend_admin/.output/public/_nuxt/CqYPuxVf.js +++ b/frontend_admin/.output/public/_nuxt/CHWHIiGB.js @@ -1,6 +1,6 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./9W9VXtTt.js","./Da4aCGAe.js","./CWA6Xjbg.js","./ncKxzOzI.js","./DWjNh9rV.js","./CC4zKGJo.js","./C8yzOtqa.js","./error-404.DL_4WIao.css","./Cx40nPNe.js","./error-500.I1Dtv2V5.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function ji(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const be={},Gn=[],Ft=()=>{},Dc=()=>!1,qr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$s=e=>e.startsWith("onUpdate:"),He=Object.assign,Bi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Zd=Object.prototype.hasOwnProperty,ge=(e,t)=>Zd.call(e,t),Z=Array.isArray,qn=e=>ur(e)==="[object Map]",cr=e=>ur(e)==="[object Set]",ka=e=>ur(e)==="[object Date]",eh=e=>ur(e)==="[object RegExp]",ee=e=>typeof e=="function",we=e=>typeof e=="string",ct=e=>typeof e=="symbol",de=e=>e!==null&&typeof e=="object",Fc=e=>(de(e)||ee(e))&&ee(e.then)&&ee(e.catch),Hc=Object.prototype.toString,ur=e=>Hc.call(e),th=e=>ur(e).slice(8,-1),$c=e=>ur(e)==="[object Object]",Us=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=ji(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),js=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},nh=/-\w/g,Qe=js(e=>e.replace(nh,t=>t.slice(1).toUpperCase())),rh=/\B([A-Z])/g,Dn=js(e=>e.replace(rh,"-$1").toLowerCase()),Bs=js(e=>e.charAt(0).toUpperCase()+e.slice(1)),go=js(e=>e?`on${Bs(e)}`:""),xt=(e,t)=>!Object.is(e,t),Yn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Vs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},jc=e=>{const t=we(e)?Number(e):NaN;return isNaN(t)?e:t};let Aa;const Ws=()=>Aa||(Aa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ks(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(oh);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Gs(e){let t="";if(we(e))t=e;else if(Z(e))for(let n=0;nfr(n,t))}const Vc=e=>!!(e&&e.__v_isRef===!0),dh=e=>we(e)?e:e==null?"":Z(e)||de(e)&&(e.toString===Hc||!ee(e.toString))?Vc(e)?dh(e.value):JSON.stringify(e,Wc,2):String(e),Wc=(e,t)=>Vc(t)?Wc(e,t.value):qn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[mo(r,o)+" =>"]=s,n),{})}:cr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>mo(n))}:ct(t)?mo(t):de(t)&&!Z(t)&&!$c(t)?String(t):t,mo=(e,t="")=>{var n;return ct(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Me;class Kc{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Me&&(Me.active?(this.parent=Me,this.index=(Me.scopes||(Me.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(Me===this)Me=this.prevScope;else{let t=Me;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Tr){let t=Tr;for(Tr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Rr;){let t=Rr;for(Rr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Xc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Jc(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Gi(r),hh(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Ko(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xr)||(e.globalVersion=xr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ko(e))))return;e.flags|=2;const t=e.dep,n=Ee,r=Et;Ee=e,Et=!0;try{Xc(e);const s=e.fn(e._value);(t.version===0||xt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ee=n,Et=r,Jc(e),e.flags&=-3}}function Gi(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Gi(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function hh(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Et=!0;const zc=[];function en(){zc.push(Et),Et=!1}function tn(){const e=zc.pop();Et=e===void 0?!0:e}function Pa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let xr=0;class ph{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class qs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ee||!Et||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new ph(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,Zc(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=r)}return n}trigger(t){this.version++,xr++,this.notify(t)}notify(t){Wi();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ki()}}}function Zc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Zc(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const bs=new WeakMap,kn=Symbol(""),Go=Symbol(""),Mr=Symbol("");function Ke(e,t,n){if(Et&&Ee){let r=bs.get(e);r||bs.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new qs),s.map=r,s.key=n),s.track()}}function qt(e,t,n,r,s,o){const i=bs.get(e);if(!i){xr++;return}const a=l=>{l&&l.trigger()};if(Wi(),t==="clear")i.forEach(a);else{const l=Z(e),u=l&&Us(n);if(l&&n==="length"){const c=Number(r);i.forEach((f,d)=>{(d==="length"||d===Mr||!ct(d)&&d>=c)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Mr)),t){case"add":l?u&&a(i.get("length")):(a(i.get(kn)),qn(e)&&a(i.get(Go)));break;case"delete":l||(a(i.get(kn)),qn(e)&&a(i.get(Go)));break;case"set":qn(e)&&a(i.get(kn));break}}Ki()}function gh(e,t){const n=bs.get(e);return n&&n.get(t)}function Hn(e){const t=ae(e);return t===e?t:(Ke(t,"iterate",Mr),it(e)?t:t.map(wt))}function Ys(e){return Ke(e=ae(e),"iterate",Mr),e}function Nt(e,t){return Ut(e)?er(Ht(e)?wt(t):t):wt(t)}const mh={__proto__:null,[Symbol.iterator](){return _o(this,Symbol.iterator,e=>Nt(this,e))},concat(...e){return Hn(this).concat(...e.map(t=>Z(t)?Hn(t):t))},entries(){return _o(this,"entries",e=>(e[1]=Nt(this,e[1]),e))},every(e,t){return jt(this,"every",e,t,void 0,arguments)},filter(e,t){return jt(this,"filter",e,t,n=>n.map(r=>Nt(this,r)),arguments)},find(e,t){return jt(this,"find",e,t,n=>Nt(this,n),arguments)},findIndex(e,t){return jt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return jt(this,"findLast",e,t,n=>Nt(this,n),arguments)},findLastIndex(e,t){return jt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return jt(this,"forEach",e,t,void 0,arguments)},includes(...e){return bo(this,"includes",e)},indexOf(...e){return bo(this,"indexOf",e)},join(e){return Hn(this).join(e)},lastIndexOf(...e){return bo(this,"lastIndexOf",e)},map(e,t){return jt(this,"map",e,t,void 0,arguments)},pop(){return gr(this,"pop")},push(...e){return gr(this,"push",e)},reduce(e,...t){return Oa(this,"reduce",e,t)},reduceRight(e,...t){return Oa(this,"reduceRight",e,t)},shift(){return gr(this,"shift")},some(e,t){return jt(this,"some",e,t,void 0,arguments)},splice(...e){return gr(this,"splice",e)},toReversed(){return Hn(this).toReversed()},toSorted(e){return Hn(this).toSorted(e)},toSpliced(...e){return Hn(this).toSpliced(...e)},unshift(...e){return gr(this,"unshift",e)},values(){return _o(this,"values",e=>Nt(this,e))}};function _o(e,t,n){const r=Ys(e),s=r[t]();return r!==e&&!it(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const yh=Array.prototype;function jt(e,t,n,r,s,o){const i=Ys(e),a=i!==e&&!it(e),l=i[t];if(l!==yh[t]){const f=l.apply(e,o);return a?wt(f):f}let u=n;i!==e&&(a?u=function(f,d){return n.call(this,Nt(e,f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=l.call(i,u,r);return a&&s?s(c):c}function Oa(e,t,n,r){const s=Ys(e),o=s!==e&&!it(e);let i=n,a=!1;s!==e&&(o?(a=r.length===0,i=function(u,c,f){return a&&(a=!1,u=Nt(e,u)),n.call(this,u,Nt(e,c),f,e)}):n.length>3&&(i=function(u,c,f){return n.call(this,u,c,f,e)}));const l=s[t](i,...r);return a?Nt(e,l):l}function bo(e,t,n){const r=ae(e);Ke(r,"iterate",Mr);const s=r[t](...n);return(s===-1||s===!1)&&Xs(n[0])?(n[0]=ae(n[0]),r[t](...n)):s}function gr(e,t,n=[]){en(),Wi();const r=ae(e)[t].apply(e,n);return Ki(),tn(),r}const _h=ji("__proto__,__v_isRef,__isVue"),eu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ct));function bh(e){ct(e)||(e=String(e));const t=ae(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class tu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Ah:ou:o?su:ru).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=Z(t);if(!s){let l;if(i&&(l=mh[n]))return l;if(n==="hasOwnProperty")return bh}const a=Reflect.get(t,n,ve(t)?t:r);if((ct(n)?eu.has(n):_h(n))||(s||Ke(t,"get",n),o))return a;if(ve(a)){const l=i&&Us(n)?a:a.value;return s&&de(l)?Yo(l):l}return de(a)?s?Yo(a):sn(a):a}}class nu extends tu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=Z(t)&&Us(n);if(!this._isShallow){const u=Ut(o);if(!it(r)&&!Ut(r)&&(o=ae(o),r=ae(r)),!i&&ve(o)&&!ve(r))return u||(o.value=r),!0}const a=i?Number(n)e,ts=e=>Reflect.getPrototypeOf(e);function Sh(e,t,n){return function(...r){const s=this.__v_raw,o=ae(s),i=qn(o),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=s[e](...r),c=n?qo:t?er:wt;return!t&&Ke(o,"iterate",l?Go:kn),He(Object.create(u),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}}})}}function ns(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Rh(e,t){const n={get(s){const o=this.__v_raw,i=ae(o),a=ae(s);e||(xt(s,a)&&Ke(i,"get",s),Ke(i,"get",a));const{has:l}=ts(i),u=t?qo:e?er:wt;if(l.call(i,s))return u(o.get(s));if(l.call(i,a))return u(o.get(a));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ke(ae(s),"iterate",kn),s.size},has(s){const o=this.__v_raw,i=ae(o),a=ae(s);return e||(xt(s,a)&&Ke(i,"has",s),Ke(i,"has",a)),s===a?o.has(s):o.has(s)||o.has(a)},forEach(s,o){const i=this,a=i.__v_raw,l=ae(a),u=t?qo:e?er:wt;return!e&&Ke(l,"iterate",kn),a.forEach((c,f)=>s.call(o,u(c),u(f),i))}};return He(n,e?{add:ns("add"),set:ns("set"),delete:ns("delete"),clear:ns("clear")}:{add(s){const o=ae(this),i=ts(o),a=ae(s),l=!t&&!it(s)&&!Ut(s)?a:s;return i.has.call(o,l)||xt(s,l)&&i.has.call(o,s)||xt(a,l)&&i.has.call(o,a)||(o.add(l),qt(o,"add",l,l)),this},set(s,o){!t&&!it(o)&&!Ut(o)&&(o=ae(o));const i=ae(this),{has:a,get:l}=ts(i);let u=a.call(i,s);u||(s=ae(s),u=a.call(i,s));const c=l.call(i,s);return i.set(s,o),u?xt(o,c)&&qt(i,"set",s,o):qt(i,"add",s,o),this},delete(s){const o=ae(this),{has:i,get:a}=ts(o);let l=i.call(o,s);l||(s=ae(s),l=i.call(o,s)),a&&a.call(o,s);const u=o.delete(s);return l&&qt(o,"delete",s,void 0),u},clear(){const s=ae(this),o=s.size!==0,i=s.clear();return o&&qt(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Sh(s,e,t)}),n}function qi(e,t){const n=Rh(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ge(n,s)&&s in r?n:r,s,o)}const Th={get:qi(!1,!1)},Lh={get:qi(!1,!0)},kh={get:qi(!0,!1)};const ru=new WeakMap,su=new WeakMap,ou=new WeakMap,Ah=new WeakMap;function Ph(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sn(e){return Ut(e)?e:Yi(e,!1,Eh,Th,ru)}function Dt(e){return Yi(e,!1,Ch,Lh,su)}function Yo(e){return Yi(e,!0,wh,kh,ou)}function Yi(e,t,n,r,s){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const i=Ph(th(e));if(i===0)return e;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function it(e){return!!(e&&e.__v_isShallow)}function Xs(e){return e?!!e.__v_raw:!1}function ae(e){const t=e&&e.__v_raw;return t?ae(t):e}function Xi(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Uc(e,"__v_skip",!0),e}const wt=e=>de(e)?sn(e):e,er=e=>de(e)?Yo(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function et(e){return iu(e,!1)}function Nn(e){return iu(e,!0)}function iu(e,t){return ve(e)?e:new Oh(e,t)}class Oh{constructor(t,n){this.dep=new qs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ae(t),this._value=n?t:wt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||it(t)||Ut(t);t=r?t:ae(t),xt(t,n)&&(this._rawValue=t,this._value=r?t:wt(t),this.dep.trigger())}}function me(e){return ve(e)?e.value:e}function Ih(e){return ee(e)?e():me(e)}const Nh={get:(e,t,n)=>t==="__v_raw"?e:me(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ve(s)&&!ve(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function au(e){return Ht(e)?e:new Proxy(e,Nh)}class xh{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new qs,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Mh(e){return new xh(e)}function Dh(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=cu(e,n);return t}class Fh{constructor(t,n,r){this._object=t,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=ct(n)?n:String(n),this._raw=ae(t);let s=!0,o=t;if(!Z(t)||ct(this._key)||!Us(this._key))do s=!Xs(o)||it(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=me(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return gh(this._raw,this._key)}}class Hh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function lu(e,t,n){return ve(e)?e:ee(e)?new Hh(e):de(e)&&arguments.length>1?cu(e,t,n):et(e)}function cu(e,t,n){return new Fh(e,t,n)}class $h{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new qs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return Yc(this,!0),!0}get value(){const t=this.dep.track();return Qc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Uh(e,t,n=!1){let r,s;return ee(e)?r=e:(r=e.get,s=e.set),new $h(r,s,n)}const rs={},vs=new WeakMap;let Sn;function jh(e,t=!1,n=Sn){if(n){let r=vs.get(n);r||vs.set(n,r=[]),r.push(e)}}function Bh(e,t,n=be){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:a,call:l}=n,u=y=>s?y:it(y)||s===!1||s===0?Yt(y,1):Yt(y);let c,f,d,h,_=!1,m=!1;if(ve(e)?(f=()=>e.value,_=it(e)):Ht(e)?(f=()=>u(e),_=!0):Z(e)?(m=!0,_=e.some(y=>Ht(y)||it(y)),f=()=>e.map(y=>{if(ve(y))return y.value;if(Ht(y))return u(y);if(ee(y))return l?l(y,2):y()})):ee(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){en();try{d()}finally{tn()}}const y=Sn;Sn=c;try{return l?l(e,3,[h]):e(h)}finally{Sn=y}}:f=Ft,t&&s){const y=f,C=s===!0?1/0:s;f=()=>Yt(y(),C)}const R=dr(),b=()=>{c.stop(),R&&R.active&&Bi(R.effects,c)};if(o&&t){const y=t;t=(...C)=>{const A=y(...C);return b(),A}}let E=m?new Array(e.length).fill(rs):rs;const g=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(t){const C=c.run();if(y||s||_||(m?C.some((A,L)=>xt(A,E[L])):xt(C,E))){d&&d();const A=Sn;Sn=c;try{const L=[C,E===rs?void 0:m&&E[0]===rs?[]:E,h];E=C,l?l(t,3,L):t(...L)}finally{Sn=A}}}else c.run()};return a&&a(g),c=new Gc(f),c.scheduler=i?()=>i(g,!1):g,h=y=>jh(y,!1,c),d=c.onStop=()=>{const y=vs.get(c);if(y){if(l)l(y,4);else for(const C of y)C();vs.delete(c)}},t?r?g(!0):E=c.run():i?i(g.bind(null,!0),!0):c.run(),b.pause=c.pause.bind(c),b.resume=c.resume.bind(c),b.stop=b,b}function Yt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Yt(e.value,t,n);else if(Z(e))for(let r=0;r{Yt(r,t,n)});else if($c(e)){for(const r in e)Yt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Yt(e[r],t,n)}return e}function Xr(e,t,n,r){try{return r?e(...r):e()}catch(s){hr(s,t,n)}}function yt(e,t,n,r){if(ee(e)){const s=Xr(e,t,n,r);return s&&Fc(s)&&s.catch(o=>{hr(o,t,n)}),s}if(Z(e)){const s=[];for(let o=0;o>>1,s=Je[r],o=Dr(s);o=Dr(n)?Je.push(e):Je.splice(Wh(t),0,e),e.flags|=1,fu()}}function fu(){Es||(Es=uu.then(du))}function Xo(e){Z(e)?Xn.push(...e):fn&&e.id===-1?fn.splice(jn+1,0,e):e.flags&1||(Xn.push(e),e.flags|=1),fu()}function Ia(e,t,n=Ot+1){for(;nDr(n)-Dr(r));if(Xn.length=0,fn){fn.push(...t);return}for(fn=t,jn=0;jne.id==null?e.flags&2?-1:1/0:e.id;function du(e){try{for(Ot=0;Ot{r._d&&ks(-1);const o=Cs(t);let i;try{i=e(...s)}finally{Cs(o),r._d&&ks(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function R0(e,t){if(Be===null)return e;const n=to(Be),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ee(t)?t.call(r&&r.proxy):t}}function Jr(){return!!(Fn()||An)}const Kh=Symbol.for("v-scx"),Gh=()=>Fe(Kh);function qh(e,t){return zi(e,null,t)}function at(e,t,n){return zi(e,t,n)}function zi(e,t,n=be){const{immediate:r,deep:s,flush:o,once:i}=n,a=He({},n),l=t&&r||!t&&o!=="post";let u;if(rr){if(o==="sync"){const h=Gh();u=h.__watcherHandles||(h.__watcherHandles=[])}else if(!l){const h=()=>{};return h.stop=Ft,h.resume=Ft,h.pause=Ft,h}}const c=je;a.call=(h,_,m)=>yt(h,c,_,m);let f=!1;o==="post"?a.scheduler=h=>{De(h,c&&c.suspense)}:o!=="sync"&&(f=!0,a.scheduler=(h,_)=>{_?h():Ji(h)}),a.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,c&&(h.id=c.uid,h.i=c))};const d=Bh(e,t,a);return rr&&(u?u.push(d):l&&d()),d}function Yh(e,t,n){const r=this.proxy,s=we(e)?e.includes(".")?pu(r,e):()=>r[e]:e.bind(r,r);let o;ee(t)?o=t:(o=t.handler,n=t);const i=Zr(this),a=zi(s,o.bind(r),n);return i(),a}function pu(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,ht=Symbol("_leaveCb"),mr=Symbol("_enterCb");function Jh(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Qs(()=>{e.isMounted=!0}),zr(()=>{e.isUnmounting=!0}),e}const ft=[Function,Array],mu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ft,onEnter:ft,onAfterEnter:ft,onEnterCancelled:ft,onBeforeLeave:ft,onLeave:ft,onAfterLeave:ft,onLeaveCancelled:ft,onBeforeAppear:ft,onAppear:ft,onAfterAppear:ft,onAppearCancelled:ft},yu=e=>{const t=e.subTree;return t.component?yu(t.component):t},Qh={name:"BaseTransition",props:mu,setup(e,{slots:t}){const n=Fn(),r=Jh();return()=>{const s=t.default&&vu(t.default(),!0),o=s&&s.length?_u(s):n.subTree?Kp():void 0;if(!o)return;const i=ae(e),{mode:a}=i;if(r.isLeaving)return vo(o);const l=Na(o);if(!l)return vo(o);let u=Jo(l,i,r,n,f=>u=f);l.type!==Oe&&tr(l,u);let c=n.subTree&&Na(n.subTree);if(c&&c.type!==Oe&&!bt(c,l)&&yu(n).type!==Oe){let f=Jo(c,i,r,n);if(tr(c,f),a==="out-in"&&l.type!==Oe)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},vo(o);a==="in-out"&&l.type!==Oe?f.delayLeave=(d,h,_)=>{const m=bu(r,c);m[String(c.key)]=c,d[ht]=()=>{h(),d[ht]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{_(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function _u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Oe){t=n;break}}return t}const zh=Qh;function bu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Jo(e,t,n,r,s){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:_,onLeaveCancelled:m,onBeforeAppear:R,onAppear:b,onAfterAppear:E,onAppearCancelled:g}=t,y=String(e.key),C=bu(n,e),A=(N,D)=>{N&&yt(N,r,9,D)},L=(N,D)=>{const W=D[1];A(N,D),Z(N)?N.every($=>$.length<=1)&&W():N.length<=1&&W()},F={mode:i,persisted:a,beforeEnter(N){let D=l;if(!n.isMounted)if(o)D=R||l;else return;N[ht]&&N[ht](!0);const W=C[y];W&&bt(e,W)&&W.el[ht]&&W.el[ht](),A(D,[N])},enter(N){if(C[y]===e)return;let D=u,W=c,$=f;if(!n.isMounted)if(o)D=b||u,W=E||c,$=g||f;else return;let X=!1;N[mr]=se=>{X||(X=!0,se?A($,[N]):A(W,[N]),F.delayedLeave&&F.delayedLeave(),N[mr]=void 0)};const te=N[mr].bind(null,!1);D?L(D,[N,te]):te()},leave(N,D){const W=String(e.key);if(N[mr]&&N[mr](!0),n.isUnmounting)return D();A(d,[N]);let $=!1;N[ht]=te=>{$||($=!0,D(),te?A(m,[N]):A(_,[N]),N[ht]=void 0,C[W]===e&&delete C[W])};const X=N[ht].bind(null,!1);C[W]=e,h?L(h,[N,X]):X()},clone(N){const D=Jo(N,t,n,r,s);return s&&s(D),D}};return F}function vo(e){if(Qr(e))return e=rn(e),e.children=null,e}function Na(e){if(!Qr(e))return gu(e.type)&&e.children?_u(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ee(n.default))return n.default()}}function tr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,tr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function vu(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oJn(m,t&&(Z(t)?t[R]:t),n,r,s));return}if(Qt(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Jn(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?to(r.component):r.el,i=s?null:o,{i:a,r:l}=e,u=t&&t.r,c=a.refs===be?a.refs={}:a.refs,f=a.setupState,d=ae(f),h=f===be?Dc:m=>xa(c,m)?!1:ge(d,m),_=(m,R)=>!(R&&xa(c,R));if(u!=null&&u!==l){if(Ma(t),we(u))c[u]=null,h(u)&&(f[u]=null);else if(ve(u)){const m=t;_(u,m.k)&&(u.value=null),m.k&&(c[m.k]=null)}}if(ee(l))Xr(l,a,12,[i,c]);else{const m=we(l),R=ve(l);if(m||R){const b=()=>{if(e.f){const E=m?h(l)?f[l]:c[l]:_()||!e.k?l.value:c[e.k];if(s)Z(E)&&Bi(E,o);else if(Z(E))E.includes(o)||E.push(o);else if(m)c[l]=[o],h(l)&&(f[l]=c[l]);else{const g=[o];_(l,e.k)&&(l.value=g),e.k&&(c[e.k]=g)}}else m?(c[l]=i,h(l)&&(f[l]=i)):R&&(_(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const E=()=>{b(),Ss.delete(e)};E.id=-1,Ss.set(e,E),De(E,n)}else Ma(e),b()}}}function Ma(e){const t=Ss.get(e);t&&(t.flags|=8,Ss.delete(e))}let Da=!1;const $n=()=>{Da||(console.error("Hydration completed but contains mismatches."),Da=!0)},Zh=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",ep=e=>e.namespaceURI.includes("MathML"),ss=e=>{if(e.nodeType===1){if(Zh(e))return"svg";if(ep(e))return"mathml"}},Wn=e=>e.nodeType===8;function tp(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:a,insert:l,createComment:u}}=e,c=(g,y)=>{if(!y.hasChildNodes()){n(null,g,y),ws(),y._vnode=g;return}f(y.firstChild,g,null,null,null),ws(),y._vnode=g},f=(g,y,C,A,L,F=!1)=>{F=F||!!y.dynamicChildren;const N=Wn(g)&&g.data==="[",D=()=>m(g,y,C,A,L,N),{type:W,ref:$,shapeFlag:X,patchFlag:te}=y;let se=g.nodeType;y.el=g,te===-2&&(F=!1,y.dynamicChildren=null);let K=null;switch(W){case mn:se!==3?y.children===""?(l(y.el=s(""),i(g),g),K=g):K=D():(g.data!==y.children&&($n(),g.data=y.children),K=o(g));break;case Oe:E(g)?(K=o(g),b(y.el=g.content.firstChild,g,C)):se!==8||N?K=D():K=o(g);break;case kr:if(N&&(g=o(g),se=g.nodeType),se===1||se===3){K=g;const J=!y.children.length;for(let q=0;q{F=F||!!y.dynamicChildren;const{type:N,props:D,patchFlag:W,shapeFlag:$,dirs:X,transition:te}=y,se=N==="input"||N==="option";if(se||W!==-1){X&&It(y,null,C,"created");let K=!1;if(E(g)){K=Wu(null,te)&&C&&C.vnode.props&&C.vnode.props.appear;const q=g.content.firstChild;if(K){const re=q.getAttribute("class");re&&(q.$cls=re),te.beforeEnter(q)}b(q,g,C),y.el=g=q}if($&16&&!(D&&(D.innerHTML||D.textContent))){let q=h(g.firstChild,y,g,C,A,L,F);for(q&&!os(g,1)&&$n();q;){const re=q;q=q.nextSibling,a(re)}}else if($&8){let q=y.children;q[0]===` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C8W4Ef6u.js","./qc1uPXiA.js","./DKEj_yij.js","./d4dk63Pu.js","./j8avB3IT.js","./DSOY2KzZ.js","./B2nIQl38.js","./DlAUqK2U.js","./BezjjCqI.js","./JOVMCDE9.js","./error-404.DL_4WIao.css","./CLBsD5qj.js","./error-500.I1Dtv2V5.css"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function Bi(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const be={},Gn=[],Ft=()=>{},Dc=()=>!1,qr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Us=e=>e.startsWith("onUpdate:"),He=Object.assign,Vi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},eh=Object.prototype.hasOwnProperty,ge=(e,t)=>eh.call(e,t),Z=Array.isArray,qn=e=>ur(e)==="[object Map]",cr=e=>ur(e)==="[object Set]",ka=e=>ur(e)==="[object Date]",th=e=>ur(e)==="[object RegExp]",ee=e=>typeof e=="function",we=e=>typeof e=="string",ut=e=>typeof e=="symbol",de=e=>e!==null&&typeof e=="object",Fc=e=>(de(e)||ee(e))&&ee(e.then)&&ee(e.catch),Hc=Object.prototype.toString,ur=e=>Hc.call(e),nh=e=>ur(e).slice(8,-1),$c=e=>ur(e)==="[object Object]",js=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=Bi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Bs=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},rh=/-\w/g,Qe=Bs(e=>e.replace(rh,t=>t.slice(1).toUpperCase())),sh=/\B([A-Z])/g,Dn=Bs(e=>e.replace(sh,"-$1").toLowerCase()),Vs=Bs(e=>e.charAt(0).toUpperCase()+e.slice(1)),yo=Bs(e=>e?`on${Vs(e)}`:""),xt=(e,t)=>!Object.is(e,t),Yn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Ws=e=>{const t=parseFloat(e);return isNaN(t)?e:t},jc=e=>{const t=we(e)?Number(e):NaN;return isNaN(t)?e:t};let Aa;const Ks=()=>Aa||(Aa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Gs(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(ih);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function qs(e){let t="";if(we(e))t=e;else if(Z(e))for(let n=0;nfr(n,t))}const Vc=e=>!!(e&&e.__v_isRef===!0),hh=e=>we(e)?e:e==null?"":Z(e)||de(e)&&(e.toString===Hc||!ee(e.toString))?Vc(e)?hh(e.value):JSON.stringify(e,Wc,2):String(e),Wc=(e,t)=>Vc(t)?Wc(e,t.value):qn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[_o(r,o)+" =>"]=s,n),{})}:cr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>_o(n))}:ut(t)?_o(t):de(t)&&!Z(t)&&!$c(t)?String(t):t,_o=(e,t="")=>{var n;return ut(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let De;class Kc{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&De&&(De.active?(this.parent=De,this.index=(De.scopes||(De.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(De===this)De=this.prevScope;else{let t=De;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Tr){let t=Tr;for(Tr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Rr;){let t=Rr;for(Rr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Xc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Jc(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),qi(r),ph(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function qo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xr)||(e.globalVersion=xr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qo(e))))return;e.flags|=2;const t=e.dep,n=Ee,r=wt;Ee=e,wt=!0;try{Xc(e);const s=e.fn(e._value);(t.version===0||xt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ee=n,wt=r,Jc(e),e.flags&=-3}}function qi(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)qi(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ph(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let wt=!0;const zc=[];function en(){zc.push(wt),wt=!1}function tn(){const e=zc.pop();wt=e===void 0?!0:e}function Pa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let xr=0;class gh{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ys{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ee||!wt||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new gh(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,Zc(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=r)}return n}trigger(t){this.version++,xr++,this.notify(t)}notify(t){Ki();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Gi()}}}function Zc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Zc(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const bs=new WeakMap,kn=Symbol(""),Yo=Symbol(""),Mr=Symbol("");function Ke(e,t,n){if(wt&&Ee){let r=bs.get(e);r||bs.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Ys),s.map=r,s.key=n),s.track()}}function qt(e,t,n,r,s,o){const i=bs.get(e);if(!i){xr++;return}const a=l=>{l&&l.trigger()};if(Ki(),t==="clear")i.forEach(a);else{const l=Z(e),u=l&&js(n);if(l&&n==="length"){const c=Number(r);i.forEach((f,d)=>{(d==="length"||d===Mr||!ut(d)&&d>=c)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Mr)),t){case"add":l?u&&a(i.get("length")):(a(i.get(kn)),qn(e)&&a(i.get(Yo)));break;case"delete":l||(a(i.get(kn)),qn(e)&&a(i.get(Yo)));break;case"set":qn(e)&&a(i.get(kn));break}}Gi()}function mh(e,t){const n=bs.get(e);return n&&n.get(t)}function Hn(e){const t=ae(e);return t===e?t:(Ke(t,"iterate",Mr),at(e)?t:t.map(Ct))}function Xs(e){return Ke(e=ae(e),"iterate",Mr),e}function Nt(e,t){return Ut(e)?er(Ht(e)?Ct(t):t):Ct(t)}const yh={__proto__:null,[Symbol.iterator](){return vo(this,Symbol.iterator,e=>Nt(this,e))},concat(...e){return Hn(this).concat(...e.map(t=>Z(t)?Hn(t):t))},entries(){return vo(this,"entries",e=>(e[1]=Nt(this,e[1]),e))},every(e,t){return jt(this,"every",e,t,void 0,arguments)},filter(e,t){return jt(this,"filter",e,t,n=>n.map(r=>Nt(this,r)),arguments)},find(e,t){return jt(this,"find",e,t,n=>Nt(this,n),arguments)},findIndex(e,t){return jt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return jt(this,"findLast",e,t,n=>Nt(this,n),arguments)},findLastIndex(e,t){return jt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return jt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Eo(this,"includes",e)},indexOf(...e){return Eo(this,"indexOf",e)},join(e){return Hn(this).join(e)},lastIndexOf(...e){return Eo(this,"lastIndexOf",e)},map(e,t){return jt(this,"map",e,t,void 0,arguments)},pop(){return gr(this,"pop")},push(...e){return gr(this,"push",e)},reduce(e,...t){return Oa(this,"reduce",e,t)},reduceRight(e,...t){return Oa(this,"reduceRight",e,t)},shift(){return gr(this,"shift")},some(e,t){return jt(this,"some",e,t,void 0,arguments)},splice(...e){return gr(this,"splice",e)},toReversed(){return Hn(this).toReversed()},toSorted(e){return Hn(this).toSorted(e)},toSpliced(...e){return Hn(this).toSpliced(...e)},unshift(...e){return gr(this,"unshift",e)},values(){return vo(this,"values",e=>Nt(this,e))}};function vo(e,t,n){const r=Xs(e),s=r[t]();return r!==e&&!at(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const _h=Array.prototype;function jt(e,t,n,r,s,o){const i=Xs(e),a=i!==e&&!at(e),l=i[t];if(l!==_h[t]){const f=l.apply(e,o);return a?Ct(f):f}let u=n;i!==e&&(a?u=function(f,d){return n.call(this,Nt(e,f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=l.call(i,u,r);return a&&s?s(c):c}function Oa(e,t,n,r){const s=Xs(e),o=s!==e&&!at(e);let i=n,a=!1;s!==e&&(o?(a=r.length===0,i=function(u,c,f){return a&&(a=!1,u=Nt(e,u)),n.call(this,u,Nt(e,c),f,e)}):n.length>3&&(i=function(u,c,f){return n.call(this,u,c,f,e)}));const l=s[t](i,...r);return a?Nt(e,l):l}function Eo(e,t,n){const r=ae(e);Ke(r,"iterate",Mr);const s=r[t](...n);return(s===-1||s===!1)&&Js(n[0])?(n[0]=ae(n[0]),r[t](...n)):s}function gr(e,t,n=[]){en(),Ki();const r=ae(e)[t].apply(e,n);return Gi(),tn(),r}const bh=Bi("__proto__,__v_isRef,__isVue"),eu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ut));function vh(e){ut(e)||(e=String(e));const t=ae(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class tu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Ph:ou:o?su:ru).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=Z(t);if(!s){let l;if(i&&(l=yh[n]))return l;if(n==="hasOwnProperty")return vh}const a=Reflect.get(t,n,ve(t)?t:r);if((ut(n)?eu.has(n):bh(n))||(s||Ke(t,"get",n),o))return a;if(ve(a)){const l=i&&js(n)?a:a.value;return s&&de(l)?Jo(l):l}return de(a)?s?Jo(a):sn(a):a}}class nu extends tu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=Z(t)&&js(n);if(!this._isShallow){const u=Ut(o);if(!at(r)&&!Ut(r)&&(o=ae(o),r=ae(r)),!i&&ve(o)&&!ve(r))return u||(o.value=r),!0}const a=i?Number(n)e,ts=e=>Reflect.getPrototypeOf(e);function Rh(e,t,n){return function(...r){const s=this.__v_raw,o=ae(s),i=qn(o),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=s[e](...r),c=n?Xo:t?er:Ct;return!t&&Ke(o,"iterate",l?Yo:kn),He(Object.create(u),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}}})}}function ns(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Th(e,t){const n={get(s){const o=this.__v_raw,i=ae(o),a=ae(s);e||(xt(s,a)&&Ke(i,"get",s),Ke(i,"get",a));const{has:l}=ts(i),u=t?Xo:e?er:Ct;if(l.call(i,s))return u(o.get(s));if(l.call(i,a))return u(o.get(a));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ke(ae(s),"iterate",kn),s.size},has(s){const o=this.__v_raw,i=ae(o),a=ae(s);return e||(xt(s,a)&&Ke(i,"has",s),Ke(i,"has",a)),s===a?o.has(s):o.has(s)||o.has(a)},forEach(s,o){const i=this,a=i.__v_raw,l=ae(a),u=t?Xo:e?er:Ct;return!e&&Ke(l,"iterate",kn),a.forEach((c,f)=>s.call(o,u(c),u(f),i))}};return He(n,e?{add:ns("add"),set:ns("set"),delete:ns("delete"),clear:ns("clear")}:{add(s){const o=ae(this),i=ts(o),a=ae(s),l=!t&&!at(s)&&!Ut(s)?a:s;return i.has.call(o,l)||xt(s,l)&&i.has.call(o,s)||xt(a,l)&&i.has.call(o,a)||(o.add(l),qt(o,"add",l,l)),this},set(s,o){!t&&!at(o)&&!Ut(o)&&(o=ae(o));const i=ae(this),{has:a,get:l}=ts(i);let u=a.call(i,s);u||(s=ae(s),u=a.call(i,s));const c=l.call(i,s);return i.set(s,o),u?xt(o,c)&&qt(i,"set",s,o):qt(i,"add",s,o),this},delete(s){const o=ae(this),{has:i,get:a}=ts(o);let l=i.call(o,s);l||(s=ae(s),l=i.call(o,s)),a&&a.call(o,s);const u=o.delete(s);return l&&qt(o,"delete",s,void 0),u},clear(){const s=ae(this),o=s.size!==0,i=s.clear();return o&&qt(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Rh(s,e,t)}),n}function Yi(e,t){const n=Th(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ge(n,s)&&s in r?n:r,s,o)}const Lh={get:Yi(!1,!1)},kh={get:Yi(!1,!0)},Ah={get:Yi(!0,!1)};const ru=new WeakMap,su=new WeakMap,ou=new WeakMap,Ph=new WeakMap;function Oh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sn(e){return Ut(e)?e:Xi(e,!1,wh,Lh,ru)}function Dt(e){return Xi(e,!1,Sh,kh,su)}function Jo(e){return Xi(e,!0,Ch,Ah,ou)}function Xi(e,t,n,r,s){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const i=Oh(nh(e));if(i===0)return e;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function at(e){return!!(e&&e.__v_isShallow)}function Js(e){return e?!!e.__v_raw:!1}function ae(e){const t=e&&e.__v_raw;return t?ae(t):e}function Ji(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Uc(e,"__v_skip",!0),e}const Ct=e=>de(e)?sn(e):e,er=e=>de(e)?Jo(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function et(e){return iu(e,!1)}function Nn(e){return iu(e,!0)}function iu(e,t){return ve(e)?e:new Ih(e,t)}class Ih{constructor(t,n){this.dep=new Ys,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ae(t),this._value=n?t:Ct(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||at(t)||Ut(t);t=r?t:ae(t),xt(t,n)&&(this._rawValue=t,this._value=r?t:Ct(t),this.dep.trigger())}}function me(e){return ve(e)?e.value:e}function Nh(e){return ee(e)?e():me(e)}const xh={get:(e,t,n)=>t==="__v_raw"?e:me(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ve(s)&&!ve(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function au(e){return Ht(e)?e:new Proxy(e,xh)}class Mh{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Ys,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Dh(e){return new Mh(e)}function Fh(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=cu(e,n);return t}class Hh{constructor(t,n,r){this._object=t,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=ut(n)?n:String(n),this._raw=ae(t);let s=!0,o=t;if(!Z(t)||ut(this._key)||!js(this._key))do s=!Js(o)||at(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=me(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return mh(this._raw,this._key)}}class $h{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function lu(e,t,n){return ve(e)?e:ee(e)?new $h(e):de(e)&&arguments.length>1?cu(e,t,n):et(e)}function cu(e,t,n){return new Hh(e,t,n)}class Uh{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ys(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return Yc(this,!0),!0}get value(){const t=this.dep.track();return Qc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function jh(e,t,n=!1){let r,s;return ee(e)?r=e:(r=e.get,s=e.set),new Uh(r,s,n)}const rs={},vs=new WeakMap;let Sn;function Bh(e,t=!1,n=Sn){if(n){let r=vs.get(n);r||vs.set(n,r=[]),r.push(e)}}function Vh(e,t,n=be){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:a,call:l}=n,u=y=>s?y:at(y)||s===!1||s===0?Yt(y,1):Yt(y);let c,f,d,h,_=!1,m=!1;if(ve(e)?(f=()=>e.value,_=at(e)):Ht(e)?(f=()=>u(e),_=!0):Z(e)?(m=!0,_=e.some(y=>Ht(y)||at(y)),f=()=>e.map(y=>{if(ve(y))return y.value;if(Ht(y))return u(y);if(ee(y))return l?l(y,2):y()})):ee(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){en();try{d()}finally{tn()}}const y=Sn;Sn=c;try{return l?l(e,3,[h]):e(h)}finally{Sn=y}}:f=Ft,t&&s){const y=f,C=s===!0?1/0:s;f=()=>Yt(y(),C)}const R=dr(),b=()=>{c.stop(),R&&R.active&&Vi(R.effects,c)};if(o&&t){const y=t;t=(...C)=>{const A=y(...C);return b(),A}}let E=m?new Array(e.length).fill(rs):rs;const g=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(t){const C=c.run();if(y||s||_||(m?C.some((A,L)=>xt(A,E[L])):xt(C,E))){d&&d();const A=Sn;Sn=c;try{const L=[C,E===rs?void 0:m&&E[0]===rs?[]:E,h];E=C,l?l(t,3,L):t(...L)}finally{Sn=A}}}else c.run()};return a&&a(g),c=new Gc(f),c.scheduler=i?()=>i(g,!1):g,h=y=>Bh(y,!1,c),d=c.onStop=()=>{const y=vs.get(c);if(y){if(l)l(y,4);else for(const C of y)C();vs.delete(c)}},t?r?g(!0):E=c.run():i?i(g.bind(null,!0),!0):c.run(),b.pause=c.pause.bind(c),b.resume=c.resume.bind(c),b.stop=b,b}function Yt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Yt(e.value,t,n);else if(Z(e))for(let r=0;r{Yt(r,t,n)});else if($c(e)){for(const r in e)Yt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Yt(e[r],t,n)}return e}function Xr(e,t,n,r){try{return r?e(...r):e()}catch(s){hr(s,t,n)}}function _t(e,t,n,r){if(ee(e)){const s=Xr(e,t,n,r);return s&&Fc(s)&&s.catch(o=>{hr(o,t,n)}),s}if(Z(e)){const s=[];for(let o=0;o>>1,s=Je[r],o=Dr(s);o=Dr(n)?Je.push(e):Je.splice(Kh(t),0,e),e.flags|=1,fu()}}function fu(){Es||(Es=uu.then(du))}function Qo(e){Z(e)?Xn.push(...e):fn&&e.id===-1?fn.splice(jn+1,0,e):e.flags&1||(Xn.push(e),e.flags|=1),fu()}function Ia(e,t,n=Ot+1){for(;nDr(n)-Dr(r));if(Xn.length=0,fn){fn.push(...t);return}for(fn=t,jn=0;jne.id==null?e.flags&2?-1:1/0:e.id;function du(e){try{for(Ot=0;Ot{r._d&&As(-1);const o=Cs(t);let i;try{i=e(...s)}finally{Cs(o),r._d&&As(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function C0(e,t){if(Be===null)return e;const n=no(Be),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ee(t)?t.call(r&&r.proxy):t}}function Jr(){return!!(Fn()||An)}const Gh=Symbol.for("v-scx"),qh=()=>xe(Gh);function Yh(e,t){return Zi(e,null,t)}function lt(e,t,n){return Zi(e,t,n)}function Zi(e,t,n=be){const{immediate:r,deep:s,flush:o,once:i}=n,a=He({},n),l=t&&r||!t&&o!=="post";let u;if(rr){if(o==="sync"){const h=qh();u=h.__watcherHandles||(h.__watcherHandles=[])}else if(!l){const h=()=>{};return h.stop=Ft,h.resume=Ft,h.pause=Ft,h}}const c=je;a.call=(h,_,m)=>_t(h,c,_,m);let f=!1;o==="post"?a.scheduler=h=>{Fe(h,c&&c.suspense)}:o!=="sync"&&(f=!0,a.scheduler=(h,_)=>{_?h():Qi(h)}),a.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,c&&(h.id=c.uid,h.i=c))};const d=Vh(e,t,a);return rr&&(u?u.push(d):l&&d()),d}function Xh(e,t,n){const r=this.proxy,s=we(e)?e.includes(".")?pu(r,e):()=>r[e]:e.bind(r,r);let o;ee(t)?o=t:(o=t.handler,n=t);const i=Zr(this),a=Zi(s,o.bind(r),n);return i(),a}function pu(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,pt=Symbol("_leaveCb"),mr=Symbol("_enterCb");function Qh(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return zs(()=>{e.isMounted=!0}),zr(()=>{e.isUnmounting=!0}),e}const dt=[Function,Array],mu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:dt,onEnter:dt,onAfterEnter:dt,onEnterCancelled:dt,onBeforeLeave:dt,onLeave:dt,onAfterLeave:dt,onLeaveCancelled:dt,onBeforeAppear:dt,onAppear:dt,onAfterAppear:dt,onAppearCancelled:dt},yu=e=>{const t=e.subTree;return t.component?yu(t.component):t},zh={name:"BaseTransition",props:mu,setup(e,{slots:t}){const n=Fn(),r=Qh();return()=>{const s=t.default&&vu(t.default(),!0),o=s&&s.length?_u(s):n.subTree?Gp():void 0;if(!o)return;const i=ae(e),{mode:a}=i;if(r.isLeaving)return wo(o);const l=Na(o);if(!l)return wo(o);let u=zo(l,i,r,n,f=>u=f);l.type!==Oe&&tr(l,u);let c=n.subTree&&Na(n.subTree);if(c&&c.type!==Oe&&!Et(c,l)&&yu(n).type!==Oe){let f=zo(c,i,r,n);if(tr(c,f),a==="out-in"&&l.type!==Oe)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},wo(o);a==="in-out"&&l.type!==Oe?f.delayLeave=(d,h,_)=>{const m=bu(r,c);m[String(c.key)]=c,d[pt]=()=>{h(),d[pt]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{_(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function _u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Oe){t=n;break}}return t}const Zh=zh;function bu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function zo(e,t,n,r,s){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:_,onLeaveCancelled:m,onBeforeAppear:R,onAppear:b,onAfterAppear:E,onAppearCancelled:g}=t,y=String(e.key),C=bu(n,e),A=(N,D)=>{N&&_t(N,r,9,D)},L=(N,D)=>{const W=D[1];A(N,D),Z(N)?N.every($=>$.length<=1)&&W():N.length<=1&&W()},F={mode:i,persisted:a,beforeEnter(N){let D=l;if(!n.isMounted)if(o)D=R||l;else return;N[pt]&&N[pt](!0);const W=C[y];W&&Et(e,W)&&W.el[pt]&&W.el[pt](),A(D,[N])},enter(N){if(C[y]===e)return;let D=u,W=c,$=f;if(!n.isMounted)if(o)D=b||u,W=E||c,$=g||f;else return;let X=!1;N[mr]=se=>{X||(X=!0,se?A($,[N]):A(W,[N]),F.delayedLeave&&F.delayedLeave(),N[mr]=void 0)};const te=N[mr].bind(null,!1);D?L(D,[N,te]):te()},leave(N,D){const W=String(e.key);if(N[mr]&&N[mr](!0),n.isUnmounting)return D();A(d,[N]);let $=!1;N[pt]=te=>{$||($=!0,D(),te?A(m,[N]):A(_,[N]),N[pt]=void 0,C[W]===e&&delete C[W])};const X=N[pt].bind(null,!1);C[W]=e,h?L(h,[N,X]):X()},clone(N){const D=zo(N,t,n,r,s);return s&&s(D),D}};return F}function wo(e){if(Qr(e))return e=rn(e),e.children=null,e}function Na(e){if(!Qr(e))return gu(e.type)&&e.children?_u(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ee(n.default))return n.default()}}function tr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,tr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function vu(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oJn(m,t&&(Z(t)?t[R]:t),n,r,s));return}if(Qt(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Jn(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?no(r.component):r.el,i=s?null:o,{i:a,r:l}=e,u=t&&t.r,c=a.refs===be?a.refs={}:a.refs,f=a.setupState,d=ae(f),h=f===be?Dc:m=>xa(c,m)?!1:ge(d,m),_=(m,R)=>!(R&&xa(c,R));if(u!=null&&u!==l){if(Ma(t),we(u))c[u]=null,h(u)&&(f[u]=null);else if(ve(u)){const m=t;_(u,m.k)&&(u.value=null),m.k&&(c[m.k]=null)}}if(ee(l))Xr(l,a,12,[i,c]);else{const m=we(l),R=ve(l);if(m||R){const b=()=>{if(e.f){const E=m?h(l)?f[l]:c[l]:_()||!e.k?l.value:c[e.k];if(s)Z(E)&&Vi(E,o);else if(Z(E))E.includes(o)||E.push(o);else if(m)c[l]=[o],h(l)&&(f[l]=c[l]);else{const g=[o];_(l,e.k)&&(l.value=g),e.k&&(c[e.k]=g)}}else m?(c[l]=i,h(l)&&(f[l]=i)):R&&(_(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const E=()=>{b(),Ss.delete(e)};E.id=-1,Ss.set(e,E),Fe(E,n)}else Ma(e),b()}}}function Ma(e){const t=Ss.get(e);t&&(t.flags|=8,Ss.delete(e))}let Da=!1;const $n=()=>{Da||(console.error("Hydration completed but contains mismatches."),Da=!0)},ep=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",tp=e=>e.namespaceURI.includes("MathML"),ss=e=>{if(e.nodeType===1){if(ep(e))return"svg";if(tp(e))return"mathml"}},Wn=e=>e.nodeType===8;function np(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:a,insert:l,createComment:u}}=e,c=(g,y)=>{if(!y.hasChildNodes()){n(null,g,y),ws(),y._vnode=g;return}f(y.firstChild,g,null,null,null),ws(),y._vnode=g},f=(g,y,C,A,L,F=!1)=>{F=F||!!y.dynamicChildren;const N=Wn(g)&&g.data==="[",D=()=>m(g,y,C,A,L,N),{type:W,ref:$,shapeFlag:X,patchFlag:te}=y;let se=g.nodeType;y.el=g,te===-2&&(F=!1,y.dynamicChildren=null);let K=null;switch(W){case mn:se!==3?y.children===""?(l(y.el=s(""),i(g),g),K=g):K=D():(g.data!==y.children&&($n(),g.data=y.children),K=o(g));break;case Oe:E(g)?(K=o(g),b(y.el=g.content.firstChild,g,C)):se!==8||N?K=D():K=o(g);break;case kr:if(N&&(g=o(g),se=g.nodeType),se===1||se===3){K=g;const J=!y.children.length;for(let q=0;q{F=F||!!y.dynamicChildren;const{type:N,props:D,patchFlag:W,shapeFlag:$,dirs:X,transition:te}=y,se=N==="input"||N==="option";if(se||W!==-1){X&&It(y,null,C,"created");let K=!1;if(E(g)){K=Wu(null,te)&&C&&C.vnode.props&&C.vnode.props.appear;const q=g.content.firstChild;if(K){const re=q.getAttribute("class");re&&(q.$cls=re),te.beforeEnter(q)}b(q,g,C),y.el=g=q}if($&16&&!(D&&(D.innerHTML||D.textContent))){let q=h(g.firstChild,y,g,C,A,L,F);for(q&&!os(g,1)&&$n();q;){const re=q;q=q.nextSibling,a(re)}}else if($&8){let q=y.children;q[0]===` `&&(g.tagName==="PRE"||g.tagName==="TEXTAREA")&&(q=q.slice(1));const{textContent:re}=g;re!==q&&re!==q.replace(/\r\n|\r/g,` -`)&&(os(g,0)||$n(),g.textContent=y.children)}if(D){if(se||!F||W&48){const q=g.tagName.includes("-");for(const re in D)(se&&(re.endsWith("value")||re==="indeterminate")||qr(re)&&!Ln(re)||re[0]==="."||q&&!Ln(re))&&r(g,re,null,D[re],void 0,C)}else if(D.onClick)r(g,"onClick",null,D.onClick,void 0,C);else if(W&4&&Ht(D.style))for(const q in D.style)D.style[q]}let J;(J=D&&D.onVnodeBeforeMount)&&ze(J,C,y),X&&It(y,null,C,"beforeMount"),((J=D&&D.onVnodeMounted)||X||K)&&Xu(()=>{J&&ze(J,C,y),K&&te.enter(g),X&&It(y,null,C,"mounted")},A)}return g.nextSibling},h=(g,y,C,A,L,F,N)=>{N=N||!!y.dynamicChildren;const D=y.children,W=D.length;let $=!1;for(let X=0;X{const{slotScopeIds:N}=y;N&&(L=L?L.concat(N):N);const D=i(g),W=h(o(g),y,D,C,A,L,F);return W&&Wn(W)&&W.data==="]"?o(y.anchor=W):($n(),l(y.anchor=u("]"),D,W),W)},m=(g,y,C,A,L,F)=>{if(os(g.parentElement,1)||$n(),y.el=null,F){const W=R(g);for(;;){const $=o(g);if($&&$!==W)a($);else break}}const N=o(g),D=i(g);return a(g),n(null,y,D,N,C,A,ss(D),L),C&&(C.vnode.el=y.el,eo(C,y.el)),N},R=(g,y="[",C="]")=>{let A=0;for(;g;)if(g=o(g),g&&Wn(g)&&(g.data===y&&A++,g.data===C)){if(A===0)return o(g);A--}return g},b=(g,y,C)=>{const A=y.parentNode;A&&A.replaceChild(g,y);let L=C;for(;L;)L.vnode.el===y&&(L.vnode.el=L.subTree.el=g),L=L.parent},E=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[c,f]}const Fa="data-allow-mismatch",np={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function os(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Fa);)e=e.parentElement;const n=e&&e.getAttribute(Fa);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(np[t])}}Ws().requestIdleCallback;Ws().cancelIdleCallback;function rp(e,t){if(Wn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Wn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Qt=e=>!!e.type.__asyncLoader;function Qo(e){ee(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let u=null,c,f=0;const d=()=>(f++,u=null,h()),h=()=>{let _;return u||(_=u=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((R,b)=>{l(m,()=>R(d()),()=>b(m),f+1)});throw m}).then(m=>_!==u&&u?u:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return St({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(_,m,R){let b=!1;(m.bu||(m.bu=[])).push(()=>b=!0);const E=()=>{b||R()},g=o?()=>{const y=o(E,C=>rp(_,C));y&&(m.bum||(m.bum=[])).push(y)}:E;c?g():h().then(()=>!m.isUnmounted&&g())},get __asyncResolved(){return c},setup(){const _=je;if(Zi(_),c)return()=>is(c,_);const m=C=>{u=null,hr(C,_,13,!r)};if(a&&_.suspense||rr)return h().then(C=>()=>is(C,_)).catch(C=>(m(C),()=>r?Re(r,{error:C}):null));const R=et(!1),b=et(),E=et(!!s);let g,y;return zs(()=>{g!=null&&clearTimeout(g),y!=null&&clearTimeout(y)}),s&&(y=setTimeout(()=>{_.isUnmounted||(E.value=!1)},s)),i!=null&&(g=setTimeout(()=>{if(!_.isUnmounted&&!R.value&&!b.value){const C=new Error(`Async component timed out after ${i}ms.`);m(C),b.value=C}},i)),h().then(()=>{_.isUnmounted||(R.value=!0,_.parent&&Qr(_.parent.vnode)&&_.parent.update())}).catch(C=>{if(_.isUnmounted){u=null;return}m(C),b.value=C}),()=>{if(R.value&&c)return is(c,_);if(b.value&&r)return Re(r,{error:b.value});if(n&&!E.value)return is(n,_)}}})}function is(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=Re(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Qr=e=>e.type.__isKeepAlive,sp={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Fn(),r=n.ctx;if(!r.renderer)return()=>{const E=t.default&&t.default();return E&&E.length===1?E[0]:E};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:f}}}=r,d=f("div");r.activate=(E,g,y,C,A)=>{const L=E.component;u(E,g,y,0,a),l(L.vnode,E,g,y,L,a,C,E.slotScopeIds,A),De(()=>{L.isDeactivated=!1,L.a&&Yn(L.a);const F=E.props&&E.props.onVnodeMounted;F&&ze(F,L.parent,E)},a)},r.deactivate=E=>{const g=E.component;Ts(g.m),Ts(g.a),u(E,d,null,1,a),De(()=>{g.da&&Yn(g.da);const y=E.props&&E.props.onVnodeUnmounted;y&&ze(y,g.parent,E),g.isDeactivated=!0},a)};function h(E){Eo(E),c(E,n,a,!0)}function _(E){s.forEach((g,y)=>{const C=ii(Qt(g)?g.type.__asyncResolved||{}:g.type);C&&!E(C)&&m(y)})}function m(E){const g=s.get(E);g&&(!i||!bt(g,i))?h(g):i&&Eo(i),s.delete(E),o.delete(E)}at(()=>[e.include,e.exclude],([E,g])=>{E&&_(y=>wr(E,y)),g&&_(y=>!wr(g,y))},{flush:"post",deep:!0});let R=null;const b=()=>{R!=null&&(Ls(n.subTree.type)?De(()=>{s.set(R,as(n.subTree))},n.subTree.suspense):s.set(R,as(n.subTree)))};return Qs(b),Su(b),zr(()=>{s.forEach(E=>{const{subTree:g,suspense:y}=n,C=as(g);if(E.type===C.type&&E.key===C.key){Eo(C);const A=C.component.da;A&&De(A,y);return}h(E)})}),()=>{if(R=null,!t.default)return i=null;const E=t.default(),g=E[0];if(E.length>1)return i=null,E;if(!xn(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let y=as(g);if(y.type===Oe)return i=null,y;const C=y.type,A=ii(Qt(y)?y.type.__asyncResolved||{}:C),{include:L,exclude:F,max:N}=e;if(L&&(!A||!wr(L,A))||F&&A&&wr(F,A))return y.shapeFlag&=-257,i=y,g;const D=y.key==null?C:y.key,W=s.get(D);return y.el&&(y=rn(y),g.shapeFlag&128&&(g.ssContent=y)),R=D,W?(y.el=W.el,y.component=W.component,y.transition&&tr(y,y.transition),y.shapeFlag|=512,o.delete(D),o.add(D)):(o.add(D),N&&o.size>parseInt(N,10)&&m(o.values().next().value)),y.shapeFlag|=256,i=y,Ls(g.type)?g:y}}},op=sp;function wr(e,t){return Z(e)?e.some(n=>wr(n,t)):we(e)?e.split(",").includes(t):eh(e)?(e.lastIndex=0,e.test(t)):!1}function Eu(e,t){Cu(e,"a",t)}function wu(e,t){Cu(e,"da",t)}function Cu(e,t,n=je){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Js(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Qr(s.parent.vnode)&&ip(r,t,n,s),s=s.parent}}function ip(e,t,n,r){const s=Js(t,e,r,!0);zs(()=>{Bi(r[t],s)},n)}function Eo(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function as(e){return e.shapeFlag&128?e.ssContent:e}function Js(e,t,n=je,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{en();const a=Zr(n),l=yt(t,n,e,i);return a(),tn(),l});return r?s.unshift(o):s.push(o),o}}const on=e=>(t,n=je)=>{(!rr||e==="sp")&&Js(e,(...r)=>t(...r),n)},ap=on("bm"),Qs=on("m"),lp=on("bu"),Su=on("u"),zr=on("bum"),zs=on("um"),cp=on("sp"),up=on("rtg"),fp=on("rtc");function Ru(e,t=je){Js("ec",e,t)}const Tu="components";function T0(e,t){return ku(Tu,e,!0,t)||e}const Lu=Symbol.for("v-ndc");function dp(e){return we(e)?ku(Tu,e,!1)||e:e||Lu}function ku(e,t,n=!0,r=!1){const s=Be||je;if(s){const o=s.type;{const a=ii(o,!1);if(a&&(a===t||a===Qe(t)||a===Bs(Qe(t))))return o}const i=Ha(s[e]||o[e],t)||Ha(s.appContext[e],t);return!i&&r?o:i}}function Ha(e,t){return e&&(e[t]||e[Qe(t)]||e[Bs(Qe(t))])}function L0(e,t,n,r){let s;const o=n&&n[r],i=Z(e);if(i||we(e)){const a=i&&Ht(e);let l=!1,u=!1;a&&(l=!it(e),u=Ut(e),e=Ys(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(a,l,void 0,o&&o[l]));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;l0;return t!=="default"&&(n.name=t),pt(),Mt(Ue,null,[Re("slot",n,r&&r())],u?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),pt();const i=o&&Au(o(n)),a=n.key||i&&i.key,l=Mt(Ue,{key:(a&&!ct(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||(r?r():[]),i&&e._===1?64:-2);return!s&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function Au(e){return e.some(t=>xn(t)?!(t.type===Oe||t.type===Ue&&!Au(t.children)):!0)?e:null}const zo=e=>e?rf(e)?to(e):zo(e.parent):null,Lr=He(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>zo(e.parent),$root:e=>zo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ou(e),$forceUpdate:e=>e.f||(e.f=()=>{Ji(e.update)}),$nextTick:e=>e.n||(e.n=nn.bind(e.proxy)),$watch:e=>Yh.bind(e)}),wo=(e,t)=>e!==be&&!e.__isScriptSetup&&ge(e,t),hp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const d=i[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(wo(r,t))return i[t]=1,r[t];if(s!==be&&ge(s,t))return i[t]=2,s[t];if(ge(o,t))return i[t]=3,o[t];if(n!==be&&ge(n,t))return i[t]=4,n[t];Zo&&(i[t]=0)}}const u=Lr[t];let c,f;if(u)return t==="$attrs"&&Ke(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==be&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return wo(s,t)?(s[t]=n,!0):r!==be&&ge(r,t)?(r[t]=n,!0):ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==be&&a[0]!=="$"&&ge(e,a)||wo(t,a)||ge(o,a)||ge(r,a)||ge(Lr,a)||ge(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $a(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Zo=!0;function pp(e){const t=Ou(e),n=e.proxy,r=e.ctx;Zo=!1,t.beforeCreate&&Ua(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:h,updated:_,activated:m,deactivated:R,beforeDestroy:b,beforeUnmount:E,destroyed:g,unmounted:y,render:C,renderTracked:A,renderTriggered:L,errorCaptured:F,serverPrefetch:N,expose:D,inheritAttrs:W,components:$,directives:X,filters:te}=t;if(u&&gp(u,r,null),i)for(const J in i){const q=i[J];ee(q)&&(r[J]=q.bind(n))}if(s){const J=s.call(n,n);de(J)&&(e.data=sn(J))}if(Zo=!0,o)for(const J in o){const q=o[J],re=ee(q)?q.bind(n,n):ee(q.get)?q.get.bind(n,n):Ft,nt=!ee(q)&&ee(q.set)?q.set.bind(n):Ft,qe=ke({get:re,set:nt});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>qe.value,set:$e=>qe.value=$e})}if(a)for(const J in a)Pu(a[J],r,n,J);if(l){const J=ee(l)?l.call(n):l;Reflect.ownKeys(J).forEach(q=>{gn(q,J[q])})}c&&Ua(c,e,"c");function K(J,q){Z(q)?q.forEach(re=>J(re.bind(n))):q&&J(q.bind(n))}if(K(ap,f),K(Qs,d),K(lp,h),K(Su,_),K(Eu,m),K(wu,R),K(Ru,F),K(fp,A),K(up,L),K(zr,E),K(zs,y),K(cp,N),Z(D))if(D.length){const J=e.exposed||(e.exposed={});D.forEach(q=>{Object.defineProperty(J,q,{get:()=>n[q],set:re=>n[q]=re,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===Ft&&(e.render=C),W!=null&&(e.inheritAttrs=W),$&&(e.components=$),X&&(e.directives=X),N&&Zi(e)}function gp(e,t,n=Ft){Z(e)&&(e=ei(e));for(const r in e){const s=e[r];let o;de(s)?"default"in s?o=Fe(s.from||r,s.default,!0):o=Fe(s.from||r):o=Fe(s),ve(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Ua(e,t,n){yt(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pu(e,t,n,r){let s=r.includes(".")?pu(n,r):()=>n[r];if(we(e)){const o=t[e];ee(o)&&at(s,o)}else if(ee(e))at(s,e.bind(n));else if(de(e))if(Z(e))e.forEach(o=>Pu(o,t,n,r));else{const o=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(o)&&at(s,o,e)}}function Ou(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>Rs(l,u,i,!0)),Rs(l,t,i)),de(t)&&o.set(t,l),l}function Rs(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Rs(e,o,n,!0),s&&s.forEach(i=>Rs(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=mp[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const mp={data:ja,props:Ba,emits:Ba,methods:Cr,computed:Cr,beforeCreate:Ye,created:Ye,beforeMount:Ye,mounted:Ye,beforeUpdate:Ye,updated:Ye,beforeDestroy:Ye,beforeUnmount:Ye,destroyed:Ye,unmounted:Ye,activated:Ye,deactivated:Ye,errorCaptured:Ye,serverPrefetch:Ye,components:Cr,directives:Cr,watch:_p,provide:ja,inject:yp};function ja(e,t){return t?e?function(){return He(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function yp(e,t){return Cr(ei(e),ei(t))}function ei(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Dn(t)}Modifiers`];function wp(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||be;let s=n;const o=t.startsWith("update:"),i=o&&Ep(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>we(c)?c.trim():c)),i.number&&(s=n.map(Vs)));let a,l=r[a=go(t)]||r[a=go(Qe(t))];!l&&o&&(l=r[a=go(Dn(t))]),l&&yt(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,yt(u,e,6,s)}}const Cp=new WeakMap;function Nu(e,t,n=!1){const r=n?Cp:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!ee(e)){const l=u=>{const c=Nu(u,t,!0);c&&(a=!0,He(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(de(e)&&r.set(e,null),null):(Z(o)?o.forEach(l=>i[l]=null):He(i,o),de(e)&&r.set(e,i),i)}function Zs(e,t){return!e||!qr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,Dn(t))||ge(e,t))}function Co(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:h,ctx:_,inheritAttrs:m}=e,R=Cs(e);let b,E;try{if(n.shapeFlag&4){const y=s||r,C=y;b=ot(u.call(C,y,c,f,h,d,_)),E=a}else{const y=t;b=ot(y.length>1?y(f,{attrs:a,slots:i,emit:l}):y(f,null)),E=t.props?a:Rp(a)}}catch(y){Ar.length=0,hr(y,e,1),b=Re(Oe)}let g=b;if(E&&m!==!1){const y=Object.keys(E),{shapeFlag:C}=g;y.length&&C&7&&(o&&y.some($s)&&(E=Tp(E,o)),g=rn(g,E,!1,!0))}return n.dirs&&(g=rn(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&tr(g,n.transition),b=g,Cs(R),b}function Sp(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||qr(n))&&((t||(t={}))[n]=e[n]);return t},Tp=(e,t)=>{const n={};for(const r in e)(!$s(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Lp(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?Va(r,i,u):!!i;if(l&8){const c=t.dynamicProps;for(let f=0;fObject.create(Mu),Fu=e=>Object.getPrototypeOf(e)===Mu;function kp(e,t,n,r=!1){const s={},o=Du();e.propsDefaults=Object.create(null),Hu(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Dt(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Ap(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ae(s),[l]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,h]=$u(f,t,!0);He(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return de(e)&&r.set(e,Gn),Gn;if(Z(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",ta=e=>Z(e)?e.map(ot):[ot(e)],Op=(e,t,n)=>{if(t._n)return t;const r=Qi((...s)=>ta(t(...s)),n);return r._c=!1,r},Uu=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ea(s))continue;const o=e[s];if(ee(o))t[s]=Op(s,o,r);else if(o!=null){const i=ta(o);t[s]=()=>i}}},ju=(e,t)=>{const n=ta(t);e.slots.default=()=>n},Bu=(e,t,n)=>{for(const r in t)(n||!ea(r))&&(e[r]=t[r])},Ip=(e,t,n)=>{const r=e.slots=Du();if(e.vnode.shapeFlag&32){const s=t._;s?(Bu(r,t,n),n&&Uc(r,"_",s,!0)):Uu(t,r)}else t&&ju(e,t)},Np=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=be;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Bu(s,t,n):(o=!t.$stable,Uu(t,s)),i=t}else t&&(ju(e,t),i={default:1});if(o)for(const a in s)!ea(a)&&i[a]==null&&delete s[a]},De=Xu;function xp(e){return Vu(e)}function Mp(e){return Vu(e,tp)}function Vu(e,t){const n=Ws();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:h=Ft,insertStaticContent:_}=e,m=(v,S,P,U=null,M=null,p=null,w=void 0,k=null,O=!!S.dynamicChildren)=>{if(v===S)return;v&&!bt(v,S)&&(U=H(v),$e(v,M,p,!0),v=null),S.patchFlag===-2&&(O=!1,S.dynamicChildren=null);const{type:x,ref:j,shapeFlag:T}=S;switch(x){case mn:R(v,S,P,U);break;case Oe:b(v,S,P,U);break;case kr:v==null&&E(S,P,U,w);break;case Ue:$(v,S,P,U,M,p,w,k,O);break;default:T&1?C(v,S,P,U,M,p,w,k,O):T&6?X(v,S,P,U,M,p,w,k,O):(T&64||T&128)&&x.process(v,S,P,U,M,p,w,k,O,Q)}j!=null&&M?Jn(j,v&&v.ref,p,S||v,!S):j==null&&v&&v.ref!=null&&Jn(v.ref,null,p,v,!0)},R=(v,S,P,U)=>{if(v==null)r(S.el=a(S.children),P,U);else{const M=S.el=v.el;S.children!==v.children&&u(M,S.children)}},b=(v,S,P,U)=>{v==null?r(S.el=l(S.children||""),P,U):S.el=v.el},E=(v,S,P,U)=>{[v.el,v.anchor]=_(v.children,S,P,U,v.el,v.anchor)},g=({el:v,anchor:S},P,U)=>{let M;for(;v&&v!==S;)M=d(v),r(v,P,U),v=M;r(S,P,U)},y=({el:v,anchor:S})=>{let P;for(;v&&v!==S;)P=d(v),s(v),v=P;s(S)},C=(v,S,P,U,M,p,w,k,O)=>{if(S.type==="svg"?w="svg":S.type==="math"&&(w="mathml"),v==null)A(S,P,U,M,p,w,k,O);else{const x=v.el&&v.el._isVueCE?v.el:null;try{x&&x._beginPatch(),N(v,S,M,p,w,k,O)}finally{x&&x._endPatch()}}},A=(v,S,P,U,M,p,w,k)=>{let O,x;const{props:j,shapeFlag:T,transition:I,dirs:V}=v;if(O=v.el=i(v.type,p,j&&j.is,j),T&8?c(O,v.children):T&16&&F(v.children,O,null,U,M,So(v,p),w,k),V&&It(v,null,U,"created"),L(O,v,v.scopeId,w,U),j){for(const ie in j)ie!=="value"&&!Ln(ie)&&o(O,ie,null,j[ie],p,U);"value"in j&&o(O,"value",null,j.value,p),(x=j.onVnodeBeforeMount)&&ze(x,U,v)}V&&It(v,null,U,"beforeMount");const z=Wu(M,I);z&&I.beforeEnter(O),r(O,S,P),((x=j&&j.onVnodeMounted)||z||V)&&De(()=>{x&&ze(x,U,v),z&&I.enter(O),V&&It(v,null,U,"mounted")},M)},L=(v,S,P,U,M)=>{if(P&&h(v,P),U)for(let p=0;p{for(let x=O;x{const k=S.el=v.el;let{patchFlag:O,dynamicChildren:x,dirs:j}=S;O|=v.patchFlag&16;const T=v.props||be,I=S.props||be;let V;if(P&&vn(P,!1),(V=I.onVnodeBeforeUpdate)&&ze(V,P,S,v),j&&It(S,v,P,"beforeUpdate"),P&&vn(P,!0),(T.innerHTML&&I.innerHTML==null||T.textContent&&I.textContent==null)&&c(k,""),x?D(v.dynamicChildren,x,k,P,U,So(S,M),p):w||q(v,S,k,null,P,U,So(S,M),p,!1),O>0){if(O&16)W(k,T,I,P,M);else if(O&2&&T.class!==I.class&&o(k,"class",null,I.class,M),O&4&&o(k,"style",T.style,I.style,M),O&8){const z=S.dynamicProps;for(let ie=0;ie{V&&ze(V,P,S,v),j&&It(S,v,P,"updated")},U)},D=(v,S,P,U,M,p,w)=>{for(let k=0;k{if(S!==P){if(S!==be)for(const p in S)!Ln(p)&&!(p in P)&&o(v,p,S[p],null,M,U);for(const p in P){if(Ln(p))continue;const w=P[p],k=S[p];w!==k&&p!=="value"&&o(v,p,k,w,M,U)}"value"in P&&o(v,"value",S.value,P.value,M)}},$=(v,S,P,U,M,p,w,k,O)=>{const x=S.el=v?v.el:a(""),j=S.anchor=v?v.anchor:a("");let{patchFlag:T,dynamicChildren:I,slotScopeIds:V}=S;V&&(k=k?k.concat(V):V),v==null?(r(x,P,U),r(j,P,U),F(S.children||[],P,j,M,p,w,k,O)):T>0&&T&64&&I&&v.dynamicChildren&&v.dynamicChildren.length===I.length?(D(v.dynamicChildren,I,P,M,p,w,k),(S.key!=null||M&&S===M.subTree)&&Ku(v,S,!0)):q(v,S,P,j,M,p,w,k,O)},X=(v,S,P,U,M,p,w,k,O)=>{S.slotScopeIds=k,v==null?S.shapeFlag&512?M.ctx.activate(S,P,U,w,O):te(S,P,U,M,p,w,O):se(v,S,O)},te=(v,S,P,U,M,p,w)=>{const k=v.component=Yp(v,U,M);if(Qr(v)&&(k.ctx.renderer=Q),Xp(k,!1,w),k.asyncDep){if(M&&M.registerDep(k,K,w),!v.el){const O=k.subTree=Re(Oe);b(null,O,S,P),v.placeholder=O.el}}else K(k,v,S,P,M,p,w)},se=(v,S,P)=>{const U=S.component=v.component;if(Lp(v,S,P))if(U.asyncDep&&!U.asyncResolved){J(U,S,P);return}else U.next=S,U.update();else S.el=v.el,U.vnode=S},K=(v,S,P,U,M,p,w)=>{const k=()=>{if(v.isMounted){let{next:T,bu:I,u:V,parent:z,vnode:ie}=v;{const rt=Gu(v);if(rt){T&&(T.el=ie.el,J(v,T,w)),rt.asyncDep.then(()=>{De(()=>{v.isUnmounted||x()},M)});return}}let oe=T,le;vn(v,!1),T?(T.el=ie.el,J(v,T,w)):T=ie,I&&Yn(I),(le=T.props&&T.props.onVnodeBeforeUpdate)&&ze(le,z,T,ie),vn(v,!0);const Pe=Co(v),ut=v.subTree;v.subTree=Pe,m(ut,Pe,f(ut.el),H(ut),v,M,p),T.el=Pe.el,oe===null&&eo(v,Pe.el),V&&De(V,M),(le=T.props&&T.props.onVnodeUpdated)&&De(()=>ze(le,z,T,ie),M)}else{let T;const{el:I,props:V}=S,{bm:z,m:ie,parent:oe,root:le,type:Pe}=v,ut=Qt(S);if(vn(v,!1),z&&Yn(z),!ut&&(T=V&&V.onVnodeBeforeMount)&&ze(T,oe,S),vn(v,!0),I&&_e){const rt=()=>{v.subTree=Co(v),_e(I,v.subTree,v,M,null)};ut&&Pe.__asyncHydrate?Pe.__asyncHydrate(I,v,rt):rt()}else{le.ce&&le.ce._hasShadowRoot()&&le.ce._injectChildStyle(Pe,v.parent?v.parent.type:void 0);const rt=v.subTree=Co(v);m(null,rt,P,U,v,M,p),S.el=rt.el}if(ie&&De(ie,M),!ut&&(T=V&&V.onVnodeMounted)){const rt=S;De(()=>ze(T,oe,rt),M)}(S.shapeFlag&256||oe&&Qt(oe.vnode)&&oe.vnode.shapeFlag&256)&&v.a&&De(v.a,M),v.isMounted=!0,S=P=U=null}};v.scope.on();const O=v.effect=new Gc(k);v.scope.off();const x=v.update=O.run.bind(O),j=v.job=O.runIfDirty.bind(O);j.i=v,j.id=v.uid,O.scheduler=()=>Ji(j),vn(v,!0),x()},J=(v,S,P)=>{S.component=v;const U=v.vnode.props;v.vnode=S,v.next=null,Ap(v,S.props,U,P),Np(v,S.children,P),en(),Ia(v),tn()},q=(v,S,P,U,M,p,w,k,O=!1)=>{const x=v&&v.children,j=v?v.shapeFlag:0,T=S.children,{patchFlag:I,shapeFlag:V}=S;if(I>0){if(I&128){nt(x,T,P,U,M,p,w,k,O);return}else if(I&256){re(x,T,P,U,M,p,w,k,O);return}}V&8?(j&16&&Ve(x,M,p),T!==x&&c(P,T)):j&16?V&16?nt(x,T,P,U,M,p,w,k,O):Ve(x,M,p,!0):(j&8&&c(P,""),V&16&&F(T,P,U,M,p,w,k,O))},re=(v,S,P,U,M,p,w,k,O)=>{v=v||Gn,S=S||Gn;const x=v.length,j=S.length,T=Math.min(x,j);let I;for(I=0;Ij?Ve(v,M,p,!0,!1,T):F(S,P,U,M,p,w,k,O,T)},nt=(v,S,P,U,M,p,w,k,O)=>{let x=0;const j=S.length;let T=v.length-1,I=j-1;for(;x<=T&&x<=I;){const V=v[x],z=S[x]=O?Gt(S[x]):ot(S[x]);if(bt(V,z))m(V,z,P,null,M,p,w,k,O);else break;x++}for(;x<=T&&x<=I;){const V=v[T],z=S[I]=O?Gt(S[I]):ot(S[I]);if(bt(V,z))m(V,z,P,null,M,p,w,k,O);else break;T--,I--}if(x>T){if(x<=I){const V=I+1,z=VI)for(;x<=T;)$e(v[x],M,p,!0),x++;else{const V=x,z=x,ie=new Map;for(x=z;x<=I;x++){const st=S[x]=O?Gt(S[x]):ot(S[x]);st.key!=null&&ie.set(st.key,x)}let oe,le=0;const Pe=I-z+1;let ut=!1,rt=0;const pr=new Array(Pe);for(x=0;x=Pe){$e(st,M,p,!0);continue}let kt;if(st.key!=null)kt=ie.get(st.key);else for(oe=z;oe<=I;oe++)if(pr[oe-z]===0&&bt(st,S[oe])){kt=oe;break}kt===void 0?$e(st,M,p,!0):(pr[kt-z]=x+1,kt>=rt?rt=kt:ut=!0,m(st,S[kt],P,null,M,p,w,k,O),le++)}const Ra=ut?Dp(pr):Gn;for(oe=Ra.length-1,x=Pe-1;x>=0;x--){const st=z+x,kt=S[st],Ta=S[st+1],La=st+1{const{el:p,type:w,transition:k,children:O,shapeFlag:x}=v;if(x&6){qe(v.component.subTree,S,P,U);return}if(x&128){v.suspense.move(S,P,U);return}if(x&64){w.move(v,S,P,Q);return}if(w===Ue){r(p,S,P);for(let T=0;Tk.enter(p),M));else{const{leave:T,delayLeave:I,afterLeave:V}=k,z=()=>{v.ctx.isUnmounted?s(p):r(p,S,P)},ie=()=>{const oe=p._isLeaving||!!p[ht];p._isLeaving&&p[ht](!0),k.persisted&&!oe?z():T(p,()=>{z(),V&&V()})};I?I(p,z,ie):ie()}else r(p,S,P)},$e=(v,S,P,U=!1,M=!1)=>{const{type:p,props:w,ref:k,children:O,dynamicChildren:x,shapeFlag:j,patchFlag:T,dirs:I,cacheIndex:V,memo:z}=v;if(T===-2&&(M=!1),k!=null&&(en(),Jn(k,null,P,v,!0),tn()),V!=null&&(S.renderCache[V]=void 0),j&256){S.ctx.deactivate(v);return}const ie=j&1&&I,oe=!Qt(v);let le;if(oe&&(le=w&&w.onVnodeBeforeUnmount)&&ze(le,S,v),j&6)Lt(v.component,P,U);else{if(j&128){v.suspense.unmount(P,U);return}ie&&It(v,null,S,"beforeUnmount"),j&64?v.type.remove(v,S,P,Q,U):x&&!x.hasOnce&&(p!==Ue||T>0&&T&64)?Ve(x,S,P,!1,!0):(p===Ue&&T&384||!M&&j&16)&&Ve(O,S,P),U&&Rt(v)}const Pe=z!=null&&V==null;(oe&&(le=w&&w.onVnodeUnmounted)||ie||Pe)&&De(()=>{le&&ze(le,S,v),ie&&It(v,null,S,"unmounted"),Pe&&(v.el=null)},P)},Rt=v=>{const{type:S,el:P,anchor:U,transition:M}=v;if(S===Ue){Tt(P,U);return}if(S===kr){y(v);return}const p=()=>{s(P),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(v.shapeFlag&1&&M&&!M.persisted){const{leave:w,delayLeave:k}=M,O=()=>w(P,p);k?k(v.el,p,O):O()}else p()},Tt=(v,S)=>{let P;for(;v!==S;)P=d(v),s(v),v=P;s(S)},Lt=(v,S,P)=>{const{bum:U,scope:M,job:p,subTree:w,um:k,m:O,a:x}=v;Ts(O),Ts(x),U&&Yn(U),M.stop(),p&&(p.flags|=8,$e(w,v,S,P)),k&&De(k,S),De(()=>{v.isUnmounted=!0},S)},Ve=(v,S,P,U=!1,M=!1,p=0)=>{for(let w=p;w{if(v.shapeFlag&6)return H(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const S=d(v.anchor||v.el),P=S&&S[Xh];return P?d(P):S};let Y=!1;const B=(v,S,P)=>{let U;v==null?S._vnode&&($e(S._vnode,null,null,!0),U=S._vnode.component):m(S._vnode||null,v,S,null,null,null,P),S._vnode=v,Y||(Y=!0,Ia(U),ws(),Y=!1)},Q={p:m,um:$e,m:qe,r:Rt,mt:te,mc:F,pc:q,pbc:D,n:H,o:e};let ne,_e;return t&&([ne,_e]=t(Q)),{render:B,hydrate:ne,createApp:vp(B,ne)}}function So({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function vn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ku(e,t,n=!1){const r=e.children,s=t.children;if(Z(r)&&Z(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Gu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gu(t)}function Ts(e){if(e)for(let t=0;te.__isSuspense;let ni=0;const Fp={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,u){if(e==null)Hp(t,n,r,s,o,i,a,l,u);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}$p(e,t,n,r,s,i,a,l,u)}},hydrate:Up,normalize:jp},na=Fp;function Fr(e,t){const n=e.props&&e.props[t];ee(n)&&n()}function Hp(e,t,n,r,s,o,i,a,l){const{p:u,o:{createElement:c}}=l,f=c("div"),d=e.suspense=Yu(e,s,r,t,f,n,o,i,a,l);u(null,d.pendingBranch=e.ssContent,f,null,r,d,o,i),d.deps>0?(Fr(e,"onPending"),Fr(e,"onFallback"),u(null,e.ssFallback,t,n,r,null,o,i),Qn(d,e.ssFallback)):d.resolve(!1,!0)}function $p(e,t,n,r,s,o,i,a,{p:l,um:u,o:{createElement:c}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:_,pendingBranch:m,isInFallback:R,isHydrating:b}=f;if(m)f.pendingBranch=d,bt(m,d)?(l(m,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():R&&(b||(l(_,h,n,r,s,null,o,i,a),Qn(f,h)))):(f.pendingId=ni++,b?(f.isHydrating=!1,f.activeBranch=m):u(m,s,f),f.deps=0,f.effects.length=0,f.hiddenContainer=c("div"),R?(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():(l(_,h,n,r,s,null,o,i,a),Qn(f,h))):_&&bt(_,d)?(l(_,d,n,r,s,f,o,i,a),f.resolve(!0)):(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0&&f.resolve()));else if(_&&bt(_,d))l(_,d,n,r,s,f,o,i,a),Qn(f,d);else if(Fr(t,"onPending"),f.pendingBranch=d,d.shapeFlag&512?f.pendingId=d.component.suspenseId:f.pendingId=ni++,l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0)f.resolve();else{const{timeout:E,pendingId:g}=f;E>0?setTimeout(()=>{f.pendingId===g&&f.fallback(h)},E):E===0&&f.fallback(h)}}function Yu(e,t,n,r,s,o,i,a,l,u,c=!1){const{p:f,m:d,um:h,n:_,o:{parentNode:m,remove:R}}=u;let b;const E=Bp(e);E&&t&&t.pendingBranch&&(b=t.pendingId,t.deps++);const g=e.props?jc(e.props.timeout):void 0,y=o,C={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:ni++,timeout:typeof g=="number"?g:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(A=!1,L=!1){const{vnode:F,activeBranch:N,pendingBranch:D,pendingId:W,effects:$,parentComponent:X,container:te,isInFallback:se}=C;let K=!1;if(C.isHydrating)C.isHydrating=!1;else if(!A){K=N&&D.transition&&D.transition.mode==="out-in";let re=!1;K&&(N.transition.afterLeave=()=>{W===C.pendingId&&(d(D,te,o===y&&!re?_(N):o,0),Xo($),se&&F.ssFallback&&(F.ssFallback.el=null))}),N&&!C.isFallbackMountPending&&(m(N.el)===te&&(o=_(N),re=!0),h(N,X,C,!0),!K&&se&&F.ssFallback&&De(()=>F.ssFallback.el=null,C)),K||d(D,te,o,0)}C.isFallbackMountPending=!1,Qn(C,D),C.pendingBranch=null,C.isInFallback=!1;let J=C.parent,q=!1;for(;J;){if(J.pendingBranch){J.effects.push(...$),q=!0;break}J=J.parent}!q&&!K&&Xo($),C.effects=[],E&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!L&&t.resolve()),Fr(F,"onResolve")},fallback(A){if(!C.pendingBranch)return;const{vnode:L,activeBranch:F,parentComponent:N,container:D,namespace:W}=C;Fr(L,"onFallback");const $=_(F),X=()=>{C.isFallbackMountPending=!1,C.isInFallback&&(f(null,A,D,$,N,null,W,a,l),Qn(C,A))},te=A.transition&&A.transition.mode==="out-in";te&&(C.isFallbackMountPending=!0,F.transition.afterLeave=X),C.isInFallback=!0,h(F,N,null,!0),te||X()},move(A,L,F){C.activeBranch&&d(C.activeBranch,A,L,F),C.container=A},next(){return C.activeBranch&&_(C.activeBranch)},registerDep(A,L,F){const N=!!C.pendingBranch;N&&C.deps++;const D=A.vnode.el;A.asyncDep.catch(W=>{hr(W,A,0)}).then(W=>{if(A.isUnmounted||C.isUnmounted||C.pendingId!==A.suspenseId)return;si(),A.asyncResolved=!0;const{vnode:$}=A;oi(A,W),D&&($.el=D);const X=!D&&A.subTree.el;L(A,$,m(D||A.subTree.el),D?null:_(A.subTree),C,i,F),X&&($.placeholder=null,R(X)),eo(A,$.el),N&&--C.deps===0&&C.resolve()})},unmount(A,L){C.isUnmounted=!0,C.activeBranch&&h(C.activeBranch,n,A,L),C.pendingBranch&&h(C.pendingBranch,n,A,L)}};return C}function Up(e,t,n,r,s,o,i,a,l){const u=t.suspense=Yu(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,o,i);return u.deps===0&&u.resolve(!1,!0),c}function jp(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Ka(r?n.default:n),e.ssFallback=r?Ka(n.fallback):Re(Oe)}function Ka(e){let t;if(ee(e)){const n=nr&&e._c;n&&(e._d=!1,pt()),e=e(),n&&(e._d=!0,t=Ze,Ju())}return Z(e)&&(e=Sp(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Xu(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Xo(e)}function Qn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,eo(r,s))}function Bp(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Ue=Symbol.for("v-fgt"),mn=Symbol.for("v-txt"),Oe=Symbol.for("v-cmt"),kr=Symbol.for("v-stc"),Ar=[];let Ze=null;function pt(e=!1){Ar.push(Ze=e?null:[])}function Ju(){Ar.pop(),Ze=Ar[Ar.length-1]||null}let nr=1;function ks(e,t=!1){nr+=e,e<0&&Ze&&t&&(Ze.hasOnce=!0)}function Qu(e){return e.dynamicChildren=nr>0?Ze||Gn:null,Ju(),nr>0&&Ze&&Ze.push(e),e}function Vp(e,t,n,r,s,o){return Qu(Zu(e,t,n,r,s,o,!0))}function Mt(e,t,n,r,s){return Qu(Re(e,t,n,r,s,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function bt(e,t){return e.type===t.type&&e.key===t.key}const zu=({key:e})=>e??null,ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||ve(e)||ee(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function Zu(e,t=null,n=null,r=0,s=null,o=e===Ue?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zu(t),ref:t&&ys(t),scopeId:hu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return a?(ra(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=we(n)?8:16),nr>0&&!i&&Ze&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Ze.push(l),l}const Re=Wp;function Wp(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Lu)&&(e=Oe),xn(e)){const a=rn(e,t,!0);return n&&ra(a,n),nr>0&&!o&&Ze&&(a.shapeFlag&6?Ze[Ze.indexOf(e)]=a:Ze.push(a)),a.patchFlag=-2,a}if(Zp(e)&&(e=e.__vccOpts),t){t=ef(t);let{class:a,style:l}=t;a&&!we(a)&&(t.class=Gs(a)),de(l)&&(Xs(l)&&!Z(l)&&(l=He({},l)),t.style=Ks(l))}const i=we(e)?1:Ls(e)?128:gu(e)?64:de(e)?4:ee(e)?2:0;return Zu(e,t,n,r,s,i,o,!0)}function ef(e){return e?Xs(e)||Fu(e)?He({},e):e:null}function rn(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,u=t?nf(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&zu(u),ref:t&&t.ref?n&&o?Z(o)?o.concat(ys(t)):[o,ys(t)]:ys(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rn(e.ssContent),ssFallback:e.ssFallback&&rn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&tr(c,l.clone(c)),c}function tf(e=" ",t=0){return Re(mn,null,e,t)}function A0(e,t){const n=Re(kr,null,e);return n.staticCount=t,n}function Kp(e="",t=!1){return t?(pt(),Mt(Oe,null,e)):Re(Oe,null,e)}function ot(e){return e==null||typeof e=="boolean"?Re(Oe):Z(e)?Re(Ue,null,e.slice()):xn(e)?Gt(e):Re(mn,null,String(e))}function Gt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:rn(e)}function ra(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),ra(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Fu(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ee(t)?(t={default:t,_ctx:Be},n=32):(t=String(t),r&64?(n=16,t=[tf(t)]):n=8);e.children=t,e.shapeFlag|=n}function nf(...e){const t={};for(let n=0;nje||Be;let As,ri;{const e=Ws(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};As=t("__VUE_INSTANCE_SETTERS__",n=>je=n),ri=t("__VUE_SSR_SETTERS__",n=>rr=n)}const Zr=e=>{const t=je;return As(e),e.scope.on(),()=>{e.scope.off(),As(t)}},si=()=>{je&&je.scope.off(),As(null)};function rf(e){return e.vnode.shapeFlag&4}let rr=!1;function Xp(e,t=!1,n=!1){t&&ri(t);const{props:r,children:s}=e.vnode,o=rf(e);kp(e,r,o,t),Ip(e,s,n||t);const i=o?Jp(e,t):void 0;return t&&ri(!1),i}function Jp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,hp);const{setup:r}=n;if(r){en();const s=e.setupContext=r.length>1?zp(e):null,o=Zr(e),i=Xr(r,e,0,[e.props,s]),a=Fc(i);if(tn(),o(),(a||e.sp)&&!Qt(e)&&Zi(e),a){if(i.then(si,si),t)return i.then(l=>{oi(e,l)}).catch(l=>{hr(l,e,0)});e.asyncDep=i}else oi(e,i)}else sf(e)}function oi(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=au(t)),sf(e)}function sf(e,t,n){const r=e.type;e.render||(e.render=r.render||Ft);{const s=Zr(e);en();try{pp(e)}finally{tn(),s()}}}const Qp={get(e,t){return Ke(e,"get",""),e[t]}};function zp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Qp),slots:e.slots,emit:e.emit,expose:t}}function to(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(au(Xi(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Lr)return Lr[n](e)},has(t,n){return n in t||n in Lr}})):e.proxy}function ii(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function Zp(e){return ee(e)&&"__vccOpts"in e}const ke=(e,t)=>Uh(e,t,rr);function Ie(e,t,n){try{ks(-1);const r=arguments.length;return r===2?de(t)&&!Z(t)?xn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xn(n)&&(n=[n]),Re(e,t,n))}finally{ks(1)}}const eg="3.5.38";let ai;const Ga=typeof window<"u"&&window.trustedTypes;if(Ga)try{ai=Ga.createPolicy("vue",{createHTML:e=>e})}catch{}const of=ai?e=>ai.createHTML(e):e=>e,tg="http://www.w3.org/2000/svg",ng="http://www.w3.org/1998/Math/MathML",Kt=typeof document<"u"?document:null,qa=Kt&&Kt.createElement("template"),rg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Kt.createElementNS(tg,e):t==="mathml"?Kt.createElementNS(ng,e):n?Kt.createElement(e,{is:n}):Kt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Kt.createTextNode(e),createComment:e=>Kt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Kt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{qa.innerHTML=of(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=qa.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ln="transition",yr="animation",Hr=Symbol("_vtc"),af={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},sg=He({},mu,af),og=e=>(e.displayName="Transition",e.props=sg,e),ig=og((e,{slots:t})=>Ie(zh,ag(e),t)),En=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ya=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function ag(e){const t={};for(const $ in e)$ in af||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:u=i,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,_=lg(s),m=_&&_[0],R=_&&_[1],{onBeforeEnter:b,onEnter:E,onEnterCancelled:g,onLeave:y,onLeaveCancelled:C,onBeforeAppear:A=b,onAppear:L=E,onAppearCancelled:F=g}=t,N=($,X,te,se)=>{$._enterCancelled=se,wn($,X?c:a),wn($,X?u:i),te&&te()},D=($,X)=>{$._isLeaving=!1,wn($,f),wn($,h),wn($,d),X&&X()},W=$=>(X,te)=>{const se=$?L:E,K=()=>N(X,$,te);En(se,[X,K]),Xa(()=>{wn(X,$?l:o),Bt(X,$?c:a),Ya(se)||Ja(X,r,m,K)})};return He(t,{onBeforeEnter($){En(b,[$]),Bt($,o),Bt($,i)},onBeforeAppear($){En(A,[$]),Bt($,l),Bt($,u)},onEnter:W(!1),onAppear:W(!0),onLeave($,X){$._isLeaving=!0;const te=()=>D($,X);Bt($,f),$._enterCancelled?(Bt($,d),Za($)):(Za($),Bt($,d)),Xa(()=>{$._isLeaving&&(wn($,f),Bt($,h),Ya(y)||Ja($,r,R,te))}),En(y,[$,te])},onEnterCancelled($){N($,!1,void 0,!0),En(g,[$])},onAppearCancelled($){N($,!0,void 0,!0),En(F,[$])},onLeaveCancelled($){D($),En(C,[$])}})}function lg(e){if(e==null)return null;if(de(e))return[Ro(e.enter),Ro(e.leave)];{const t=Ro(e);return[t,t]}}function Ro(e){return jc(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Hr]||(e[Hr]=new Set)).add(t)}function wn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Hr];n&&(n.delete(t),n.size||(e[Hr]=void 0))}function Xa(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let cg=0;function Ja(e,t,n,r){const s=e._endId=++cg,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=ug(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),o()},d=h=>{h.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[_]||"").split(", "),s=r(`${ln}Delay`),o=r(`${ln}Duration`),i=Qa(s,o),a=r(`${yr}Delay`),l=r(`${yr}Duration`),u=Qa(a,l);let c=null,f=0,d=0;t===ln?i>0&&(c=ln,f=i,d=o.length):t===yr?u>0&&(c=yr,f=u,d=l.length):(f=Math.max(i,u),c=f>0?i>u?ln:yr:null,d=c?c===ln?o.length:l.length:0);const h=c===ln&&/\b(?:transform|all)(?:,|$)/.test(r(`${ln}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:h}}function Qa(e,t){for(;e.lengthza(n)+za(e[r])))}function za(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Za(e){return(e?e.ownerDocument:document).body.offsetHeight}function fg(e,t,n){const r=e[Hr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ps=Symbol("_vod"),lf=Symbol("_vsh"),P0={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ps]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):_r(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),_r(e,!0),r.enter(e)):r.leave(e,()=>{_r(e,!1)}):_r(e,t))},beforeUnmount(e,{value:t}){_r(e,t)}};function _r(e,t){e.style.display=t?e[Ps]:"none",e[lf]=!t}const dg=Symbol(""),hg=/(?:^|;)\s*display\s*:/;function pg(e,t,n){const r=e.style,s=we(n);let o=!1;if(n&&!s){if(t)if(we(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Sr(r,a,"")}else for(const i in t)n[i]==null&&Sr(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?mg(e,i,!we(t)&&t?t[i]:void 0,a)||Sr(r,i,a):Sr(r,i,"")}}else if(s){if(t!==n){const i=r[dg];i&&(n+=";"+i),r.cssText=n,o=hg.test(n)}}else t&&e.removeAttribute("style");Ps in e&&(e[Ps]=o?r.display:"",e[lf]&&(r.display="none"))}const el=/\s*!important$/;function Sr(e,t,n){if(Z(n))n.forEach(r=>Sr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=gg(e,t);el.test(n)?e.setProperty(Dn(r),n.replace(el,""),"important"):e[r]=n}}const tl=["Webkit","Moz","ms"],To={};function gg(e,t){const n=To[t];if(n)return n;let r=Qe(t);if(r!=="filter"&&r in e)return To[t]=r;r=Bs(r);for(let s=0;sLo||(vg.then(()=>Lo=0),Lo=Date.now());function wg(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(Z(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cg=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?fg(e,r,i):t==="style"?pg(e,n,r):qr(t)?$s(t)||_g(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Sg(e,t,r,i))?(sl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&rl(e,t,r,i,o,t!=="value")):e._isVueCE&&(Rg(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!we(r)))?sl(e,Qe(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),rl(e,t,r,i))};function Sg(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&al(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return al(t)&&we(n)?!1:t in e}function Rg(e,t){const n=e._def.props;if(!n)return!1;const r=Qe(t);return Array.isArray(n)?n.some(s=>Qe(s)===r):Object.keys(n).some(s=>Qe(s)===r)}const sr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?n=>Yn(t,n):t};function Tg(e){e.target.composing=!0}function ll(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const zt=Symbol("_assign");function cl(e,t,n){return t&&(e=e.trim()),n&&(e=Vs(e)),e}const O0={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[zt]=sr(s);const o=r||s.props&&s.props.type==="number";hn(e,t?"change":"input",i=>{i.target.composing||e[zt](cl(e.value,n,o))}),(n||o)&&hn(e,"change",()=>{e.value=cl(e.value,n,o)}),t||(hn(e,"compositionstart",Tg),hn(e,"compositionend",ll),hn(e,"change",ll))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[zt]=sr(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Vs(e.value):e.value,l=t??"";if(a===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},I0={deep:!0,created(e,t,n){e[zt]=sr(n),hn(e,"change",()=>{const r=e._modelValue,s=$r(e),o=e.checked,i=e[zt];if(Z(r)){const a=Vi(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const u=[...r];u.splice(a,1),i(u)}}else if(cr(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(cf(e,o))})},mounted:ul,beforeUpdate(e,t,n){e[zt]=sr(n),ul(e,t,n)}};function ul(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(Z(t))s=Vi(t,r.props.value)>-1;else if(cr(t))s=t.has(r.props.value);else{if(t===n)return;s=fr(t,cf(e,!0))}e.checked!==s&&(e.checked=s)}const N0={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=cr(t);hn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Vs($r(i)):$r(i));e[zt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,nn(()=>{e._assigning=!1})}),e[zt]=sr(r)},mounted(e,{value:t}){fl(e,t)},beforeUpdate(e,t,n){e[zt]=sr(n)},updated(e,{value:t}){e._assigning||fl(e,t)}};function fl(e,t){const n=e.multiple,r=Z(t);if(!(n&&!r&&!cr(t))){for(let s=0,o=e.options.length;sString(u)===String(a)):i.selected=Vi(t,a)>-1}else i.selected=t.has(a);else if(fr($r(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function $r(e){return"_value"in e?e._value:e.value}function cf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Lg=["ctrl","shift","alt","meta"],kg={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Lg.some(n=>e[`${n}Key`]&&!t.includes(n))},x0=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const t=Ag().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(!s)return;const o=t._component;!ee(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,ff(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ig=((...e)=>{const t=Pg().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(s)return n(s,!0,ff(s))},t});function ff(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function df(e){return we(e)?document.querySelector(e):e}const Ng=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,xg=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Mg=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Dg(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Fg(e);return}return t}function Fg(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ur(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Mg.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Ng.test(e)||xg.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Dg)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const hf=/#/g,pf=/&/g,Hg=/\//g,$g=/=/g,Ug=/\?/g,no=/\+/g,jg=/%5e/gi,Bg=/%60/gi,Vg=/%7c/gi,Wg=/%20/gi,Kg=/%2f/gi,Gg=/%252f/gi;function gf(e){return encodeURI(""+e).replace(Vg,"|")}function li(e){return gf(typeof e=="string"?e:JSON.stringify(e)).replace(no,"%2B").replace(Wg,"+").replace(hf,"%23").replace(pf,"%26").replace(Bg,"`").replace(jg,"^").replace(Hg,"%2F")}function ko(e){return li(e).replace($g,"%3D")}function qg(e){return gf(e).replace(hf,"%23").replace(Ug,"%3F").replace(Gg,"%2F").replace(pf,"%26").replace(no,"%2B")}function jr(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Yg(e){return jr(e.replace(Kg,"%252F"))}function Xg(e){return jr(e.replace(no," "))}function Jg(e){return jr(e.replace(no," "))}function sa(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=Xg(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=Jg(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function Qg(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${ko(e)}=${li(n)}`).join("&"):`${ko(e)}=${li(t)}`:ko(e)}function zg(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>Qg(t,e[t])).filter(Boolean).join("&")}const Zg=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,em=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,tm=/^([/\\]\s*){2,}[^/\\]/,nm=/^[\s\0]*(blob|data|javascript|vbscript):$/i,rm=/\/$|\/\?|\/#/,sm=/^\.?\//;function an(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?Zg.test(e):em.test(e)||(t.acceptRelative?tm.test(e):!1)}function ci(e){return!!e&&nm.test(e)}function ui(e="",t){return t?rm.test(e):e.endsWith("/")}function Br(e="",t){if(!t)return(ui(e)?e.slice(0,-1):e)||"/";if(!ui(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function om(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(ui(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function im(e,t){if(mf(t)||an(e))return e;const n=Br(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return Pn(n,e)}function hl(e,t){if(mf(t))return e;const n=Br(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function ro(e,t){const n=oa(e),r={...sa(n.search),...t};return n.search=zg(r),lm(n)}function mf(e){return!e||e==="/"}function am(e){return e&&e!=="/"}function Pn(e,...t){let n=e||"";for(const r of t.filter(s=>am(s)))if(n){const s=r.replace(sm,"");n=om(n)+s}else n=r;return n}function yf(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&an(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function _f(e,t){return jr(Br(e))===jr(Br(t))}const bf=Symbol.for("ufo:protocolRelative");function oa(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,d=""]=n;return{protocol:f.toLowerCase(),pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!an(e,{acceptRelative:!0}))return fi(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:u,hash:c}=fi(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:u,hash:c,[bf]:!r}}function fi(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function lm(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[bf]?(e.protocol||"")+"//":"")+s+o+t+n+r}class cm extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function um(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new cm(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,u]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[u]}});return a}const fm=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function pl(e="GET"){return fm.has(e.toUpperCase())}function dm(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const hm=new Set(["image/svg","application/xml","application/xhtml","application/html"]),pm=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function gm(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return pm.test(t)?"json":t==="text/event-stream"?"stream":hm.has(t)||t.startsWith("text/")?"text":"blob"}function mm(e,t,n,r){const s=ym(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function ym(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function ls(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const _m=new Set([408,409,425,429,500,502,503,504]),bm=new Set([101,204,205,304]);function vf(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=pl(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):_m.has(f))){const d=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),o(a.request,{...a.options,retry:c-1})}}const u=um(a);throw Error.captureStackTrace&&Error.captureStackTrace(u,o),u}const o=async function(l,u={}){const c={request:l,options:mm(l,u,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await ls(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=im(c.request,c.options.baseURL)),c.options.query&&(c.request=ro(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&pl(c.options.method))if(dm(c.options.body)){const h=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=h==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),h||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let f;if(!c.options.signal&&c.options.timeout){const h=new r;f=setTimeout(()=>{const _=new Error("[TimeoutError]: The operation was aborted due to timeout");_.name="TimeoutError",_.code=23,h.abort(_)},c.options.timeout),c.options.signal=h.signal}try{c.response=await t(c.request,c.options)}catch(h){return c.error=h,c.options.onRequestError&&await ls(c,c.options.onRequestError),await s(c)}finally{f&&clearTimeout(f)}if((c.response.body||c.response._bodyInit)&&!bm.has(c.response.status)&&c.options.method!=="HEAD"){const h=(c.options.parseResponse?"json":c.options.responseType)||gm(c.response.headers.get("content-type")||"");switch(h){case"json":{const _=await c.response.text(),m=c.options.parseResponse||Ur;c.response._data=m(_);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[h]()}}return c.options.onResponse&&await ls(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await ls(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,u){return(await o(l,u))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>vf({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Os=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),vm=Os.fetch?(...e)=>Os.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Em=Os.Headers,wm=Os.AbortController,Cm=vf({fetch:vm,Headers:Em,AbortController:wm}),Sm=Cm,Rm=()=>window?.__NUXT__?.config||{},ia=()=>Rm().app,Tm=()=>ia().baseURL,Lm=()=>ia().buildAssetsDir,aa=(...e)=>yf(Ef(),Lm(),...e),Ef=(...e)=>{const t=ia(),n=t.cdnURL||t.baseURL;return e.length?yf(n,...e):n};globalThis.__buildAssetsURL=aa,globalThis.__publicAssetsURL=Ef;globalThis.$fetch||(globalThis.$fetch=Sm.create({baseURL:Tm()}));"global"in globalThis||(globalThis.global=globalThis);function di(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?di(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const km={run:e=>e()},Am=()=>km,wf=typeof console.createTask<"u"?console.createTask:Am;function Pm(e,t){const n=t.shift(),r=wf(n);return e.reduce((s,o)=>s.then(()=>r.run(()=>o(...t))),Promise.resolve())}function Om(e,t){const n=t.shift(),r=wf(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}function Ao(e,t){for(const n of[...e])n(t)}let Im=class{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const s=t;let o;for(;this._deprecatedHooks[t];)o=this._deprecatedHooks[t],t=o.to;if(o&&!r.allowDeprecated){let i=o.message;i||(i=`${s} hook has been deprecated`+(o.to?`, please use ${o.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,s=(...o)=>(typeof r=="function"&&r(),r=void 0,s=void 0,n(...o));return r=this.hook(t,s),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const s of r)this.hook(t,s)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=di(t),r=Object.keys(n).map(s=>this.hook(s,n[s]));return()=>{for(const s of r.splice(0,r.length))s()}}removeHooks(t){const n=di(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Pm,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Om,t,...n)}callHookWith(t,n,...r){const s=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&Ao(this._before,s);const o=t(n in this._hooks?[...this._hooks[n]]:[],r);return o instanceof Promise?o.finally(()=>{this._after&&s&&Ao(this._after,s)}):(this._after&&s&&Ao(this._after,s),o)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}};function Nm(){return new Im}function xm(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},u=()=>t===i?l:void 0;hi.add(u);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{hi.delete(u)}}}}function Mm(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=xm({...e,...r})),t[n]}}}const Is=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},gl="__unctx__",Dm=Is[gl]||(Is[gl]=Mm()),Fm=(e,t={})=>Dm.get(e,t),ml="__unctx_async_handlers__",hi=Is[ml]||(Is[ml]=new Set);function On(e){const t=[];for(const s of hi){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const yl=!1,_l=!1,Hm=!1,D0={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},$m=null,Um="#__nuxt",Cf="nuxt-app",bl=36e5,jm="vite:preloadError";function Sf(e=Cf){return Fm(e,{asyncContext:!1})}const Bm="__nuxt_plugin";function Vm(e){let t=0;const n={_id:e.id||Cf||"nuxt-app",_scope:Yr(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.21.8"},get vue(){return n.vueApp.version}},payload:Dt({...e.ssrContext?.payload||{},data:Dt({}),state:sn({}),once:new Set,_errors:Dt({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!dr()?n._scope.run(()=>vl(n,s)):vl(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Dt({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=Nm(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;cs(n,i,o),cs(n.vueApp.config.globalProperties,i,o)},cs(n.vueApp,"$nuxt",n),cs(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(jm,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ue;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Wm(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function Km(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function Gm(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const u=l.dependsOn?.filter(c=>t.some(f=>f._name===c)&&!n.has(c))??[];if(u.length>0)r.push([new Set(u),l]);else{const c=Km(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([f,d])=>{f.has(l._name)&&(f.delete(l._name),f.size===0&&(i++,await a(d)))})))}).catch(f=>{if(!l.parallel&&!e.payload.error)throw f;o||=f});l.parallel?s.push(c):await c}}for(const l of t)Wm(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Bm]:!0,_name:t})}const qm=Ge;function vl(e,t,n){const r=()=>t();return Sf(e._id).set(e),e.vueApp.runWithContext(r)}function Rf(e){let t;return Jr()&&(t=Fn()?.appContext.app.$nuxt),t||=Sf(e).tryUse(),t||null}function ue(e){const t=Rf(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function so(e){return ue().$config}function cs(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Po(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function pi(e,t,n=".",r){if(!Po(t))return pi(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Po(i)&&Po(s[o])?s[o]=pi(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function Tf(e){return(...t)=>t.reduce((n,r)=>pi(n,r,"",e),{})}const Lf=Tf();function Ym(e,t){try{return t in e}catch{return!1}}class El extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:gi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=kf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function Xm(e){if(typeof e=="string")return new El(e);if(Jm(e))return e;const t=new El(e.message??e.statusMessage??"",{cause:e.cause||e});if(Ym(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=gi(e.statusCode,t.statusCode):e.status&&(t.statusCode=gi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;kf(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function Jm(e){return e?.constructor?.__h3_error__===!0}const Qm=/[^\u0009\u0020-\u007E]/g;function kf(e=""){return e.replace(Qm,"")}function gi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Af=Symbol("layout-meta"),Mn=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const tt=()=>ue()?.$router,la=()=>Jr()?Fe(Mn,ue()._route):ue()._route;function F0(e){return e}const zm=()=>{try{if(ue()._processingMiddleware)return!0}catch{return!1}return!1},H0=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?Zm(e):tt().resolve(e).href;if(t?.open){const{protocol:u}=new URL(n,window.location.href);if(u&&ci(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`);const{target:c="_blank",windowFeatures:f={}}=t.open,d=[];for(const[h,_]of Object.entries(f))_!==void 0&&d.push(`${h.toLowerCase()}=${_}`);return open(n,c,d.join(", ")),Promise.resolve()}const r=an(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:u}=new URL(n,window.location.href);if(u&&ci(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`)}const o=zm();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:u,search:c,hash:f}=oa(e);return{path:u,...c&&{query:sa(c)},...f&&{hash:f},replace:!0}}return{...e,replace:!0}}return e}const i=tt(),a=ue();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?ey(e):e;return t?.replace?i.replace(l):i.push(l)};function Zm(e){return ro(e.path||"",e.query||{})+(e.hash||"")}function ey(e){const t=oa(e);return qg(Yg(t.pathname))+t.search+t.hash}const Pf="__nuxt_error",oo=()=>lu(ue().payload,"error"),Rn=e=>{const t=In(e);try{const n=oo();ue().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},ty=async(e={})=>{const t=ue(),n=oo();t.callHook("app:error:cleared",e),e.redirect&&await tt().replace(e.redirect),n.value=$m},Of=e=>!!e&&typeof e=="object"&&Pf in e,In=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=Xm(e);return Object.defineProperty(t,Pf,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let If;const or=e=>If=e,Nf=Symbol();function mi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Or;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Or||(Or={}));function ny(){const e=Yr(!0),t=e.run(()=>et({}));let n=[],r=[];const s=Xi({install(o){or(s),s._a=o,o.provide(Nf,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const xf=()=>{};function wl(e,t,n,r=xf){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&dr()&&Nr(s),s}function Un(e,...t){e.forEach(n=>{n(...t)})}const ry=e=>e(),Cl=Symbol(),Oo=Symbol();function yi(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];mi(s)&&mi(r)&&e.hasOwnProperty(n)&&!ve(r)&&!Ht(r)?e[n]=yi(s,r):e[n]=r}return e}const sy=Symbol();function oy(e){return!mi(e)||!Object.prototype.hasOwnProperty.call(e,sy)}const{assign:un}=Object;function iy(e){return!!(ve(e)&&e.effect)}function ay(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=s?s():{});const c=Dh(n.state.value[e]);return un(c,o,Object.keys(i||{}).reduce((f,d)=>(f[d]=Xi(ke(()=>{or(n);const h=n._s.get(e);return i[d].call(h,h)})),f),{}))}return l=Mf(e,u,t,n,r,!0),l}function Mf(e,t,n={},r,s,o){let i;const a=un({actions:{}},n),l={deep:!0};let u,c,f=new Set,d=new Set,h;const _=r.state.value[e];!o&&!_&&(r.state.value[e]={});let m;function R(F){let N;u=c=!1,typeof F=="function"?(F(r.state.value[e]),N={type:Or.patchFunction,storeId:e,events:h}):(yi(r.state.value[e],F),N={type:Or.patchObject,payload:F,storeId:e,events:h});const D=m=Symbol();nn().then(()=>{m===D&&(u=!0)}),c=!0,Un(f,N,r.state.value[e])}const b=o?function(){const{state:N}=n,D=N?N():{};this.$patch(W=>{un(W,D)})}:xf;function E(){i.stop(),f.clear(),d.clear(),r._s.delete(e)}const g=(F,N="")=>{if(Cl in F)return F[Oo]=N,F;const D=function(){or(r);const W=Array.from(arguments),$=new Set,X=new Set;function te(J){$.add(J)}function se(J){X.add(J)}Un(d,{args:W,name:D[Oo],store:C,after:te,onError:se});let K;try{K=F.apply(this&&this.$id===e?this:C,W)}catch(J){throw Un(X,J),J}return K instanceof Promise?K.then(J=>(Un($,J),J)).catch(J=>(Un(X,J),Promise.reject(J))):(Un($,K),K)};return D[Cl]=!0,D[Oo]=N,D},y={_p:r,$id:e,$onAction:wl.bind(null,d),$patch:R,$reset:b,$subscribe(F,N={}){const D=wl(f,F,N.detached,()=>W()),W=i.run(()=>at(()=>r.state.value[e],$=>{(N.flush==="sync"?c:u)&&F({storeId:e,type:Or.direct,events:h},$)},un({},l,N)));return D},$dispose:E},C=sn(y);r._s.set(e,C);const L=(r._a&&r._a.runWithContext||ry)(()=>r._e.run(()=>(i=Yr()).run(()=>t({action:g}))));for(const F in L){const N=L[F];if(ve(N)&&!iy(N)||Ht(N))o||(_&&oy(N)&&(ve(N)?N.value=_[F]:yi(N,_[F])),r.state.value[e][F]=N);else if(typeof N=="function"){const D=g(N,F);L[F]=D,a.actions[F]=N}}return un(C,L),un(ae(C),L),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:F=>{R(N=>{un(N,F)})}}),r._p.forEach(F=>{un(C,i.run(()=>F({store:C,app:r._a,pinia:r,options:a})))}),_&&o&&n.hydrate&&n.hydrate(C.$state,_),u=!0,c=!0,C}function $0(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=Jr();return i=i||(l?Fe(Nf,null):null),i&&or(i),i=If,i._s.has(e)||(s?Mf(e,t,r,i):ay(e,r,i)),i._s.get(e)}return o.$id=e,o}const ly=-1,cy=-2,uy=-3,fy=-4,dy=-5,hy=-6,py=-7,Df=2**32-1,_i=Df-1;function gy(e){return!(!Number.isInteger(e)||e<0||e>_i)}function my(e){return!(!Number.isInteger(e)||e<0||e>Df)}function yy(e){return Uint8Array.fromBase64(e).buffer}function _y(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function by(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=u)throw new Error("Invalid input");c[d]=o(l[f+1])}c.length=u}else{const u=new Array(l.length);r[i]=u;for(let c=0;c{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function Hf(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>Hf(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function Iy(e,t,n){if(e.length>0)return Hf(e,t,0,Ff(n))}function Ny(e,t,n){if(e.length>0){const r=Ff(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function Io(e,t){for(const n of[...e])n(t)}var xy=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=vi(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=vi(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(Iy,e,t)}callHookParallel(e,...t){return this.callHookWith(Ny,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&Io(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&Io(this._after,r)}):(this._after&&r&&Io(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function My(){return new xy}const Dy=["name","property","http-equiv"],Fy=new Set(["viewport","description","keywords","robots"]);function $f(e){const t=e.split(":");return t.length?Oy.has(t[1]):!1}function Ei(e){const{props:t,tag:n}=e;if(ky.has(n))return n;if(n==="link"&&t.rel==="canonical")return"canonical";if(n==="link"&&t.rel==="alternate"){if(t.hreflang)return`alternate:${t.hreflang}`;if(t.type)return`alternate:${t.type}:${t.href||""}`}if(t.charset)return"charset";if(e.tag==="meta"){for(const r of Dy)if(t[r]!==void 0){const s=t[r],o=s&&typeof s=="string"&&s.includes(":"),i=s&&Fy.has(s),l=!(o||i)&&e.key?`:key:${e.key}`:"";return`${n}:${s}${l}`}}if(e.key)return`${n}:key:${e.key}`;if(t.id)return`${n}:id:${t.id}`;if(n==="link"&&t.rel==="alternate")return`alternate:${t.href||""}`;if(Ty.has(n)){const r=e.textContent||e.innerHTML;if(r)return`${n}:content:${r}`}}function Uf(e){const t=e._h||e._d;if(t)return t;const n=e.textContent||e.innerHTML;return n||`${e.tag}:${Object.entries(e.props).map(([r,s])=>`${r}:${String(s)}`).join(",")}`}function Ns(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>Ns(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=Ns(s[i],t,i);return o}return s}function Hy(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function jf(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=bi.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=Hy(r,s);return}if(Ay.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let u=t.type;if(t.type||(u="application/json"),!u?.endsWith("json")&&u!=="speculationrules")return;t.type=u,e.props.type=u,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function $y(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=jf({tag:e,props:{}},n);return r.key&&Ry.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function Uy(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push($y(s,i))}),r.flat()}const wi=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Sl={base:-10,title:10},jy={critical:-8,high:-1,low:2},Rl={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},By=/@import/,br=e=>e===""||e===!0;function Vy(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=jy[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Rl;if(t.tag in Sl)n=Sl[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Rl.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);br(t.props.async)?n=s.script.async:t.props.src&&!br(t.props.defer)&&!br(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(br(t.props.defer)&&t.props.src&&!br(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&By.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Tl(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Wy(e={}){const t=My();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Tl(i,a),push(a,l){const u={...l||{}};delete u.head;const c=u._index??i._entryCount++,f={_i:c,input:a,options:u},d={_poll(h=!1){i.dirty=!0,!h&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(h){(!u.mode||u.mode==="server"&&n||u.mode==="client"&&!n)&&(f.input=h,r.set(c,f),d._poll())}};return d.patch(a),d},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const d=o.values().next().value;o.delete(d);const h=r.get(d);if(h){const _={tags:Uy(h.input,e.propResolvers||[]).map(m=>Object.assign(m,h.options)),entry:h};await t.callHook("entries:normalize",_),h._tags=_.tags.map((m,R)=>(m._w=Vy(i,m),m._p=(h._i<<10)+R,m._d=Ei(m),m._d||(m._h=Uf(m)),m))}}let l=!1;a.entries.flatMap(d=>(d._tags||[]).map(h=>({...h,props:{...h.props}}))).sort(wi).reduce((d,h)=>{const _=h._d||h._h;if(!d.has(_))return d.set(_,h);const m=d.get(_);if((h?.tagDuplicateStrategy||(Py.has(h.tag)?"merge":null)||(h.key&&h.key===m.key?"merge":null))==="merge"){const b={...m.props};Object.entries(h.props).forEach(([E,g])=>b[E]=E==="style"?new Map([...m.props.style||new Map,...g]):E==="class"?new Set([...m.props.class||new Set,...g]):g),d.set(_,{...h,props:b})}else h._p>>10===m._p>>10&&h.tag==="meta"&&$f(_)?(d.set(_,Object.assign([...Array.isArray(m)?m:[m],h],h)),l=!0):(h._w===m._w?h._p>m._p:h?._wTl(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const No="%separator";function Ky(e,t,n=!1){let r;if(t==="s"||t==="pageTitle")r=e.pageTitle;else if(t.includes(".")){const s=t.indexOf(".");r=e[t.substring(0,s)]?.[t.substring(s+1)]}else r=e[t];if(r!==void 0)return n?(r||"").replace(/\\/g,"\\\\").replace(/{if(a===No||!o.includes(a))return a;const l=Ky(t,a.slice(1),r);return l!==void 0?l:a}).trim(),i&&(e=e.split(No).map(a=>a.trim()).filter(a=>a!=="").join(n?` ${n} `:" ")),e}const Ll=e=>e.includes(":key")?e:e.split(":").join(":key:"),Gy={key:"aliasSorting",hooks:{"tags:resolve":e=>{let t=!1;for(const n of e.tags){const r=n.tagPriority;if(!r)continue;const s=String(r);if(s.startsWith("before:")){const o=Ll(s.slice(7)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p-1,t=!0)}else if(s.startsWith("after:")){const o=Ll(s.slice(6)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p+1,t=!0)}}t&&(e.tags=e.tags.sort(wi))}}},qy={key:"deprecations",hooks:{"entries:normalize":({tags:e})=>{for(const t of e)t.props.children&&(t.innerHTML=t.props.children,delete t.props.children),t.props.hid&&(t.key=t.props.hid,delete t.props.hid),t.props.vmid&&(t.key=t.props.vmid,delete t.props.vmid),t.props.body&&(t.tagPosition="bodyClose",delete t.props.body)}}};async function Ci(e){if(typeof e==="function")return e;if(e instanceof Promise)return await e;if(Array.isArray(e))return await Promise.all(e.map(n=>Ci(n)));if(e?.constructor===Object){const n={};for(const r of Object.keys(e))n[r]=await Ci(e[r]);return n}return e}const Yy={key:"promises",hooks:{"entries:resolve":async e=>{const t=[];for(const n in e.entries)e.entries[n]._promisesProcessed||t.push(Ci(e.entries[n].input).then(r=>{e.entries[n].input=r,e.entries[n]._promisesProcessed=!0}));await Promise.all(t)}}},Xy={meta:"content",link:"href",htmlAttrs:"lang"},Jy=["innerHTML","textContent"],Qy=e=>({key:"template-params",hooks:{"entries:normalize":t=>{const n=t.tags.filter(r=>r.tag==="templateParams"&&r.mode==="server")?.[0]?.props||{};Object.keys(n).length&&(e._ssrPayload={templateParams:{...e._ssrPayload?.templateParams||{},...n}})},"tags:resolve":({tagMap:t,tags:n})=>{const r=t.get("templateParams")?.props||{},s=r.separator||"|";delete r.separator,r.pageTitle=us(r.pageTitle||e._title||"",r,s);for(const o of n){if(o.processTemplateParams===!1)continue;const i=Xy[o.tag];if(i&&typeof o.props[i]=="string")o.props[i]=us(o.props[i],r,s);else if(o.processTemplateParams||o.tag==="titleTemplate"||o.tag==="title")for(const a of Jy)typeof o[a]=="string"&&(o[a]=us(o[a],r,s,o.tag==="script"&&o.props.type.endsWith("json")))}e._templateParams=r,e._separator=s},"tags:afterResolve":({tagMap:t})=>{const n=t.get("title");n?.textContent&&n.processTemplateParams!==!1&&(n.textContent=us(n.textContent,e._templateParams,e._separator))}}}),zy=(e,t)=>ve(t)?Ih(t):t,ca="usehead";function Zy(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(ca,e)}}.install}function e_(){if(Jr()){const e=Fe(ca);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function t_(e,t={}){const n=t.head||e_();return n.ssr?n.push(e||{},t):n_(n,e,t)}function n_(e,t,n={}){const r=et(!1);let s;return qh(()=>{const i=r.value?{}:Ns(t,zy);s?s.patch(i):s=e.push(i,n)}),Fn()&&(zr(()=>{s.dispose()}),wu(()=>{r.value=!0}),Eu(()=>{r.value=!1})),s}function r_(e){const t=e||Rf();return t?.ssrContext?.head||t?.runWithContext(()=>{if(Jr())return Fe(ca)})}function s_(e,t={}){const n=r_(t.nuxt);if(n)return t_(e,{head:n,...t})}const o_=(e,t)=>[],Bf=e=>Lf({},...o_("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),i_=Bf;let _s;function a_(){let e;return e=$fetch(aa(`builds/meta/${so().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),_s=e,e.catch(t=>{_s===e&&(_s=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Vf(){return _s||a_()}function Wf(e){const t=typeof e=="string"?e:e.path;try{return i_(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function kl(e,t={}){return null}async function l_(e){return null}let Cn=null;async function c_(){if(Cn)return Cn;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await u_(e.textContent||""),n=e.dataset.src?await l_(e.dataset.src):void 0;return Cn={...t,...n,...window.__NUXT__},Cn.config?.public&&(Cn.config.public=sn(Cn.config.public)),Cn}async function u_(e){return await Cy(e,ue()._payloadRevivers)}function Kf(e,t){ue()._payloadRevivers[e]=t}const f_=qm(()=>{Kf("skipHydrate",e=>{})}),d_=[["NuxtError",e=>In(e)],["EmptyShallowRef",e=>Nn(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["EmptyRef",e=>et(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["ShallowRef",e=>Nn(e)],["ShallowReactive",e=>Dt(e)],["Ref",e=>et(e)],["Reactive",e=>sn(e)]],h_=Ge({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of d_)Kf(r,s);Object.assign(e.payload,([t,n]=On(()=>e.runWithContext(c_)),t=await t,n(),t)),window.__NUXT__=e.payload}});async function ua(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(h=>{e.resolveTags().then(_=>{h(_.map(m=>{const R=o.get(m._d)||0,b={tag:m,id:(R?`${m._d}:${R}`:m._d)||m._h,shouldRender:!0};return m._d&&$f(m._d)&&o.set(m._d,R+1),b}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const h of["body","head"]){const _=n[h]?.children;for(const m of _){const R=m.tagName.toLowerCase();if(!bi.has(R))continue;const b=jf({tag:R,props:{}},{innerHTML:m.innerHTML,...m.getAttributeNames().reduce((E,g)=>(E[g]=m.getAttribute(g),E),{})||{}});if(b.key=m.getAttribute("data-hid")||void 0,b._d=Ei(b)||Uf(b),a.elMap.has(b._d)){let E=1,g=b._d;for(;a.elMap.has(g);)g=`${b._d}:${E++}`;a.elMap.set(g,m)}else a.elMap.set(b._d,m)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(h,_,m){const R=`${h}:${_}`;a.sideEffects[R]=m,delete a.pendingSideEffects[R]}function u({id:h,$el:_,tag:m}){const R=m.tag.endsWith("Attrs");a.elMap.set(h,_),R||(m.textContent&&m.textContent!==_.textContent&&(_.textContent=m.textContent),m.innerHTML&&m.innerHTML!==_.innerHTML&&(_.innerHTML=m.innerHTML),l(h,"el",()=>{_?.remove(),a.elMap.delete(h)}));for(const b in m.props){if(!Object.prototype.hasOwnProperty.call(m.props,b))continue;const E=m.props[b];if(b.startsWith("on")&&typeof E=="function"){const y=_?.dataset;if(y&&y[`${b}fired`]){const C=b.slice(0,-5);E.call(_,new Event(C.substring(2)))}_.getAttribute(`data-${b}`)!==""&&((m.tag==="bodyAttrs"?n.defaultView:_).addEventListener(b.substring(2),E.bind(_)),_.setAttribute(`data-${b}`,""));continue}const g=`attr:${b}`;if(b==="class"){if(!E)continue;for(const y of E)R&&l(h,`${g}:${y}`,()=>_.classList.remove(y)),!_.classList.contains(y)&&_.classList.add(y)}else if(b==="style"){if(!E)continue;for(const[y,C]of E)l(h,`${g}:${y}`,()=>{_.style.removeProperty(y)}),_.style.setProperty(y,C)}else E!==!1&&E!==null&&(_.getAttribute(b)!==E&&_.setAttribute(b,E===!0?"":String(E)),R&&l(h,g,()=>_.removeAttribute(b)))}}const c=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},d=await i;for(const h of d){const{tag:_,shouldRender:m,id:R}=h;if(m){if(_.tag==="title"){n.title=_.textContent,l("title","",()=>n.title=a.title);continue}h.$el=h.$el||a.elMap.get(R),h.$el?u(h):bi.has(_.tag)&&c.push(h)}}for(const h of c){const _=h.tag.tagPosition||"head";h.$el=n.createElement(h.tag.tag),u(h),f[_]=f[_]||n.createDocumentFragment(),f[_].appendChild(h.$el)}for(const h of d)await e.hooks.callHook("dom:renderTag",h,n,l);f.head&&n.head.appendChild(f.head),f.bodyOpen&&n.body.insertBefore(f.bodyOpen,n.body.firstChild),f.bodyClose&&n.body.appendChild(f.bodyClose);for(const h in a.pendingSideEffects)a.pendingSideEffects[h]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:d}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function p_(e={}){const t=e.domOptions?.render||ua;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Wy({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function g_(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function m_(e={}){const t=p_({domOptions:{render:g_(()=>ua(t),n=>setTimeout(n,0))},...e});return t.install=Zy(t),t}const y_={disableDefaults:!0,disableCapoSorting:!1,plugins:[qy,Yy,Qy,Gy]},__=Ge({name:"nuxt:head",enforce:"pre",setup(e){const t=m_(y_);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await ua(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const u=e["~transitionPromise"];u?u.then(l):l()},a})}}});const Bn=typeof document<"u";function Gf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function b_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Gf(e.default)}const he=Object.assign;function xo(e,t){const n={};for(const r in t){const s=t[r];n[r]=Ct(s)?s.map(e):e(s)}return n}const Ir=()=>{},Ct=Array.isArray;function Al(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const qf=/#/g,v_=/&/g,E_=/\//g,w_=/=/g,C_=/\?/g,Yf=/\+/g,S_=/%5B/g,R_=/%5D/g,Xf=/%5E/g,T_=/%60/g,Jf=/%7B/g,L_=/%7C/g,Qf=/%7D/g,k_=/%20/g;function fa(e){return e==null?"":encodeURI(""+e).replace(L_,"|").replace(S_,"[").replace(R_,"]")}function A_(e){return fa(e).replace(Jf,"{").replace(Qf,"}").replace(Xf,"^")}function Si(e){return fa(e).replace(Yf,"%2B").replace(k_,"+").replace(qf,"%23").replace(v_,"%26").replace(T_,"`").replace(Jf,"{").replace(Qf,"}").replace(Xf,"^")}function P_(e){return Si(e).replace(w_,"%3D")}function O_(e){return fa(e).replace(qf,"%23").replace(C_,"%3F")}function I_(e){return O_(e).replace(E_,"%2F")}function Vr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const N_=/\/$/,x_=e=>e.replace(N_,"");function Mo(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=H_(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Vr(i)}}function M_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Pl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function D_(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&ir(t.matched[r],n.matched[s])&&zf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ir(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function zf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!F_(e[n],t[n]))return!1;return!0}function F_(e,t){return Ct(e)?Ol(e,t):Ct(t)?Ol(t,e):e?.valueOf()===t?.valueOf()}function Ol(e,t){return Ct(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function H_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const dt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ri=(function(e){return e.pop="pop",e.push="push",e})({}),Do=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function $_(e){if(!e)if(Bn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),x_(e)}const U_=/^[^#]+#/;function j_(e,t){return e.replace(U_,"#")+t}function B_(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const io=()=>({left:window.scrollX,top:window.scrollY});function V_(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=B_(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Il(e,t){return(history.state?history.state.position-t:-1)+e}const Ti=new Map;function W_(e,t){Ti.set(e,t)}function K_(e){const t=Ti.get(e);return Ti.delete(e),t}function G_(e){return typeof e=="string"||e&&typeof e=="object"}function Zf(e){return typeof e=="string"||typeof e=="symbol"}let Te=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const ed=Symbol("");Te.MATCHER_NOT_FOUND+"",Te.NAVIGATION_GUARD_REDIRECT+"",Te.NAVIGATION_ABORTED+"",Te.NAVIGATION_CANCELLED+"",Te.NAVIGATION_DUPLICATED+"";function ar(e,t){return he(new Error,{type:e,[ed]:!0},t)}function Vt(e,t){return e instanceof Error&&ed in e&&(t==null||!!(e.type&t))}const q_=["params","query","hash"];function Y_(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of q_)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function X_(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&Si(s)):[r&&Si(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function J_(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Ct(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Q_=Symbol(""),xl=Symbol(""),da=Symbol(""),ha=Symbol(""),Li=Symbol("");function vr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function dn(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(ar(Te.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?l(d):G_(d)?l(ar(Te.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),a())},c=o(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function Fo(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(Gf(l)){const u=(l.__vccOpts||l)[t];u&&o.push(dn(u,n,r,i,a,s))}else{let u=l();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const f=b_(c)?c.default:c;i.mods[a]=c,i.components[a]=f;const d=(f.__vccOpts||f)[t];return d&&dn(d,n,r,i,a,s)()}))}}return o}function z_(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iir(u,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(u=>ir(u,l))||s.push(l))}return[n,r,s]}let Z_=()=>location.protocol+"//"+location.host;function td(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),Pl(a,"")}return Pl(n,e)+r+s}function eb(e,t,n,r){let s=[],o=[],i=null;const a=({state:d})=>{const h=td(e,location),_=n.value,m=t.value;let R=0;if(d){if(n.value=h,t.value=d,i&&i===_){i=null;return}R=m?d.position-m.position:0}else r(h);s.forEach(b=>{b(n.value,_,{delta:R,type:Ri.pop,direction:R?R>0?Do.forward:Do.back:Do.unknown})})};function l(){i=n.value}function u(d){s.push(d);const h=()=>{const _=s.indexOf(d);_>-1&&s.splice(_,1)};return o.push(h),h}function c(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(he({},d.state,{scroll:io()}),"")}}function f(){for(const d of o)d();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:u,destroy:f}}function Ml(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?io():null}}function tb(e){const{history:t,location:n}=window,r={value:td(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Z_()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(h){console.error(h),n[c?"replace":"assign"](d)}}function i(l,u){o(l,he({},t.state,Ml(s.value.back,l,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=l}function a(l,u){const c=he({},s.value,t.state,{forward:l,scroll:io()});o(c.current,c,!0),o(l,he({},Ml(r.value,l,null),{position:c.position+1},u),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function nb(e){e=$_(e);const t=tb(e),n=eb(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=he({location:"",base:e,go:r,createHref:j_.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Tn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var xe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(xe||{});const rb={type:Tn.Static,value:""},sb=/[a-zA-Z0-9_]/;function ob(e){if(!e)return[[]];if(e==="/")return[[rb]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=xe.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,u="",c="";function f(){u&&(n===xe.Static?o.push({type:Tn.Static,value:u}):n===xe.Param||n===xe.ParamRegExp||n===xe.ParamRegExpEnd?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Tn.Param,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;at.length?t.length===1&&t[0]===Xe.Static+Xe.Segment?1:-1:0}function nd(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ub={strict:!1,end:!0,sensitive:!1};function fb(e,t,n){const r=lb(ob(e.path),n),s=he(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function db(e,t){const n=[],r=new Map;t=Al(ub,t);function s(f){return r.get(f)}function o(f,d,h){const _=!h,m=$l(f);m.aliasOf=h&&h.record;const R=Al(t,f),b=[m];if("alias"in f){const y=typeof f.alias=="string"?[f.alias]:f.alias;for(const C of y)b.push($l(he({},m,{components:h?h.record.components:m.components,path:C,aliasOf:h?h.record:m})))}let E,g;for(const y of b){const{path:C}=y;if(d&&C[0]!=="/"){const A=d.record.path,L=A[A.length-1]==="/"?"":"/";y.path=d.record.path+(C&&L+C)}if(E=fb(y,d,R),h?h.alias.push(E):(g=g||E,g!==E&&g.alias.push(E),_&&f.name&&!Ul(E)&&i(f.name)),rd(E)&&l(E),m.children){const A=m.children;for(let L=0;L{i(g)}:Ir}function i(f){if(Zf(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=gb(f,n);n.splice(d,0,f),f.record.name&&!Ul(f)&&r.set(f.record.name,f)}function u(f,d){let h,_={},m,R;if("name"in f&&f.name){if(h=r.get(f.name),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f});R=h.record.name,_=he(Hl(d.params,h.keys.filter(g=>!g.optional).concat(h.parent?h.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&Hl(f.params,h.keys.map(g=>g.name))),m=h.stringify(_)}else if(f.path!=null)m=f.path,h=n.find(g=>g.re.test(m)),h&&(_=h.parse(m),R=h.record.name);else{if(h=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f,currentLocation:d});R=h.record.name,_=he({},d.params,f.params),m=h.stringify(_)}const b=[];let E=h;for(;E;)b.unshift(E.record),E=E.parent;return{name:R,path:m,params:_,matched:b,meta:pb(b)}}e.forEach(f=>o(f));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function Hl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function $l(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:hb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function hb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ul(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pb(e){return e.reduce((t,n)=>he(t,n.meta),{})}function gb(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;nd(e,t[o])<0?r=o:n=o+1}const s=mb(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function mb(e){let t=e;for(;t=t.parent;)if(rd(t)&&nd(e,t)===0)return t}function rd({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function jl(e){const t=Fe(da),n=Fe(ha),r=ke(()=>{const l=me(e.to);return t.resolve(l)}),s=ke(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(ir.bind(null,c));if(d>-1)return d;const h=Bl(l[u-2]);return u>1&&Bl(c)===h&&f[f.length-1].path!==h?f.findIndex(ir.bind(null,l[u-2])):d}),o=ke(()=>s.value>-1&&Eb(n.params,r.value.params)),i=ke(()=>s.value>-1&&s.value===n.matched.length-1&&zf(n.params,r.value.params));function a(l={}){if(vb(l)){const u=t[me(e.replace)?"replace":"push"](me(e.to)).catch(Ir);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:ke(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function yb(e){return e.length===1?e[0]:e}const _b=St({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:jl,setup(e,{slots:t}){const n=sn(jl(e)),{options:r}=Fe(da),s=ke(()=>({[Vl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Vl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&yb(t.default(n));return e.custom?o:Ie("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),bb=_b;function vb(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Eb(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Ct(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function Bl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Vl=(e,t,n)=>e??t??n,wb=St({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Fe(Li),s=ke(()=>e.route||r.value),o=Fe(xl,0),i=ke(()=>{let u=me(o);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=ke(()=>s.value.matched[i.value]);gn(xl,ke(()=>i.value+1)),gn(Q_,a),gn(Li,s);const l=et();return at(()=>[l.value,a.value,e.name],([u,c,f],[d,h,_])=>{c&&(c.instances[f]=u,h&&h!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),u&&c&&(!h||!ir(c,h)||!d)&&(c.enterCallbacks[f]||[]).forEach(m=>m(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return Wl(n.default,{Component:d,route:u});const h=f.props[c],_=h?h===!0?u.params:typeof h=="function"?h(u):h:null,R=Ie(d,he({},_,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return Wl(n.default,{Component:R,route:u})||R}}});function Wl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const sd=wb;function Cb(e){const t=db(e.routes,e),n=e.parseQuery||X_,r=e.stringifyQuery||Nl,s=e.history,o=vr(),i=vr(),a=vr(),l=Nn(dt);let u=dt;Bn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=xo.bind(null,H=>""+H),f=xo.bind(null,I_),d=xo.bind(null,Vr);function h(H,Y){let B,Q;return Zf(H)?(B=t.getRecordMatcher(H),Q=Y):Q=H,t.addRoute(Q,B)}function _(H){const Y=t.getRecordMatcher(H);Y&&t.removeRoute(Y)}function m(){return t.getRoutes().map(H=>H.record)}function R(H){return!!t.getRecordMatcher(H)}function b(H,Y){if(Y=he({},Y||l.value),typeof H=="string"){const S=Mo(n,H,Y.path),P=t.resolve({path:S.path},Y),U=s.createHref(S.fullPath);return he(S,P,{params:d(P.params),hash:Vr(S.hash),redirectedFrom:void 0,href:U})}let B;if(H.path!=null)B=he({},H,{path:Mo(n,H.path,Y.path).path});else{const S=he({},H.params);for(const P in S)S[P]==null&&delete S[P];B=he({},H,{params:f(S)}),Y.params=f(Y.params)}const Q=t.resolve(B,Y),ne=H.hash||"";Q.params=c(d(Q.params));const _e=M_(r,he({},H,{hash:A_(ne),path:Q.path})),v=s.createHref(_e);return he({fullPath:_e,hash:ne,query:r===Nl?J_(H.query):H.query||{}},Q,{redirectedFrom:void 0,href:v})}function E(H){return typeof H=="string"?Mo(n,H,l.value.path):he({},H)}function g(H,Y){if(u!==H)return ar(Te.NAVIGATION_CANCELLED,{from:Y,to:H})}function y(H){return L(H)}function C(H){return y(he(E(H),{replace:!0}))}function A(H,Y){const B=H.matched[H.matched.length-1];if(B&&B.redirect){const{redirect:Q}=B;let ne=typeof Q=="function"?Q(H,Y):Q;return typeof ne=="string"&&(ne=ne.includes("?")||ne.includes("#")?ne=E(ne):{path:ne},ne.params={}),he({query:H.query,hash:H.hash,params:ne.path!=null?{}:H.params},ne)}}function L(H,Y){const B=u=b(H),Q=l.value,ne=H.state,_e=H.force,v=H.replace===!0,S=A(B,Q);if(S)return L(he(E(S),{state:typeof S=="object"?he({},ne,S.state):ne,force:_e,replace:v}),Y||B);const P=B;P.redirectedFrom=Y;let U;return!_e&&D_(r,Q,B)&&(U=ar(Te.NAVIGATION_DUPLICATED,{to:P,from:Q}),qe(Q,Q,!0,!1)),(U?Promise.resolve(U):D(P,Q)).catch(M=>Vt(M)?Vt(M,Te.NAVIGATION_GUARD_REDIRECT)?M:nt(M):q(M,P,Q)).then(M=>{if(M){if(Vt(M,Te.NAVIGATION_GUARD_REDIRECT))return L(he({replace:v},E(M.to),{state:typeof M.to=="object"?he({},ne,M.to.state):ne,force:_e}),Y||P)}else M=$(P,Q,!0,v,ne);return W(P,Q,M),M})}function F(H,Y){const B=g(H,Y);return B?Promise.reject(B):Promise.resolve()}function N(H){const Y=Tt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext(H):H()}function D(H,Y){let B;const[Q,ne,_e]=z_(H,Y);B=Fo(Q.reverse(),"beforeRouteLeave",H,Y);for(const S of Q)S.leaveGuards.forEach(P=>{B.push(dn(P,H,Y))});const v=F.bind(null,H,Y);return B.push(v),Ve(B).then(()=>{B=[];for(const S of o.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).then(()=>{B=Fo(ne,"beforeRouteUpdate",H,Y);for(const S of ne)S.updateGuards.forEach(P=>{B.push(dn(P,H,Y))});return B.push(v),Ve(B)}).then(()=>{B=[];for(const S of _e)if(S.beforeEnter)if(Ct(S.beforeEnter))for(const P of S.beforeEnter)B.push(dn(P,H,Y));else B.push(dn(S.beforeEnter,H,Y));return B.push(v),Ve(B)}).then(()=>(H.matched.forEach(S=>S.enterCallbacks={}),B=Fo(_e,"beforeRouteEnter",H,Y,N),B.push(v),Ve(B))).then(()=>{B=[];for(const S of i.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).catch(S=>Vt(S,Te.NAVIGATION_CANCELLED)?S:Promise.reject(S))}function W(H,Y,B){a.list().forEach(Q=>N(()=>Q(H,Y,B)))}function $(H,Y,B,Q,ne){const _e=g(H,Y);if(_e)return _e;const v=Y===dt,S=Bn?history.state:{};B&&(Q||v?s.replace(H.fullPath,he({scroll:v&&S&&S.scroll},ne)):s.push(H.fullPath,ne)),l.value=H,qe(H,Y,B,v),nt()}let X;function te(){X||(X=s.listen((H,Y,B)=>{if(!Lt.listening)return;const Q=b(H),ne=A(Q,Lt.currentRoute.value);if(ne){L(he(ne,{replace:!0,force:!0}),Q).catch(Ir);return}u=Q;const _e=l.value;Bn&&W_(Il(_e.fullPath,B.delta),io()),D(Q,_e).catch(v=>Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_CANCELLED)?v:Vt(v,Te.NAVIGATION_GUARD_REDIRECT)?(L(he(E(v.to),{force:!0}),Q).then(S=>{Vt(S,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&!B.delta&&B.type===Ri.pop&&s.go(-1,!1)}).catch(Ir),Promise.reject()):(B.delta&&s.go(-B.delta,!1),q(v,Q,_e))).then(v=>{v=v||$(Q,_e,!1),v&&(B.delta&&!Vt(v,Te.NAVIGATION_CANCELLED)?s.go(-B.delta,!1):B.type===Ri.pop&&Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),W(Q,_e,v)}).catch(Ir)}))}let se=vr(),K=vr(),J;function q(H,Y,B){nt(H);const Q=K.list();return Q.length?Q.forEach(ne=>ne(H,Y,B)):console.error(H),Promise.reject(H)}function re(){return J&&l.value!==dt?Promise.resolve():new Promise((H,Y)=>{se.add([H,Y])})}function nt(H){return J||(J=!H,te(),se.list().forEach(([Y,B])=>H?B(H):Y()),se.reset()),H}function qe(H,Y,B,Q){const{scrollBehavior:ne}=e;if(!Bn||!ne)return Promise.resolve();const _e=!B&&K_(Il(H.fullPath,0))||(Q||!B)&&history.state&&history.state.scroll||null;return nn().then(()=>ne(H,Y,_e)).then(v=>v&&V_(v)).catch(v=>q(v,H,Y))}const $e=H=>s.go(H);let Rt;const Tt=new Set,Lt={currentRoute:l,listening:!0,addRoute:h,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:R,getRoutes:m,resolve:b,options:e,push:y,replace:C,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:K.add,isReady:re,install(H){H.component("RouterLink",bb),H.component("RouterView",sd),H.config.globalProperties.$router=Lt,Object.defineProperty(H.config.globalProperties,"$route",{enumerable:!0,get:()=>me(l)}),Bn&&!Rt&&l.value===dt&&(Rt=!0,y(s.location).catch(Q=>{}));const Y={};for(const Q in dt)Object.defineProperty(Y,Q,{get:()=>l.value[Q],enumerable:!0});H.provide(da,Lt),H.provide(ha,Dt(Y)),H.provide(Li,l);const B=H.unmount;Tt.add(H),H.unmount=function(){Tt.delete(H),Tt.size<1&&(u=dt,X&&X(),X=null,l.value=dt,Rt=!1,J=!1),B()}}};function Ve(H){return H.reduce((Y,B)=>Y.then(()=>N(B)),Promise.resolve())}return Lt}function od(e){return Fe(ha)}const Sb=/(:\w+)\([^)]+\)/g,Rb=/(:\w+)[?+*]/g,Tb=/:\w+/g,Lb=(e,t)=>t.path.replace(Sb,"$1").replace(Rb,"$1").replace(Tb,n=>e.params[n.slice(1)]?.toString()||""),ki=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Lb(e.route,n));return typeof r=="function"?r(e.route):r},kb=(e,t)=>({default:()=>e?Ie(op,e===!0?{}:e,t):t});function id(e){return Array.isArray(e)?e:[e]}const Ab="modulepreload",Pb=function(e,t){return new URL(e,t).href},Kl={},vt=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let u=function(c){return Promise.all(c.map(f=>Promise.resolve(f).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=u(n.map(c=>{if(c=Pb(c,r),c in Kl)return;Kl[c]=!0;const f=c.endsWith(".css"),d=f?'[rel="stylesheet"]':"";if(r)for(let _=i.length-1;_>=0;_--){const m=i[_];if(m.href===c&&(!f||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${d}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":Ab,f||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),f)return new Promise((_,m)=>{h.addEventListener("load",_),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},Ho=[{name:"index",path:"/",meta:{middleware:"auth"},component:()=>vt(()=>import("./CqyNVJx6.js"),[],import.meta.url)},{name:"login",path:"/login",component:()=>vt(()=>import("./9W9VXtTt.js"),__vite__mapDeps([0,1,2]),import.meta.url)},{name:"garages",path:"/garages",meta:{middleware:"auth"},component:()=>vt(()=>import("./zPyClsoP.js"),[],import.meta.url)},{name:"packages",path:"/packages",meta:{middleware:"auth"},component:()=>vt(()=>import("./ncKxzOzI.js"),__vite__mapDeps([3,4]),import.meta.url)},{name:"permissions",path:"/permissions",meta:{middleware:"auth"},component:()=>vt(()=>import("./BO90Bn6x.js"),[],import.meta.url)}],ad=(e,t)=>({default:()=>e?Ie(ig,e===!0?{}:e,t):t.default?.()}),Ob=/(:\w+)\([^)]+\)/g,Ib=/(:\w+)[?+*]/g,Nb=/:\w+/g;function Gl(e){const t=e?.meta.key??e.path.replace(Ob,"$1").replace(Ib,"$1").replace(Nb,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function xb(e,t){return e===t||t===dt?!1:Gl(e)!==Gl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ql(e){return Array.isArray(e)?e:[e]}function ld(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ql(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ql(n.onBeforeLeave):void 0});return Lf(...t)}const Mb={scrollBehavior(e,t,n){const r=ue(),s=tt().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:cd(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===dt?Yl(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(Yl(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function cd(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Yl(e,t,n,r){return n||(e.hash?{el:e.hash,top:cd(e.hash),behavior:xb(e,t)?r:"instant"}:{left:0,top:0})}const Db={hashMode:!1,scrollBehaviorType:"auto"},cn={...Db,...Mb},Fb=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=On(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=In({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},Hb=e=>{const t=Wf({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return an(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},$b=[Fb,Hb],Ai={auth:()=>vt(()=>import("./DuYZ8wdr.js"),[],import.meta.url)};function Ub(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const u=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(u);return c[0]!=="/"&&(c="/"+c),hl(c,"")}const a=hl(r,e),l=!n||_f(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const jb=Ge({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=so().app.baseURL;const s=cn.history?.(r)??nb(r),o=cn.routes?([t,n]=On(()=>cn.routes(Ho)),t=await t,n(),t??Ho):Ho;let i;const a=Cb({...cn,scrollBehavior:(b,E,g)=>{if(E===dt){i=g;return}if(cn.scrollBehavior){if(a.options.scrollBehavior=cn.scrollBehavior,"scrollRestoration"in window.history){const y=a.beforeEach(()=>{y(),window.history.scrollRestoration="manual"})}return cn.scrollBehavior(b,dt,i||g)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Nn(a.currentRoute.value);a.afterEach((b,E)=>{l.value=E}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=Ub(r,window.location,e.payload.path),c=Nn(a.currentRoute.value),f=()=>{c.value=a.currentRoute.value};a.afterEach((b,E)=>{const g=b.matched.at(-1)?.components?.default,y=E.matched.at(-1)?.components?.default;if(g===y){f();return}b.matched.lengthC.components?.default===E.matched[A]?.components?.default)&&f()});const d={sync:f};for(const b in c.value)Object.defineProperty(d,b,{get:()=>c.value[b],enumerable:!0});e._route=Dt(d),e._middleware||={global:[],named:{}};const h=oo();a.afterEach(async(b,E,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(ty),g&&await e.callHook("page:loading:end")});try{[t,n]=On(()=>a.isReady()),await t,n()}catch(b){[t,n]=On(()=>e.runWithContext(()=>Rn(b))),await t,n()}const _=u!==a.currentRoute.value.fullPath?a.resolve(u):a.currentRoute.value,m=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&u!==e.payload.path&&_f(a.currentRoute.value.path,e.payload.path);f();const R=e.payload.state._layout;return a.beforeEach(async(b,E)=>{await e.callHook("page:loading:start"),b.meta=sn(b.meta),e.isHydrating&&R&&!Ut(b.meta.layout)&&(b.meta.layout=R),e._processingMiddleware=!0;{const g=new Set([...$b,...e._middleware.global]);for(const C of b.matched){const A=C.meta.middleware;if(A)for(const L of id(A))g.add(L)}const y=Wf({path:b.path});if(y.appMiddleware)for(const C in y.appMiddleware)y.appMiddleware[C]?g.add(C):g.delete(C);for(const C of g){const A=typeof C=="string"?e._middleware.named[C]||await Ai[C]?.().then(L=>L.default||L):C;if(!A)throw new Error(`Unknown route middleware: '${C}'.`);try{const L=await e.runWithContext(()=>A(b,E));if(!e.payload.serverRendered&&e.isHydrating&&(L===!1||L instanceof Error)){const F=L||In({status:404,statusText:`Page Not Found: ${u}`});return await e.runWithContext(()=>Rn(F)),!1}if(L===!0)continue;if(L===!1)return L;if(L)return Of(L)&&L.fatal&&await e.runWithContext(()=>Rn(L)),L}catch(L){const F=In(L);return F.fatal&&await e.runWithContext(()=>Rn(F)),F}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(b=>{if(b.matched.length===0&&!h.value)return e.runWithContext(()=>Rn(In({status:404,fatal:!1,statusText:`Page not found: ${b.fullPath}`,data:{path:b.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in _&&(_.name=void 0),m){const b=a.resolve(e.payload.path);"name"in b&&(b.name=void 0),await a.replace({...b,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({..._,force:!0})})}else await a.replace({..._,force:!0});a.options.scrollBehavior=cn.scrollBehavior}catch(b){await e.runWithContext(()=>Rn(b))}}),{provide:{router:a}}}}),Xl=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),U0=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),pa=e=>{const t=ue();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Xl(()=>e())}):Xl(()=>e())},Bb=Ge({name:"nuxt:payload",setup(e){const t=new Set;tt().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await kl(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),pa(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await kl().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Vf,1e3)})}}),Vb=Ge(()=>{const e=tt();pa(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Wb=Ge(e=>{let t;async function n(){let r;try{r=await Vf()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,bl);try{const s=await $fetch(aa("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}pa(()=>{t=setTimeout(n,bl)})});function Kb(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&ci(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=Ur(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=Pn(n.app.baseURL,o.fullPath);Kb({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function Jl(e){return typeof e=="string"?`'${e}'`:new qb().serialize(e)}const qb=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})();function Yb(e,t){return e===t||Jl(e)===Jl(t)}const Xb="$s";function ud(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const s=Xb+n,o=ue(),i=lu(o.payload.state,s);if(i.value===void 0&&r){const a=r();if(ve(a))return o.payload.state[s]=a,a;i.value=a}return i}const Jb=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function Qb(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n=new Jb,r=t||{},s=r.decode||zb;let o=0;for(;o{const t=decodeURIComponent(e),n=Ur(t);return typeof n=="number"&&(!Number.isFinite(n)||String(n)!==t)?t:n},encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},ds=globalThis.cookieStore;function fd(e,t){const n={...tv,...t};n.filter??=u=>u===e;const r=zl(n)||{};let s;n.maxAge!==void 0?s=n.maxAge*1e3:n.expires&&(s=n.expires.getTime()-Date.now());const o=s!==void 0&&s<=0,i=o||r[e]===void 0||r[e]===null,a=_t(o?void 0:r[e]??n.default?.()),l=s&&!o?sv(a,s,n.watch&&n.watch!=="shallow"):et(a);{let u=null;try{!ds&&typeof BroadcastChannel<"u"&&(u=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const c=(_=!1)=>{!_&&(n.readonly||Yb(l.value,r[e]))||(rv(e,l.value,n),r[e]=_t(l.value),u?.postMessage({value:n.encode(l.value)}))},f=_=>{const m=_.refresh?zl(n)?.[e]:n.decode(_.value);d=!0,l.value=m,r[e]=_t(m),nn(()=>{d=!1})};let d=!1;const h=!!dr();if(h&&Nr(()=>{d=!0,c(),u?.close()}),ds){const _=m=>{const R=m.changed.find(E=>E.name===e),b=m.deleted.find(E=>E.name===e);R&&f({value:R.value}),b&&f({value:null})};ds.addEventListener("change",_),h&&Nr(()=>ds.removeEventListener("change",_))}else u&&(u.onmessage=({data:_})=>f(_));n.watch&&at(l,()=>{d||c()},{deep:n.watch!=="shallow"}),i&&c(i)}return l}function zl(e={}){return Qb(document.cookie,e)}function nv(e,t,n={}){return t==null?Ql(e,t,{...n,maxAge:-1}):Ql(e,t,n)}function rv(e,t,n={}){document.cookie=nv(e,t,n)}const Zl=2147483647;function sv(e,t,n){let r,s,o=0;const i=n?et(e):{value:e};return dr()&&Nr(()=>{s?.(),clearTimeout(r)}),Mh((a,l)=>{n&&(s=at(i,l));function u(){const f=t-o,d=f{if(o+=d,o4)return Promise.all(s).then(()=>iv(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}function dd(e){return new URL(globalThis.location.href)}const av=Ge({name:"pinia",setup(e){const t=ny();return e.vueApp.use(t),or(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ue();e.payload.pinia=ae(e.$pinia).state.value,or(void 0)}}}),lv=Ge({name:"nuxt:global-components"}),pn={default:Qo(()=>vt(()=>import("./CC4zKGJo.js"),__vite__mapDeps([5,1,4,2]),import.meta.url).then(e=>e.default||e))},cv=Ge({name:"nuxt:prefetch",setup(e){const t=tt();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof pn[r]=="function"&&await pn[r]()})}),e.hooks.hook("link:prefetch",n=>{if(an(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=id(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof Ai[i]=="function"&&Ai[i]();typeof s=="string"&&s in pn&&ov(pn[s])})}});function uv(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const xs=typeof window<"u",yn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),fv=(e,t,n)=>dv({l:e,k:t,s:n}),dv=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),hd=e=>lo(e)==="[object Date]",Ms=e=>lo(e)==="[object RegExp]",ao=e=>fe(e)&&Object.keys(e).length===0,Ae=Object.assign,hv=Object.create,ye=(e=null)=>hv(e);function ec(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function tc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function pv(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,s,o)=>`${s}="${tc(o)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,s,o)=>`${s}='${tc(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const gv=Object.prototype.hasOwnProperty;function gt(e,t){return gv.call(e,t)}const Le=Array.isArray,Ce=e=>typeof e=="function",G=e=>typeof e=="string",Se=e=>typeof e=="boolean",ce=e=>e!==null&&typeof e=="object",mv=e=>ce(e)&&Ce(e.then)&&Ce(e.catch),pd=Object.prototype.toString,lo=e=>pd.call(e),fe=e=>lo(e)==="[object Object]",yv=e=>e==null?"":Le(e)||fe(e)&&e.toString===pd?JSON.stringify(e,null,2):String(e);function ga(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}const hs=e=>!ce(e)||Le(e);function zn(e,t){if(hs(e)||hs(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(o=>{o!=="__proto__"&&(ce(r[o])&&!ce(s[o])&&(s[o]=Array.isArray(r[o])?[]:ye()),hs(s[o])||hs(r[o])?s[o]=r[o]:n.push({src:r[o],des:s[o]}))})}}function _v(e,t=e.getCurrentLanguage(),n=e.getCurrentDirection()){const r={htmlAttrs:{},link:[],meta:[]};if(e.dir&&(r.htmlAttrs.dir=n),e.lang&&t&&(r.htmlAttrs.lang=t),e.seo){const s=vv(e);r.link=r.link.concat(s,wv(e)),r.meta=r.meta.concat(Cv(e),Sv(e),Rv(e,e.locales.map(o=>o.language||o.code)))}return r}function bv(e){const t=new Map;for(const n of e){if(!n.language){console.warn("Locale `language` ISO code is required to generate alternate link");continue}const[r,s]=n.language.split("-");r&&s&&(n.isCatchallLocale||!t.has(r))&&t.set(r,n),t.set(n.language,n)}return t}function vv(e){if(!e.hreflangLinks)return[];const t=[],n=bv(e.locales);for(const[r,s]of n.entries()){const o=Ev(r,s,e);o&&(t.push(o),e.defaultLocale&&e.defaultLocale===s.code&&t[0].hreflang!=="x-default"&&t.unshift({[e.key]:"i18n-xd",rel:"alternate",href:o.href,hreflang:"x-default"}))}return t}function Ev(e,t,n,r=n.strictCanonicals?n.getRouteWithoutQuery():void 0){const s=n.getLocalizedRoute(t.code,r);if(!s)return;const o=ro(an(s)?s:Pn(n.baseUrl,s),n.strictCanonicals?md(n):{});return{[n.key]:`i18n-alt-${e}`,rel:"alternate",href:o,hreflang:e}}function gd(e,t=e.getCurrentRoute()){const n=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}));return n?ro(Pn(e.baseUrl,n.path),md(e)):""}function wv(e,t=gd(e)){return t?[{[e.key]:"i18n-can",rel:"canonical",href:t}]:[]}function md(e,t=e.getCurrentRoute()){const r=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}))?.query??{},s={};for(const o of e.canonicalQueries.filter(i=>i in r)){s[o]??=[];for(const i of Tv(r[o]))s[o].push(i||"")}return s}function Cv(e,t=gd(e)){return t?[{[e.key]:"i18n-og-url",property:"og:url",content:t}]:[]}function Sv(e,t=e.getCurrentLanguage()){return t?[{[e.key]:"i18n-og",property:"og:locale",content:yd(t)}]:[]}function Rv(e,t,n=e.getCurrentLanguage()){return t.filter(s=>s&&s!==n).map(s=>({[e.key]:`i18n-og-alt-${s}`,property:"og:locale:alternate",content:yd(s)}))}function yd(e=""){return e.replace(/-/g,"_")}function Tv(e){return Array.isArray(e)?e:[e]}function _d(e,t,n=e.getLocale()){if(G(t)&&an(t,{acceptRelative:!0}))return t;try{return vd(e,t,n).fullPath}catch{return""}}function bd(e,t,n=e.getLocale()){try{return vd(e,t,n)}catch{return}}function Lv(e){if(!G(e))return Ae({},e);if(e[0]==="/"){const{pathname:t,search:n,hash:r}=fi(e);return{path:t,query:sa(n),hash:r}}return{name:e}}function vd(e,t,n){const r=Lv(t),s=e.router.resolve(e.resolveLocalizedRouteObject(r,n));return s.name?s:e.router.resolve(t)}function Ed(e,t,n=e.router.currentRoute.value){const r=e.getRouteBaseName(n);if(!r)return"";const s={name:r,params:Ae({},n.params,e.getLocalizedDynamicParams(t)),fullPath:n.fullPath,query:n.query,hash:n.hash,path:n.path,meta:n.meta},o=_d(e,s,t);return e.afterSwitchLocalePath(o,t)}function kv(e,t,n=e.getLocale(),r=e.getLocales(),s=e.getBaseUrl()){const o=r.find(a=>a.code===n)||{},i=typeof t.seo=="object"&&t.seo?.canonicalQueries||[];return s||console.warn("I18n `baseUrl` is required to generate valid SEO tag links."),{...t,key:"id",locales:r,baseUrl:s,canonicalQueries:i,hreflangLinks:e.routingOptions.hreflangLinks,defaultLocale:e.routingOptions.defaultLocale,strictCanonicals:e.routingOptions.strictCanonicals,getRouteBaseName:e.getRouteBaseName,getCurrentRoute:()=>e.router.currentRoute.value,getCurrentLanguage:()=>o.language,getCurrentDirection:()=>o.dir||"ltr",getLocaleRoute:a=>bd(e,a),getLocalizedRoute:(a,l)=>Ed(e,a,l),getRouteWithoutQuery:()=>{try{return Ae({},e.router.resolve({query:{}}),{meta:e.router.currentRoute.value.meta})}catch{return}}}}function Av(e,{dir:t=!0,lang:n=!0,seo:r=!0}){return _v(kv(e,{dir:t,lang:n,seo:r}))}function Pv(e=0){return t=>{const s=(typeof t=="string"?t:t.pathname).split("?")[0].split("/");return s[0]===""&&s.shift(),s.length>e&&s[e]||""}}const wd="___";function Cd(e){return typeof e=="string"?e:e!=null?e.toString():""}function $o(e){return Cd(typeof e=="object"?e?.name:e).split(wd)[0]}const Ov=Pv(0),Pi=e=>Ov(e),Iv=e=>e.split(wd).at(1)??"";function Nv(e){return String(typeof e!="object"?e:e?.name||e?.path||"")}function xv(e){const t=Nv(e);if(t[0]==="/")return Pi(t);const n=Iv(t);return n||(typeof e=="object"&&e?.path?Pi(String(e.path)):"")}function Mv(e){return t=>Cd(t)}function Dv(e){return t=>t}const Wr=["hu","en"],Ds={hu:[{key:"locale_hu_46json_ee06c965",load:()=>vt(()=>import("./DP_n9i02.js"),[],import.meta.url),cache:!0}],en:[{key:"locale_en_46json_0b63539c",load:()=>vt(()=>import("./CgyjcGAF.js"),[],import.meta.url),cache:!0}]},Fv=[],es=[{code:"hu",iso:"hu-HU",name:"Magyar",language:void 0},{code:"en",iso:"en-GB",name:"English",language:void 0}],Sd=new Map,Hv=Tf((e,t,n)=>{if(t==="messages"||t==="datetimeFormats"||t==="numberFormats")return e[t]??=ye(null),zn(n,e[t]),!0});async function $v(e){const t=ue();let n={messages:ye(null)};for(const r of e){const s=await r().then(i=>Rd(i)?i.default:i),o=Ce(s)?await t.runWithContext(()=>s()):s;n=Hv(ye(null),o,n)}return n.fallbackLocale??=!1,n}const Rd=e=>lo(e)==="[object Module]";async function Uv(e,t){const n=ue();try{const r=await n.runWithContext(t.load).then(s=>Rd(s)?s.default:s);return Ce(r)?await n.runWithContext(()=>r(e)):r}catch(r){throw new Error(`Failed loading locale (${e}): `+r.message)}}async function jv(e,t=[]){const n=ue(),r=await Promise.all(t.map(async o=>{const i=Bv(o),a=i||await n.runWithContext(()=>Uv(e,o));return!i&&o.cache!==!1&&Sd.set(o.key,{ttl:Date.now()+86400*1e3,value:a}),a})),s={};for(const o of r)zn(o,s);return s}function Bv(e){if(e.cache===!1)return;const t=Sd.get(e.key);if(t!=null)return t.ttl>Date.now()?t.value:void 0}function ma(e){return e!=null&&"global"in e&&"mode"in e?e.global:e}function ps(e){const t=ma(e);return"__composer"in t?t.__composer:t}function co(e,t){return e?e.$config.public.i18n:so().public.i18n}function uo(e){const t=co(e).detectBrowserLanguage,n=t||{};return{...n,enabled:!!t,cookieKey:n.cookieKey||"i18n_redirected"}}function Vv(e){if(e)return{path:"/"+(G(e)?e:e.path).replace(/^\//,""),code:!G(e)&&e.statusCode||302}}function Wv(e){return Array.isArray(e)?e:[e]}function Kv(e,t,n){const r=(o="")=>o.replace(/https?:\/\//,""),s=e.filter(o=>r(o.domain)===t||Wv(o.domains).includes(t));return s.length<=1?s[0]?.code:s.find(o=>o.code===n)?.code||s.find(o=>o.defaultForDomains?.includes(t)??o.domainDefault)?.code}function Gv(e,t,n){const r=es.find(o=>o.code===n),s=e?.[n]?.domain||r?.domain||r?.domains?.find(o=>o===t.host);if(s)return an(s,{strict:!0})?s:t.protocol+"//"+s}function qv(e){const t={};for(const n of Wr){const r=Yv(e,[n]),s=Xv(n,r);t[n]={fallbacks:r,cacheable:s}}return t}function Yv(e,t){if(e===!1)return[];if(Le(e))return e;let n=[];if(G(e))return t.every(s=>s!==e)&&n.push(e),n;const r=[...t,"default"];for(const s of r)s in e&&(n=[...n,...e[s].filter(Boolean)]);return n}function nc(e){return Ds[e]!=null&&Ds[e].every(t=>t.cache!==!1)}function Xv(e,t){return nc(e)&&t.every(n=>nc(n))}function Jv(e){return es.find(t=>!!t.defaultForDomains?.includes(e))?.code}const Zn=e=>Wr.includes(e||""),rc=e=>Zn(e)?e:void 0;var Qv={hu:"349b7781",en:"349b7781"};const Td=()=>ud("i18n:cached-locale-configs",()=>{}),Ld=()=>ud("i18n:resolved-locale",()=>"");function zv({cookieCrossOrigin:e,cookieDomain:t,cookieSecure:n,cookieKey:r}){const s=new Date;return fd(r||"i18n_redirected",{path:"/",readonly:!1,expires:new Date(s.setDate(s.getDate()+365)),sameSite:e?"none":"lax",domain:t||void 0,secure:e||n})}function Zv(e,t,n){const r=ma(t),s=co(e),o=uo(e),i=Td(),a=zv(o),l=new Set,u=R=>i.value[R],c=R=>Gv(s.domainLocales,dd(),R),f=hE(e,s.baseUrl),d=Ld(),h=async R=>{const b=u(R)?.fallbacks??[];b.includes(R)||b.push(R);for(const E of b){const g=await e.runWithContext(()=>jv(E,Ds[E]));r.mergeLocaleMessage(E,g)}},_=async R=>{if(!(R in Ds))return;const b=u(R)?.cacheable?{}:{"Cache-Control":"no-cache"},g=Pn("","/_i18n",Qv[R],R,"messages.json"),y=await $fetch(g,{headers:b});for(const C of Object.keys(y))r.mergeLocaleMessage(C,y[C])},m={vueI18n:t,initial:!0,preloaded:!1,config:s,rootRedirect:Vv(s.rootRedirect),redirectStatusCode:s.redirectStatusCode??302,dynamicResourcesSSG:!1,getDefaultLocale:()=>n,getLocale:()=>me(r.locale),setLocale:async R=>{const b=m.getLocale();R===b||!Zn(R)||(ve(r.locale)?r.locale.value=R:r.locale=R,await e.callHook("i18n:localeSwitched",{newLocale:R,oldLocale:b}),d.value=R)},setLocaleSuspend:async R=>{Zn(R)&&(m.vueI18n.__pendingLocale=R,m.vueI18n.__pendingLocalePromise=new Promise(b=>{m.vueI18n.__resolvePendingLocalePromise=async()=>{m.setCookieLocale(R),await m.setLocale(R),m.vueI18n.__pendingLocale=void 0,b()}}),(e.isHydrating||!m.config.skipSettingLocaleOnNavigate)&&await m.vueI18n.__resolvePendingLocalePromise?.())},getLocales:()=>me(r.locales).map(R=>G(R)?{code:R}:R),setCookieLocale:R=>{o.useCookie&&Zn(R)&&(a.value=R)},getBaseUrl:R=>Pn(R&&c(R)||f(),e.$config.app.baseURL),loadMessages:async R=>{if(!(e.isHydrating&&l.has(R)))try{return m.dynamicResourcesSSG?await h(R):await _(R)}catch(b){console.warn(`Failed to load messages for locale "${R}"`,b)}finally{l.add(R)}},composableCtx:void 0};return m.composableCtx=cE(m,e),m}function ya(e){if(e._nuxtI18n==null)throw new Error("Nuxt I18n context has not been set up yet.");return e._nuxtI18n}function eE(e,t){const n=[];for(const[r,s]of t.entries()){const o=e.find(i=>i.language?.toLowerCase()===s.toLowerCase());if(o){n.push({code:o.code,score:1-r/t.length});break}}for(const[r,s]of t.entries()){const o=s.split("-")[0].toLowerCase(),i=e.find(a=>a.language?.split("-")[0].toLowerCase()===o);if(i){n.push({code:i.code,score:.999-r/t.length});break}}return n}function tE(e,t){return e.score===t.score?t.code.length-e.code.length:t.score-e.score}function nE(e,t){return eE(e.map(r=>({code:r.code,language:r.language||r.code})),t).sort(tE).at(0)?.code??""}const rE=(e,t)=>fd(t).value||void 0,sE=(e,t)=>xv(t),oE=e=>nE(es,navigator.languages),iE=(e,t,n)=>{const r=new URL(window.location.href).host,s=es.map(o=>({...o,domain:n[o.code]?.domain??o.domain}));return Kv(s,r,Pi(t))},_a=(e,t,n)=>{const r=co(n);return{cookie:()=>rE(e,t.cookieKey),header:()=>{},navigator:()=>oE(),host:s=>iE(e,s,r.domainLocales),route:s=>sE(e,s)}},aE=e=>!!e.path&&!e.name;function fo(e){const t=e?._nuxtI18n?.composableCtx;if(!t)throw new Error("i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.");return t}const lE=Br;function cE(e,t=ue()){const n=tt();_a(void 0,uo(t),t);const r=e.getDefaultLocale(),s=Mv();function o(u,c){u.name=$o(u.name||n.currentRoute.value);const f=s(u.name,c);return n.hasRoute(f)&&(u.name=f),u.name=f,u}const i=Dv();function a(u,c){const f=i(u,c),d=$o(f);if(d){const h=s(d,c);return n.hasRoute(h),f.name=h,f}return f.path=lE(f.path,!0),f}const l={router:n,_head:void 0,get head(){return this._head??=s_({}),this._head},metaState:{htmlAttrs:{},meta:[],link:[]},seoSettings:{dir:!1,lang:!1,seo:!1},localePathPayload:uE(),routingOptions:{defaultLocale:r,strictCanonicals:e.config.experimental.alternateLinkCanonicalQueries??!0,hreflangLinks:!1},getLocale:e.getLocale,getLocales:e.getLocales,getBaseUrl:e.getBaseUrl,getRouteBaseName:$o,getRouteLocalizedParams:()=>n.currentRoute.value.meta.nuxtI18nInternal??{},getLocalizedDynamicParams:u=>l.getRouteLocalizedParams()?.[u],afterSwitchLocalePath:(u,c)=>(l.getRouteLocalizedParams(),u),resolveLocalizedRouteObject:(u,c)=>aE(u)?a(u,c):o(u,c)};return l}function uE(e=ue()){const t=document.querySelector(`[data-nuxt-i18n-slp="${e._id}"]`)?.textContent;return JSON.parse(t||"{}")}async function kd(e,t){const n=ya(e),r=n.getLocale();if(t===r&&!n.initial&&(!n.vueI18n.__pendingLocale||n.vueI18n.__pendingLocale===t))return t;const s={oldLocale:r,newLocale:t,initialSetup:n.initial,context:e};let o=await e.callHook("i18n:beforeLocaleSwitch",s);return o!=null,o??=s.newLocale,Zn(o)&&(t=o),await n.loadMessages(t),await n.setLocaleSuspend(t),t}function fE(e,t,n){return!1}function dE(e,t){const n=uo(e),r=_a(void 0,n,e),s=ya(e),o=G(t)?t:t.path;function*i(){s.initial&&n.enabled&&!fE(n,o,r.route(o))&&(yield r.cookie(),yield r.header(),yield r.navigator(),yield n.fallbackLocale)}for(const a of i())if(a&&Zn(a))return a;return s.getLocale()||s.getDefaultLocale()||""}function hE(e,t,n,r){return Ce(t)?()=>t(e):()=>t??""}function pE(e,t,n){return{line:e,column:t,offset:n}}function Oi(e,t,n){return{start:e,end:t}}const pe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},gE=17;function ho(e,t,n={}){const{domain:r,messages:s,args:o}=n,i=e,a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=r,a}function mE(e){throw e}const At=" ",yE="\r",We=` -`,_E="\u2028",bE="\u2029";function vE(e){const t=e;let n=0,r=1,s=1,o=0;const i=L=>t[L]===yE&&t[L+1]===We,a=L=>t[L]===We,l=L=>t[L]===bE,u=L=>t[L]===_E,c=L=>i(L)||a(L)||l(L)||u(L),f=()=>n,d=()=>r,h=()=>s,_=()=>o,m=L=>i(L)||l(L)||u(L)?We:t[L],R=()=>m(n),b=()=>m(n+o);function E(){return o=0,c(n)&&(r++,s=0),i(n)&&n++,n++,s++,t[n]}function g(){return i(n+o)&&o++,o++,t[n+o]}function y(){n=0,r=1,s=1,o=0}function C(L=0){o=L}function A(){const L=n+o;for(;L!==n;)E();o=0}return{index:f,line:d,column:h,peekOffset:_,charAt:m,currentChar:R,currentPeek:b,next:E,peek:g,reset:y,resetPeek:C,skipToPeek:A}}const Wt=void 0,EE=".",sc="'",wE="tokenizer";function CE(e,t={}){const n=t.location!==!1,r=vE(e),s=()=>r.index(),o=()=>pE(r.line(),r.column(),r.index()),i=o(),a=s(),l={currentType:13,offset:a,startLoc:i,endLoc:i,lastType:13,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function f(p,w,k,...O){const x=u();if(w.column+=k,w.offset+=k,c){const j=n?Oi(x.startLoc,w):null,T=ho(p,j,{domain:wE,args:O});c(T)}}function d(p,w,k){p.endLoc=o(),p.currentType=w;const O={type:w};return n&&(O.loc=Oi(p.startLoc,p.endLoc)),k!=null&&(O.value=k),O}const h=p=>d(p,13);function _(p,w){return p.currentChar()===w?(p.next(),w):(f(pe.EXPECTED_TOKEN,o(),0,w),"")}function m(p){let w="";for(;p.currentPeek()===At||p.currentPeek()===We;)w+=p.currentPeek(),p.peek();return w}function R(p){const w=m(p);return p.skipToPeek(),w}function b(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w===95}function E(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=48&&w<=57}function g(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function y(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()==="-"?p.peek():p.currentPeek(),x=E(O);return p.resetPeek(),x}function C(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()===sc;return p.resetPeek(),O}function A(p,w){const{currentType:k}=w;if(k!==7)return!1;m(p);const O=p.currentPeek()===".";return p.resetPeek(),O}function L(p,w){const{currentType:k}=w;if(k!==8)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function F(p,w){const{currentType:k}=w;if(!(k===7||k===11))return!1;m(p);const O=p.currentPeek()===":";return p.resetPeek(),O}function N(p,w){const{currentType:k}=w;if(k!==9)return!1;const O=()=>{const j=p.currentPeek();return j==="{"?b(p.peek()):j==="@"||j==="|"||j===":"||j==="."||j===At||!j?!1:j===We?(p.peek(),O()):W(p,!1)},x=O();return p.resetPeek(),x}function D(p){m(p);const w=p.currentPeek()==="|";return p.resetPeek(),w}function W(p,w=!0){const k=(x=!1,j="")=>{const T=p.currentPeek();return T==="{"||T==="@"||!T?x:T==="|"?!(j===At||j===We):T===At?(p.peek(),k(!0,At)):T===We?(p.peek(),k(!0,We)):!0},O=k();return w&&p.resetPeek(),O}function $(p,w){const k=p.currentChar();return k===Wt?Wt:w(k)?(p.next(),k):null}function X(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36}function te(p){return $(p,X)}function se(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36||w===45}function K(p){return $(p,se)}function J(p){const w=p.charCodeAt(0);return w>=48&&w<=57}function q(p){return $(p,J)}function re(p){const w=p.charCodeAt(0);return w>=48&&w<=57||w>=65&&w<=70||w>=97&&w<=102}function nt(p){return $(p,re)}function qe(p){let w="",k="";for(;w=q(p);)k+=w;return k}function $e(p){let w="";for(;;){const k=p.currentChar();if(k==="\\"){const O=p.peek();O==="{"||O==="}"||O==="@"||O==="|"||O==="\\"?(w+=k+O,p.next(),p.next()):(p.resetPeek(),w+=k,p.next())}else{if(k==="{"||k==="}"||k==="@"||k==="|"||!k)break;if(k===At||k===We)if(W(p))w+=k,p.next();else{if(D(p))break;w+=k,p.next()}else w+=k,p.next()}}return w}function Rt(p){R(p);let w="",k="";for(;w=K(p);)k+=w;const O=p.currentChar();if(O&&O!=="}"&&O!==Wt&&O!==At&&O!==We&&O!==" "){const x=Q(p);return f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k+x),k+x}return p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k}function Tt(p){R(p);let w="";return p.currentChar()==="-"?(p.next(),w+=`-${qe(p)}`):w+=qe(p),p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w}function Lt(p){return p!==sc&&p!==We}function Ve(p){R(p),_(p,"'");let w="",k="";for(;w=$(p,Lt);)w==="\\"?k+=H(p):k+=w;const O=p.currentChar();return O===We||O===Wt?(f(pe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),O===We&&(p.next(),_(p,"'")),k):(_(p,"'"),k)}function H(p){const w=p.currentChar();switch(w){case"\\":case"'":return p.next(),`\\${w}`;case"u":return Y(p,w,4);case"U":return Y(p,w,6);default:return f(pe.UNKNOWN_ESCAPE_SEQUENCE,o(),0,w),""}}function Y(p,w,k){_(p,w);let O="";for(let x=0;x{const O=p.currentChar();return O==="{"||O==="@"||O==="|"||O==="("||O===")"||!O||O===At?k:(k+=O,p.next(),w(k))};return w("")}function v(p){R(p);const w=_(p,"|");return R(p),w}function S(p,w){let k=null;switch(p.currentChar()){case"{":return w.braceNest>=1&&f(pe.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),p.next(),k=d(w,2,"{"),R(p),w.braceNest++,k;case"}":return w.braceNest>0&&w.currentType===2&&f(pe.EMPTY_PLACEHOLDER,o(),0),p.next(),k=d(w,3,"}"),w.braceNest--,w.braceNest>0&&R(p),w.inLinked&&w.braceNest===0&&(w.inLinked=!1),k;case"@":return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=P(p,w)||h(w),w.braceNest=0,k;default:{let x=!0,j=!0,T=!0;if(D(p))return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(w.braceNest>0&&(w.currentType===4||w.currentType===5||w.currentType===6))return f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w.braceNest=0,U(p,w);if(x=g(p,w))return k=d(w,4,Rt(p)),R(p),k;if(j=y(p,w))return k=d(w,5,Tt(p)),R(p),k;if(T=C(p,w))return k=d(w,6,Ve(p)),R(p),k;if(!x&&!j&&!T)return k=d(w,12,Q(p)),f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k.value),R(p),k;break}}return k}function P(p,w){const{currentType:k}=w;let O=null;const x=p.currentChar();switch((k===7||k===8||k===11||k===9)&&(x===We||x===At)&&f(pe.INVALID_LINKED_FORMAT,o(),0),x){case"@":return p.next(),O=d(w,7,"@"),w.inLinked=!0,O;case".":return R(p),p.next(),d(w,8,".");case":":return R(p),p.next(),d(w,9,":");default:return D(p)?(O=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,O):A(p,w)||F(p,w)?(R(p),P(p,w)):L(p,w)?(R(p),d(w,11,ne(p))):N(p,w)?(R(p),x==="{"?S(p,w)||O:d(w,10,_e(p))):(k===7&&f(pe.INVALID_LINKED_FORMAT,o(),0),w.braceNest=0,w.inLinked=!1,U(p,w))}}function U(p,w){let k={type:13};if(w.braceNest>0)return S(p,w)||h(w);if(w.inLinked)return P(p,w)||h(w);switch(p.currentChar()){case"{":return S(p,w)||h(w);case"}":return f(pe.UNBALANCED_CLOSING_BRACE,o(),0),p.next(),d(w,3,"}");case"@":return P(p,w)||h(w);default:{if(D(p))return k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(W(p))return d(w,0,$e(p));break}}return k}function M(){const{currentType:p,offset:w,startLoc:k,endLoc:O}=l;return l.lastType=p,l.lastOffset=w,l.lastStartLoc=k,l.lastEndLoc=O,l.offset=s(),l.startLoc=o(),r.currentChar()===Wt?d(l,13):U(r,l)}return{nextToken:M,currentOffset:s,currentPosition:o,context:u}}const SE="parser",RE=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g,TE=/\\([\\@{}|])/g;function LE(e,t){return t}function kE(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function AE(e={}){const t=e.location!==!1,{onError:n}=e;function r(b,E,g,y,...C){const A=b.currentPosition();if(A.offset+=y,A.column+=y,n){const L=t?Oi(g,A):null,F=ho(E,L,{domain:SE,args:C});n(F)}}function s(b,E,g){const y={type:b};return t&&(y.start=E,y.end=E,y.loc={start:g,end:g}),y}function o(b,E,g,y){t&&(b.end=E,b.loc&&(b.loc.end=g))}function i(b,E){const g=b.context(),y=s(3,g.offset,g.startLoc);return y.value=E.replace(TE,LE),o(y,b.currentOffset(),b.currentPosition()),y}function a(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(5,y,C);return A.index=parseInt(E,10),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function l(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(4,y,C);return A.key=E,b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function u(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(9,y,C);return A.value=E.replace(RE,kE),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function c(b){const E=b.nextToken(),g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(8,y,C);return E.type!==11?(r(b,pe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),A.value="",o(A,y,C),{nextConsumeToken:E,node:A}):(E.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Pt(E)),A.value=E.value||"",o(A,b.currentOffset(),b.currentPosition()),{node:A})}function f(b,E){const g=b.context(),y=s(7,g.offset,g.startLoc);return y.value=E,o(y,b.currentOffset(),b.currentPosition()),y}function d(b){const E=b.context(),g=s(6,E.offset,E.startLoc);let y=b.nextToken();if(y.type===8){const C=c(b);g.modifier=C.node,y=C.nextConsumeToken||b.nextToken()}switch(y.type!==9&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),y=b.nextToken(),y.type===2&&(y=b.nextToken()),y.type){case 10:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=f(b,y.value||"");break;case 4:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=l(b,y.value||"");break;case 5:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=a(b,y.value||"");break;case 6:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=u(b,y.value||"");break;default:{r(b,pe.UNEXPECTED_EMPTY_LINKED_KEY,E.lastStartLoc,0);const C=b.context(),A=s(7,C.offset,C.startLoc);return A.value="",o(A,C.offset,C.startLoc),g.key=A,o(g,C.offset,C.startLoc),{nextConsumeToken:y,node:g}}}return o(g,b.currentOffset(),b.currentPosition()),{node:g}}function h(b){const E=b.context(),g=E.currentType===1?b.currentOffset():E.offset,y=E.currentType===1?E.endLoc:E.startLoc,C=s(2,g,y);C.items=[];let A=null;do{const N=A||b.nextToken();switch(A=null,N.type){case 0:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(i(b,N.value||""));break;case 5:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(a(b,N.value||""));break;case 4:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(l(b,N.value||""));break;case 6:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(u(b,N.value||""));break;case 7:{const D=d(b);C.items.push(D.node),A=D.nextConsumeToken||null;break}}}while(E.currentType!==13&&E.currentType!==1);const L=E.currentType===1?E.lastOffset:b.currentOffset(),F=E.currentType===1?E.lastEndLoc:b.currentPosition();return o(C,L,F),C}function _(b,E,g,y){const C=b.context();let A=y.items.length===0;const L=s(1,E,g);L.cases=[],L.cases.push(y);do{const F=h(b);A||(A=F.items.length===0),L.cases.push(F)}while(C.currentType!==13);return A&&r(b,pe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),o(L,b.currentOffset(),b.currentPosition()),L}function m(b){const E=b.context(),{offset:g,startLoc:y}=E,C=h(b);return E.currentType===13?C:_(b,g,y,C)}function R(b){const E=CE(b,Ae({},e)),g=E.context(),y=s(0,g.offset,g.startLoc);return t&&y.loc&&(y.loc.source=b),y.body=m(E),e.onCacheKey&&(y.cacheKey=e.onCacheKey(b)),g.currentType!==13&&r(E,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,b[g.offset]||""),o(y,E.currentOffset(),E.currentPosition()),y}return{parse:R}}function Pt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function PE(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:o=>(n.helpers.add(o),o)}}function oc(e,t){for(let n=0;nic(n)),e}function ic(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(m,R){i.code+=m}function u(m,R=!0){const b=R?r:"";l(s?b+" ".repeat(m):b)}function c(m=!0){const R=++i.indentLevel;m&&u(R)}function f(m=!0){const R=--i.indentLevel;m&&u(R)}function d(){u(i.indentLevel)}return{context:a,push:l,indent:c,deindent:f,newline:d,helper:m=>`_${m}`,needIndent:()=>i.needIndent}}function xE(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),lr(e,t.key),t.modifier?(e.push(", "),lr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function ME(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let o=0;o1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let o=0;o{const n=G(t.mode)?t.mode:"normal",r=G(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,o=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=NE(e,{filename:r,breakLineCode:s,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),i.length>0&&(a.push(`const { ${ga(i.map(c=>`${c}: _${c}`),", ")} } = ctx`),a.newline()),a.push("return "),lr(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:l,map:u}=a.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function $E(e,t={}){const n=Ae({},t),r=!!n.jit,s=!!n.minify,o=n.optimize==null?!0:n.optimize,a=AE(n).parse(e);return r?(o&&IE(a),s&&Vn(a),{ast:a,code:""}):(OE(a,n),HE(a,n))}function $t(e){return ce(e)&&va(e)===0&&(gt(e,"b")||gt(e,"body"))}const Ad=["b","body"];function UE(e){return _n(e,Ad)}const Pd=["c","cases"];function jE(e){return _n(e,Pd,[])}const Od=["s","static"];function BE(e){return _n(e,Od)}const Id=["i","items"];function VE(e){return _n(e,Id,[])}const Nd=["t","type"];function va(e){return _n(e,Nd)}const xd=["v","value"];function gs(e,t){const n=_n(e,xd);if(n!=null)return n;throw Kr(t)}const Md=["m","modifier"];function WE(e){return _n(e,Md)}const Dd=["k","key"];function KE(e){const t=_n(e,Dd);if(t)return t;throw Kr(6)}function _n(e,t,n){for(let r=0;rGE(n,e)}function GE(e,t){const n=UE(t);if(n==null)throw Kr(0);if(va(n)===1){const o=jE(n);return e.plural(o.reduce((i,a)=>[...i,ac(e,a)],[]))}else return ac(e,n)}function ac(e,t){const n=BE(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=VE(t).reduce((s,o)=>[...s,Ii(e,o)],[]);return e.normalize(r)}}function Ii(e,t){const n=va(t);switch(n){case 3:return gs(t,n);case 9:return gs(t,n);case 4:{const r=t;if(gt(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(gt(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw Kr(n)}case 5:{const r=t;if(gt(r,"i")&&Ne(r.i))return e.interpolate(e.list(r.i));if(gt(r,"index")&&Ne(r.index))return e.interpolate(e.list(r.index));throw Kr(n)}case 6:{const r=t,s=WE(r),o=KE(r);return e.linked(Ii(e,o),s?Ii(e,s):void 0,e.type)}case 7:return gs(t,n);case 8:return gs(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const qE=e=>e;let ms=ye();function YE(e,t={}){let n=!1;const r=t.onError||mE;return t.onError=s=>{n=!0,r(s)},{...$E(e,t),detectError:n}}function XE(e,t){if(G(e)){Se(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||qE)(e),s=ms[r];if(s)return s;const{ast:o,detectError:i}=YE(e,{...t,location:!1,jit:!0}),a=Uo(o);return i?a:ms[r]=a}else{const n=e.cacheKey;if(n){const r=ms[n];return r||(ms[n]=Uo(e))}else return Uo(e)}}const Xt={INVALID_ARGUMENT:gE,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},JE=24;function Jt(e){return ho(e,null,void 0)}function Ea(e,t){return t.locale!=null?lc(t.locale):lc(e.locale)}let jo;function lc(e){if(G(e))return e;if(Ce(e)){if(e.resolvedOnce&&jo!=null)return jo;if(e.constructor.name==="Function"){const t=e();if(mv(t))throw Jt(Xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return jo=t}else throw Jt(Xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Jt(Xt.NOT_SUPPORT_LOCALE_TYPE)}function QE(e,t,n){return[...new Set([n,...Le(t)?t:ce(t)?Object.keys(t):G(t)?[t]:[n]])]}function Ni(e,t,n){const r=G(n)?n:Fs,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let o=s.__localeChainCache.get(r);if(!o){o=[];let i=[n];for(;Le(i);)i=cc(o,i,t);const a=Le(t)||!fe(t)?t:t.default?t.default:null;i=G(a)?[a]:a,Le(i)&&cc(o,i,!1),s.__localeChainCache.set(r,o)}return o}function cc(e,t,n){let r=!0;for(let s=0;s{i===void 0?i=a:i+=a},d[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,i===void 0||(i=sw(i),i===!1))return!1;d[1]()}};function h(){const _=e[n+1];if(r===5&&_==="'"||r===6&&_==='"')return n++,a="\\"+_,d[0](),!0}for(;r!==null;)if(n++,o=e[n],!(o==="\\"&&h())){if(l=rw(o),f=bn[r],u=f[l]||f.l||8,u===8||(r=u[0],u[1]!==void 0&&(c=d[u[1]],c&&(a=o,c()===!1))))return;if(r===7)return t}}const uc=new Map;function iw(e,t){return ce(e)?e[t]:null}function aw(e,t){if(!ce(e))return null;let n=uc.get(t);if(n||(n=ow(t),n&&uc.set(t,n)),!n)return null;const r=n.length;let s=e,o=0;for(;o`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function cw(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?fc(e):t==="vnode"&&ce(e)&&"__v_isVNode"in e?fc(e.children):e}}let Hd;function uw(e){Hd=e}let $d;function fw(e){$d=e}let Ud;function dw(e){Ud=e}let jd=null;const dc=e=>{jd=e},hw=()=>jd;let hc=0;function pw(e={}){const t=Ce(e.onWarn)?e.onWarn:uv,n=G(e.version)?e.version:lw,r=G(e.locale)||Ce(e.locale)?e.locale:Fs,s=Ce(r)?Fs:r,o=Le(e.fallbackLocale)||fe(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=fe(e.messages)?e.messages:Bo(s),a=fe(e.datetimeFormats)?e.datetimeFormats:Bo(s),l=fe(e.numberFormats)?e.numberFormats:Bo(s),u=Ae(ye(),e.modifiers,cw()),c=e.pluralRules||ye(),f=Ce(e.missing)?e.missing:null,d=Se(e.missingWarn)||Ms(e.missingWarn)?e.missingWarn:!0,h=Se(e.fallbackWarn)||Ms(e.fallbackWarn)?e.fallbackWarn:!0,_=!!e.fallbackFormat,m=!!e.unresolving,R=Ce(e.postTranslation)?e.postTranslation:null,b=fe(e.processor)?e.processor:null,E=Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,y=Ce(e.messageCompiler)?e.messageCompiler:Hd,C=Ce(e.messageResolver)?e.messageResolver:$d||iw,A=Ce(e.localeFallbacker)?e.localeFallbacker:Ud||QE,L=ce(e.fallbackContext)?e.fallbackContext:void 0,F=e,N=ce(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,D=ce(F.__numberFormatters)?F.__numberFormatters:new Map,W=ce(F.__meta)?F.__meta:{};hc++;const $={version:n,cid:hc,locale:r,fallbackLocale:o,messages:i,modifiers:u,pluralRules:c,missing:f,missingWarn:d,fallbackWarn:h,fallbackFormat:_,unresolving:m,postTranslation:R,processor:b,warnHtmlMessage:E,escapeParameter:g,messageCompiler:y,messageResolver:C,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:W};return $.datetimeFormats=a,$.numberFormats=l,$.__datetimeFormatters=N,$.__numberFormatters=D,$}const Bo=e=>({[e]:ye()});function wa(e,t,n,r,s){const{missing:o,onWarn:i}=e;if(o!==null){const a=o(e,n,t,s);return G(a)?a:t}else return t}function Er(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function gw(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function mw(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{Bd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function gc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__datetimeFormatters.has(o)&&r.__datetimeFormatters.delete(o)}}function mc(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:o,localeFallbacker:i}=e,{__numberFormatters:a}=e;if(!Ne(t[0]))return Hs;const[l,u,c,f]=Mi(...t),d=Se(c.missingWarn)?c.missingWarn:e.missingWarn;Se(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const h=!!c.part,_=Ea(e,c),m=i(e,s,_);if(!G(l)||l==="")return new Intl.NumberFormat(_.replace(/!/g,""),f).format(u);let R={},b,E=null;const g="number format";for(let A=0;A{Vd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function yc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__numberFormatters.has(o)&&r.__numberFormatters.delete(o)}}const yw=e=>e,_w=e=>"",bw="text",vw=e=>e.length===0?"":ga(e),Ew=yv;function Vo(e,t){return e=Math.abs(e),t===2?e===1?0:1:Math.min(e,2)}function ww(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return Ne(e.named?.count)?e.named.count:Ne(e.named?.n)?e.named.n:t}function Cw(e={}){const t=e.locale,n=ww(e),r=G(t)&&Ce(e.pluralRules?.[t])?e.pluralRules[t]:Vo,s=r===Vo?void 0:Vo,o=b=>b[r(n,b.length,s)],i=e.list||[],a=b=>i[b],l=e.named||ye();Ne(e.pluralIndex)&&(l.count||=e.pluralIndex,l.n||=e.pluralIndex);const u=b=>l[b];function c(b,E){const g=Ce(e.messages)?e.messages(b,!!E):ce(e.messages)?e.messages[b]:!1;return g||(e.parent?e.parent.message(b):_w)}const f=b=>e.modifiers?e.modifiers[b]:yw,d=Ce(e.processor?.normalize)?e.processor.normalize:vw,h=Ce(e.processor?.interpolate)?e.processor.interpolate:Ew,_=G(e.processor?.type)?e.processor.type:bw,R={list:a,named:u,plural:o,linked:(b,...E)=>{const[g,y]=E;let C="text",A="";E.length===1?ce(g)?(A=g.modifier||A,C=g.type||C):G(g)&&(A=g||A):E.length===2&&(G(g)&&(A=g||A),G(y)&&(C=y||C));const L=c(b,!0)(R),F=L===""||L===void 0?b:L,N=C==="vnode"&&Le(F)&&A?F[0]:F;return A?f(A)(N,C):N},message:c,type:_,interpolate:h,normalize:d,values:Ae(ye(),i,l)};return R}const _c=()=>"",Zt=e=>Ce(e);function bc(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:o,fallbackLocale:i,messages:a}=e,[l,u]=Di(...t),c=Se(u.missingWarn)?u.missingWarn:e.missingWarn,f=Se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=Se(u.escapeParameter)?u.escapeParameter:e.escapeParameter,h=!!u.resolvedMessage,_=G(u.default)||Se(u.default)?Se(u.default)?o?l:()=>l:u.default:n?o?l:()=>l:null,m=n||_!=null&&(G(_)||Ce(_)),R=Ea(e,u);d&&Sw(u);let[b,E,g]=h?[l,R,a[R]||ye()]:Wd(e,l,R,i,f,c),y=b,C=l;if(!h&&!(G(y)||$t(y)||Zt(y))&&m&&(y=_,C=y),!h&&(!(G(y)||$t(y)||Zt(y))||!G(E)))return s?po:l;let A=!1;const L=()=>{A=!0},F=Zt(y)?y:Kd(e,l,E,y,C,L);if(A)return y;const N=Lw(e,E,g,u),D=Cw(N),W=Rw(e,F,D);let $=r?r(W,l):W;return d&&G($)&&($=pv($)),$}function Sw(e){Le(e.list)?e.list=e.list.map(t=>G(t)?ec(t):t):ce(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=ec(e.named[t]))})}function Wd(e,t,n,r,s,o){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:u}=e,c=u(e,r,n);let f=ye(),d,h=null;const _="translate";for(let m=0;mr);return u.locale=n,u.key=t,u}const l=i(r,Tw(e,n,s,r,a,o));return l.locale=n,l.key=t,l.source=r,l}function Rw(e,t,n){return t(n)}function Di(...e){const[t,n,r]=e,s=ye();if(!G(t)&&!Ne(t)&&!Zt(t)&&!$t(t))throw Jt(Xt.INVALID_ARGUMENT);const o=Ne(t)?String(t):(Zt(t),t);return Ne(n)?s.plural=n:G(n)?s.default=n:fe(n)&&!ao(n)?s.named=n:Le(n)&&(s.list=n),Ne(r)?s.plural=r:G(r)?s.default=r:fe(r)&&Ae(s,r),[o,s]}function Tw(e,t,n,r,s,o){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw o&&o(i),i},onCacheKey:i=>fv(t,n,i)}}function Lw(e,t,n,r){const{modifiers:s,pluralRules:o,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,d={locale:t,modifiers:s,pluralRules:o,messages:(h,_)=>{let m=i(n,h);if(m==null&&(c||_)){const[R,,b]=Wd(c||e,h,t,a,l,u);m=R??i(b,h)}if(G(m)||$t(m)){let R=!1;const E=Kd(e,h,t,m,h,()=>{R=!0});return R?_c:E}else return Zt(m)?m:_c}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),Ne(r.plural)&&(d.pluralIndex=r.plural),d}const kw="11.4.2",lt={UNEXPECTED_RETURN_TYPE:JE,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function mt(e,...t){return ho(e,null,void 0)}const Fi=yn("__translateVNode"),Hi=yn("__datetimeParts"),$i=yn("__numberParts"),Aw=yn("__setPluralRules"),Pw=yn("__injectWithOption"),Kn=yn("__dispose");function Gr(e){if(!ce(e)||$t(e))return e;for(const t in e)if(gt(e,t))if(!t.includes("."))ce(e[t])&&Gr(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,o=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:u}=a;l?(i[l]=i[l]||ye(),zn(u,i[l])):zn(u,i)}else G(a)&&zn(JSON.parse(a),i)}),s==null&&o)for(const a in i)gt(i,a)&&Gr(i[a]);return i}function Ow(e){return e.type}function Iw(e,t,n){let r=ce(t.messages)?t.messages:ye();"__i18nGlobal"in n&&(r=Gd(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(o=>{e.mergeLocaleMessage(o,r[o])});{if(ce(t.datetimeFormats)){const o=Object.keys(t.datetimeFormats);o.length&&o.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ce(t.numberFormats)){const o=Object.keys(t.numberFormats);o.length&&o.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function vc(e){return Re(mn,null,e,0)}function qd(){return Fn()}const Ec=()=>[],Nw=()=>!1;let wc=0;function Cc(e){return((t,n,r,s)=>e(n,r,qd()||void 0,s))}function Ui(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,s=e.flatJson,o=xs?et:Nn;let i=Se(e.inheritLocale)?e.inheritLocale:!0;const a=o(t&&i?t.locale.value:G(e.locale)?e.locale:Fs),l=o(t&&i?t.fallbackLocale.value:G(e.fallbackLocale)||Le(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a.value),u=o(Gd(a.value,e)),c=o(fe(e.datetimeFormats)?e.datetimeFormats:{[a.value]:{}}),f=o(fe(e.numberFormats)?e.numberFormats:{[a.value]:{}});let d=t?t.missingWarn:Se(e.missingWarn)||Ms(e.missingWarn)?e.missingWarn:!0,h=t?t.fallbackWarn:Se(e.fallbackWarn)||Ms(e.fallbackWarn)?e.fallbackWarn:!0,_=t?t.fallbackRoot:Se(e.fallbackRoot)?e.fallbackRoot:!0,m=!!e.fallbackFormat,R=Ce(e.missing)?e.missing:null,b=Ce(e.missing)?Cc(e.missing):null,E=Ce(e.postTranslation)?e.postTranslation:null,g=t?t.warnHtmlMessage:Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter;const C=t?t.modifiers:fe(e.modifiers)?e.modifiers:{};let A=e.pluralRules||t&&t.pluralRules,L;L=(()=>{r&&dc(null);const T={version:kw,locale:a.value,fallbackLocale:l.value,messages:u.value,modifiers:C,pluralRules:A,missing:b===null?void 0:b,missingWarn:d,fallbackWarn:h,fallbackFormat:m,unresolving:!0,postTranslation:E===null?void 0:E,warnHtmlMessage:g,escapeParameter:y,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=c.value,T.numberFormats=f.value,T.__datetimeFormatters=fe(L)?L.__datetimeFormatters:void 0,T.__numberFormatters=fe(L)?L.__numberFormatters:void 0;const I=pw(T);return r&&dc(I),I})(),Er(L,a.value,l.value);function N(){return[a.value,l.value,u.value,c.value,f.value]}const D=ke({get:()=>a.value,set:T=>{L.locale=T,a.value=T}}),W=ke({get:()=>l.value,set:T=>{L.fallbackLocale=T,l.value=T,Er(L,a.value,T)}}),$=ke(()=>u.value),X=ke(()=>c.value),te=ke(()=>f.value);function se(){return Ce(E)?E:null}function K(T){E=T,L.postTranslation=T}function J(){return R}function q(T){T!==null&&(b=Cc(T)),R=T,L.missing=b}const re=(T,I,V,z,ie,oe)=>{N();let le;try{r||(L.fallbackContext=t?hw():void 0),le=T(L)}finally{r||(L.fallbackContext=void 0)}if(V!=="translate exists"&&Ne(le)&&le===po||V==="translate exists"&&!le){const[Pe,ut]=I();return t&&_?z(t):ie(Pe)}else{if(oe(le))return le;throw mt(lt.UNEXPECTED_RETURN_TYPE)}};function nt(...T){return re(I=>Reflect.apply(bc,null,[I,...T]),()=>Di(...T),"translate",I=>Reflect.apply(I.t,I,[...T]),I=>I,I=>G(I))}function qe(...T){const[I,V,z]=T;if(z&&!ce(z))throw mt(lt.INVALID_ARGUMENT);return nt(I,V,Ae({resolvedMessage:!0},z||{}))}function $e(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>xi(...T),"datetime format",I=>Reflect.apply(I.d,I,[...T]),()=>Hs,I=>G(I)||Le(I))}function Rt(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Mi(...T),"number format",I=>Reflect.apply(I.n,I,[...T]),()=>Hs,I=>G(I)||Le(I))}function Tt(T){return T.map(I=>G(I)||Ne(I)||Se(I)?vc(String(I)):I)}const Ve={normalize:Tt,interpolate:T=>T,type:"vnode"};function H(...T){return re(I=>{let V;const z=I;try{z.processor=Ve,V=Reflect.apply(bc,null,[z,...T])}finally{z.processor=null}return V},()=>Di(...T),"translate",I=>I[Fi](...T),I=>[vc(I)],I=>Le(I))}function Y(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Mi(...T),"number format",I=>I[$i](...T),Ec,I=>G(I)||Le(I))}function B(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>xi(...T),"datetime format",I=>I[Hi](...T),Ec,I=>G(I)||Le(I))}function Q(T){A=T,L.pluralRules=A}function ne(T,I){return re(()=>{if(!T)return!1;const V=G(I)?I:a.value,z=G(I)?[V]:Ni(L,l.value,V);for(let ie=0;ie[T],"translate exists",V=>Reflect.apply(V.te,V,[T,I]),Nw,V=>Se(V))}function _e(T){let I=null;const V=Ni(L,l.value,a.value);for(let z=0;z{i&&(a.value=T,L.locale=T,Er(L,a.value,l.value))}),at(t.fallbackLocale,T=>{i&&(l.value=T,L.fallbackLocale=T,Er(L,a.value,l.value))}));const j={id:wc,locale:D,fallbackLocale:W,get inheritLocale(){return i},set inheritLocale(T){i=T,T&&t&&(a.value=t.locale.value,l.value=t.fallbackLocale.value,Er(L,a.value,l.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:$,get modifiers(){return C},get pluralRules(){return A||{}},get isGlobal(){return r},get missingWarn(){return d},set missingWarn(T){d=T,L.missingWarn=d},get fallbackWarn(){return h},set fallbackWarn(T){h=T,L.fallbackWarn=h},get fallbackRoot(){return _},set fallbackRoot(T){_=T},get fallbackFormat(){return m},set fallbackFormat(T){m=T,L.fallbackFormat=m},get warnHtmlMessage(){return g},set warnHtmlMessage(T){g=T,L.warnHtmlMessage=T},get escapeParameter(){return y},set escapeParameter(T){y=T,L.escapeParameter=T},t:nt,getLocaleMessage:S,setLocaleMessage:P,mergeLocaleMessage:U,getPostTranslationHandler:se,setPostTranslationHandler:K,getMissingHandler:J,setMissingHandler:q,[Aw]:Q};return j.datetimeFormats=X,j.numberFormats=te,j.rt=qe,j.te=ne,j.tm=v,j.d=$e,j.n=Rt,j.getDateTimeFormat=M,j.setDateTimeFormat=p,j.mergeDateTimeFormat=w,j.getNumberFormat=k,j.setNumberFormat=O,j.mergeNumberFormat=x,j[Pw]=n,j[Fi]=H,j[Hi]=B,j[$i]=Y,j}const Ca={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function xw({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===Ue?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},ye())}function Yd(){return Ue}const Mw=St({name:"i18n-t",props:Ae({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},Ca),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return()=>{const o=()=>{const l=Object.keys(n).filter(f=>f[0]!=="_"),u=ye();e.locale&&(u.locale=e.locale),e.plural!==void 0&&(u.plural=G(e.plural)?+e.plural:e.plural);const c=xw(t,l);return s[Fi](e.keypath,c,u)},i=Ae(ye(),r),a=G(e.tag)||ce(e.tag)?e.tag:Yd();return ce(a)?Ie(a,i,{default:o}):Ie(a,i,o())}}}),Sc=Mw;function Dw(e){return Le(e)&&!G(e[0])}function Xd(e,t,n,r){const{slots:s,attrs:o}=t;return()=>{const i=()=>{const u={part:!0};let c=ye();e.locale&&(u.locale=e.locale),G(e.format)?u.key=e.format:ce(e.format)&&(G(e.format.key)&&(u.key=e.format.key),c=Object.keys(e.format).reduce((h,_)=>n.includes(_)?Ae(ye(),h,{[_]:e.format[_]}):h,ye()));const f=r(e.value,u,c);let d=[u.key];return Le(f)?d=f.map((h,_)=>{const m=s[h.type],R=m?m({[h.type]:h.value,index:_,parts:f}):[h.value];return Dw(R)&&(R[0].key=`${h.type}-${_}`),R}):G(f)&&(d=[f]),d},a=Ae(ye(),o),l=G(e.tag)||ce(e.tag)?e.tag:Yd();return ce(l)?Ie(l,a,{default:i}):Ie(l,a,i())}}const Fw=St({name:"i18n-n",props:Ae({value:{type:Number,required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Xd(e,t,Vd,(...r)=>n[$i](...r))}}),Rc=Fw;function Hw(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function $w(e){const t=i=>{const{instance:a,value:l}=i;if(!a||!a.$)throw mt(lt.UNEXPECTED_ERROR);const u=Hw(e,a.$),c=Tc(l);return[Reflect.apply(u.t,u,[...Lc(c)]),u]};return{created:(i,a)=>{const[l,u]=t(a);xs&&(i.__i18nWatcher=at(u.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=u,i.textContent=l},unmounted:i=>{xs&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,u=Tc(a);i.textContent=Reflect.apply(l.t,l,[...Lc(u)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function Tc(e){if(G(e))return{path:e};if(fe(e)){if(!("path"in e))throw mt(lt.REQUIRED_VALUE,"path");return e}else throw mt(lt.INVALID_VALUE)}function Lc(e){const{path:t,locale:n,args:r,choice:s,plural:o}=e,i={},a=r||{};return G(n)&&(i.locale=n),Ne(s)&&(i.plural=s),Ne(o)&&(i.plural=o),[t,a,i]}function Uw(e,t,...n){const r=fe(n[0])?n[0]:{};(!Se(r.globalInstall)||r.globalInstall)&&([Sc.name,"I18nT"].forEach(o=>e.component(o,Sc)),[Rc.name,"I18nN"].forEach(o=>e.component(o,Rc)),[Pc.name,"I18nD"].forEach(o=>e.component(o,Pc))),e.directive("t",$w(t))}const jw=yn("global-vue-i18n");function Bw(e={}){const t=Se(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,s]=Vw(e),o=yn("");function i(c){return n.get(c)||null}function a(c,f){n.set(c,f)}function l(c){n.delete(c)}const u={get mode(){return"composition"},async install(c,...f){if(c.__VUE_I18N_SYMBOL__=o,c.provide(c.__VUE_I18N_SYMBOL__,u),fe(f[0])){const _=f[0];u.__composerExtend=_.__composerExtend,u.__vueI18nExtend=_.__vueI18nExtend}let d=null;t&&(d=Jw(c,u.global)),Uw(c,u,...f);const h=c.unmount;c.unmount=()=>{d&&d(),u.dispose(),h()}},get global(){return s},dispose(){r.stop()},__instances:n,__getInstance:i,__setInstance:a,__deleteInstance:l};return u}function Sa(e={}){const t=qd();if(t==null)throw mt(lt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw mt(lt.NOT_INSTALLED);const n=Ww(t),r=Gw(n),s=Ow(t),o=Kw(e,s);if(o==="global")return Iw(r,e,s),r;if(o==="parent"){let l=kc(n,t,e.__useComponent);return l==null&&(l=r),l}if(o==="isolated"){if(n.mode!=="composition")throw mt(lt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const l=n,u=Ae({},e),c=kc(n,t);u.__root=c||r;const f=Ui(u);return l.__composerExtend&&(f[Kn]=l.__composerExtend(f)),dr()&&Nr(()=>{const h=f[Kn];h&&(h(),delete f[Kn])}),f}const i=n;let a=i.__getInstance(t);if(a==null){const l=Ae({},e);"__i18n"in s&&(l.__i18n=s.__i18n),r&&(l.__root=r),a=Ui(l),i.__composerExtend&&(a[Kn]=i.__composerExtend(a)),Yw(i,t,a),i.__setInstance(t,a)}return a}function Vw(e,t){const n=Yr(),r=n.run(()=>Ui(e));if(r==null)throw mt(lt.UNEXPECTED_ERROR);return[n,r]}function Ww(e){const t=Fe(e.isCE?jw:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw mt(e.isCE?lt.NOT_INSTALLED_WITH_PROVIDE:lt.UNEXPECTED_ERROR);return t}function Kw(e,t){return ao(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Gw(e){return e.mode==="composition"?e.global:e.global.__composer}function kc(e,t,n=!1){let r=null;const s=t.root;let o=qw(t,n);for(;o!=null;){const i=e;if(e.mode==="composition"&&(r=i.__getInstance(o)),r!=null||s===o)break;o=o.parent}return r}function qw(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Yw(e,t,n){Qs(()=>{},t),zs(()=>{const r=n;e.__deleteInstance(t);const s=r[Kn];s&&(s(),delete r[Kn])},t)}const Xw=["locale","fallbackLocale","availableLocales"],Ac=["t","rt","d","n","tm","te"];function Jw(e,t){const n=Object.create(null);return Xw.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o)throw mt(lt.UNEXPECTED_ERROR);const i=ve(o.value)?{get(){return o.value.value},set(a){o.value.value=a}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,Ac.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o||!o.value)throw mt(lt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,o)}),()=>{delete e.config.globalProperties.$i18n,Ac.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}const Qw=St({name:"i18n-d",props:Ae({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Xd(e,t,Bd,(...r)=>n[Hi](...r))}}),Pc=Qw;uw(XE);fw(aw);dw(Ni);function Oc(e=ue()){const t=fo(e);return n=>{if(n!=null)return t.getRouteBaseName(n)||void 0}}function zw(e=ue()){const t=fo(e);return(n,r)=>_d(t,n,r)}function Zw(e=ue()){const t=fo(e);return(n,r)=>bd(t,n,r)}function Jd(e=ue()){const t=fo(e);return n=>Ed(t,n)}const Ic="nuxt-i18n-slp",e0=new RegExp([``,".+?",``].join(""),"g"),t0=Ge({name:"i18n:plugin:switch-locale-path-ssr",dependsOn:["i18n:plugin"],setup(e){const t=ue(e._id),n=Jd(t);t.hook("app:rendered",r=>{r.renderResult?.html!=null&&(r.renderResult.html=r.renderResult.html.replaceAll(e0,(s,o)=>{const i=encodeURI(n(o??""));return s.replace(/href="([^"]+)"/,`href="${i||"#"}" `)}))})}}),n0=Ge({name:"i18n:plugin:route-locale-detect",dependsOn:["i18n:plugin"],async setup(e){let t,n;const r=ue(e._id),s=ya(r),o=Ld();[t,n]=On(()=>r.runWithContext(()=>kd(r,s.initial&&o.value||dE(r,r.$router.currentRoute.value)))),await t,n()}}),r0=Ge({name:"i18n:plugin:preload",dependsOn:["i18n:plugin"],async setup(e){}});function s0(e,{extendComposer:t,extendComposerInstance:n}){const r=Yr(),s=e.install.bind(e);e.install=(o,...i)=>{const a=Ae({},i[0]);a.__composerExtend=u=>(n(u,ps(e)),()=>{}),e.mode==="legacy"&&(a.__vueI18nExtend=u=>(n(u,ps(u)),()=>{})),Reflect.apply(s,e,[o,a]);const l=ps(e);if(r.run(()=>{t(l),e.mode==="legacy"&&"__composer"in e.global&&n(e.global,ps(e.global))}),e.mode==="composition"&&o.config.globalProperties.$i18n!=null&&n(o.config.globalProperties.$i18n,l),o.unmount){const u=o.unmount.bind(o);o.unmount=()=>{r.stop(),u()}}}}const o0=async e=>{const t=await $v(Fv);t.locale=e||t.locale||"en-US",t.defaultLocale=e,t.fallbackLocale??=!1,t.messages??={};for(const n of Wr)t.messages[n]??={};return t};var i0={hu:"349b7781",en:"349b7781"};const a0=Ge({name:"i18n:plugin",parallel:!1,async setup(e){let t,n;Object.defineProperty(e.versions,"nuxtI18n",{get:()=>"10.4.0"});const r=ue(e._id),s=co(r),o=r.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions,i=Jv(dd().host)||s.defaultLocale||"",a=o||([t,n]=On(()=>o0(i)),t=await t,n(),t),l=Td();l.value??=qv(a.fallbackLocale),Wr.map(d=>`/_i18n/${i0[d]}/${d}/messages.json`);const u=Bw(a),c=_a(void 0,uo(r),r),f=Zv(r,u,a.defaultLocale);r._nuxtI18n=f,s0(u,{extendComposer(d){d.locales=ke(()=>s.locales),d.localeCodes=ke(()=>Wr);const h=et(f.getBaseUrl());d.baseUrl=ke(()=>h.value),at(d.locale,()=>h.value=f.getBaseUrl()),d.strategy="no_prefix",d.localeProperties=ke(()=>es.find(_=>_.code===d.locale.value)||{code:d.locale.value}),d.setLocale=async _=>{await kd(r,_),await r.runWithContext(()=>(r.$router.currentRoute.value,void 0))},d.loadLocaleMessages=f.loadMessages,d.differentDomains=!1,d.defaultLocale=a.defaultLocale,d.getBrowserLocale=()=>rc(c.navigator()),d.getLocaleCookie=()=>rc(c.cookie()),d.setLocaleCookie=f.setCookieLocale,d.finalizePendingLocaleChange=async()=>{u.__pendingLocale&&await u.__resolvePendingLocalePromise?.()},d.waitForPendingLocaleChange=async()=>{await u?.__pendingLocalePromise}},extendComposerInstance(d,h){const _=[["locales",()=>h.locales],["localeCodes",()=>h.localeCodes],["baseUrl",()=>h.baseUrl],["strategy",()=>"no_prefix"],["localeProperties",()=>h.localeProperties],["setLocale",()=>m=>Reflect.apply(h.setLocale,h,[m])],["loadLocaleMessages",()=>m=>Reflect.apply(h.loadLocaleMessages,h,[m])],["differentDomains",()=>!1],["defaultLocale",()=>h.defaultLocale],["getBrowserLocale",()=>()=>Reflect.apply(h.getBrowserLocale,h,[])],["getLocaleCookie",()=>()=>Reflect.apply(h.getLocaleCookie,h,[])],["setLocaleCookie",()=>m=>Reflect.apply(h.setLocaleCookie,h,[m])],["finalizePendingLocaleChange",()=>()=>Reflect.apply(h.finalizePendingLocaleChange,h,[])],["waitForPendingLocaleChange",()=>()=>Reflect.apply(h.waitForPendingLocaleChange,h,[])]];for(const[m,R]of _)Object.defineProperty(d,m,{get:R})}}),r.vueApp.use(u),Object.defineProperty(r,"$i18n",{get:()=>ma(u)}),r.provide("localeHead",d=>Av(r._nuxtI18n.composableCtx,d)),r.provide("localePath",zw(r)),r.provide("localeRoute",Zw(r)),r.provide("routeBaseName",Oc(r)),r.provide("getRouteBaseName",Oc(r)),r.provide("switchLocalePath",Jd(r))}}),l0=Ge({name:"i18n:plugin:ssg-detect",dependsOn:["i18n:plugin","i18n:plugin:route-locale-detect"],enforce:"post",setup(e){}}),c0=[f_,h_,__,jb,Bb,Vb,Wb,Gb,av,lv,cv,t0,n0,r0,a0,l0],Qd=(e="RouteProvider")=>St({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return gn(Mn,Dt(s)),()=>t.vnode?Ie(t.vnode,{ref:t.vnodeRef}):t.vnode}}),u0=Qd(),Nc=new WeakMap,f0=St({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ue(),o=et(),i=Fe(Mn,null);let a;r({pageRef:o});const l=Fe(Af,null);let u;const c=s.deferHydration();let f=!1,d=!1,h=0;if(s.isHydrating){const m=s.hooks.hookOnce("app:error",c),R=tt().beforeEach(()=>{m(),R()})}e.pageKey&&at(()=>e.pageKey,(m,R)=>{m!==R&&s.callHook("page:loading:start")});let _=!1;{const m=tt().beforeResolve(()=>{_=!1});zr(()=>{m(),c()})}return()=>Ie(sd,{name:e.name,route:e.route,...t},{default:m=>{const R=d0(i,m.route,m.Component),b=i&&i.matched.length===m.route.matched.length;if(!m.Component){if(u&&!b&&!Wo(u))return u;c();return}if(u&&l&&!Wo(u)&&!l.isCurrent(m.route))return u;if(R&&i&&(!l||l?.isCurrent(i)))return(b||u)&&!Wo(u)?u:null;const E=ki(m,e.pageKey),g=h0(i,m.route,m.Component);!s.isHydrating&&a===E&&!g&&nn(()=>{_||(_=!0,s.callHook("page:loading:end"))}),f&&a!==E&&d&&h++,a=E;const y=!!(e.transition??m.route.meta.pageTransition??_l),C=y&&ld([e.transition,m.route.meta.pageTransition,_l,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",m.Component)}}]),A=e.keepalive??m.route.meta.keepalive??Hm;return u=ad(y&&C,kb(A,Ie(na,{key:h,suspensible:!0,onPending:()=>{f=!0,y&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(L=>{s["~transitionFinish"]=L})),s.callHook("page:start",m.Component)},onResolve:async()=>{f=!1,d=!0;try{await nn(),s._route.sync?.(),await s.callHook("page:finish",m.Component),!_&&!g&&(_=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const L={key:E||void 0,vnode:n.default?p0(n.default,m):m.Component,route:m.route,renderKey:E||void 0,trackRootNodes:y,vnodeRef:o};if(!A)return Ie(u0,L);const F=m.Component.type,N=F;let D=Nc.get(N);return D||(D=Qd(F.name||F.__name),Nc.set(N,D)),Ie(D,L)}}))).default(),u}})}});function d0(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&ki({route:t,Component:n})!==ki({route:e,Component:n})}function h0(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Ie(pn[e.name],e.layoutProps,t.slots)}}),m0={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},y0=St({name:"NuxtLayout",inheritAttrs:!1,props:m0,setup(e,t){const n=ue(),r=Fe(Mn),o=!r||r===la()?od():r,i=ke(()=>{let c=me(e.name)??o?.meta.layout??zd(o?.path).appLayout??"default";return c&&!(c in pn)&&e.fallback&&(c=me(e.fallback)),c}),a=Nn();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),f=tt().beforeEach(()=>{c(),f()})}let u;return()=>{const f=!!i.value&&i.value in pn&&!!(o?.meta.layoutTransition??yl),d=f&&ld([o?.meta.layoutTransition,yl,{onBeforeLeave(){n["~transitionPromise"]=new Promise(_=>{n["~transitionFinish"]=_})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),h=u;return u=i.value,ad(d,{default:()=>Ie(na,{suspensible:!0,onResolve:async()=>{await nn(l)}},{default:()=>Ie(_0,{layoutProps:nf(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:_=>_!==h&&_===i.value,hasTransition:f},t.slots)})}).default()}}}),_0=St({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&gn(Af,{isCurrent:o=>n===!1||n===(o.meta.layout??zd(o.path).appLayout??"default")});const r=Fe(Mn);if(r&&r===la()){const o=od(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}gn(Mn,Dt(i))}return()=>!n||typeof n=="string"&&!(n in pn)?t.slots.default?.():Ie(g0,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),b0=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},v0={};function E0(e,t){const n=f0,r=y0;return pt(),Mt(r,null,{default:Qi(()=>[Re(n)]),_:1})}const w0=b0(v0,[["render",E0]]),C0={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Qo(()=>vt(()=>import("./C8yzOtqa.js"),__vite__mapDeps([6,1,7]),import.meta.url)):Qo(()=>vt(()=>import("./Cx40nPNe.js"),__vite__mapDeps([8,9]),import.meta.url));return(f,d)=>(pt(),Mt(me(c),lh(ef({status:me(r),statusText:me(o),statusCode:me(r),statusMessage:me(o),description:me(i),stack:me(a)})),null,16))}},S0={key:0},xc={__name:"nuxt-root",setup(e){const t=()=>null,n=ue(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),f=tt().beforeEach(()=>{c(),f()})}const s=!1;gn(Mn,la()),n.hooks.callHookWith(c=>c.map(f=>f()),"vue:setup",[]);const o=oo(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,f,d){const h=n.vueApp.config.errorHandler;if(h&&!h.__nuxt_default)try{h(c,f,d)}catch(_){console.error("[nuxt] Error in `app.config.errorHandler`",_)}}Ru((c,f,d)=>{if(n.hooks.callHook("vue:error",c,f,d).catch(h=>console.error("[nuxt] Error in `vue:error` hook",h)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Of(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Rn(c)),l(c,f,d),!1});const u=!1;return(c,f)=>(pt(),Mt(na,{onResolve:me(r)},{default:Qi(()=>[me(i)?(pt(),Vp("div",S0)):me(o)?(pt(),Mt(me(C0),{key:1,error:me(o)},null,8,["error"])):me(u)?(pt(),Mt(me(t),{key:2,context:me(u)},null,8,["context"])):me(s)?(pt(),Mt(dp(me(s)),{key:3})):(pt(),Mt(me(w0),{key:4}))]),_:1},8,["onResolve"]))}};let Mc;{let e;Mc=async function(){if(e)return e;const r=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true")?Ig(xc):Og(xc),s=Vm({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=In(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)});try{await Gm(s,c0)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Um),await s.hooks.callHook("app:mounted",r),await nn()}catch(i){o(i)}return r},e=Mc().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{ci as $,fd as A,F0 as B,H0 as C,od as D,Sa as E,Ue as F,zs as G,P0 as H,Mt as I,k0 as J,$0 as K,ue as L,pa as M,Xl as N,zr as O,U0 as P,Ie as Q,T0 as R,sa as S,Nn as T,Zm as U,iv as V,an as W,Pn as X,ey as Y,D0 as Z,b0 as _,Zu as a,om as a0,Br as a1,so as a2,Re as b,Vp as c,tf as d,St as e,A0 as f,tt as g,me as h,Kp as i,x0 as j,R0 as k,ve as l,et as m,Gs as n,pt as o,Ef as p,N0 as q,L0 as r,sn as s,dh as t,s_ as u,O0 as v,Qi as w,ke as x,Qs as y,I0 as z}; +`)&&(os(g,0)||$n(),g.textContent=y.children)}if(D){if(se||!F||W&48){const q=g.tagName.includes("-");for(const re in D)(se&&(re.endsWith("value")||re==="indeterminate")||qr(re)&&!Ln(re)||re[0]==="."||q&&!Ln(re))&&r(g,re,null,D[re],void 0,C)}else if(D.onClick)r(g,"onClick",null,D.onClick,void 0,C);else if(W&4&&Ht(D.style))for(const q in D.style)D.style[q]}let J;(J=D&&D.onVnodeBeforeMount)&&ze(J,C,y),X&&It(y,null,C,"beforeMount"),((J=D&&D.onVnodeMounted)||X||K)&&Xu(()=>{J&&ze(J,C,y),K&&te.enter(g),X&&It(y,null,C,"mounted")},A)}return g.nextSibling},h=(g,y,C,A,L,F,N)=>{N=N||!!y.dynamicChildren;const D=y.children,W=D.length;let $=!1;for(let X=0;X{const{slotScopeIds:N}=y;N&&(L=L?L.concat(N):N);const D=i(g),W=h(o(g),y,D,C,A,L,F);return W&&Wn(W)&&W.data==="]"?o(y.anchor=W):($n(),l(y.anchor=u("]"),D,W),W)},m=(g,y,C,A,L,F)=>{if(os(g.parentElement,1)||$n(),y.el=null,F){const W=R(g);for(;;){const $=o(g);if($&&$!==W)a($);else break}}const N=o(g),D=i(g);return a(g),n(null,y,D,N,C,A,ss(D),L),C&&(C.vnode.el=y.el,to(C,y.el)),N},R=(g,y="[",C="]")=>{let A=0;for(;g;)if(g=o(g),g&&Wn(g)&&(g.data===y&&A++,g.data===C)){if(A===0)return o(g);A--}return g},b=(g,y,C)=>{const A=y.parentNode;A&&A.replaceChild(g,y);let L=C;for(;L;)L.vnode.el===y&&(L.vnode.el=L.subTree.el=g),L=L.parent},E=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[c,f]}const Fa="data-allow-mismatch",rp={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function os(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Fa);)e=e.parentElement;const n=e&&e.getAttribute(Fa);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(rp[t])}}Ks().requestIdleCallback;Ks().cancelIdleCallback;function sp(e,t){if(Wn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Wn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Qt=e=>!!e.type.__asyncLoader;function Rs(e){ee(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let u=null,c,f=0;const d=()=>(f++,u=null,h()),h=()=>{let _;return u||(_=u=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),l)return new Promise((R,b)=>{l(m,()=>R(d()),()=>b(m),f+1)});throw m}).then(m=>_!==u&&u?u:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return bt({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(_,m,R){let b=!1;(m.bu||(m.bu=[])).push(()=>b=!0);const E=()=>{b||R()},g=o?()=>{const y=o(E,C=>sp(_,C));y&&(m.bum||(m.bum=[])).push(y)}:E;c?g():h().then(()=>!m.isUnmounted&&g())},get __asyncResolved(){return c},setup(){const _=je;if(ea(_),c)return()=>is(c,_);const m=C=>{u=null,hr(C,_,13,!r)};if(a&&_.suspense||rr)return h().then(C=>()=>is(C,_)).catch(C=>(m(C),()=>r?Re(r,{error:C}):null));const R=et(!1),b=et(),E=et(!!s);let g,y;return Zs(()=>{g!=null&&clearTimeout(g),y!=null&&clearTimeout(y)}),s&&(y=setTimeout(()=>{_.isUnmounted||(E.value=!1)},s)),i!=null&&(g=setTimeout(()=>{if(!_.isUnmounted&&!R.value&&!b.value){const C=new Error(`Async component timed out after ${i}ms.`);m(C),b.value=C}},i)),h().then(()=>{_.isUnmounted||(R.value=!0,_.parent&&Qr(_.parent.vnode)&&_.parent.update())}).catch(C=>{if(_.isUnmounted){u=null;return}m(C),b.value=C}),()=>{if(R.value&&c)return is(c,_);if(b.value&&r)return Re(r,{error:b.value});if(n&&!E.value)return is(n,_)}}})}function is(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=Re(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Qr=e=>e.type.__isKeepAlive,op={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Fn(),r=n.ctx;if(!r.renderer)return()=>{const E=t.default&&t.default();return E&&E.length===1?E[0]:E};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:f}}}=r,d=f("div");r.activate=(E,g,y,C,A)=>{const L=E.component;u(E,g,y,0,a),l(L.vnode,E,g,y,L,a,C,E.slotScopeIds,A),Fe(()=>{L.isDeactivated=!1,L.a&&Yn(L.a);const F=E.props&&E.props.onVnodeMounted;F&&ze(F,L.parent,E)},a)},r.deactivate=E=>{const g=E.component;Ls(g.m),Ls(g.a),u(E,d,null,1,a),Fe(()=>{g.da&&Yn(g.da);const y=E.props&&E.props.onVnodeUnmounted;y&&ze(y,g.parent,E),g.isDeactivated=!0},a)};function h(E){Co(E),c(E,n,a,!0)}function _(E){s.forEach((g,y)=>{const C=ai(Qt(g)?g.type.__asyncResolved||{}:g.type);C&&!E(C)&&m(y)})}function m(E){const g=s.get(E);g&&(!i||!Et(g,i))?h(g):i&&Co(i),s.delete(E),o.delete(E)}lt(()=>[e.include,e.exclude],([E,g])=>{E&&_(y=>wr(E,y)),g&&_(y=>!wr(g,y))},{flush:"post",deep:!0});let R=null;const b=()=>{R!=null&&(ks(n.subTree.type)?Fe(()=>{s.set(R,as(n.subTree))},n.subTree.suspense):s.set(R,as(n.subTree)))};return zs(b),Su(b),zr(()=>{s.forEach(E=>{const{subTree:g,suspense:y}=n,C=as(g);if(E.type===C.type&&E.key===C.key){Co(C);const A=C.component.da;A&&Fe(A,y);return}h(E)})}),()=>{if(R=null,!t.default)return i=null;const E=t.default(),g=E[0];if(E.length>1)return i=null,E;if(!xn(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let y=as(g);if(y.type===Oe)return i=null,y;const C=y.type,A=ai(Qt(y)?y.type.__asyncResolved||{}:C),{include:L,exclude:F,max:N}=e;if(L&&(!A||!wr(L,A))||F&&A&&wr(F,A))return y.shapeFlag&=-257,i=y,g;const D=y.key==null?C:y.key,W=s.get(D);return y.el&&(y=rn(y),g.shapeFlag&128&&(g.ssContent=y)),R=D,W?(y.el=W.el,y.component=W.component,y.transition&&tr(y,y.transition),y.shapeFlag|=512,o.delete(D),o.add(D)):(o.add(D),N&&o.size>parseInt(N,10)&&m(o.values().next().value)),y.shapeFlag|=256,i=y,ks(g.type)?g:y}}},ip=op;function wr(e,t){return Z(e)?e.some(n=>wr(n,t)):we(e)?e.split(",").includes(t):th(e)?(e.lastIndex=0,e.test(t)):!1}function Eu(e,t){Cu(e,"a",t)}function wu(e,t){Cu(e,"da",t)}function Cu(e,t,n=je){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Qs(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Qr(s.parent.vnode)&&ap(r,t,n,s),s=s.parent}}function ap(e,t,n,r){const s=Qs(t,e,r,!0);Zs(()=>{Vi(r[t],s)},n)}function Co(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function as(e){return e.shapeFlag&128?e.ssContent:e}function Qs(e,t,n=je,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{en();const a=Zr(n),l=_t(t,n,e,i);return a(),tn(),l});return r?s.unshift(o):s.push(o),o}}const on=e=>(t,n=je)=>{(!rr||e==="sp")&&Qs(e,(...r)=>t(...r),n)},lp=on("bm"),zs=on("m"),cp=on("bu"),Su=on("u"),zr=on("bum"),Zs=on("um"),up=on("sp"),fp=on("rtg"),dp=on("rtc");function Ru(e,t=je){Qs("ec",e,t)}const Tu="components";function S0(e,t){return ku(Tu,e,!0,t)||e}const Lu=Symbol.for("v-ndc");function hp(e){return we(e)?ku(Tu,e,!1)||e:e||Lu}function ku(e,t,n=!0,r=!1){const s=Be||je;if(s){const o=s.type;{const a=ai(o,!1);if(a&&(a===t||a===Qe(t)||a===Vs(Qe(t))))return o}const i=Ha(s[e]||o[e],t)||Ha(s.appContext[e],t);return!i&&r?o:i}}function Ha(e,t){return e&&(e[t]||e[Qe(t)]||e[Vs(Qe(t))])}function R0(e,t,n,r){let s;const o=n&&n[r],i=Z(e);if(i||we(e)){const a=i&&Ht(e);let l=!1,u=!1;a&&(l=!at(e),u=Ut(e),e=Xs(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(a,l,void 0,o&&o[l]));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;l0;return t!=="default"&&(n.name=t),gt(),Mt(Ue,null,[Re("slot",n,r&&r())],u?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),gt();const i=o&&Au(o(n)),a=n.key||i&&i.key,l=Mt(Ue,{key:(a&&!ut(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||(r?r():[]),i&&e._===1?64:-2);return!s&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function Au(e){return e.some(t=>xn(t)?!(t.type===Oe||t.type===Ue&&!Au(t.children)):!0)?e:null}const Zo=e=>e?rf(e)?no(e):Zo(e.parent):null,Lr=He(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Zo(e.parent),$root:e=>Zo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ou(e),$forceUpdate:e=>e.f||(e.f=()=>{Qi(e.update)}),$nextTick:e=>e.n||(e.n=nn.bind(e.proxy)),$watch:e=>Xh.bind(e)}),So=(e,t)=>e!==be&&!e.__isScriptSetup&&ge(e,t),pp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const d=i[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(So(r,t))return i[t]=1,r[t];if(s!==be&&ge(s,t))return i[t]=2,s[t];if(ge(o,t))return i[t]=3,o[t];if(n!==be&&ge(n,t))return i[t]=4,n[t];ei&&(i[t]=0)}}const u=Lr[t];let c,f;if(u)return t==="$attrs"&&Ke(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==be&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return So(s,t)?(s[t]=n,!0):r!==be&&ge(r,t)?(r[t]=n,!0):ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==be&&a[0]!=="$"&&ge(e,a)||So(t,a)||ge(o,a)||ge(r,a)||ge(Lr,a)||ge(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $a(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ei=!0;function gp(e){const t=Ou(e),n=e.proxy,r=e.ctx;ei=!1,t.beforeCreate&&Ua(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:h,updated:_,activated:m,deactivated:R,beforeDestroy:b,beforeUnmount:E,destroyed:g,unmounted:y,render:C,renderTracked:A,renderTriggered:L,errorCaptured:F,serverPrefetch:N,expose:D,inheritAttrs:W,components:$,directives:X,filters:te}=t;if(u&&mp(u,r,null),i)for(const J in i){const q=i[J];ee(q)&&(r[J]=q.bind(n))}if(s){const J=s.call(n,n);de(J)&&(e.data=sn(J))}if(ei=!0,o)for(const J in o){const q=o[J],re=ee(q)?q.bind(n,n):ee(q.get)?q.get.bind(n,n):Ft,nt=!ee(q)&&ee(q.set)?q.set.bind(n):Ft,qe=ke({get:re,set:nt});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>qe.value,set:$e=>qe.value=$e})}if(a)for(const J in a)Pu(a[J],r,n,J);if(l){const J=ee(l)?l.call(n):l;Reflect.ownKeys(J).forEach(q=>{gn(q,J[q])})}c&&Ua(c,e,"c");function K(J,q){Z(q)?q.forEach(re=>J(re.bind(n))):q&&J(q.bind(n))}if(K(lp,f),K(zs,d),K(cp,h),K(Su,_),K(Eu,m),K(wu,R),K(Ru,F),K(dp,A),K(fp,L),K(zr,E),K(Zs,y),K(up,N),Z(D))if(D.length){const J=e.exposed||(e.exposed={});D.forEach(q=>{Object.defineProperty(J,q,{get:()=>n[q],set:re=>n[q]=re,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===Ft&&(e.render=C),W!=null&&(e.inheritAttrs=W),$&&(e.components=$),X&&(e.directives=X),N&&ea(e)}function mp(e,t,n=Ft){Z(e)&&(e=ti(e));for(const r in e){const s=e[r];let o;de(s)?"default"in s?o=xe(s.from||r,s.default,!0):o=xe(s.from||r):o=xe(s),ve(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Ua(e,t,n){_t(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pu(e,t,n,r){let s=r.includes(".")?pu(n,r):()=>n[r];if(we(e)){const o=t[e];ee(o)&<(s,o)}else if(ee(e))lt(s,e.bind(n));else if(de(e))if(Z(e))e.forEach(o=>Pu(o,t,n,r));else{const o=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(o)&<(s,o,e)}}function Ou(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>Ts(l,u,i,!0)),Ts(l,t,i)),de(t)&&o.set(t,l),l}function Ts(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Ts(e,o,n,!0),s&&s.forEach(i=>Ts(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=yp[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const yp={data:ja,props:Ba,emits:Ba,methods:Cr,computed:Cr,beforeCreate:Ye,created:Ye,beforeMount:Ye,mounted:Ye,beforeUpdate:Ye,updated:Ye,beforeDestroy:Ye,beforeUnmount:Ye,destroyed:Ye,unmounted:Ye,activated:Ye,deactivated:Ye,errorCaptured:Ye,serverPrefetch:Ye,components:Cr,directives:Cr,watch:bp,provide:ja,inject:_p};function ja(e,t){return t?e?function(){return He(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function _p(e,t){return Cr(ti(e),ti(t))}function ti(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Dn(t)}Modifiers`];function Cp(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||be;let s=n;const o=t.startsWith("update:"),i=o&&wp(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>we(c)?c.trim():c)),i.number&&(s=n.map(Ws)));let a,l=r[a=yo(t)]||r[a=yo(Qe(t))];!l&&o&&(l=r[a=yo(Dn(t))]),l&&_t(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,_t(u,e,6,s)}}const Sp=new WeakMap;function Nu(e,t,n=!1){const r=n?Sp:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!ee(e)){const l=u=>{const c=Nu(u,t,!0);c&&(a=!0,He(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(de(e)&&r.set(e,null),null):(Z(o)?o.forEach(l=>i[l]=null):He(i,o),de(e)&&r.set(e,i),i)}function eo(e,t){return!e||!qr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,Dn(t))||ge(e,t))}function Ro(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:h,ctx:_,inheritAttrs:m}=e,R=Cs(e);let b,E;try{if(n.shapeFlag&4){const y=s||r,C=y;b=ot(u.call(C,y,c,f,h,d,_)),E=a}else{const y=t;b=ot(y.length>1?y(f,{attrs:a,slots:i,emit:l}):y(f,null)),E=t.props?a:Tp(a)}}catch(y){Ar.length=0,hr(y,e,1),b=Re(Oe)}let g=b;if(E&&m!==!1){const y=Object.keys(E),{shapeFlag:C}=g;y.length&&C&7&&(o&&y.some(Us)&&(E=Lp(E,o)),g=rn(g,E,!1,!0))}return n.dirs&&(g=rn(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&tr(g,n.transition),b=g,Cs(R),b}function Rp(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||qr(n))&&((t||(t={}))[n]=e[n]);return t},Lp=(e,t)=>{const n={};for(const r in e)(!Us(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function kp(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?Va(r,i,u):!!i;if(l&8){const c=t.dynamicProps;for(let f=0;fObject.create(Mu),Fu=e=>Object.getPrototypeOf(e)===Mu;function Ap(e,t,n,r=!1){const s={},o=Du();e.propsDefaults=Object.create(null),Hu(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Dt(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Pp(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ae(s),[l]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,h]=$u(f,t,!0);He(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return de(e)&&r.set(e,Gn),Gn;if(Z(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",na=e=>Z(e)?e.map(ot):[ot(e)],Ip=(e,t,n)=>{if(t._n)return t;const r=zi((...s)=>na(t(...s)),n);return r._c=!1,r},Uu=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ta(s))continue;const o=e[s];if(ee(o))t[s]=Ip(s,o,r);else if(o!=null){const i=na(o);t[s]=()=>i}}},ju=(e,t)=>{const n=na(t);e.slots.default=()=>n},Bu=(e,t,n)=>{for(const r in t)(n||!ta(r))&&(e[r]=t[r])},Np=(e,t,n)=>{const r=e.slots=Du();if(e.vnode.shapeFlag&32){const s=t._;s?(Bu(r,t,n),n&&Uc(r,"_",s,!0)):Uu(t,r)}else t&&ju(e,t)},xp=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=be;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Bu(s,t,n):(o=!t.$stable,Uu(t,s)),i=t}else t&&(ju(e,t),i={default:1});if(o)for(const a in s)!ta(a)&&i[a]==null&&delete s[a]},Fe=Xu;function Mp(e){return Vu(e)}function Dp(e){return Vu(e,np)}function Vu(e,t){const n=Ks();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:h=Ft,insertStaticContent:_}=e,m=(v,S,P,U=null,M=null,p=null,w=void 0,k=null,O=!!S.dynamicChildren)=>{if(v===S)return;v&&!Et(v,S)&&(U=H(v),$e(v,M,p,!0),v=null),S.patchFlag===-2&&(O=!1,S.dynamicChildren=null);const{type:x,ref:j,shapeFlag:T}=S;switch(x){case mn:R(v,S,P,U);break;case Oe:b(v,S,P,U);break;case kr:v==null&&E(S,P,U,w);break;case Ue:$(v,S,P,U,M,p,w,k,O);break;default:T&1?C(v,S,P,U,M,p,w,k,O):T&6?X(v,S,P,U,M,p,w,k,O):(T&64||T&128)&&x.process(v,S,P,U,M,p,w,k,O,Q)}j!=null&&M?Jn(j,v&&v.ref,p,S||v,!S):j==null&&v&&v.ref!=null&&Jn(v.ref,null,p,v,!0)},R=(v,S,P,U)=>{if(v==null)r(S.el=a(S.children),P,U);else{const M=S.el=v.el;S.children!==v.children&&u(M,S.children)}},b=(v,S,P,U)=>{v==null?r(S.el=l(S.children||""),P,U):S.el=v.el},E=(v,S,P,U)=>{[v.el,v.anchor]=_(v.children,S,P,U,v.el,v.anchor)},g=({el:v,anchor:S},P,U)=>{let M;for(;v&&v!==S;)M=d(v),r(v,P,U),v=M;r(S,P,U)},y=({el:v,anchor:S})=>{let P;for(;v&&v!==S;)P=d(v),s(v),v=P;s(S)},C=(v,S,P,U,M,p,w,k,O)=>{if(S.type==="svg"?w="svg":S.type==="math"&&(w="mathml"),v==null)A(S,P,U,M,p,w,k,O);else{const x=v.el&&v.el._isVueCE?v.el:null;try{x&&x._beginPatch(),N(v,S,M,p,w,k,O)}finally{x&&x._endPatch()}}},A=(v,S,P,U,M,p,w,k)=>{let O,x;const{props:j,shapeFlag:T,transition:I,dirs:V}=v;if(O=v.el=i(v.type,p,j&&j.is,j),T&8?c(O,v.children):T&16&&F(v.children,O,null,U,M,To(v,p),w,k),V&&It(v,null,U,"created"),L(O,v,v.scopeId,w,U),j){for(const ie in j)ie!=="value"&&!Ln(ie)&&o(O,ie,null,j[ie],p,U);"value"in j&&o(O,"value",null,j.value,p),(x=j.onVnodeBeforeMount)&&ze(x,U,v)}V&&It(v,null,U,"beforeMount");const z=Wu(M,I);z&&I.beforeEnter(O),r(O,S,P),((x=j&&j.onVnodeMounted)||z||V)&&Fe(()=>{x&&ze(x,U,v),z&&I.enter(O),V&&It(v,null,U,"mounted")},M)},L=(v,S,P,U,M)=>{if(P&&h(v,P),U)for(let p=0;p{for(let x=O;x{const k=S.el=v.el;let{patchFlag:O,dynamicChildren:x,dirs:j}=S;O|=v.patchFlag&16;const T=v.props||be,I=S.props||be;let V;if(P&&vn(P,!1),(V=I.onVnodeBeforeUpdate)&&ze(V,P,S,v),j&&It(S,v,P,"beforeUpdate"),P&&vn(P,!0),(T.innerHTML&&I.innerHTML==null||T.textContent&&I.textContent==null)&&c(k,""),x?D(v.dynamicChildren,x,k,P,U,To(S,M),p):w||q(v,S,k,null,P,U,To(S,M),p,!1),O>0){if(O&16)W(k,T,I,P,M);else if(O&2&&T.class!==I.class&&o(k,"class",null,I.class,M),O&4&&o(k,"style",T.style,I.style,M),O&8){const z=S.dynamicProps;for(let ie=0;ie{V&&ze(V,P,S,v),j&&It(S,v,P,"updated")},U)},D=(v,S,P,U,M,p,w)=>{for(let k=0;k{if(S!==P){if(S!==be)for(const p in S)!Ln(p)&&!(p in P)&&o(v,p,S[p],null,M,U);for(const p in P){if(Ln(p))continue;const w=P[p],k=S[p];w!==k&&p!=="value"&&o(v,p,k,w,M,U)}"value"in P&&o(v,"value",S.value,P.value,M)}},$=(v,S,P,U,M,p,w,k,O)=>{const x=S.el=v?v.el:a(""),j=S.anchor=v?v.anchor:a("");let{patchFlag:T,dynamicChildren:I,slotScopeIds:V}=S;V&&(k=k?k.concat(V):V),v==null?(r(x,P,U),r(j,P,U),F(S.children||[],P,j,M,p,w,k,O)):T>0&&T&64&&I&&v.dynamicChildren&&v.dynamicChildren.length===I.length?(D(v.dynamicChildren,I,P,M,p,w,k),(S.key!=null||M&&S===M.subTree)&&Ku(v,S,!0)):q(v,S,P,j,M,p,w,k,O)},X=(v,S,P,U,M,p,w,k,O)=>{S.slotScopeIds=k,v==null?S.shapeFlag&512?M.ctx.activate(S,P,U,w,O):te(S,P,U,M,p,w,O):se(v,S,O)},te=(v,S,P,U,M,p,w)=>{const k=v.component=Xp(v,U,M);if(Qr(v)&&(k.ctx.renderer=Q),Jp(k,!1,w),k.asyncDep){if(M&&M.registerDep(k,K,w),!v.el){const O=k.subTree=Re(Oe);b(null,O,S,P),v.placeholder=O.el}}else K(k,v,S,P,M,p,w)},se=(v,S,P)=>{const U=S.component=v.component;if(kp(v,S,P))if(U.asyncDep&&!U.asyncResolved){J(U,S,P);return}else U.next=S,U.update();else S.el=v.el,U.vnode=S},K=(v,S,P,U,M,p,w)=>{const k=()=>{if(v.isMounted){let{next:T,bu:I,u:V,parent:z,vnode:ie}=v;{const rt=Gu(v);if(rt){T&&(T.el=ie.el,J(v,T,w)),rt.asyncDep.then(()=>{Fe(()=>{v.isUnmounted||x()},M)});return}}let oe=T,le;vn(v,!1),T?(T.el=ie.el,J(v,T,w)):T=ie,I&&Yn(I),(le=T.props&&T.props.onVnodeBeforeUpdate)&&ze(le,z,T,ie),vn(v,!0);const Pe=Ro(v),ft=v.subTree;v.subTree=Pe,m(ft,Pe,f(ft.el),H(ft),v,M,p),T.el=Pe.el,oe===null&&to(v,Pe.el),V&&Fe(V,M),(le=T.props&&T.props.onVnodeUpdated)&&Fe(()=>ze(le,z,T,ie),M)}else{let T;const{el:I,props:V}=S,{bm:z,m:ie,parent:oe,root:le,type:Pe}=v,ft=Qt(S);if(vn(v,!1),z&&Yn(z),!ft&&(T=V&&V.onVnodeBeforeMount)&&ze(T,oe,S),vn(v,!0),I&&_e){const rt=()=>{v.subTree=Ro(v),_e(I,v.subTree,v,M,null)};ft&&Pe.__asyncHydrate?Pe.__asyncHydrate(I,v,rt):rt()}else{le.ce&&le.ce._hasShadowRoot()&&le.ce._injectChildStyle(Pe,v.parent?v.parent.type:void 0);const rt=v.subTree=Ro(v);m(null,rt,P,U,v,M,p),S.el=rt.el}if(ie&&Fe(ie,M),!ft&&(T=V&&V.onVnodeMounted)){const rt=S;Fe(()=>ze(T,oe,rt),M)}(S.shapeFlag&256||oe&&Qt(oe.vnode)&&oe.vnode.shapeFlag&256)&&v.a&&Fe(v.a,M),v.isMounted=!0,S=P=U=null}};v.scope.on();const O=v.effect=new Gc(k);v.scope.off();const x=v.update=O.run.bind(O),j=v.job=O.runIfDirty.bind(O);j.i=v,j.id=v.uid,O.scheduler=()=>Qi(j),vn(v,!0),x()},J=(v,S,P)=>{S.component=v;const U=v.vnode.props;v.vnode=S,v.next=null,Pp(v,S.props,U,P),xp(v,S.children,P),en(),Ia(v),tn()},q=(v,S,P,U,M,p,w,k,O=!1)=>{const x=v&&v.children,j=v?v.shapeFlag:0,T=S.children,{patchFlag:I,shapeFlag:V}=S;if(I>0){if(I&128){nt(x,T,P,U,M,p,w,k,O);return}else if(I&256){re(x,T,P,U,M,p,w,k,O);return}}V&8?(j&16&&Ve(x,M,p),T!==x&&c(P,T)):j&16?V&16?nt(x,T,P,U,M,p,w,k,O):Ve(x,M,p,!0):(j&8&&c(P,""),V&16&&F(T,P,U,M,p,w,k,O))},re=(v,S,P,U,M,p,w,k,O)=>{v=v||Gn,S=S||Gn;const x=v.length,j=S.length,T=Math.min(x,j);let I;for(I=0;Ij?Ve(v,M,p,!0,!1,T):F(S,P,U,M,p,w,k,O,T)},nt=(v,S,P,U,M,p,w,k,O)=>{let x=0;const j=S.length;let T=v.length-1,I=j-1;for(;x<=T&&x<=I;){const V=v[x],z=S[x]=O?Gt(S[x]):ot(S[x]);if(Et(V,z))m(V,z,P,null,M,p,w,k,O);else break;x++}for(;x<=T&&x<=I;){const V=v[T],z=S[I]=O?Gt(S[I]):ot(S[I]);if(Et(V,z))m(V,z,P,null,M,p,w,k,O);else break;T--,I--}if(x>T){if(x<=I){const V=I+1,z=VI)for(;x<=T;)$e(v[x],M,p,!0),x++;else{const V=x,z=x,ie=new Map;for(x=z;x<=I;x++){const st=S[x]=O?Gt(S[x]):ot(S[x]);st.key!=null&&ie.set(st.key,x)}let oe,le=0;const Pe=I-z+1;let ft=!1,rt=0;const pr=new Array(Pe);for(x=0;x=Pe){$e(st,M,p,!0);continue}let kt;if(st.key!=null)kt=ie.get(st.key);else for(oe=z;oe<=I;oe++)if(pr[oe-z]===0&&Et(st,S[oe])){kt=oe;break}kt===void 0?$e(st,M,p,!0):(pr[kt-z]=x+1,kt>=rt?rt=kt:ft=!0,m(st,S[kt],P,null,M,p,w,k,O),le++)}const Ra=ft?Fp(pr):Gn;for(oe=Ra.length-1,x=Pe-1;x>=0;x--){const st=z+x,kt=S[st],Ta=S[st+1],La=st+1{const{el:p,type:w,transition:k,children:O,shapeFlag:x}=v;if(x&6){qe(v.component.subTree,S,P,U);return}if(x&128){v.suspense.move(S,P,U);return}if(x&64){w.move(v,S,P,Q);return}if(w===Ue){r(p,S,P);for(let T=0;Tk.enter(p),M));else{const{leave:T,delayLeave:I,afterLeave:V}=k,z=()=>{v.ctx.isUnmounted?s(p):r(p,S,P)},ie=()=>{const oe=p._isLeaving||!!p[pt];p._isLeaving&&p[pt](!0),k.persisted&&!oe?z():T(p,()=>{z(),V&&V()})};I?I(p,z,ie):ie()}else r(p,S,P)},$e=(v,S,P,U=!1,M=!1)=>{const{type:p,props:w,ref:k,children:O,dynamicChildren:x,shapeFlag:j,patchFlag:T,dirs:I,cacheIndex:V,memo:z}=v;if(T===-2&&(M=!1),k!=null&&(en(),Jn(k,null,P,v,!0),tn()),V!=null&&(S.renderCache[V]=void 0),j&256){S.ctx.deactivate(v);return}const ie=j&1&&I,oe=!Qt(v);let le;if(oe&&(le=w&&w.onVnodeBeforeUnmount)&&ze(le,S,v),j&6)Lt(v.component,P,U);else{if(j&128){v.suspense.unmount(P,U);return}ie&&It(v,null,S,"beforeUnmount"),j&64?v.type.remove(v,S,P,Q,U):x&&!x.hasOnce&&(p!==Ue||T>0&&T&64)?Ve(x,S,P,!1,!0):(p===Ue&&T&384||!M&&j&16)&&Ve(O,S,P),U&&Rt(v)}const Pe=z!=null&&V==null;(oe&&(le=w&&w.onVnodeUnmounted)||ie||Pe)&&Fe(()=>{le&&ze(le,S,v),ie&&It(v,null,S,"unmounted"),Pe&&(v.el=null)},P)},Rt=v=>{const{type:S,el:P,anchor:U,transition:M}=v;if(S===Ue){Tt(P,U);return}if(S===kr){y(v);return}const p=()=>{s(P),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(v.shapeFlag&1&&M&&!M.persisted){const{leave:w,delayLeave:k}=M,O=()=>w(P,p);k?k(v.el,p,O):O()}else p()},Tt=(v,S)=>{let P;for(;v!==S;)P=d(v),s(v),v=P;s(S)},Lt=(v,S,P)=>{const{bum:U,scope:M,job:p,subTree:w,um:k,m:O,a:x}=v;Ls(O),Ls(x),U&&Yn(U),M.stop(),p&&(p.flags|=8,$e(w,v,S,P)),k&&Fe(k,S),Fe(()=>{v.isUnmounted=!0},S)},Ve=(v,S,P,U=!1,M=!1,p=0)=>{for(let w=p;w{if(v.shapeFlag&6)return H(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const S=d(v.anchor||v.el),P=S&&S[Jh];return P?d(P):S};let Y=!1;const B=(v,S,P)=>{let U;v==null?S._vnode&&($e(S._vnode,null,null,!0),U=S._vnode.component):m(S._vnode||null,v,S,null,null,null,P),S._vnode=v,Y||(Y=!0,Ia(U),ws(),Y=!1)},Q={p:m,um:$e,m:qe,r:Rt,mt:te,mc:F,pc:q,pbc:D,n:H,o:e};let ne,_e;return t&&([ne,_e]=t(Q)),{render:B,hydrate:ne,createApp:Ep(B,ne)}}function To({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function vn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ku(e,t,n=!1){const r=e.children,s=t.children;if(Z(r)&&Z(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Gu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gu(t)}function Ls(e){if(e)for(let t=0;te.__isSuspense;let ri=0;const Hp={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,u){if(e==null)$p(t,n,r,s,o,i,a,l,u);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Up(e,t,n,r,s,i,a,l,u)}},hydrate:jp,normalize:Bp},ra=Hp;function Fr(e,t){const n=e.props&&e.props[t];ee(n)&&n()}function $p(e,t,n,r,s,o,i,a,l){const{p:u,o:{createElement:c}}=l,f=c("div"),d=e.suspense=Yu(e,s,r,t,f,n,o,i,a,l);u(null,d.pendingBranch=e.ssContent,f,null,r,d,o,i),d.deps>0?(Fr(e,"onPending"),Fr(e,"onFallback"),u(null,e.ssFallback,t,n,r,null,o,i),Qn(d,e.ssFallback)):d.resolve(!1,!0)}function Up(e,t,n,r,s,o,i,a,{p:l,um:u,o:{createElement:c}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,h=t.ssFallback,{activeBranch:_,pendingBranch:m,isInFallback:R,isHydrating:b}=f;if(m)f.pendingBranch=d,Et(m,d)?(l(m,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():R&&(b||(l(_,h,n,r,s,null,o,i,a),Qn(f,h)))):(f.pendingId=ri++,b?(f.isHydrating=!1,f.activeBranch=m):u(m,s,f),f.deps=0,f.effects.length=0,f.hiddenContainer=c("div"),R?(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0?f.resolve():(l(_,h,n,r,s,null,o,i,a),Qn(f,h))):_&&Et(_,d)?(l(_,d,n,r,s,f,o,i,a),f.resolve(!0)):(l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0&&f.resolve()));else if(_&&Et(_,d))l(_,d,n,r,s,f,o,i,a),Qn(f,d);else if(Fr(t,"onPending"),f.pendingBranch=d,d.shapeFlag&512?f.pendingId=d.component.suspenseId:f.pendingId=ri++,l(null,d,f.hiddenContainer,null,s,f,o,i,a),f.deps<=0)f.resolve();else{const{timeout:E,pendingId:g}=f;E>0?setTimeout(()=>{f.pendingId===g&&f.fallback(h)},E):E===0&&f.fallback(h)}}function Yu(e,t,n,r,s,o,i,a,l,u,c=!1){const{p:f,m:d,um:h,n:_,o:{parentNode:m,remove:R}}=u;let b;const E=Vp(e);E&&t&&t.pendingBranch&&(b=t.pendingId,t.deps++);const g=e.props?jc(e.props.timeout):void 0,y=o,C={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:ri++,timeout:typeof g=="number"?g:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(A=!1,L=!1){const{vnode:F,activeBranch:N,pendingBranch:D,pendingId:W,effects:$,parentComponent:X,container:te,isInFallback:se}=C;let K=!1;if(C.isHydrating)C.isHydrating=!1;else if(!A){K=N&&D.transition&&D.transition.mode==="out-in";let re=!1;K&&(N.transition.afterLeave=()=>{W===C.pendingId&&(d(D,te,o===y&&!re?_(N):o,0),Qo($),se&&F.ssFallback&&(F.ssFallback.el=null))}),N&&!C.isFallbackMountPending&&(m(N.el)===te&&(o=_(N),re=!0),h(N,X,C,!0),!K&&se&&F.ssFallback&&Fe(()=>F.ssFallback.el=null,C)),K||d(D,te,o,0)}C.isFallbackMountPending=!1,Qn(C,D),C.pendingBranch=null,C.isInFallback=!1;let J=C.parent,q=!1;for(;J;){if(J.pendingBranch){J.effects.push(...$),q=!0;break}J=J.parent}!q&&!K&&Qo($),C.effects=[],E&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!L&&t.resolve()),Fr(F,"onResolve")},fallback(A){if(!C.pendingBranch)return;const{vnode:L,activeBranch:F,parentComponent:N,container:D,namespace:W}=C;Fr(L,"onFallback");const $=_(F),X=()=>{C.isFallbackMountPending=!1,C.isInFallback&&(f(null,A,D,$,N,null,W,a,l),Qn(C,A))},te=A.transition&&A.transition.mode==="out-in";te&&(C.isFallbackMountPending=!0,F.transition.afterLeave=X),C.isInFallback=!0,h(F,N,null,!0),te||X()},move(A,L,F){C.activeBranch&&d(C.activeBranch,A,L,F),C.container=A},next(){return C.activeBranch&&_(C.activeBranch)},registerDep(A,L,F){const N=!!C.pendingBranch;N&&C.deps++;const D=A.vnode.el;A.asyncDep.catch(W=>{hr(W,A,0)}).then(W=>{if(A.isUnmounted||C.isUnmounted||C.pendingId!==A.suspenseId)return;oi(),A.asyncResolved=!0;const{vnode:$}=A;ii(A,W),D&&($.el=D);const X=!D&&A.subTree.el;L(A,$,m(D||A.subTree.el),D?null:_(A.subTree),C,i,F),X&&($.placeholder=null,R(X)),to(A,$.el),N&&--C.deps===0&&C.resolve()})},unmount(A,L){C.isUnmounted=!0,C.activeBranch&&h(C.activeBranch,n,A,L),C.pendingBranch&&h(C.pendingBranch,n,A,L)}};return C}function jp(e,t,n,r,s,o,i,a,l){const u=t.suspense=Yu(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,o,i);return u.deps===0&&u.resolve(!1,!0),c}function Bp(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Ka(r?n.default:n),e.ssFallback=r?Ka(n.fallback):Re(Oe)}function Ka(e){let t;if(ee(e)){const n=nr&&e._c;n&&(e._d=!1,gt()),e=e(),n&&(e._d=!0,t=Ze,Ju())}return Z(e)&&(e=Rp(e)),e=ot(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Xu(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Qo(e)}function Qn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,to(r,s))}function Vp(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Ue=Symbol.for("v-fgt"),mn=Symbol.for("v-txt"),Oe=Symbol.for("v-cmt"),kr=Symbol.for("v-stc"),Ar=[];let Ze=null;function gt(e=!1){Ar.push(Ze=e?null:[])}function Ju(){Ar.pop(),Ze=Ar[Ar.length-1]||null}let nr=1;function As(e,t=!1){nr+=e,e<0&&Ze&&t&&(Ze.hasOnce=!0)}function Qu(e){return e.dynamicChildren=nr>0?Ze||Gn:null,Ju(),nr>0&&Ze&&Ze.push(e),e}function Wp(e,t,n,r,s,o){return Qu(Zu(e,t,n,r,s,o,!0))}function Mt(e,t,n,r,s){return Qu(Re(e,t,n,r,s,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function Et(e,t){return e.type===t.type&&e.key===t.key}const zu=({key:e})=>e??null,ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||ve(e)||ee(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function Zu(e,t=null,n=null,r=0,s=null,o=e===Ue?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zu(t),ref:t&&ys(t),scopeId:hu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return a?(sa(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=we(n)?8:16),nr>0&&!i&&Ze&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&Ze.push(l),l}const Re=Kp;function Kp(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Lu)&&(e=Oe),xn(e)){const a=rn(e,t,!0);return n&&sa(a,n),nr>0&&!o&&Ze&&(a.shapeFlag&6?Ze[Ze.indexOf(e)]=a:Ze.push(a)),a.patchFlag=-2,a}if(eg(e)&&(e=e.__vccOpts),t){t=ef(t);let{class:a,style:l}=t;a&&!we(a)&&(t.class=qs(a)),de(l)&&(Js(l)&&!Z(l)&&(l=He({},l)),t.style=Gs(l))}const i=we(e)?1:ks(e)?128:gu(e)?64:de(e)?4:ee(e)?2:0;return Zu(e,t,n,r,s,i,o,!0)}function ef(e){return e?Js(e)||Fu(e)?He({},e):e:null}function rn(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,u=t?nf(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&zu(u),ref:t&&t.ref?n&&o?Z(o)?o.concat(ys(t)):[o,ys(t)]:ys(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ue?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rn(e.ssContent),ssFallback:e.ssFallback&&rn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&tr(c,l.clone(c)),c}function tf(e=" ",t=0){return Re(mn,null,e,t)}function L0(e,t){const n=Re(kr,null,e);return n.staticCount=t,n}function Gp(e="",t=!1){return t?(gt(),Mt(Oe,null,e)):Re(Oe,null,e)}function ot(e){return e==null||typeof e=="boolean"?Re(Oe):Z(e)?Re(Ue,null,e.slice()):xn(e)?Gt(e):Re(mn,null,String(e))}function Gt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:rn(e)}function sa(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),sa(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Fu(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ee(t)?(t={default:t,_ctx:Be},n=32):(t=String(t),r&64?(n=16,t=[tf(t)]):n=8);e.children=t,e.shapeFlag|=n}function nf(...e){const t={};for(let n=0;nje||Be;let Ps,si;{const e=Ks(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Ps=t("__VUE_INSTANCE_SETTERS__",n=>je=n),si=t("__VUE_SSR_SETTERS__",n=>rr=n)}const Zr=e=>{const t=je;return Ps(e),e.scope.on(),()=>{e.scope.off(),Ps(t)}},oi=()=>{je&&je.scope.off(),Ps(null)};function rf(e){return e.vnode.shapeFlag&4}let rr=!1;function Jp(e,t=!1,n=!1){t&&si(t);const{props:r,children:s}=e.vnode,o=rf(e);Ap(e,r,o,t),Np(e,s,n||t);const i=o?Qp(e,t):void 0;return t&&si(!1),i}function Qp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pp);const{setup:r}=n;if(r){en();const s=e.setupContext=r.length>1?Zp(e):null,o=Zr(e),i=Xr(r,e,0,[e.props,s]),a=Fc(i);if(tn(),o(),(a||e.sp)&&!Qt(e)&&ea(e),a){if(i.then(oi,oi),t)return i.then(l=>{ii(e,l)}).catch(l=>{hr(l,e,0)});e.asyncDep=i}else ii(e,i)}else sf(e)}function ii(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=au(t)),sf(e)}function sf(e,t,n){const r=e.type;e.render||(e.render=r.render||Ft);{const s=Zr(e);en();try{gp(e)}finally{tn(),s()}}}const zp={get(e,t){return Ke(e,"get",""),e[t]}};function Zp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,zp),slots:e.slots,emit:e.emit,expose:t}}function no(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(au(Ji(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Lr)return Lr[n](e)},has(t,n){return n in t||n in Lr}})):e.proxy}function ai(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function eg(e){return ee(e)&&"__vccOpts"in e}const ke=(e,t)=>jh(e,t,rr);function Ie(e,t,n){try{As(-1);const r=arguments.length;return r===2?de(t)&&!Z(t)?xn(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xn(n)&&(n=[n]),Re(e,t,n))}finally{As(1)}}const tg="3.5.38";let li;const Ga=typeof window<"u"&&window.trustedTypes;if(Ga)try{li=Ga.createPolicy("vue",{createHTML:e=>e})}catch{}const of=li?e=>li.createHTML(e):e=>e,ng="http://www.w3.org/2000/svg",rg="http://www.w3.org/1998/Math/MathML",Kt=typeof document<"u"?document:null,qa=Kt&&Kt.createElement("template"),sg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Kt.createElementNS(ng,e):t==="mathml"?Kt.createElementNS(rg,e):n?Kt.createElement(e,{is:n}):Kt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Kt.createTextNode(e),createComment:e=>Kt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Kt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{qa.innerHTML=of(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=qa.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ln="transition",yr="animation",Hr=Symbol("_vtc"),af={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},og=He({},mu,af),ig=e=>(e.displayName="Transition",e.props=og,e),ag=ig((e,{slots:t})=>Ie(Zh,lg(e),t)),En=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ya=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function lg(e){const t={};for(const $ in e)$ in af||(t[$]=e[$]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:u=i,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,_=cg(s),m=_&&_[0],R=_&&_[1],{onBeforeEnter:b,onEnter:E,onEnterCancelled:g,onLeave:y,onLeaveCancelled:C,onBeforeAppear:A=b,onAppear:L=E,onAppearCancelled:F=g}=t,N=($,X,te,se)=>{$._enterCancelled=se,wn($,X?c:a),wn($,X?u:i),te&&te()},D=($,X)=>{$._isLeaving=!1,wn($,f),wn($,h),wn($,d),X&&X()},W=$=>(X,te)=>{const se=$?L:E,K=()=>N(X,$,te);En(se,[X,K]),Xa(()=>{wn(X,$?l:o),Bt(X,$?c:a),Ya(se)||Ja(X,r,m,K)})};return He(t,{onBeforeEnter($){En(b,[$]),Bt($,o),Bt($,i)},onBeforeAppear($){En(A,[$]),Bt($,l),Bt($,u)},onEnter:W(!1),onAppear:W(!0),onLeave($,X){$._isLeaving=!0;const te=()=>D($,X);Bt($,f),$._enterCancelled?(Bt($,d),Za($)):(Za($),Bt($,d)),Xa(()=>{$._isLeaving&&(wn($,f),Bt($,h),Ya(y)||Ja($,r,R,te))}),En(y,[$,te])},onEnterCancelled($){N($,!1,void 0,!0),En(g,[$])},onAppearCancelled($){N($,!0,void 0,!0),En(F,[$])},onLeaveCancelled($){D($),En(C,[$])}})}function cg(e){if(e==null)return null;if(de(e))return[Lo(e.enter),Lo(e.leave)];{const t=Lo(e);return[t,t]}}function Lo(e){return jc(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Hr]||(e[Hr]=new Set)).add(t)}function wn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Hr];n&&(n.delete(t),n.size||(e[Hr]=void 0))}function Xa(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ug=0;function Ja(e,t,n,r){const s=e._endId=++ug,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=fg(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),o()},d=h=>{h.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[_]||"").split(", "),s=r(`${ln}Delay`),o=r(`${ln}Duration`),i=Qa(s,o),a=r(`${yr}Delay`),l=r(`${yr}Duration`),u=Qa(a,l);let c=null,f=0,d=0;t===ln?i>0&&(c=ln,f=i,d=o.length):t===yr?u>0&&(c=yr,f=u,d=l.length):(f=Math.max(i,u),c=f>0?i>u?ln:yr:null,d=c?c===ln?o.length:l.length:0);const h=c===ln&&/\b(?:transform|all)(?:,|$)/.test(r(`${ln}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:h}}function Qa(e,t){for(;e.lengthza(n)+za(e[r])))}function za(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Za(e){return(e?e.ownerDocument:document).body.offsetHeight}function dg(e,t,n){const r=e[Hr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Os=Symbol("_vod"),lf=Symbol("_vsh"),k0={name:"show",beforeMount(e,{value:t},{transition:n}){e[Os]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):_r(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),_r(e,!0),r.enter(e)):r.leave(e,()=>{_r(e,!1)}):_r(e,t))},beforeUnmount(e,{value:t}){_r(e,t)}};function _r(e,t){e.style.display=t?e[Os]:"none",e[lf]=!t}const hg=Symbol(""),pg=/(?:^|;)\s*display\s*:/;function gg(e,t,n){const r=e.style,s=we(n);let o=!1;if(n&&!s){if(t)if(we(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Sr(r,a,"")}else for(const i in t)n[i]==null&&Sr(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?yg(e,i,!we(t)&&t?t[i]:void 0,a)||Sr(r,i,a):Sr(r,i,"")}}else if(s){if(t!==n){const i=r[hg];i&&(n+=";"+i),r.cssText=n,o=pg.test(n)}}else t&&e.removeAttribute("style");Os in e&&(e[Os]=o?r.display:"",e[lf]&&(r.display="none"))}const el=/\s*!important$/;function Sr(e,t,n){if(Z(n))n.forEach(r=>Sr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=mg(e,t);el.test(n)?e.setProperty(Dn(r),n.replace(el,""),"important"):e[r]=n}}const tl=["Webkit","Moz","ms"],ko={};function mg(e,t){const n=ko[t];if(n)return n;let r=Qe(t);if(r!=="filter"&&r in e)return ko[t]=r;r=Vs(r);for(let s=0;sAo||(Eg.then(()=>Ao=0),Ao=Date.now());function Cg(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(Z(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sg=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?dg(e,r,i):t==="style"?gg(e,n,r):qr(t)?Us(t)||bg(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rg(e,t,r,i))?(sl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&rl(e,t,r,i,o,t!=="value")):e._isVueCE&&(Tg(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!we(r)))?sl(e,Qe(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),rl(e,t,r,i))};function Rg(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&al(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return al(t)&&we(n)?!1:t in e}function Tg(e,t){const n=e._def.props;if(!n)return!1;const r=Qe(t);return Array.isArray(n)?n.some(s=>Qe(s)===r):Object.keys(n).some(s=>Qe(s)===r)}const sr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?n=>Yn(t,n):t};function Lg(e){e.target.composing=!0}function ll(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const zt=Symbol("_assign");function cl(e,t,n){return t&&(e=e.trim()),n&&(e=Ws(e)),e}const A0={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[zt]=sr(s);const o=r||s.props&&s.props.type==="number";hn(e,t?"change":"input",i=>{i.target.composing||e[zt](cl(e.value,n,o))}),(n||o)&&hn(e,"change",()=>{e.value=cl(e.value,n,o)}),t||(hn(e,"compositionstart",Lg),hn(e,"compositionend",ll),hn(e,"change",ll))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[zt]=sr(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Ws(e.value):e.value,l=t??"";if(a===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},P0={deep:!0,created(e,t,n){e[zt]=sr(n),hn(e,"change",()=>{const r=e._modelValue,s=$r(e),o=e.checked,i=e[zt];if(Z(r)){const a=Wi(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const u=[...r];u.splice(a,1),i(u)}}else if(cr(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(cf(e,o))})},mounted:ul,beforeUpdate(e,t,n){e[zt]=sr(n),ul(e,t,n)}};function ul(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(Z(t))s=Wi(t,r.props.value)>-1;else if(cr(t))s=t.has(r.props.value);else{if(t===n)return;s=fr(t,cf(e,!0))}e.checked!==s&&(e.checked=s)}const O0={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=cr(t);hn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Ws($r(i)):$r(i));e[zt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,nn(()=>{e._assigning=!1})}),e[zt]=sr(r)},mounted(e,{value:t}){fl(e,t)},beforeUpdate(e,t,n){e[zt]=sr(n)},updated(e,{value:t}){e._assigning||fl(e,t)}};function fl(e,t){const n=e.multiple,r=Z(t);if(!(n&&!r&&!cr(t))){for(let s=0,o=e.options.length;sString(u)===String(a)):i.selected=Wi(t,a)>-1}else i.selected=t.has(a);else if(fr($r(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function $r(e){return"_value"in e?e._value:e.value}function cf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const kg=["ctrl","shift","alt","meta"],Ag={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>kg.some(n=>e[`${n}Key`]&&!t.includes(n))},I0=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const t=Pg().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(!s)return;const o=t._component;!ee(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,ff(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ng=((...e)=>{const t=Og().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=df(r);if(s)return n(s,!0,ff(s))},t});function ff(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function df(e){return we(e)?document.querySelector(e):e}const xg=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Mg=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Dg=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Fg(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Hg(e);return}return t}function Hg(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ur(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Dg.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(xg.test(e)||Mg.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Fg)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const hf=/#/g,pf=/&/g,$g=/\//g,Ug=/=/g,jg=/\?/g,ro=/\+/g,Bg=/%5e/gi,Vg=/%60/gi,Wg=/%7c/gi,Kg=/%20/gi,Gg=/%2f/gi,qg=/%252f/gi;function gf(e){return encodeURI(""+e).replace(Wg,"|")}function ci(e){return gf(typeof e=="string"?e:JSON.stringify(e)).replace(ro,"%2B").replace(Kg,"+").replace(hf,"%23").replace(pf,"%26").replace(Vg,"`").replace(Bg,"^").replace($g,"%2F")}function Po(e){return ci(e).replace(Ug,"%3D")}function Yg(e){return gf(e).replace(hf,"%23").replace(jg,"%3F").replace(qg,"%2F").replace(pf,"%26").replace(ro,"%2B")}function jr(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function Xg(e){return jr(e.replace(Gg,"%252F"))}function Jg(e){return jr(e.replace(ro," "))}function Qg(e){return jr(e.replace(ro," "))}function oa(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=Jg(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=Qg(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function zg(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Po(e)}=${ci(n)}`).join("&"):`${Po(e)}=${ci(t)}`:Po(e)}function Zg(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>zg(t,e[t])).filter(Boolean).join("&")}const em=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,tm=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,nm=/^([/\\]\s*){2,}[^/\\]/,rm=/^[\s\0]*(blob|data|javascript|vbscript):$/i,sm=/\/$|\/\?|\/#/,om=/^\.?\//;function an(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?em.test(e):tm.test(e)||(t.acceptRelative?nm.test(e):!1)}function ui(e){return!!e&&rm.test(e)}function fi(e="",t){return t?sm.test(e):e.endsWith("/")}function Br(e="",t){if(!t)return(fi(e)?e.slice(0,-1):e)||"/";if(!fi(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function im(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(fi(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function am(e,t){if(mf(t)||an(e))return e;const n=Br(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return Pn(n,e)}function hl(e,t){if(mf(t))return e;const n=Br(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function so(e,t){const n=ia(e),r={...oa(n.search),...t};return n.search=Zg(r),cm(n)}function mf(e){return!e||e==="/"}function lm(e){return e&&e!=="/"}function Pn(e,...t){let n=e||"";for(const r of t.filter(s=>lm(s)))if(n){const s=r.replace(om,"");n=im(n)+s}else n=r;return n}function yf(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&an(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function _f(e,t){return jr(Br(e))===jr(Br(t))}const bf=Symbol.for("ufo:protocolRelative");function ia(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,d=""]=n;return{protocol:f.toLowerCase(),pathname:d,href:f+d,auth:"",host:"",search:"",hash:""}}if(!an(e,{acceptRelative:!0}))return di(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:u,hash:c}=di(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:u,hash:c,[bf]:!r}}function di(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function cm(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[bf]?(e.protocol||"")+"//":"")+s+o+t+n+r}class um extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function fm(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new um(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,u]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[u]}});return a}const dm=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function pl(e="GET"){return dm.has(e.toUpperCase())}function hm(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const pm=new Set(["image/svg","application/xml","application/xhtml","application/html"]),gm=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function mm(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return gm.test(t)?"json":t==="text/event-stream"?"stream":pm.has(t)||t.startsWith("text/")?"text":"blob"}function ym(e,t,n,r){const s=_m(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function _m(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function ls(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const bm=new Set([408,409,425,429,500,502,503,504]),vm=new Set([101,204,205,304]);function vf(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=pl(a.options.method)?0:1;const f=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(f):bm.has(f))){const d=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return d>0&&await new Promise(h=>setTimeout(h,d)),o(a.request,{...a.options,retry:c-1})}}const u=fm(a);throw Error.captureStackTrace&&Error.captureStackTrace(u,o),u}const o=async function(l,u={}){const c={request:l,options:ym(l,u,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await ls(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=am(c.request,c.options.baseURL)),c.options.query&&(c.request=so(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&pl(c.options.method))if(hm(c.options.body)){const h=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=h==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),h||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let f;if(!c.options.signal&&c.options.timeout){const h=new r;f=setTimeout(()=>{const _=new Error("[TimeoutError]: The operation was aborted due to timeout");_.name="TimeoutError",_.code=23,h.abort(_)},c.options.timeout),c.options.signal=h.signal}try{c.response=await t(c.request,c.options)}catch(h){return c.error=h,c.options.onRequestError&&await ls(c,c.options.onRequestError),await s(c)}finally{f&&clearTimeout(f)}if((c.response.body||c.response._bodyInit)&&!vm.has(c.response.status)&&c.options.method!=="HEAD"){const h=(c.options.parseResponse?"json":c.options.responseType)||mm(c.response.headers.get("content-type")||"");switch(h){case"json":{const _=await c.response.text(),m=c.options.parseResponse||Ur;c.response._data=m(_);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[h]()}}return c.options.onResponse&&await ls(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await ls(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,u){return(await o(l,u))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>vf({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Is=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),Em=Is.fetch?(...e)=>Is.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),wm=Is.Headers,Cm=Is.AbortController,Sm=vf({fetch:Em,Headers:wm,AbortController:Cm}),Rm=Sm,Tm=()=>window?.__NUXT__?.config||{},aa=()=>Tm().app,Lm=()=>aa().baseURL,km=()=>aa().buildAssetsDir,la=(...e)=>yf(Ef(),km(),...e),Ef=(...e)=>{const t=aa(),n=t.cdnURL||t.baseURL;return e.length?yf(n,...e):n};globalThis.__buildAssetsURL=la,globalThis.__publicAssetsURL=Ef;globalThis.$fetch||(globalThis.$fetch=Rm.create({baseURL:Lm()}));"global"in globalThis||(globalThis.global=globalThis);function hi(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?hi(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const Am={run:e=>e()},Pm=()=>Am,wf=typeof console.createTask<"u"?console.createTask:Pm;function Om(e,t){const n=t.shift(),r=wf(n);return e.reduce((s,o)=>s.then(()=>r.run(()=>o(...t))),Promise.resolve())}function Im(e,t){const n=t.shift(),r=wf(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}function Oo(e,t){for(const n of[...e])n(t)}let Nm=class{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const s=t;let o;for(;this._deprecatedHooks[t];)o=this._deprecatedHooks[t],t=o.to;if(o&&!r.allowDeprecated){let i=o.message;i||(i=`${s} hook has been deprecated`+(o.to?`, please use ${o.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,s=(...o)=>(typeof r=="function"&&r(),r=void 0,s=void 0,n(...o));return r=this.hook(t,s),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const s of r)this.hook(t,s)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=hi(t),r=Object.keys(n).map(s=>this.hook(s,n[s]));return()=>{for(const s of r.splice(0,r.length))s()}}removeHooks(t){const n=hi(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Om,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Im,t,...n)}callHookWith(t,n,...r){const s=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&Oo(this._before,s);const o=t(n in this._hooks?[...this._hooks[n]]:[],r);return o instanceof Promise?o.finally(()=>{this._after&&s&&Oo(this._after,s)}):(this._after&&s&&Oo(this._after,s),o)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}};function xm(){return new Nm}function Mm(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},u=()=>t===i?l:void 0;pi.add(u);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{pi.delete(u)}}}}function Dm(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Mm({...e,...r})),t[n]}}}const Ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},gl="__unctx__",Fm=Ns[gl]||(Ns[gl]=Dm()),Hm=(e,t={})=>Fm.get(e,t),ml="__unctx_async_handlers__",pi=Ns[ml]||(Ns[ml]=new Set);function On(e){const t=[];for(const s of pi){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const yl=!1,_l=!1,$m=!1,x0={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},Um=null,jm="#__nuxt",Cf="nuxt-app",bl=36e5,Bm="vite:preloadError";function Sf(e=Cf){return Hm(e,{asyncContext:!1})}const Vm="__nuxt_plugin";function Wm(e){let t=0;const n={_id:e.id||Cf||"nuxt-app",_scope:Yr(),provide:void 0,globalName:"nuxt",versions:{get nuxt(){return"3.21.8"},get vue(){return n.vueApp.version}},payload:Dt({...e.ssrContext?.payload||{},data:Dt({}),state:sn({}),once:new Set,_errors:Dt({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!dr()?n._scope.run(()=>vl(n,s)):vl(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Dt({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=xm(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;cs(n,i,o),cs(n.vueApp.config.globalProperties,i,o)},cs(n.vueApp,"$nuxt",n),cs(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(Bm,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ue;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Km(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function Gm(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function qm(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const u=l.dependsOn?.filter(c=>t.some(f=>f._name===c)&&!n.has(c))??[];if(u.length>0)r.push([new Set(u),l]);else{const c=Gm(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([f,d])=>{f.has(l._name)&&(f.delete(l._name),f.size===0&&(i++,await a(d)))})))}).catch(f=>{if(!l.parallel&&!e.payload.error)throw f;o||=f});l.parallel?s.push(c):await c}}for(const l of t)Km(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Vm]:!0,_name:t})}const Ym=Ge;function vl(e,t,n){const r=()=>t();return Sf(e._id).set(e),e.vueApp.runWithContext(r)}function Rf(e){let t;return Jr()&&(t=Fn()?.appContext.app.$nuxt),t||=Sf(e).tryUse(),t||null}function ue(e){const t=Rf(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function oo(e){return ue().$config}function cs(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Io(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function gi(e,t,n=".",r){if(!Io(t))return gi(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Io(i)&&Io(s[o])?s[o]=gi(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function Tf(e){return(...t)=>t.reduce((n,r)=>gi(n,r,"",e),{})}const Lf=Tf();function Xm(e,t){try{return t in e}catch{return!1}}class El extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:mi(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=kf(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function Jm(e){if(typeof e=="string")return new El(e);if(Qm(e))return e;const t=new El(e.message??e.statusMessage??"",{cause:e.cause||e});if(Xm(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=mi(e.statusCode,t.statusCode):e.status&&(t.statusCode=mi(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;kf(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function Qm(e){return e?.constructor?.__h3_error__===!0}const zm=/[^\u0009\u0020-\u007E]/g;function kf(e=""){return e.replace(zm,"")}function mi(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const Af=Symbol("layout-meta"),Mn=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const tt=()=>ue()?.$router,ca=()=>Jr()?xe(Mn,ue()._route):ue()._route;function M0(e){return e}const Zm=()=>{try{if(ue()._processingMiddleware)return!0}catch{return!1}return!1},D0=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?ey(e):tt().resolve(e).href;if(t?.open){const{protocol:u}=new URL(n,window.location.href);if(u&&ui(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`);const{target:c="_blank",windowFeatures:f={}}=t.open,d=[];for(const[h,_]of Object.entries(f))_!==void 0&&d.push(`${h.toLowerCase()}=${_}`);return open(n,c,d.join(", ")),Promise.resolve()}const r=an(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:u}=new URL(n,window.location.href);if(u&&ui(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`)}const o=Zm();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:u,search:c,hash:f}=ia(e);return{path:u,...c&&{query:oa(c)},...f&&{hash:f},replace:!0}}return{...e,replace:!0}}return e}const i=tt(),a=ue();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?ty(e):e;return t?.replace?i.replace(l):i.push(l)};function ey(e){return so(e.path||"",e.query||{})+(e.hash||"")}function ty(e){const t=ia(e);return Yg(Xg(t.pathname))+t.search+t.hash}const Pf="__nuxt_error",io=()=>lu(ue().payload,"error"),Rn=e=>{const t=In(e);try{const n=io();ue().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},ny=async(e={})=>{const t=ue(),n=io();t.callHook("app:error:cleared",e),e.redirect&&await tt().replace(e.redirect),n.value=Um},Of=e=>!!e&&typeof e=="object"&&Pf in e,In=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=Jm(e);return Object.defineProperty(t,Pf,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let If;const or=e=>If=e,Nf=Symbol();function yi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Or;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Or||(Or={}));function ry(){const e=Yr(!0),t=e.run(()=>et({}));let n=[],r=[];const s=Ji({install(o){or(s),s._a=o,o.provide(Nf,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const xf=()=>{};function wl(e,t,n,r=xf){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&dr()&&Nr(s),s}function Un(e,...t){e.forEach(n=>{n(...t)})}const sy=e=>e(),Cl=Symbol(),No=Symbol();function _i(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];yi(s)&&yi(r)&&e.hasOwnProperty(n)&&!ve(r)&&!Ht(r)?e[n]=_i(s,r):e[n]=r}return e}const oy=Symbol();function iy(e){return!yi(e)||!Object.prototype.hasOwnProperty.call(e,oy)}const{assign:un}=Object;function ay(e){return!!(ve(e)&&e.effect)}function ly(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=s?s():{});const c=Fh(n.state.value[e]);return un(c,o,Object.keys(i||{}).reduce((f,d)=>(f[d]=Ji(ke(()=>{or(n);const h=n._s.get(e);return i[d].call(h,h)})),f),{}))}return l=Mf(e,u,t,n,r,!0),l}function Mf(e,t,n={},r,s,o){let i;const a=un({actions:{}},n),l={deep:!0};let u,c,f=new Set,d=new Set,h;const _=r.state.value[e];!o&&!_&&(r.state.value[e]={});let m;function R(F){let N;u=c=!1,typeof F=="function"?(F(r.state.value[e]),N={type:Or.patchFunction,storeId:e,events:h}):(_i(r.state.value[e],F),N={type:Or.patchObject,payload:F,storeId:e,events:h});const D=m=Symbol();nn().then(()=>{m===D&&(u=!0)}),c=!0,Un(f,N,r.state.value[e])}const b=o?function(){const{state:N}=n,D=N?N():{};this.$patch(W=>{un(W,D)})}:xf;function E(){i.stop(),f.clear(),d.clear(),r._s.delete(e)}const g=(F,N="")=>{if(Cl in F)return F[No]=N,F;const D=function(){or(r);const W=Array.from(arguments),$=new Set,X=new Set;function te(J){$.add(J)}function se(J){X.add(J)}Un(d,{args:W,name:D[No],store:C,after:te,onError:se});let K;try{K=F.apply(this&&this.$id===e?this:C,W)}catch(J){throw Un(X,J),J}return K instanceof Promise?K.then(J=>(Un($,J),J)).catch(J=>(Un(X,J),Promise.reject(J))):(Un($,K),K)};return D[Cl]=!0,D[No]=N,D},y={_p:r,$id:e,$onAction:wl.bind(null,d),$patch:R,$reset:b,$subscribe(F,N={}){const D=wl(f,F,N.detached,()=>W()),W=i.run(()=>lt(()=>r.state.value[e],$=>{(N.flush==="sync"?c:u)&&F({storeId:e,type:Or.direct,events:h},$)},un({},l,N)));return D},$dispose:E},C=sn(y);r._s.set(e,C);const L=(r._a&&r._a.runWithContext||sy)(()=>r._e.run(()=>(i=Yr()).run(()=>t({action:g}))));for(const F in L){const N=L[F];if(ve(N)&&!ay(N)||Ht(N))o||(_&&iy(N)&&(ve(N)?N.value=_[F]:_i(N,_[F])),r.state.value[e][F]=N);else if(typeof N=="function"){const D=g(N,F);L[F]=D,a.actions[F]=N}}return un(C,L),un(ae(C),L),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:F=>{R(N=>{un(N,F)})}}),r._p.forEach(F=>{un(C,i.run(()=>F({store:C,app:r._a,pinia:r,options:a})))}),_&&o&&n.hydrate&&n.hydrate(C.$state,_),u=!0,c=!0,C}function F0(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=Jr();return i=i||(l?xe(Nf,null):null),i&&or(i),i=If,i._s.has(e)||(s?Mf(e,t,r,i):ly(e,r,i)),i._s.get(e)}return o.$id=e,o}const cy=-1,uy=-2,fy=-3,dy=-4,hy=-5,py=-6,gy=-7,Df=2**32-1,bi=Df-1;function my(e){return!(!Number.isInteger(e)||e<0||e>bi)}function yy(e){return!(!Number.isInteger(e)||e<0||e>Df)}function _y(e){return Uint8Array.fromBase64(e).buffer}function by(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function vy(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=u)throw new Error("Invalid input");c[d]=o(l[f+1])}c.length=u}else{const u=new Array(l.length);r[i]=u;for(let c=0;c{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function Hf(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>Hf(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function Ny(e,t,n){if(e.length>0)return Hf(e,t,0,Ff(n))}function xy(e,t,n){if(e.length>0){const r=Ff(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function xo(e,t){for(const n of[...e])n(t)}var My=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=Ei(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=Ei(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(Ny,e,t)}callHookParallel(e,...t){return this.callHookWith(xy,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&xo(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&xo(this._after,r)}):(this._after&&r&&xo(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function Dy(){return new My}const Fy=["name","property","http-equiv"],Hy=new Set(["viewport","description","keywords","robots"]);function $f(e){const t=e.split(":");return t.length?Iy.has(t[1]):!1}function wi(e){const{props:t,tag:n}=e;if(Ay.has(n))return n;if(n==="link"&&t.rel==="canonical")return"canonical";if(n==="link"&&t.rel==="alternate"){if(t.hreflang)return`alternate:${t.hreflang}`;if(t.type)return`alternate:${t.type}:${t.href||""}`}if(t.charset)return"charset";if(e.tag==="meta"){for(const r of Fy)if(t[r]!==void 0){const s=t[r],o=s&&typeof s=="string"&&s.includes(":"),i=s&&Hy.has(s),l=!(o||i)&&e.key?`:key:${e.key}`:"";return`${n}:${s}${l}`}}if(e.key)return`${n}:key:${e.key}`;if(t.id)return`${n}:id:${t.id}`;if(n==="link"&&t.rel==="alternate")return`alternate:${t.href||""}`;if(Ly.has(n)){const r=e.textContent||e.innerHTML;if(r)return`${n}:content:${r}`}}function Uf(e){const t=e._h||e._d;if(t)return t;const n=e.textContent||e.innerHTML;return n||`${e.tag}:${Object.entries(e.props).map(([r,s])=>`${r}:${String(s)}`).join(",")}`}function xs(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>xs(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=xs(s[i],t,i);return o}return s}function $y(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function jf(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=vi.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=$y(r,s);return}if(Py.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let u=t.type;if(t.type||(u="application/json"),!u?.endsWith("json")&&u!=="speculationrules")return;t.type=u,e.props.type=u,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function Uy(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=jf({tag:e,props:{}},n);return r.key&&Ty.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function jy(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push(Uy(s,i))}),r.flat()}const Ci=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Sl={base:-10,title:10},By={critical:-8,high:-1,low:2},Rl={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},Vy=/@import/,br=e=>e===""||e===!0;function Wy(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=By[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Rl;if(t.tag in Sl)n=Sl[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Rl.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);br(t.props.async)?n=s.script.async:t.props.src&&!br(t.props.defer)&&!br(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(br(t.props.defer)&&t.props.src&&!br(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&Vy.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Tl(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Ky(e={}){const t=Dy();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Tl(i,a),push(a,l){const u={...l||{}};delete u.head;const c=u._index??i._entryCount++,f={_i:c,input:a,options:u},d={_poll(h=!1){i.dirty=!0,!h&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(h){(!u.mode||u.mode==="server"&&n||u.mode==="client"&&!n)&&(f.input=h,r.set(c,f),d._poll())}};return d.patch(a),d},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const d=o.values().next().value;o.delete(d);const h=r.get(d);if(h){const _={tags:jy(h.input,e.propResolvers||[]).map(m=>Object.assign(m,h.options)),entry:h};await t.callHook("entries:normalize",_),h._tags=_.tags.map((m,R)=>(m._w=Wy(i,m),m._p=(h._i<<10)+R,m._d=wi(m),m._d||(m._h=Uf(m)),m))}}let l=!1;a.entries.flatMap(d=>(d._tags||[]).map(h=>({...h,props:{...h.props}}))).sort(Ci).reduce((d,h)=>{const _=h._d||h._h;if(!d.has(_))return d.set(_,h);const m=d.get(_);if((h?.tagDuplicateStrategy||(Oy.has(h.tag)?"merge":null)||(h.key&&h.key===m.key?"merge":null))==="merge"){const b={...m.props};Object.entries(h.props).forEach(([E,g])=>b[E]=E==="style"?new Map([...m.props.style||new Map,...g]):E==="class"?new Set([...m.props.class||new Set,...g]):g),d.set(_,{...h,props:b})}else h._p>>10===m._p>>10&&h.tag==="meta"&&$f(_)?(d.set(_,Object.assign([...Array.isArray(m)?m:[m],h],h)),l=!0):(h._w===m._w?h._p>m._p:h?._wTl(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Mo="%separator";function Gy(e,t,n=!1){let r;if(t==="s"||t==="pageTitle")r=e.pageTitle;else if(t.includes(".")){const s=t.indexOf(".");r=e[t.substring(0,s)]?.[t.substring(s+1)]}else r=e[t];if(r!==void 0)return n?(r||"").replace(/\\/g,"\\\\").replace(/{if(a===Mo||!o.includes(a))return a;const l=Gy(t,a.slice(1),r);return l!==void 0?l:a}).trim(),i&&(e=e.split(Mo).map(a=>a.trim()).filter(a=>a!=="").join(n?` ${n} `:" ")),e}const Ll=e=>e.includes(":key")?e:e.split(":").join(":key:"),qy={key:"aliasSorting",hooks:{"tags:resolve":e=>{let t=!1;for(const n of e.tags){const r=n.tagPriority;if(!r)continue;const s=String(r);if(s.startsWith("before:")){const o=Ll(s.slice(7)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p-1,t=!0)}else if(s.startsWith("after:")){const o=Ll(s.slice(6)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p+1,t=!0)}}t&&(e.tags=e.tags.sort(Ci))}}},Yy={key:"deprecations",hooks:{"entries:normalize":({tags:e})=>{for(const t of e)t.props.children&&(t.innerHTML=t.props.children,delete t.props.children),t.props.hid&&(t.key=t.props.hid,delete t.props.hid),t.props.vmid&&(t.key=t.props.vmid,delete t.props.vmid),t.props.body&&(t.tagPosition="bodyClose",delete t.props.body)}}};async function Si(e){if(typeof e==="function")return e;if(e instanceof Promise)return await e;if(Array.isArray(e))return await Promise.all(e.map(n=>Si(n)));if(e?.constructor===Object){const n={};for(const r of Object.keys(e))n[r]=await Si(e[r]);return n}return e}const Xy={key:"promises",hooks:{"entries:resolve":async e=>{const t=[];for(const n in e.entries)e.entries[n]._promisesProcessed||t.push(Si(e.entries[n].input).then(r=>{e.entries[n].input=r,e.entries[n]._promisesProcessed=!0}));await Promise.all(t)}}},Jy={meta:"content",link:"href",htmlAttrs:"lang"},Qy=["innerHTML","textContent"],zy=e=>({key:"template-params",hooks:{"entries:normalize":t=>{const n=t.tags.filter(r=>r.tag==="templateParams"&&r.mode==="server")?.[0]?.props||{};Object.keys(n).length&&(e._ssrPayload={templateParams:{...e._ssrPayload?.templateParams||{},...n}})},"tags:resolve":({tagMap:t,tags:n})=>{const r=t.get("templateParams")?.props||{},s=r.separator||"|";delete r.separator,r.pageTitle=us(r.pageTitle||e._title||"",r,s);for(const o of n){if(o.processTemplateParams===!1)continue;const i=Jy[o.tag];if(i&&typeof o.props[i]=="string")o.props[i]=us(o.props[i],r,s);else if(o.processTemplateParams||o.tag==="titleTemplate"||o.tag==="title")for(const a of Qy)typeof o[a]=="string"&&(o[a]=us(o[a],r,s,o.tag==="script"&&o.props.type.endsWith("json")))}e._templateParams=r,e._separator=s},"tags:afterResolve":({tagMap:t})=>{const n=t.get("title");n?.textContent&&n.processTemplateParams!==!1&&(n.textContent=us(n.textContent,e._templateParams,e._separator))}}}),Zy=(e,t)=>ve(t)?Nh(t):t,ua="usehead";function e_(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(ua,e)}}.install}function t_(){if(Jr()){const e=xe(ua);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function n_(e,t={}){const n=t.head||t_();return n.ssr?n.push(e||{},t):r_(n,e,t)}function r_(e,t,n={}){const r=et(!1);let s;return Yh(()=>{const i=r.value?{}:xs(t,Zy);s?s.patch(i):s=e.push(i,n)}),Fn()&&(zr(()=>{s.dispose()}),wu(()=>{r.value=!0}),Eu(()=>{r.value=!1})),s}function s_(e){const t=e||Rf();return t?.ssrContext?.head||t?.runWithContext(()=>{if(Jr())return xe(ua)})}function Bf(e,t={}){const n=s_(t.nuxt);if(n)return n_(e,{head:n,...t})}const o_=(e,t)=>[],Vf=e=>Lf({},...o_("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),i_=Vf;let _s;function a_(){let e;return e=$fetch(la(`builds/meta/${oo().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),_s=e,e.catch(t=>{_s===e&&(_s=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Wf(){return _s||a_()}function Kf(e){const t=typeof e=="string"?e:e.path;try{return i_(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function kl(e,t={}){return null}async function l_(e){return null}let Cn=null;async function c_(){if(Cn)return Cn;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await u_(e.textContent||""),n=e.dataset.src?await l_(e.dataset.src):void 0;return Cn={...t,...n,...window.__NUXT__},Cn.config?.public&&(Cn.config.public=sn(Cn.config.public)),Cn}async function u_(e){return await Sy(e,ue()._payloadRevivers)}function Gf(e,t){ue()._payloadRevivers[e]=t}const f_=Ym(()=>{Gf("skipHydrate",e=>{})}),d_=[["NuxtError",e=>In(e)],["EmptyShallowRef",e=>Nn(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["EmptyRef",e=>et(e==="_"?void 0:e==="0n"?BigInt(0):Ur(e))],["ShallowRef",e=>Nn(e)],["ShallowReactive",e=>Dt(e)],["Ref",e=>et(e)],["Reactive",e=>sn(e)]],h_=Ge({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of d_)Gf(r,s);Object.assign(e.payload,([t,n]=On(()=>e.runWithContext(c_)),t=await t,n(),t)),window.__NUXT__=e.payload}});async function fa(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(h=>{e.resolveTags().then(_=>{h(_.map(m=>{const R=o.get(m._d)||0,b={tag:m,id:(R?`${m._d}:${R}`:m._d)||m._h,shouldRender:!0};return m._d&&$f(m._d)&&o.set(m._d,R+1),b}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const h of["body","head"]){const _=n[h]?.children;for(const m of _){const R=m.tagName.toLowerCase();if(!vi.has(R))continue;const b=jf({tag:R,props:{}},{innerHTML:m.innerHTML,...m.getAttributeNames().reduce((E,g)=>(E[g]=m.getAttribute(g),E),{})||{}});if(b.key=m.getAttribute("data-hid")||void 0,b._d=wi(b)||Uf(b),a.elMap.has(b._d)){let E=1,g=b._d;for(;a.elMap.has(g);)g=`${b._d}:${E++}`;a.elMap.set(g,m)}else a.elMap.set(b._d,m)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(h,_,m){const R=`${h}:${_}`;a.sideEffects[R]=m,delete a.pendingSideEffects[R]}function u({id:h,$el:_,tag:m}){const R=m.tag.endsWith("Attrs");a.elMap.set(h,_),R||(m.textContent&&m.textContent!==_.textContent&&(_.textContent=m.textContent),m.innerHTML&&m.innerHTML!==_.innerHTML&&(_.innerHTML=m.innerHTML),l(h,"el",()=>{_?.remove(),a.elMap.delete(h)}));for(const b in m.props){if(!Object.prototype.hasOwnProperty.call(m.props,b))continue;const E=m.props[b];if(b.startsWith("on")&&typeof E=="function"){const y=_?.dataset;if(y&&y[`${b}fired`]){const C=b.slice(0,-5);E.call(_,new Event(C.substring(2)))}_.getAttribute(`data-${b}`)!==""&&((m.tag==="bodyAttrs"?n.defaultView:_).addEventListener(b.substring(2),E.bind(_)),_.setAttribute(`data-${b}`,""));continue}const g=`attr:${b}`;if(b==="class"){if(!E)continue;for(const y of E)R&&l(h,`${g}:${y}`,()=>_.classList.remove(y)),!_.classList.contains(y)&&_.classList.add(y)}else if(b==="style"){if(!E)continue;for(const[y,C]of E)l(h,`${g}:${y}`,()=>{_.style.removeProperty(y)}),_.style.setProperty(y,C)}else E!==!1&&E!==null&&(_.getAttribute(b)!==E&&_.setAttribute(b,E===!0?"":String(E)),R&&l(h,g,()=>_.removeAttribute(b)))}}const c=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},d=await i;for(const h of d){const{tag:_,shouldRender:m,id:R}=h;if(m){if(_.tag==="title"){n.title=_.textContent,l("title","",()=>n.title=a.title);continue}h.$el=h.$el||a.elMap.get(R),h.$el?u(h):vi.has(_.tag)&&c.push(h)}}for(const h of c){const _=h.tag.tagPosition||"head";h.$el=n.createElement(h.tag.tag),u(h),f[_]=f[_]||n.createDocumentFragment(),f[_].appendChild(h.$el)}for(const h of d)await e.hooks.callHook("dom:renderTag",h,n,l);f.head&&n.head.appendChild(f.head),f.bodyOpen&&n.body.insertBefore(f.bodyOpen,n.body.firstChild),f.bodyClose&&n.body.appendChild(f.bodyClose);for(const h in a.pendingSideEffects)a.pendingSideEffects[h]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:d}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function p_(e={}){const t=e.domOptions?.render||fa;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Ky({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function g_(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function m_(e={}){const t=p_({domOptions:{render:g_(()=>fa(t),n=>setTimeout(n,0))},...e});return t.install=e_(t),t}const y_={disableDefaults:!0,disableCapoSorting:!1,plugins:[Yy,Xy,zy,qy]},__=Ge({name:"nuxt:head",enforce:"pre",setup(e){const t=m_(y_);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await fa(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const u=e["~transitionPromise"];u?u.then(l):l()},a})}}});const Bn=typeof document<"u";function qf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function b_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&qf(e.default)}const he=Object.assign;function Do(e,t){const n={};for(const r in t){const s=t[r];n[r]=St(s)?s.map(e):e(s)}return n}const Ir=()=>{},St=Array.isArray;function Al(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Yf=/#/g,v_=/&/g,E_=/\//g,w_=/=/g,C_=/\?/g,Xf=/\+/g,S_=/%5B/g,R_=/%5D/g,Jf=/%5E/g,T_=/%60/g,Qf=/%7B/g,L_=/%7C/g,zf=/%7D/g,k_=/%20/g;function da(e){return e==null?"":encodeURI(""+e).replace(L_,"|").replace(S_,"[").replace(R_,"]")}function A_(e){return da(e).replace(Qf,"{").replace(zf,"}").replace(Jf,"^")}function Ri(e){return da(e).replace(Xf,"%2B").replace(k_,"+").replace(Yf,"%23").replace(v_,"%26").replace(T_,"`").replace(Qf,"{").replace(zf,"}").replace(Jf,"^")}function P_(e){return Ri(e).replace(w_,"%3D")}function O_(e){return da(e).replace(Yf,"%23").replace(C_,"%3F")}function I_(e){return O_(e).replace(E_,"%2F")}function Vr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const N_=/\/$/,x_=e=>e.replace(N_,"");function Fo(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=H_(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Vr(i)}}function M_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Pl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function D_(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&ir(t.matched[r],n.matched[s])&&Zf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ir(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Zf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!F_(e[n],t[n]))return!1;return!0}function F_(e,t){return St(e)?Ol(e,t):St(t)?Ol(t,e):e?.valueOf()===t?.valueOf()}function Ol(e,t){return St(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function H_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const ht={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ti=(function(e){return e.pop="pop",e.push="push",e})({}),Ho=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function $_(e){if(!e)if(Bn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),x_(e)}const U_=/^[^#]+#/;function j_(e,t){return e.replace(U_,"#")+t}function B_(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const ao=()=>({left:window.scrollX,top:window.scrollY});function V_(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=B_(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Il(e,t){return(history.state?history.state.position-t:-1)+e}const Li=new Map;function W_(e,t){Li.set(e,t)}function K_(e){const t=Li.get(e);return Li.delete(e),t}function G_(e){return typeof e=="string"||e&&typeof e=="object"}function ed(e){return typeof e=="string"||typeof e=="symbol"}let Te=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const td=Symbol("");Te.MATCHER_NOT_FOUND+"",Te.NAVIGATION_GUARD_REDIRECT+"",Te.NAVIGATION_ABORTED+"",Te.NAVIGATION_CANCELLED+"",Te.NAVIGATION_DUPLICATED+"";function ar(e,t){return he(new Error,{type:e,[td]:!0},t)}function Vt(e,t){return e instanceof Error&&td in e&&(t==null||!!(e.type&t))}const q_=["params","query","hash"];function Y_(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of q_)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function X_(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&Ri(s)):[r&&Ri(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function J_(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=St(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Q_=Symbol(""),xl=Symbol(""),lo=Symbol(""),ha=Symbol(""),ki=Symbol("");function vr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function dn(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(ar(Te.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?l(d):G_(d)?l(ar(Te.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),a())},c=o(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function $o(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(qf(l)){const u=(l.__vccOpts||l)[t];u&&o.push(dn(u,n,r,i,a,s))}else{let u=l();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const f=b_(c)?c.default:c;i.mods[a]=c,i.components[a]=f;const d=(f.__vccOpts||f)[t];return d&&dn(d,n,r,i,a,s)()}))}}return o}function z_(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iir(u,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(u=>ir(u,l))||s.push(l))}return[n,r,s]}let Z_=()=>location.protocol+"//"+location.host;function nd(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),Pl(a,"")}return Pl(n,e)+r+s}function eb(e,t,n,r){let s=[],o=[],i=null;const a=({state:d})=>{const h=nd(e,location),_=n.value,m=t.value;let R=0;if(d){if(n.value=h,t.value=d,i&&i===_){i=null;return}R=m?d.position-m.position:0}else r(h);s.forEach(b=>{b(n.value,_,{delta:R,type:Ti.pop,direction:R?R>0?Ho.forward:Ho.back:Ho.unknown})})};function l(){i=n.value}function u(d){s.push(d);const h=()=>{const _=s.indexOf(d);_>-1&&s.splice(_,1)};return o.push(h),h}function c(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(he({},d.state,{scroll:ao()}),"")}}function f(){for(const d of o)d();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:u,destroy:f}}function Ml(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ao():null}}function tb(e){const{history:t,location:n}=window,r={value:nd(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Z_()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(h){console.error(h),n[c?"replace":"assign"](d)}}function i(l,u){o(l,he({},t.state,Ml(s.value.back,l,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=l}function a(l,u){const c=he({},s.value,t.state,{forward:l,scroll:ao()});o(c.current,c,!0),o(l,he({},Ml(r.value,l,null),{position:c.position+1},u),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function nb(e){e=$_(e);const t=tb(e),n=eb(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=he({location:"",base:e,go:r,createHref:j_.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Tn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Me=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Me||{});const rb={type:Tn.Static,value:""},sb=/[a-zA-Z0-9_]/;function ob(e){if(!e)return[[]];if(e==="/")return[[rb]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=Me.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,u="",c="";function f(){u&&(n===Me.Static?o.push({type:Tn.Static,value:u}):n===Me.Param||n===Me.ParamRegExp||n===Me.ParamRegExpEnd?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Tn.Param,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;at.length?t.length===1&&t[0]===Xe.Static+Xe.Segment?1:-1:0}function rd(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ub={strict:!1,end:!0,sensitive:!1};function fb(e,t,n){const r=lb(ob(e.path),n),s=he(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function db(e,t){const n=[],r=new Map;t=Al(ub,t);function s(f){return r.get(f)}function o(f,d,h){const _=!h,m=$l(f);m.aliasOf=h&&h.record;const R=Al(t,f),b=[m];if("alias"in f){const y=typeof f.alias=="string"?[f.alias]:f.alias;for(const C of y)b.push($l(he({},m,{components:h?h.record.components:m.components,path:C,aliasOf:h?h.record:m})))}let E,g;for(const y of b){const{path:C}=y;if(d&&C[0]!=="/"){const A=d.record.path,L=A[A.length-1]==="/"?"":"/";y.path=d.record.path+(C&&L+C)}if(E=fb(y,d,R),h?h.alias.push(E):(g=g||E,g!==E&&g.alias.push(E),_&&f.name&&!Ul(E)&&i(f.name)),sd(E)&&l(E),m.children){const A=m.children;for(let L=0;L{i(g)}:Ir}function i(f){if(ed(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=gb(f,n);n.splice(d,0,f),f.record.name&&!Ul(f)&&r.set(f.record.name,f)}function u(f,d){let h,_={},m,R;if("name"in f&&f.name){if(h=r.get(f.name),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f});R=h.record.name,_=he(Hl(d.params,h.keys.filter(g=>!g.optional).concat(h.parent?h.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&Hl(f.params,h.keys.map(g=>g.name))),m=h.stringify(_)}else if(f.path!=null)m=f.path,h=n.find(g=>g.re.test(m)),h&&(_=h.parse(m),R=h.record.name);else{if(h=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!h)throw ar(Te.MATCHER_NOT_FOUND,{location:f,currentLocation:d});R=h.record.name,_=he({},d.params,f.params),m=h.stringify(_)}const b=[];let E=h;for(;E;)b.unshift(E.record),E=E.parent;return{name:R,path:m,params:_,matched:b,meta:pb(b)}}e.forEach(f=>o(f));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function Hl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function $l(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:hb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function hb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ul(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pb(e){return e.reduce((t,n)=>he(t,n.meta),{})}function gb(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;rd(e,t[o])<0?r=o:n=o+1}const s=mb(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function mb(e){let t=e;for(;t=t.parent;)if(sd(t)&&rd(e,t)===0)return t}function sd({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function jl(e){const t=xe(lo),n=xe(ha),r=ke(()=>{const l=me(e.to);return t.resolve(l)}),s=ke(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(ir.bind(null,c));if(d>-1)return d;const h=Bl(l[u-2]);return u>1&&Bl(c)===h&&f[f.length-1].path!==h?f.findIndex(ir.bind(null,l[u-2])):d}),o=ke(()=>s.value>-1&&Eb(n.params,r.value.params)),i=ke(()=>s.value>-1&&s.value===n.matched.length-1&&Zf(n.params,r.value.params));function a(l={}){if(vb(l)){const u=t[me(e.replace)?"replace":"push"](me(e.to)).catch(Ir);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:ke(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function yb(e){return e.length===1?e[0]:e}const _b=bt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:jl,setup(e,{slots:t}){const n=sn(jl(e)),{options:r}=xe(lo),s=ke(()=>({[Vl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Vl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&yb(t.default(n));return e.custom?o:Ie("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),bb=_b;function vb(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Eb(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!St(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function Bl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Vl=(e,t,n)=>e??t??n,wb=bt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=xe(ki),s=ke(()=>e.route||r.value),o=xe(xl,0),i=ke(()=>{let u=me(o);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=ke(()=>s.value.matched[i.value]);gn(xl,ke(()=>i.value+1)),gn(Q_,a),gn(ki,s);const l=et();return lt(()=>[l.value,a.value,e.name],([u,c,f],[d,h,_])=>{c&&(c.instances[f]=u,h&&h!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),u&&c&&(!h||!ir(c,h)||!d)&&(c.enterCallbacks[f]||[]).forEach(m=>m(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return Wl(n.default,{Component:d,route:u});const h=f.props[c],_=h?h===!0?u.params:typeof h=="function"?h(u):h:null,R=Ie(d,he({},_,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return Wl(n.default,{Component:R,route:u})||R}}});function Wl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const od=wb;function Cb(e){const t=db(e.routes,e),n=e.parseQuery||X_,r=e.stringifyQuery||Nl,s=e.history,o=vr(),i=vr(),a=vr(),l=Nn(ht);let u=ht;Bn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Do.bind(null,H=>""+H),f=Do.bind(null,I_),d=Do.bind(null,Vr);function h(H,Y){let B,Q;return ed(H)?(B=t.getRecordMatcher(H),Q=Y):Q=H,t.addRoute(Q,B)}function _(H){const Y=t.getRecordMatcher(H);Y&&t.removeRoute(Y)}function m(){return t.getRoutes().map(H=>H.record)}function R(H){return!!t.getRecordMatcher(H)}function b(H,Y){if(Y=he({},Y||l.value),typeof H=="string"){const S=Fo(n,H,Y.path),P=t.resolve({path:S.path},Y),U=s.createHref(S.fullPath);return he(S,P,{params:d(P.params),hash:Vr(S.hash),redirectedFrom:void 0,href:U})}let B;if(H.path!=null)B=he({},H,{path:Fo(n,H.path,Y.path).path});else{const S=he({},H.params);for(const P in S)S[P]==null&&delete S[P];B=he({},H,{params:f(S)}),Y.params=f(Y.params)}const Q=t.resolve(B,Y),ne=H.hash||"";Q.params=c(d(Q.params));const _e=M_(r,he({},H,{hash:A_(ne),path:Q.path})),v=s.createHref(_e);return he({fullPath:_e,hash:ne,query:r===Nl?J_(H.query):H.query||{}},Q,{redirectedFrom:void 0,href:v})}function E(H){return typeof H=="string"?Fo(n,H,l.value.path):he({},H)}function g(H,Y){if(u!==H)return ar(Te.NAVIGATION_CANCELLED,{from:Y,to:H})}function y(H){return L(H)}function C(H){return y(he(E(H),{replace:!0}))}function A(H,Y){const B=H.matched[H.matched.length-1];if(B&&B.redirect){const{redirect:Q}=B;let ne=typeof Q=="function"?Q(H,Y):Q;return typeof ne=="string"&&(ne=ne.includes("?")||ne.includes("#")?ne=E(ne):{path:ne},ne.params={}),he({query:H.query,hash:H.hash,params:ne.path!=null?{}:H.params},ne)}}function L(H,Y){const B=u=b(H),Q=l.value,ne=H.state,_e=H.force,v=H.replace===!0,S=A(B,Q);if(S)return L(he(E(S),{state:typeof S=="object"?he({},ne,S.state):ne,force:_e,replace:v}),Y||B);const P=B;P.redirectedFrom=Y;let U;return!_e&&D_(r,Q,B)&&(U=ar(Te.NAVIGATION_DUPLICATED,{to:P,from:Q}),qe(Q,Q,!0,!1)),(U?Promise.resolve(U):D(P,Q)).catch(M=>Vt(M)?Vt(M,Te.NAVIGATION_GUARD_REDIRECT)?M:nt(M):q(M,P,Q)).then(M=>{if(M){if(Vt(M,Te.NAVIGATION_GUARD_REDIRECT))return L(he({replace:v},E(M.to),{state:typeof M.to=="object"?he({},ne,M.to.state):ne,force:_e}),Y||P)}else M=$(P,Q,!0,v,ne);return W(P,Q,M),M})}function F(H,Y){const B=g(H,Y);return B?Promise.reject(B):Promise.resolve()}function N(H){const Y=Tt.values().next().value;return Y&&typeof Y.runWithContext=="function"?Y.runWithContext(H):H()}function D(H,Y){let B;const[Q,ne,_e]=z_(H,Y);B=$o(Q.reverse(),"beforeRouteLeave",H,Y);for(const S of Q)S.leaveGuards.forEach(P=>{B.push(dn(P,H,Y))});const v=F.bind(null,H,Y);return B.push(v),Ve(B).then(()=>{B=[];for(const S of o.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).then(()=>{B=$o(ne,"beforeRouteUpdate",H,Y);for(const S of ne)S.updateGuards.forEach(P=>{B.push(dn(P,H,Y))});return B.push(v),Ve(B)}).then(()=>{B=[];for(const S of _e)if(S.beforeEnter)if(St(S.beforeEnter))for(const P of S.beforeEnter)B.push(dn(P,H,Y));else B.push(dn(S.beforeEnter,H,Y));return B.push(v),Ve(B)}).then(()=>(H.matched.forEach(S=>S.enterCallbacks={}),B=$o(_e,"beforeRouteEnter",H,Y,N),B.push(v),Ve(B))).then(()=>{B=[];for(const S of i.list())B.push(dn(S,H,Y));return B.push(v),Ve(B)}).catch(S=>Vt(S,Te.NAVIGATION_CANCELLED)?S:Promise.reject(S))}function W(H,Y,B){a.list().forEach(Q=>N(()=>Q(H,Y,B)))}function $(H,Y,B,Q,ne){const _e=g(H,Y);if(_e)return _e;const v=Y===ht,S=Bn?history.state:{};B&&(Q||v?s.replace(H.fullPath,he({scroll:v&&S&&S.scroll},ne)):s.push(H.fullPath,ne)),l.value=H,qe(H,Y,B,v),nt()}let X;function te(){X||(X=s.listen((H,Y,B)=>{if(!Lt.listening)return;const Q=b(H),ne=A(Q,Lt.currentRoute.value);if(ne){L(he(ne,{replace:!0,force:!0}),Q).catch(Ir);return}u=Q;const _e=l.value;Bn&&W_(Il(_e.fullPath,B.delta),ao()),D(Q,_e).catch(v=>Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_CANCELLED)?v:Vt(v,Te.NAVIGATION_GUARD_REDIRECT)?(L(he(E(v.to),{force:!0}),Q).then(S=>{Vt(S,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&!B.delta&&B.type===Ti.pop&&s.go(-1,!1)}).catch(Ir),Promise.reject()):(B.delta&&s.go(-B.delta,!1),q(v,Q,_e))).then(v=>{v=v||$(Q,_e,!1),v&&(B.delta&&!Vt(v,Te.NAVIGATION_CANCELLED)?s.go(-B.delta,!1):B.type===Ti.pop&&Vt(v,Te.NAVIGATION_ABORTED|Te.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),W(Q,_e,v)}).catch(Ir)}))}let se=vr(),K=vr(),J;function q(H,Y,B){nt(H);const Q=K.list();return Q.length?Q.forEach(ne=>ne(H,Y,B)):console.error(H),Promise.reject(H)}function re(){return J&&l.value!==ht?Promise.resolve():new Promise((H,Y)=>{se.add([H,Y])})}function nt(H){return J||(J=!H,te(),se.list().forEach(([Y,B])=>H?B(H):Y()),se.reset()),H}function qe(H,Y,B,Q){const{scrollBehavior:ne}=e;if(!Bn||!ne)return Promise.resolve();const _e=!B&&K_(Il(H.fullPath,0))||(Q||!B)&&history.state&&history.state.scroll||null;return nn().then(()=>ne(H,Y,_e)).then(v=>v&&V_(v)).catch(v=>q(v,H,Y))}const $e=H=>s.go(H);let Rt;const Tt=new Set,Lt={currentRoute:l,listening:!0,addRoute:h,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:R,getRoutes:m,resolve:b,options:e,push:y,replace:C,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:K.add,isReady:re,install(H){H.component("RouterLink",bb),H.component("RouterView",od),H.config.globalProperties.$router=Lt,Object.defineProperty(H.config.globalProperties,"$route",{enumerable:!0,get:()=>me(l)}),Bn&&!Rt&&l.value===ht&&(Rt=!0,y(s.location).catch(Q=>{}));const Y={};for(const Q in ht)Object.defineProperty(Y,Q,{get:()=>l.value[Q],enumerable:!0});H.provide(lo,Lt),H.provide(ha,Dt(Y)),H.provide(ki,l);const B=H.unmount;Tt.add(H),H.unmount=function(){Tt.delete(H),Tt.size<1&&(u=ht,X&&X(),X=null,l.value=ht,Rt=!1,J=!1),B()}}};function Ve(H){return H.reduce((Y,B)=>Y.then(()=>N(B)),Promise.resolve())}return Lt}function H0(){return xe(lo)}function id(e){return xe(ha)}const Sb=/(:\w+)\([^)]+\)/g,Rb=/(:\w+)[?+*]/g,Tb=/:\w+/g,Lb=(e,t)=>t.path.replace(Sb,"$1").replace(Rb,"$1").replace(Tb,n=>e.params[n.slice(1)]?.toString()||""),Ai=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Lb(e.route,n));return typeof r=="function"?r(e.route):r},kb=(e,t)=>({default:()=>e?Ie(ip,e===!0?{}:e,t):t});function ad(e){return Array.isArray(e)?e:[e]}const Ab="modulepreload",Pb=function(e,t){return new URL(e,t).href},Kl={},it=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let u=function(c){return Promise.all(c.map(f=>Promise.resolve(f).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=u(n.map(c=>{if(c=Pb(c,r),c in Kl)return;Kl[c]=!0;const f=c.endsWith(".css"),d=f?'[rel="stylesheet"]':"";if(r)for(let _=i.length-1;_>=0;_--){const m=i[_];if(m.href===c&&(!f||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${d}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":Ab,f||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),f)return new Promise((_,m)=>{h.addEventListener("load",_),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},Ob={layout:"blank"},Uo=[{name:"index",path:"/",meta:{middleware:"auth"},component:()=>it(()=>import("./D5l8f-my.js"),[],import.meta.url)},{name:"login",path:"/login",meta:Ob||{},component:()=>it(()=>import("./C8W4Ef6u.js"),__vite__mapDeps([0,1,2]),import.meta.url)},{name:"garages",path:"/garages",meta:{middleware:"auth"},component:()=>it(()=>import("./C3lSWcZz.js"),[],import.meta.url)},{name:"packages",path:"/packages",meta:{middleware:"auth"},component:()=>it(()=>import("./d4dk63Pu.js"),__vite__mapDeps([3,4]),import.meta.url)},{name:"permissions",path:"/permissions",meta:{middleware:"auth"},component:()=>it(()=>import("./DyJFDhDL.js"),[],import.meta.url)},{name:"garages-id",path:"/garages/:id()",meta:{middleware:"auth"},component:()=>it(()=>import("./KwNF0Piy.js"),[],import.meta.url)}],ld=(e,t)=>({default:()=>e?Ie(ag,e===!0?{}:e,t):t.default?.()}),Ib=/(:\w+)\([^)]+\)/g,Nb=/(:\w+)[?+*]/g,xb=/:\w+/g;function Gl(e){const t=e?.meta.key??e.path.replace(Ib,"$1").replace(Nb,"$1").replace(xb,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function Mb(e,t){return e===t||t===ht?!1:Gl(e)!==Gl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ql(e){return Array.isArray(e)?e:[e]}function cd(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ql(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ql(n.onBeforeLeave):void 0});return Lf(...t)}const Db={scrollBehavior(e,t,n){const r=ue(),s=tt().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:ud(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===ht?Yl(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(Yl(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function ud(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Yl(e,t,n,r){return n||(e.hash?{el:e.hash,top:ud(e.hash),behavior:Mb(e,t)?r:"instant"}:{left:0,top:0})}const Fb={hashMode:!1,scrollBehaviorType:"auto"},cn={...Fb,...Db},Hb=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=On(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=In({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},$b=e=>{const t=Kf({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return an(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},Ub=[Hb,$b],Pi={auth:()=>it(()=>import("./DSOY2KzZ.js"),__vite__mapDeps([5,2]),import.meta.url)};function jb(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const u=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(u);return c[0]!=="/"&&(c="/"+c),hl(c,"")}const a=hl(r,e),l=!n||_f(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const Bb=Ge({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=oo().app.baseURL;const s=cn.history?.(r)??nb(r),o=cn.routes?([t,n]=On(()=>cn.routes(Uo)),t=await t,n(),t??Uo):Uo;let i;const a=Cb({...cn,scrollBehavior:(b,E,g)=>{if(E===ht){i=g;return}if(cn.scrollBehavior){if(a.options.scrollBehavior=cn.scrollBehavior,"scrollRestoration"in window.history){const y=a.beforeEach(()=>{y(),window.history.scrollRestoration="manual"})}return cn.scrollBehavior(b,ht,i||g)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Nn(a.currentRoute.value);a.afterEach((b,E)=>{l.value=E}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const u=jb(r,window.location,e.payload.path),c=Nn(a.currentRoute.value),f=()=>{c.value=a.currentRoute.value};a.afterEach((b,E)=>{const g=b.matched.at(-1)?.components?.default,y=E.matched.at(-1)?.components?.default;if(g===y){f();return}b.matched.lengthC.components?.default===E.matched[A]?.components?.default)&&f()});const d={sync:f};for(const b in c.value)Object.defineProperty(d,b,{get:()=>c.value[b],enumerable:!0});e._route=Dt(d),e._middleware||={global:[],named:{}};const h=io();a.afterEach(async(b,E,g)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(ny),g&&await e.callHook("page:loading:end")});try{[t,n]=On(()=>a.isReady()),await t,n()}catch(b){[t,n]=On(()=>e.runWithContext(()=>Rn(b))),await t,n()}const _=u!==a.currentRoute.value.fullPath?a.resolve(u):a.currentRoute.value,m=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&u!==e.payload.path&&_f(a.currentRoute.value.path,e.payload.path);f();const R=e.payload.state._layout;return a.beforeEach(async(b,E)=>{await e.callHook("page:loading:start"),b.meta=sn(b.meta),e.isHydrating&&R&&!Ut(b.meta.layout)&&(b.meta.layout=R),e._processingMiddleware=!0;{const g=new Set([...Ub,...e._middleware.global]);for(const C of b.matched){const A=C.meta.middleware;if(A)for(const L of ad(A))g.add(L)}const y=Kf({path:b.path});if(y.appMiddleware)for(const C in y.appMiddleware)y.appMiddleware[C]?g.add(C):g.delete(C);for(const C of g){const A=typeof C=="string"?e._middleware.named[C]||await Pi[C]?.().then(L=>L.default||L):C;if(!A)throw new Error(`Unknown route middleware: '${C}'.`);try{const L=await e.runWithContext(()=>A(b,E));if(!e.payload.serverRendered&&e.isHydrating&&(L===!1||L instanceof Error)){const F=L||In({status:404,statusText:`Page Not Found: ${u}`});return await e.runWithContext(()=>Rn(F)),!1}if(L===!0)continue;if(L===!1)return L;if(L)return Of(L)&&L.fatal&&await e.runWithContext(()=>Rn(L)),L}catch(L){const F=In(L);return F.fatal&&await e.runWithContext(()=>Rn(F)),F}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(b=>{if(b.matched.length===0&&!h.value)return e.runWithContext(()=>Rn(In({status:404,fatal:!1,statusText:`Page not found: ${b.fullPath}`,data:{path:b.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in _&&(_.name=void 0),m){const b=a.resolve(e.payload.path);"name"in b&&(b.name=void 0),await a.replace({...b,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({..._,force:!0})})}else await a.replace({..._,force:!0});a.options.scrollBehavior=cn.scrollBehavior}catch(b){await e.runWithContext(()=>Rn(b))}}),{provide:{router:a}}}}),Xl=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),$0=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),pa=e=>{const t=ue();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{Xl(()=>e())}):Xl(()=>e())},Vb=Ge({name:"nuxt:payload",setup(e){const t=new Set;tt().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await kl(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),pa(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await kl().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Wf,1e3)})}}),Wb=Ge(()=>{const e=tt();pa(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Kb=Ge(e=>{let t;async function n(){let r;try{r=await Wf()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,bl);try{const s=await $fetch(la("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}pa(()=>{t=setTimeout(n,bl)})});function Gb(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&ui(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=Ur(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=Pn(n.app.baseURL,o.fullPath);Gb({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function Jl(e){return typeof e=="string"?`'${e}'`:new Yb().serialize(e)}const Yb=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})();function Xb(e,t){return e===t||Jl(e)===Jl(t)}const Jb="$s";function fd(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;typeof e[0]!="string"&&e.unshift(t);const[n,r]=e;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(r!==void 0&&typeof r!="function")throw new Error("[nuxt] [useState] init must be a function: "+r);const s=Jb+n,o=ue(),i=lu(o.payload.state,s);if(i.value===void 0&&r){const a=r();if(ve(a))return o.payload.state[s]=a,a;i.value=a}return i}const Qb=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function zb(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");const n=new Qb,r=t||{},s=r.decode||Zb;let o=0;for(;o{const t=decodeURIComponent(e),n=Ur(t);return typeof n=="number"&&(!Number.isFinite(n)||String(n)!==t)?t:n},encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},ds=globalThis.cookieStore;function dd(e,t){const n={...nv,...t};n.filter??=u=>u===e;const r=zl(n)||{};let s;n.maxAge!==void 0?s=n.maxAge*1e3:n.expires&&(s=n.expires.getTime()-Date.now());const o=s!==void 0&&s<=0,i=o||r[e]===void 0||r[e]===null,a=vt(o?void 0:r[e]??n.default?.()),l=s&&!o?ov(a,s,n.watch&&n.watch!=="shallow"):et(a);{let u=null;try{!ds&&typeof BroadcastChannel<"u"&&(u=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const c=(_=!1)=>{!_&&(n.readonly||Xb(l.value,r[e]))||(sv(e,l.value,n),r[e]=vt(l.value),u?.postMessage({value:n.encode(l.value)}))},f=_=>{const m=_.refresh?zl(n)?.[e]:n.decode(_.value);d=!0,l.value=m,r[e]=vt(m),nn(()=>{d=!1})};let d=!1;const h=!!dr();if(h&&Nr(()=>{d=!0,c(),u?.close()}),ds){const _=m=>{const R=m.changed.find(E=>E.name===e),b=m.deleted.find(E=>E.name===e);R&&f({value:R.value}),b&&f({value:null})};ds.addEventListener("change",_),h&&Nr(()=>ds.removeEventListener("change",_))}else u&&(u.onmessage=({data:_})=>f(_));n.watch&<(l,()=>{d||c()},{deep:n.watch!=="shallow"}),i&&c(i)}return l}function zl(e={}){return zb(document.cookie,e)}function rv(e,t,n={}){return t==null?Ql(e,t,{...n,maxAge:-1}):Ql(e,t,n)}function sv(e,t,n={}){document.cookie=rv(e,t,n)}const Zl=2147483647;function ov(e,t,n){let r,s,o=0;const i=n?et(e):{value:e};return dr()&&Nr(()=>{s?.(),clearTimeout(r)}),Dh((a,l)=>{n&&(s=lt(i,l));function u(){const f=t-o,d=f{if(o+=d,o4)return Promise.all(s).then(()=>av(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}function hd(e){return new URL(globalThis.location.href)}const lv=Ge({name:"pinia",setup(e){const t=ry();return e.vueApp.use(t),or(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ue();e.payload.pinia=ae(e.$pinia).state.value,or(void 0)}}}),cv=Ge({name:"nuxt:global-components"}),pn={blank:Rs(()=>it(()=>import("./B2nIQl38.js"),__vite__mapDeps([6,7]),import.meta.url).then(e=>e.default||e)),default:Rs(()=>it(()=>import("./BezjjCqI.js"),__vite__mapDeps([8,1,4,2]),import.meta.url).then(e=>e.default||e))},uv=Ge({name:"nuxt:prefetch",setup(e){const t=tt();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof pn[r]=="function"&&await pn[r]()})}),e.hooks.hook("link:prefetch",n=>{if(an(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=ad(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof Pi[i]=="function"&&Pi[i]();typeof s=="string"&&s in pn&&iv(pn[s])})}});function fv(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ms=typeof window<"u",yn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),dv=(e,t,n)=>hv({l:e,k:t,s:n}),hv=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ne=e=>typeof e=="number"&&isFinite(e),pd=e=>uo(e)==="[object Date]",Ds=e=>uo(e)==="[object RegExp]",co=e=>fe(e)&&Object.keys(e).length===0,Ae=Object.assign,pv=Object.create,ye=(e=null)=>pv(e);function ec(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function tc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function gv(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,s,o)=>`${s}="${tc(o)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,s,o)=>`${s}='${tc(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const mv=Object.prototype.hasOwnProperty;function mt(e,t){return mv.call(e,t)}const Le=Array.isArray,Ce=e=>typeof e=="function",G=e=>typeof e=="string",Se=e=>typeof e=="boolean",ce=e=>e!==null&&typeof e=="object",yv=e=>ce(e)&&Ce(e.then)&&Ce(e.catch),gd=Object.prototype.toString,uo=e=>gd.call(e),fe=e=>uo(e)==="[object Object]",_v=e=>e==null?"":Le(e)||fe(e)&&e.toString===gd?JSON.stringify(e,null,2):String(e);function ga(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}const hs=e=>!ce(e)||Le(e);function zn(e,t){if(hs(e)||hs(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(o=>{o!=="__proto__"&&(ce(r[o])&&!ce(s[o])&&(s[o]=Array.isArray(r[o])?[]:ye()),hs(s[o])||hs(r[o])?s[o]=r[o]:n.push({src:r[o],des:s[o]}))})}}function bv(e,t=e.getCurrentLanguage(),n=e.getCurrentDirection()){const r={htmlAttrs:{},link:[],meta:[]};if(e.dir&&(r.htmlAttrs.dir=n),e.lang&&t&&(r.htmlAttrs.lang=t),e.seo){const s=Ev(e);r.link=r.link.concat(s,Cv(e)),r.meta=r.meta.concat(Sv(e),Rv(e),Tv(e,e.locales.map(o=>o.language||o.code)))}return r}function vv(e){const t=new Map;for(const n of e){if(!n.language){console.warn("Locale `language` ISO code is required to generate alternate link");continue}const[r,s]=n.language.split("-");r&&s&&(n.isCatchallLocale||!t.has(r))&&t.set(r,n),t.set(n.language,n)}return t}function Ev(e){if(!e.hreflangLinks)return[];const t=[],n=vv(e.locales);for(const[r,s]of n.entries()){const o=wv(r,s,e);o&&(t.push(o),e.defaultLocale&&e.defaultLocale===s.code&&t[0].hreflang!=="x-default"&&t.unshift({[e.key]:"i18n-xd",rel:"alternate",href:o.href,hreflang:"x-default"}))}return t}function wv(e,t,n,r=n.strictCanonicals?n.getRouteWithoutQuery():void 0){const s=n.getLocalizedRoute(t.code,r);if(!s)return;const o=so(an(s)?s:Pn(n.baseUrl,s),n.strictCanonicals?yd(n):{});return{[n.key]:`i18n-alt-${e}`,rel:"alternate",href:o,hreflang:e}}function md(e,t=e.getCurrentRoute()){const n=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}));return n?so(Pn(e.baseUrl,n.path),yd(e)):""}function Cv(e,t=md(e)){return t?[{[e.key]:"i18n-can",rel:"canonical",href:t}]:[]}function yd(e,t=e.getCurrentRoute()){const r=e.getLocaleRoute(Object.assign({},t,{path:void 0,name:e.getRouteBaseName(t)}))?.query??{},s={};for(const o of e.canonicalQueries.filter(i=>i in r)){s[o]??=[];for(const i of Lv(r[o]))s[o].push(i||"")}return s}function Sv(e,t=md(e)){return t?[{[e.key]:"i18n-og-url",property:"og:url",content:t}]:[]}function Rv(e,t=e.getCurrentLanguage()){return t?[{[e.key]:"i18n-og",property:"og:locale",content:_d(t)}]:[]}function Tv(e,t,n=e.getCurrentLanguage()){return t.filter(s=>s&&s!==n).map(s=>({[e.key]:`i18n-og-alt-${s}`,property:"og:locale:alternate",content:_d(s)}))}function _d(e=""){return e.replace(/-/g,"_")}function Lv(e){return Array.isArray(e)?e:[e]}function bd(e,t,n=e.getLocale()){if(G(t)&&an(t,{acceptRelative:!0}))return t;try{return Ed(e,t,n).fullPath}catch{return""}}function vd(e,t,n=e.getLocale()){try{return Ed(e,t,n)}catch{return}}function kv(e){if(!G(e))return Ae({},e);if(e[0]==="/"){const{pathname:t,search:n,hash:r}=di(e);return{path:t,query:oa(n),hash:r}}return{name:e}}function Ed(e,t,n){const r=kv(t),s=e.router.resolve(e.resolveLocalizedRouteObject(r,n));return s.name?s:e.router.resolve(t)}function wd(e,t,n=e.router.currentRoute.value){const r=e.getRouteBaseName(n);if(!r)return"";const s={name:r,params:Ae({},n.params,e.getLocalizedDynamicParams(t)),fullPath:n.fullPath,query:n.query,hash:n.hash,path:n.path,meta:n.meta},o=bd(e,s,t);return e.afterSwitchLocalePath(o,t)}function Av(e,t,n=e.getLocale(),r=e.getLocales(),s=e.getBaseUrl()){const o=r.find(a=>a.code===n)||{},i=typeof t.seo=="object"&&t.seo?.canonicalQueries||[];return s||console.warn("I18n `baseUrl` is required to generate valid SEO tag links."),{...t,key:"id",locales:r,baseUrl:s,canonicalQueries:i,hreflangLinks:e.routingOptions.hreflangLinks,defaultLocale:e.routingOptions.defaultLocale,strictCanonicals:e.routingOptions.strictCanonicals,getRouteBaseName:e.getRouteBaseName,getCurrentRoute:()=>e.router.currentRoute.value,getCurrentLanguage:()=>o.language,getCurrentDirection:()=>o.dir||"ltr",getLocaleRoute:a=>vd(e,a),getLocalizedRoute:(a,l)=>wd(e,a,l),getRouteWithoutQuery:()=>{try{return Ae({},e.router.resolve({query:{}}),{meta:e.router.currentRoute.value.meta})}catch{return}}}}function Pv(e,{dir:t=!0,lang:n=!0,seo:r=!0}){return bv(Av(e,{dir:t,lang:n,seo:r}))}function Ov(e=0){return t=>{const s=(typeof t=="string"?t:t.pathname).split("?")[0].split("/");return s[0]===""&&s.shift(),s.length>e&&s[e]||""}}const Cd="___";function Sd(e){return typeof e=="string"?e:e!=null?e.toString():""}function jo(e){return Sd(typeof e=="object"?e?.name:e).split(Cd)[0]}const Iv=Ov(0),Oi=e=>Iv(e),Nv=e=>e.split(Cd).at(1)??"";function xv(e){return String(typeof e!="object"?e:e?.name||e?.path||"")}function Mv(e){const t=xv(e);if(t[0]==="/")return Oi(t);const n=Nv(t);return n||(typeof e=="object"&&e?.path?Oi(String(e.path)):"")}function Dv(e){return t=>Sd(t)}function Fv(e){return t=>t}const Wr=["hu","en"],Fs={hu:[{key:"locale_hu_46json_ee06c965",load:()=>it(()=>import("./DiHJCuau.js"),[],import.meta.url),cache:!0}],en:[{key:"locale_en_46json_0b63539c",load:()=>it(()=>import("./HwQw-d2b.js"),[],import.meta.url),cache:!0}]},Hv=[],es=[{code:"hu",iso:"hu-HU",name:"Magyar",language:void 0},{code:"en",iso:"en-GB",name:"English",language:void 0}],Rd=new Map,$v=Tf((e,t,n)=>{if(t==="messages"||t==="datetimeFormats"||t==="numberFormats")return e[t]??=ye(null),zn(n,e[t]),!0});async function Uv(e){const t=ue();let n={messages:ye(null)};for(const r of e){const s=await r().then(i=>Td(i)?i.default:i),o=Ce(s)?await t.runWithContext(()=>s()):s;n=$v(ye(null),o,n)}return n.fallbackLocale??=!1,n}const Td=e=>uo(e)==="[object Module]";async function jv(e,t){const n=ue();try{const r=await n.runWithContext(t.load).then(s=>Td(s)?s.default:s);return Ce(r)?await n.runWithContext(()=>r(e)):r}catch(r){throw new Error(`Failed loading locale (${e}): `+r.message)}}async function Bv(e,t=[]){const n=ue(),r=await Promise.all(t.map(async o=>{const i=Vv(o),a=i||await n.runWithContext(()=>jv(e,o));return!i&&o.cache!==!1&&Rd.set(o.key,{ttl:Date.now()+86400*1e3,value:a}),a})),s={};for(const o of r)zn(o,s);return s}function Vv(e){if(e.cache===!1)return;const t=Rd.get(e.key);if(t!=null)return t.ttl>Date.now()?t.value:void 0}function ma(e){return e!=null&&"global"in e&&"mode"in e?e.global:e}function ps(e){const t=ma(e);return"__composer"in t?t.__composer:t}function fo(e,t){return e?e.$config.public.i18n:oo().public.i18n}function ho(e){const t=fo(e).detectBrowserLanguage,n=t||{};return{...n,enabled:!!t,cookieKey:n.cookieKey||"i18n_redirected"}}function Wv(e){if(e)return{path:"/"+(G(e)?e:e.path).replace(/^\//,""),code:!G(e)&&e.statusCode||302}}function Kv(e){return Array.isArray(e)?e:[e]}function Gv(e,t,n){const r=(o="")=>o.replace(/https?:\/\//,""),s=e.filter(o=>r(o.domain)===t||Kv(o.domains).includes(t));return s.length<=1?s[0]?.code:s.find(o=>o.code===n)?.code||s.find(o=>o.defaultForDomains?.includes(t)??o.domainDefault)?.code}function qv(e,t,n){const r=es.find(o=>o.code===n),s=e?.[n]?.domain||r?.domain||r?.domains?.find(o=>o===t.host);if(s)return an(s,{strict:!0})?s:t.protocol+"//"+s}function Yv(e){const t={};for(const n of Wr){const r=Xv(e,[n]),s=Jv(n,r);t[n]={fallbacks:r,cacheable:s}}return t}function Xv(e,t){if(e===!1)return[];if(Le(e))return e;let n=[];if(G(e))return t.every(s=>s!==e)&&n.push(e),n;const r=[...t,"default"];for(const s of r)s in e&&(n=[...n,...e[s].filter(Boolean)]);return n}function nc(e){return Fs[e]!=null&&Fs[e].every(t=>t.cache!==!1)}function Jv(e,t){return nc(e)&&t.every(n=>nc(n))}function Qv(e){return es.find(t=>!!t.defaultForDomains?.includes(e))?.code}const Zn=e=>Wr.includes(e||""),rc=e=>Zn(e)?e:void 0;var zv={hu:"bb1d6803",en:"bb1d6803"};const Ld=()=>fd("i18n:cached-locale-configs",()=>{}),kd=()=>fd("i18n:resolved-locale",()=>"");function Zv({cookieCrossOrigin:e,cookieDomain:t,cookieSecure:n,cookieKey:r}){const s=new Date;return dd(r||"i18n_redirected",{path:"/",readonly:!1,expires:new Date(s.setDate(s.getDate()+365)),sameSite:e?"none":"lax",domain:t||void 0,secure:e||n})}function eE(e,t,n){const r=ma(t),s=fo(e),o=ho(e),i=Ld(),a=Zv(o),l=new Set,u=R=>i.value[R],c=R=>qv(s.domainLocales,hd(),R),f=pE(e,s.baseUrl),d=kd(),h=async R=>{const b=u(R)?.fallbacks??[];b.includes(R)||b.push(R);for(const E of b){const g=await e.runWithContext(()=>Bv(E,Fs[E]));r.mergeLocaleMessage(E,g)}},_=async R=>{if(!(R in Fs))return;const b=u(R)?.cacheable?{}:{"Cache-Control":"no-cache"},g=Pn("","/_i18n",zv[R],R,"messages.json"),y=await $fetch(g,{headers:b});for(const C of Object.keys(y))r.mergeLocaleMessage(C,y[C])},m={vueI18n:t,initial:!0,preloaded:!1,config:s,rootRedirect:Wv(s.rootRedirect),redirectStatusCode:s.redirectStatusCode??302,dynamicResourcesSSG:!1,getDefaultLocale:()=>n,getLocale:()=>me(r.locale),setLocale:async R=>{const b=m.getLocale();R===b||!Zn(R)||(ve(r.locale)?r.locale.value=R:r.locale=R,await e.callHook("i18n:localeSwitched",{newLocale:R,oldLocale:b}),d.value=R)},setLocaleSuspend:async R=>{Zn(R)&&(m.vueI18n.__pendingLocale=R,m.vueI18n.__pendingLocalePromise=new Promise(b=>{m.vueI18n.__resolvePendingLocalePromise=async()=>{m.setCookieLocale(R),await m.setLocale(R),m.vueI18n.__pendingLocale=void 0,b()}}),(e.isHydrating||!m.config.skipSettingLocaleOnNavigate)&&await m.vueI18n.__resolvePendingLocalePromise?.())},getLocales:()=>me(r.locales).map(R=>G(R)?{code:R}:R),setCookieLocale:R=>{o.useCookie&&Zn(R)&&(a.value=R)},getBaseUrl:R=>Pn(R&&c(R)||f(),e.$config.app.baseURL),loadMessages:async R=>{if(!(e.isHydrating&&l.has(R)))try{return m.dynamicResourcesSSG?await h(R):await _(R)}catch(b){console.warn(`Failed to load messages for locale "${R}"`,b)}finally{l.add(R)}},composableCtx:void 0};return m.composableCtx=uE(m,e),m}function ya(e){if(e._nuxtI18n==null)throw new Error("Nuxt I18n context has not been set up yet.");return e._nuxtI18n}function tE(e,t){const n=[];for(const[r,s]of t.entries()){const o=e.find(i=>i.language?.toLowerCase()===s.toLowerCase());if(o){n.push({code:o.code,score:1-r/t.length});break}}for(const[r,s]of t.entries()){const o=s.split("-")[0].toLowerCase(),i=e.find(a=>a.language?.split("-")[0].toLowerCase()===o);if(i){n.push({code:i.code,score:.999-r/t.length});break}}return n}function nE(e,t){return e.score===t.score?t.code.length-e.code.length:t.score-e.score}function rE(e,t){return tE(e.map(r=>({code:r.code,language:r.language||r.code})),t).sort(nE).at(0)?.code??""}const sE=(e,t)=>dd(t).value||void 0,oE=(e,t)=>Mv(t),iE=e=>rE(es,navigator.languages),aE=(e,t,n)=>{const r=new URL(window.location.href).host,s=es.map(o=>({...o,domain:n[o.code]?.domain??o.domain}));return Gv(s,r,Oi(t))},_a=(e,t,n)=>{const r=fo(n);return{cookie:()=>sE(e,t.cookieKey),header:()=>{},navigator:()=>iE(),host:s=>aE(e,s,r.domainLocales),route:s=>oE(e,s)}},lE=e=>!!e.path&&!e.name;function po(e){const t=e?._nuxtI18n?.composableCtx;if(!t)throw new Error("i18n context is not initialized. Ensure the i18n plugin is installed and the composable is used within a Vue component or setup function.");return t}const cE=Br;function uE(e,t=ue()){const n=tt();_a(void 0,ho(t),t);const r=e.getDefaultLocale(),s=Dv();function o(u,c){u.name=jo(u.name||n.currentRoute.value);const f=s(u.name,c);return n.hasRoute(f)&&(u.name=f),u.name=f,u}const i=Fv();function a(u,c){const f=i(u,c),d=jo(f);if(d){const h=s(d,c);return n.hasRoute(h),f.name=h,f}return f.path=cE(f.path,!0),f}const l={router:n,_head:void 0,get head(){return this._head??=Bf({}),this._head},metaState:{htmlAttrs:{},meta:[],link:[]},seoSettings:{dir:!1,lang:!1,seo:!1},localePathPayload:fE(),routingOptions:{defaultLocale:r,strictCanonicals:e.config.experimental.alternateLinkCanonicalQueries??!0,hreflangLinks:!1},getLocale:e.getLocale,getLocales:e.getLocales,getBaseUrl:e.getBaseUrl,getRouteBaseName:jo,getRouteLocalizedParams:()=>n.currentRoute.value.meta.nuxtI18nInternal??{},getLocalizedDynamicParams:u=>l.getRouteLocalizedParams()?.[u],afterSwitchLocalePath:(u,c)=>(l.getRouteLocalizedParams(),u),resolveLocalizedRouteObject:(u,c)=>lE(u)?a(u,c):o(u,c)};return l}function fE(e=ue()){const t=document.querySelector(`[data-nuxt-i18n-slp="${e._id}"]`)?.textContent;return JSON.parse(t||"{}")}async function Ad(e,t){const n=ya(e),r=n.getLocale();if(t===r&&!n.initial&&(!n.vueI18n.__pendingLocale||n.vueI18n.__pendingLocale===t))return t;const s={oldLocale:r,newLocale:t,initialSetup:n.initial,context:e};let o=await e.callHook("i18n:beforeLocaleSwitch",s);return o!=null,o??=s.newLocale,Zn(o)&&(t=o),await n.loadMessages(t),await n.setLocaleSuspend(t),t}function dE(e,t,n){return!1}function hE(e,t){const n=ho(e),r=_a(void 0,n,e),s=ya(e),o=G(t)?t:t.path;function*i(){s.initial&&n.enabled&&!dE(n,o,r.route(o))&&(yield r.cookie(),yield r.header(),yield r.navigator(),yield n.fallbackLocale)}for(const a of i())if(a&&Zn(a))return a;return s.getLocale()||s.getDefaultLocale()||""}function pE(e,t,n,r){return Ce(t)?()=>t(e):()=>t??""}function gE(e,t,n){return{line:e,column:t,offset:n}}function Ii(e,t,n){return{start:e,end:t}}const pe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},mE=17;function go(e,t,n={}){const{domain:r,messages:s,args:o}=n,i=e,a=new SyntaxError(String(i));return a.code=e,t&&(a.location=t),a.domain=r,a}function yE(e){throw e}const At=" ",_E="\r",We=` +`,bE="\u2028",vE="\u2029";function EE(e){const t=e;let n=0,r=1,s=1,o=0;const i=L=>t[L]===_E&&t[L+1]===We,a=L=>t[L]===We,l=L=>t[L]===vE,u=L=>t[L]===bE,c=L=>i(L)||a(L)||l(L)||u(L),f=()=>n,d=()=>r,h=()=>s,_=()=>o,m=L=>i(L)||l(L)||u(L)?We:t[L],R=()=>m(n),b=()=>m(n+o);function E(){return o=0,c(n)&&(r++,s=0),i(n)&&n++,n++,s++,t[n]}function g(){return i(n+o)&&o++,o++,t[n+o]}function y(){n=0,r=1,s=1,o=0}function C(L=0){o=L}function A(){const L=n+o;for(;L!==n;)E();o=0}return{index:f,line:d,column:h,peekOffset:_,charAt:m,currentChar:R,currentPeek:b,next:E,peek:g,reset:y,resetPeek:C,skipToPeek:A}}const Wt=void 0,wE=".",sc="'",CE="tokenizer";function SE(e,t={}){const n=t.location!==!1,r=EE(e),s=()=>r.index(),o=()=>gE(r.line(),r.column(),r.index()),i=o(),a=s(),l={currentType:13,offset:a,startLoc:i,endLoc:i,lastType:13,lastOffset:a,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function f(p,w,k,...O){const x=u();if(w.column+=k,w.offset+=k,c){const j=n?Ii(x.startLoc,w):null,T=go(p,j,{domain:CE,args:O});c(T)}}function d(p,w,k){p.endLoc=o(),p.currentType=w;const O={type:w};return n&&(O.loc=Ii(p.startLoc,p.endLoc)),k!=null&&(O.value=k),O}const h=p=>d(p,13);function _(p,w){return p.currentChar()===w?(p.next(),w):(f(pe.EXPECTED_TOKEN,o(),0,w),"")}function m(p){let w="";for(;p.currentPeek()===At||p.currentPeek()===We;)w+=p.currentPeek(),p.peek();return w}function R(p){const w=m(p);return p.skipToPeek(),w}function b(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w===95}function E(p){if(p===Wt)return!1;const w=p.charCodeAt(0);return w>=48&&w<=57}function g(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function y(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()==="-"?p.peek():p.currentPeek(),x=E(O);return p.resetPeek(),x}function C(p,w){const{currentType:k}=w;if(k!==2)return!1;m(p);const O=p.currentPeek()===sc;return p.resetPeek(),O}function A(p,w){const{currentType:k}=w;if(k!==7)return!1;m(p);const O=p.currentPeek()===".";return p.resetPeek(),O}function L(p,w){const{currentType:k}=w;if(k!==8)return!1;m(p);const O=b(p.currentPeek());return p.resetPeek(),O}function F(p,w){const{currentType:k}=w;if(!(k===7||k===11))return!1;m(p);const O=p.currentPeek()===":";return p.resetPeek(),O}function N(p,w){const{currentType:k}=w;if(k!==9)return!1;const O=()=>{const j=p.currentPeek();return j==="{"?b(p.peek()):j==="@"||j==="|"||j===":"||j==="."||j===At||!j?!1:j===We?(p.peek(),O()):W(p,!1)},x=O();return p.resetPeek(),x}function D(p){m(p);const w=p.currentPeek()==="|";return p.resetPeek(),w}function W(p,w=!0){const k=(x=!1,j="")=>{const T=p.currentPeek();return T==="{"||T==="@"||!T?x:T==="|"?!(j===At||j===We):T===At?(p.peek(),k(!0,At)):T===We?(p.peek(),k(!0,We)):!0},O=k();return w&&p.resetPeek(),O}function $(p,w){const k=p.currentChar();return k===Wt?Wt:w(k)?(p.next(),k):null}function X(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36}function te(p){return $(p,X)}function se(p){const w=p.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36||w===45}function K(p){return $(p,se)}function J(p){const w=p.charCodeAt(0);return w>=48&&w<=57}function q(p){return $(p,J)}function re(p){const w=p.charCodeAt(0);return w>=48&&w<=57||w>=65&&w<=70||w>=97&&w<=102}function nt(p){return $(p,re)}function qe(p){let w="",k="";for(;w=q(p);)k+=w;return k}function $e(p){let w="";for(;;){const k=p.currentChar();if(k==="\\"){const O=p.peek();O==="{"||O==="}"||O==="@"||O==="|"||O==="\\"?(w+=k+O,p.next(),p.next()):(p.resetPeek(),w+=k,p.next())}else{if(k==="{"||k==="}"||k==="@"||k==="|"||!k)break;if(k===At||k===We)if(W(p))w+=k,p.next();else{if(D(p))break;w+=k,p.next()}else w+=k,p.next()}}return w}function Rt(p){R(p);let w="",k="";for(;w=K(p);)k+=w;const O=p.currentChar();if(O&&O!=="}"&&O!==Wt&&O!==At&&O!==We&&O!==" "){const x=Q(p);return f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k+x),k+x}return p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k}function Tt(p){R(p);let w="";return p.currentChar()==="-"?(p.next(),w+=`-${qe(p)}`):w+=qe(p),p.currentChar()===Wt&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w}function Lt(p){return p!==sc&&p!==We}function Ve(p){R(p),_(p,"'");let w="",k="";for(;w=$(p,Lt);)w==="\\"?k+=H(p):k+=w;const O=p.currentChar();return O===We||O===Wt?(f(pe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),O===We&&(p.next(),_(p,"'")),k):(_(p,"'"),k)}function H(p){const w=p.currentChar();switch(w){case"\\":case"'":return p.next(),`\\${w}`;case"u":return Y(p,w,4);case"U":return Y(p,w,6);default:return f(pe.UNKNOWN_ESCAPE_SEQUENCE,o(),0,w),""}}function Y(p,w,k){_(p,w);let O="";for(let x=0;x{const O=p.currentChar();return O==="{"||O==="@"||O==="|"||O==="("||O===")"||!O||O===At?k:(k+=O,p.next(),w(k))};return w("")}function v(p){R(p);const w=_(p,"|");return R(p),w}function S(p,w){let k=null;switch(p.currentChar()){case"{":return w.braceNest>=1&&f(pe.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),p.next(),k=d(w,2,"{"),R(p),w.braceNest++,k;case"}":return w.braceNest>0&&w.currentType===2&&f(pe.EMPTY_PLACEHOLDER,o(),0),p.next(),k=d(w,3,"}"),w.braceNest--,w.braceNest>0&&R(p),w.inLinked&&w.braceNest===0&&(w.inLinked=!1),k;case"@":return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=P(p,w)||h(w),w.braceNest=0,k;default:{let x=!0,j=!0,T=!0;if(D(p))return w.braceNest>0&&f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(w.braceNest>0&&(w.currentType===4||w.currentType===5||w.currentType===6))return f(pe.UNTERMINATED_CLOSING_BRACE,o(),0),w.braceNest=0,U(p,w);if(x=g(p,w))return k=d(w,4,Rt(p)),R(p),k;if(j=y(p,w))return k=d(w,5,Tt(p)),R(p),k;if(T=C(p,w))return k=d(w,6,Ve(p)),R(p),k;if(!x&&!j&&!T)return k=d(w,12,Q(p)),f(pe.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,k.value),R(p),k;break}}return k}function P(p,w){const{currentType:k}=w;let O=null;const x=p.currentChar();switch((k===7||k===8||k===11||k===9)&&(x===We||x===At)&&f(pe.INVALID_LINKED_FORMAT,o(),0),x){case"@":return p.next(),O=d(w,7,"@"),w.inLinked=!0,O;case".":return R(p),p.next(),d(w,8,".");case":":return R(p),p.next(),d(w,9,":");default:return D(p)?(O=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,O):A(p,w)||F(p,w)?(R(p),P(p,w)):L(p,w)?(R(p),d(w,11,ne(p))):N(p,w)?(R(p),x==="{"?S(p,w)||O:d(w,10,_e(p))):(k===7&&f(pe.INVALID_LINKED_FORMAT,o(),0),w.braceNest=0,w.inLinked=!1,U(p,w))}}function U(p,w){let k={type:13};if(w.braceNest>0)return S(p,w)||h(w);if(w.inLinked)return P(p,w)||h(w);switch(p.currentChar()){case"{":return S(p,w)||h(w);case"}":return f(pe.UNBALANCED_CLOSING_BRACE,o(),0),p.next(),d(w,3,"}");case"@":return P(p,w)||h(w);default:{if(D(p))return k=d(w,1,v(p)),w.braceNest=0,w.inLinked=!1,k;if(W(p))return d(w,0,$e(p));break}}return k}function M(){const{currentType:p,offset:w,startLoc:k,endLoc:O}=l;return l.lastType=p,l.lastOffset=w,l.lastStartLoc=k,l.lastEndLoc=O,l.offset=s(),l.startLoc=o(),r.currentChar()===Wt?d(l,13):U(r,l)}return{nextToken:M,currentOffset:s,currentPosition:o,context:u}}const RE="parser",TE=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g,LE=/\\([\\@{}|])/g;function kE(e,t){return t}function AE(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function PE(e={}){const t=e.location!==!1,{onError:n}=e;function r(b,E,g,y,...C){const A=b.currentPosition();if(A.offset+=y,A.column+=y,n){const L=t?Ii(g,A):null,F=go(E,L,{domain:RE,args:C});n(F)}}function s(b,E,g){const y={type:b};return t&&(y.start=E,y.end=E,y.loc={start:g,end:g}),y}function o(b,E,g,y){t&&(b.end=E,b.loc&&(b.loc.end=g))}function i(b,E){const g=b.context(),y=s(3,g.offset,g.startLoc);return y.value=E.replace(LE,kE),o(y,b.currentOffset(),b.currentPosition()),y}function a(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(5,y,C);return A.index=parseInt(E,10),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function l(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(4,y,C);return A.key=E,b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function u(b,E){const g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(9,y,C);return A.value=E.replace(TE,AE),b.nextToken(),o(A,b.currentOffset(),b.currentPosition()),A}function c(b){const E=b.nextToken(),g=b.context(),{lastOffset:y,lastStartLoc:C}=g,A=s(8,y,C);return E.type!==11?(r(b,pe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),A.value="",o(A,y,C),{nextConsumeToken:E,node:A}):(E.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Pt(E)),A.value=E.value||"",o(A,b.currentOffset(),b.currentPosition()),{node:A})}function f(b,E){const g=b.context(),y=s(7,g.offset,g.startLoc);return y.value=E,o(y,b.currentOffset(),b.currentPosition()),y}function d(b){const E=b.context(),g=s(6,E.offset,E.startLoc);let y=b.nextToken();if(y.type===8){const C=c(b);g.modifier=C.node,y=C.nextConsumeToken||b.nextToken()}switch(y.type!==9&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),y=b.nextToken(),y.type===2&&(y=b.nextToken()),y.type){case 10:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=f(b,y.value||"");break;case 4:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=l(b,y.value||"");break;case 5:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=a(b,y.value||"");break;case 6:y.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(y)),g.key=u(b,y.value||"");break;default:{r(b,pe.UNEXPECTED_EMPTY_LINKED_KEY,E.lastStartLoc,0);const C=b.context(),A=s(7,C.offset,C.startLoc);return A.value="",o(A,C.offset,C.startLoc),g.key=A,o(g,C.offset,C.startLoc),{nextConsumeToken:y,node:g}}}return o(g,b.currentOffset(),b.currentPosition()),{node:g}}function h(b){const E=b.context(),g=E.currentType===1?b.currentOffset():E.offset,y=E.currentType===1?E.endLoc:E.startLoc,C=s(2,g,y);C.items=[];let A=null;do{const N=A||b.nextToken();switch(A=null,N.type){case 0:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(i(b,N.value||""));break;case 5:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(a(b,N.value||""));break;case 4:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(l(b,N.value||""));break;case 6:N.value==null&&r(b,pe.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(N)),C.items.push(u(b,N.value||""));break;case 7:{const D=d(b);C.items.push(D.node),A=D.nextConsumeToken||null;break}}}while(E.currentType!==13&&E.currentType!==1);const L=E.currentType===1?E.lastOffset:b.currentOffset(),F=E.currentType===1?E.lastEndLoc:b.currentPosition();return o(C,L,F),C}function _(b,E,g,y){const C=b.context();let A=y.items.length===0;const L=s(1,E,g);L.cases=[],L.cases.push(y);do{const F=h(b);A||(A=F.items.length===0),L.cases.push(F)}while(C.currentType!==13);return A&&r(b,pe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),o(L,b.currentOffset(),b.currentPosition()),L}function m(b){const E=b.context(),{offset:g,startLoc:y}=E,C=h(b);return E.currentType===13?C:_(b,g,y,C)}function R(b){const E=SE(b,Ae({},e)),g=E.context(),y=s(0,g.offset,g.startLoc);return t&&y.loc&&(y.loc.source=b),y.body=m(E),e.onCacheKey&&(y.cacheKey=e.onCacheKey(b)),g.currentType!==13&&r(E,pe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,b[g.offset]||""),o(y,E.currentOffset(),E.currentPosition()),y}return{parse:R}}function Pt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function OE(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:o=>(n.helpers.add(o),o)}}function oc(e,t){for(let n=0;nic(n)),e}function ic(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(m,R){i.code+=m}function u(m,R=!0){const b=R?r:"";l(s?b+" ".repeat(m):b)}function c(m=!0){const R=++i.indentLevel;m&&u(R)}function f(m=!0){const R=--i.indentLevel;m&&u(R)}function d(){u(i.indentLevel)}return{context:a,push:l,indent:c,deindent:f,newline:d,helper:m=>`_${m}`,needIndent:()=>i.needIndent}}function ME(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),lr(e,t.key),t.modifier?(e.push(", "),lr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function DE(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let o=0;o1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let o=0;o{const n=G(t.mode)?t.mode:"normal",r=G(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,o=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=xE(e,{filename:r,breakLineCode:s,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),i.length>0&&(a.push(`const { ${ga(i.map(c=>`${c}: _${c}`),", ")} } = ctx`),a.newline()),a.push("return "),lr(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:l,map:u}=a.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function UE(e,t={}){const n=Ae({},t),r=!!n.jit,s=!!n.minify,o=n.optimize==null?!0:n.optimize,a=PE(n).parse(e);return r?(o&&NE(a),s&&Vn(a),{ast:a,code:""}):(IE(a,n),$E(a,n))}function $t(e){return ce(e)&&va(e)===0&&(mt(e,"b")||mt(e,"body"))}const Pd=["b","body"];function jE(e){return _n(e,Pd)}const Od=["c","cases"];function BE(e){return _n(e,Od,[])}const Id=["s","static"];function VE(e){return _n(e,Id)}const Nd=["i","items"];function WE(e){return _n(e,Nd,[])}const xd=["t","type"];function va(e){return _n(e,xd)}const Md=["v","value"];function gs(e,t){const n=_n(e,Md);if(n!=null)return n;throw Kr(t)}const Dd=["m","modifier"];function KE(e){return _n(e,Dd)}const Fd=["k","key"];function GE(e){const t=_n(e,Fd);if(t)return t;throw Kr(6)}function _n(e,t,n){for(let r=0;rqE(n,e)}function qE(e,t){const n=jE(t);if(n==null)throw Kr(0);if(va(n)===1){const o=BE(n);return e.plural(o.reduce((i,a)=>[...i,ac(e,a)],[]))}else return ac(e,n)}function ac(e,t){const n=VE(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=WE(t).reduce((s,o)=>[...s,Ni(e,o)],[]);return e.normalize(r)}}function Ni(e,t){const n=va(t);switch(n){case 3:return gs(t,n);case 9:return gs(t,n);case 4:{const r=t;if(mt(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(mt(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw Kr(n)}case 5:{const r=t;if(mt(r,"i")&&Ne(r.i))return e.interpolate(e.list(r.i));if(mt(r,"index")&&Ne(r.index))return e.interpolate(e.list(r.index));throw Kr(n)}case 6:{const r=t,s=KE(r),o=GE(r);return e.linked(Ni(e,o),s?Ni(e,s):void 0,e.type)}case 7:return gs(t,n);case 8:return gs(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const YE=e=>e;let ms=ye();function XE(e,t={}){let n=!1;const r=t.onError||yE;return t.onError=s=>{n=!0,r(s)},{...UE(e,t),detectError:n}}function JE(e,t){if(G(e)){Se(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||YE)(e),s=ms[r];if(s)return s;const{ast:o,detectError:i}=XE(e,{...t,location:!1,jit:!0}),a=Bo(o);return i?a:ms[r]=a}else{const n=e.cacheKey;if(n){const r=ms[n];return r||(ms[n]=Bo(e))}else return Bo(e)}}const Xt={INVALID_ARGUMENT:mE,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},QE=24;function Jt(e){return go(e,null,void 0)}function Ea(e,t){return t.locale!=null?lc(t.locale):lc(e.locale)}let Vo;function lc(e){if(G(e))return e;if(Ce(e)){if(e.resolvedOnce&&Vo!=null)return Vo;if(e.constructor.name==="Function"){const t=e();if(yv(t))throw Jt(Xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Vo=t}else throw Jt(Xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Jt(Xt.NOT_SUPPORT_LOCALE_TYPE)}function zE(e,t,n){return[...new Set([n,...Le(t)?t:ce(t)?Object.keys(t):G(t)?[t]:[n]])]}function xi(e,t,n){const r=G(n)?n:Hs,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let o=s.__localeChainCache.get(r);if(!o){o=[];let i=[n];for(;Le(i);)i=cc(o,i,t);const a=Le(t)||!fe(t)?t:t.default?t.default:null;i=G(a)?[a]:a,Le(i)&&cc(o,i,!1),s.__localeChainCache.set(r,o)}return o}function cc(e,t,n){let r=!0;for(let s=0;s{i===void 0?i=a:i+=a},d[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,i===void 0||(i=ow(i),i===!1))return!1;d[1]()}};function h(){const _=e[n+1];if(r===5&&_==="'"||r===6&&_==='"')return n++,a="\\"+_,d[0](),!0}for(;r!==null;)if(n++,o=e[n],!(o==="\\"&&h())){if(l=sw(o),f=bn[r],u=f[l]||f.l||8,u===8||(r=u[0],u[1]!==void 0&&(c=d[u[1]],c&&(a=o,c()===!1))))return;if(r===7)return t}}const uc=new Map;function aw(e,t){return ce(e)?e[t]:null}function lw(e,t){if(!ce(e))return null;let n=uc.get(t);if(n||(n=iw(t),n&&uc.set(t,n)),!n)return null;const r=n.length;let s=e,o=0;for(;o`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function uw(){return{upper:(e,t)=>t==="text"&&G(e)?e.toUpperCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&G(e)?e.toLowerCase():t==="vnode"&&ce(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&G(e)?fc(e):t==="vnode"&&ce(e)&&"__v_isVNode"in e?fc(e.children):e}}let $d;function fw(e){$d=e}let Ud;function dw(e){Ud=e}let jd;function hw(e){jd=e}let Bd=null;const dc=e=>{Bd=e},pw=()=>Bd;let hc=0;function gw(e={}){const t=Ce(e.onWarn)?e.onWarn:fv,n=G(e.version)?e.version:cw,r=G(e.locale)||Ce(e.locale)?e.locale:Hs,s=Ce(r)?Hs:r,o=Le(e.fallbackLocale)||fe(e.fallbackLocale)||G(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=fe(e.messages)?e.messages:Wo(s),a=fe(e.datetimeFormats)?e.datetimeFormats:Wo(s),l=fe(e.numberFormats)?e.numberFormats:Wo(s),u=Ae(ye(),e.modifiers,uw()),c=e.pluralRules||ye(),f=Ce(e.missing)?e.missing:null,d=Se(e.missingWarn)||Ds(e.missingWarn)?e.missingWarn:!0,h=Se(e.fallbackWarn)||Ds(e.fallbackWarn)?e.fallbackWarn:!0,_=!!e.fallbackFormat,m=!!e.unresolving,R=Ce(e.postTranslation)?e.postTranslation:null,b=fe(e.processor)?e.processor:null,E=Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,y=Ce(e.messageCompiler)?e.messageCompiler:$d,C=Ce(e.messageResolver)?e.messageResolver:Ud||aw,A=Ce(e.localeFallbacker)?e.localeFallbacker:jd||zE,L=ce(e.fallbackContext)?e.fallbackContext:void 0,F=e,N=ce(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,D=ce(F.__numberFormatters)?F.__numberFormatters:new Map,W=ce(F.__meta)?F.__meta:{};hc++;const $={version:n,cid:hc,locale:r,fallbackLocale:o,messages:i,modifiers:u,pluralRules:c,missing:f,missingWarn:d,fallbackWarn:h,fallbackFormat:_,unresolving:m,postTranslation:R,processor:b,warnHtmlMessage:E,escapeParameter:g,messageCompiler:y,messageResolver:C,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:W};return $.datetimeFormats=a,$.numberFormats=l,$.__datetimeFormatters=N,$.__numberFormatters=D,$}const Wo=e=>({[e]:ye()});function wa(e,t,n,r,s){const{missing:o,onWarn:i}=e;if(o!==null){const a=o(e,n,t,s);return G(a)?a:t}else return t}function Er(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function mw(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function yw(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{Vd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function gc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__datetimeFormatters.has(o)&&r.__datetimeFormatters.delete(o)}}function mc(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:o,localeFallbacker:i}=e,{__numberFormatters:a}=e;if(!Ne(t[0]))return $s;const[l,u,c,f]=Di(...t),d=Se(c.missingWarn)?c.missingWarn:e.missingWarn;Se(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const h=!!c.part,_=Ea(e,c),m=i(e,s,_);if(!G(l)||l==="")return new Intl.NumberFormat(_.replace(/!/g,""),f).format(u);let R={},b,E=null;const g="number format";for(let A=0;A{Wd.includes(l)?i[l]=n[l]:o[l]=n[l]}),G(r)?o.locale=r:fe(r)&&(i=r),fe(s)&&(i=s),[o.key||"",a,o,i]}function yc(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__numberFormatters.has(o)&&r.__numberFormatters.delete(o)}}const _w=e=>e,bw=e=>"",vw="text",Ew=e=>e.length===0?"":ga(e),ww=_v;function Ko(e,t){return e=Math.abs(e),t===2?e===1?0:1:Math.min(e,2)}function Cw(e){const t=Ne(e.pluralIndex)?e.pluralIndex:-1;return Ne(e.named?.count)?e.named.count:Ne(e.named?.n)?e.named.n:t}function Sw(e={}){const t=e.locale,n=Cw(e),r=G(t)&&Ce(e.pluralRules?.[t])?e.pluralRules[t]:Ko,s=r===Ko?void 0:Ko,o=b=>b[r(n,b.length,s)],i=e.list||[],a=b=>i[b],l=e.named||ye();Ne(e.pluralIndex)&&(l.count||=e.pluralIndex,l.n||=e.pluralIndex);const u=b=>l[b];function c(b,E){const g=Ce(e.messages)?e.messages(b,!!E):ce(e.messages)?e.messages[b]:!1;return g||(e.parent?e.parent.message(b):bw)}const f=b=>e.modifiers?e.modifiers[b]:_w,d=Ce(e.processor?.normalize)?e.processor.normalize:Ew,h=Ce(e.processor?.interpolate)?e.processor.interpolate:ww,_=G(e.processor?.type)?e.processor.type:vw,R={list:a,named:u,plural:o,linked:(b,...E)=>{const[g,y]=E;let C="text",A="";E.length===1?ce(g)?(A=g.modifier||A,C=g.type||C):G(g)&&(A=g||A):E.length===2&&(G(g)&&(A=g||A),G(y)&&(C=y||C));const L=c(b,!0)(R),F=L===""||L===void 0?b:L,N=C==="vnode"&&Le(F)&&A?F[0]:F;return A?f(A)(N,C):N},message:c,type:_,interpolate:h,normalize:d,values:Ae(ye(),i,l)};return R}const _c=()=>"",Zt=e=>Ce(e);function bc(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:o,fallbackLocale:i,messages:a}=e,[l,u]=Fi(...t),c=Se(u.missingWarn)?u.missingWarn:e.missingWarn,f=Se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=Se(u.escapeParameter)?u.escapeParameter:e.escapeParameter,h=!!u.resolvedMessage,_=G(u.default)||Se(u.default)?Se(u.default)?o?l:()=>l:u.default:n?o?l:()=>l:null,m=n||_!=null&&(G(_)||Ce(_)),R=Ea(e,u);d&&Rw(u);let[b,E,g]=h?[l,R,a[R]||ye()]:Kd(e,l,R,i,f,c),y=b,C=l;if(!h&&!(G(y)||$t(y)||Zt(y))&&m&&(y=_,C=y),!h&&(!(G(y)||$t(y)||Zt(y))||!G(E)))return s?mo:l;let A=!1;const L=()=>{A=!0},F=Zt(y)?y:Gd(e,l,E,y,C,L);if(A)return y;const N=kw(e,E,g,u),D=Sw(N),W=Tw(e,F,D);let $=r?r(W,l):W;return d&&G($)&&($=gv($)),$}function Rw(e){Le(e.list)?e.list=e.list.map(t=>G(t)?ec(t):t):ce(e.named)&&Object.keys(e.named).forEach(t=>{G(e.named[t])&&(e.named[t]=ec(e.named[t]))})}function Kd(e,t,n,r,s,o){const{messages:i,onWarn:a,messageResolver:l,localeFallbacker:u}=e,c=u(e,r,n);let f=ye(),d,h=null;const _="translate";for(let m=0;mr);return u.locale=n,u.key=t,u}const l=i(r,Lw(e,n,s,r,a,o));return l.locale=n,l.key=t,l.source=r,l}function Tw(e,t,n){return t(n)}function Fi(...e){const[t,n,r]=e,s=ye();if(!G(t)&&!Ne(t)&&!Zt(t)&&!$t(t))throw Jt(Xt.INVALID_ARGUMENT);const o=Ne(t)?String(t):(Zt(t),t);return Ne(n)?s.plural=n:G(n)?s.default=n:fe(n)&&!co(n)?s.named=n:Le(n)&&(s.list=n),Ne(r)?s.plural=r:G(r)?s.default=r:fe(r)&&Ae(s,r),[o,s]}function Lw(e,t,n,r,s,o){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw o&&o(i),i},onCacheKey:i=>dv(t,n,i)}}function kw(e,t,n,r){const{modifiers:s,pluralRules:o,messageResolver:i,fallbackLocale:a,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,d={locale:t,modifiers:s,pluralRules:o,messages:(h,_)=>{let m=i(n,h);if(m==null&&(c||_)){const[R,,b]=Kd(c||e,h,t,a,l,u);m=R??i(b,h)}if(G(m)||$t(m)){let R=!1;const E=Gd(e,h,t,m,h,()=>{R=!0});return R?_c:E}else return Zt(m)?m:_c}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),Ne(r.plural)&&(d.pluralIndex=r.plural),d}const Aw="11.4.2",ct={UNEXPECTED_RETURN_TYPE:QE,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function yt(e,...t){return go(e,null,void 0)}const Hi=yn("__translateVNode"),$i=yn("__datetimeParts"),Ui=yn("__numberParts"),Pw=yn("__setPluralRules"),Ow=yn("__injectWithOption"),Kn=yn("__dispose");function Gr(e){if(!ce(e)||$t(e))return e;for(const t in e)if(mt(e,t))if(!t.includes("."))ce(e[t])&&Gr(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,o=!1;for(let i=0;i{if("locale"in a&&"resource"in a){const{locale:l,resource:u}=a;l?(i[l]=i[l]||ye(),zn(u,i[l])):zn(u,i)}else G(a)&&zn(JSON.parse(a),i)}),s==null&&o)for(const a in i)mt(i,a)&&Gr(i[a]);return i}function Iw(e){return e.type}function Nw(e,t,n){let r=ce(t.messages)?t.messages:ye();"__i18nGlobal"in n&&(r=qd(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(o=>{e.mergeLocaleMessage(o,r[o])});{if(ce(t.datetimeFormats)){const o=Object.keys(t.datetimeFormats);o.length&&o.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ce(t.numberFormats)){const o=Object.keys(t.numberFormats);o.length&&o.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function vc(e){return Re(mn,null,e,0)}function Yd(){return Fn()}const Ec=()=>[],xw=()=>!1;let wc=0;function Cc(e){return((t,n,r,s)=>e(n,r,Yd()||void 0,s))}function ji(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,s=e.flatJson,o=Ms?et:Nn;let i=Se(e.inheritLocale)?e.inheritLocale:!0;const a=o(t&&i?t.locale.value:G(e.locale)?e.locale:Hs),l=o(t&&i?t.fallbackLocale.value:G(e.fallbackLocale)||Le(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a.value),u=o(qd(a.value,e)),c=o(fe(e.datetimeFormats)?e.datetimeFormats:{[a.value]:{}}),f=o(fe(e.numberFormats)?e.numberFormats:{[a.value]:{}});let d=t?t.missingWarn:Se(e.missingWarn)||Ds(e.missingWarn)?e.missingWarn:!0,h=t?t.fallbackWarn:Se(e.fallbackWarn)||Ds(e.fallbackWarn)?e.fallbackWarn:!0,_=t?t.fallbackRoot:Se(e.fallbackRoot)?e.fallbackRoot:!0,m=!!e.fallbackFormat,R=Ce(e.missing)?e.missing:null,b=Ce(e.missing)?Cc(e.missing):null,E=Ce(e.postTranslation)?e.postTranslation:null,g=t?t.warnHtmlMessage:Se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter;const C=t?t.modifiers:fe(e.modifiers)?e.modifiers:{};let A=e.pluralRules||t&&t.pluralRules,L;L=(()=>{r&&dc(null);const T={version:Aw,locale:a.value,fallbackLocale:l.value,messages:u.value,modifiers:C,pluralRules:A,missing:b===null?void 0:b,missingWarn:d,fallbackWarn:h,fallbackFormat:m,unresolving:!0,postTranslation:E===null?void 0:E,warnHtmlMessage:g,escapeParameter:y,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=c.value,T.numberFormats=f.value,T.__datetimeFormatters=fe(L)?L.__datetimeFormatters:void 0,T.__numberFormatters=fe(L)?L.__numberFormatters:void 0;const I=gw(T);return r&&dc(I),I})(),Er(L,a.value,l.value);function N(){return[a.value,l.value,u.value,c.value,f.value]}const D=ke({get:()=>a.value,set:T=>{L.locale=T,a.value=T}}),W=ke({get:()=>l.value,set:T=>{L.fallbackLocale=T,l.value=T,Er(L,a.value,T)}}),$=ke(()=>u.value),X=ke(()=>c.value),te=ke(()=>f.value);function se(){return Ce(E)?E:null}function K(T){E=T,L.postTranslation=T}function J(){return R}function q(T){T!==null&&(b=Cc(T)),R=T,L.missing=b}const re=(T,I,V,z,ie,oe)=>{N();let le;try{r||(L.fallbackContext=t?pw():void 0),le=T(L)}finally{r||(L.fallbackContext=void 0)}if(V!=="translate exists"&&Ne(le)&&le===mo||V==="translate exists"&&!le){const[Pe,ft]=I();return t&&_?z(t):ie(Pe)}else{if(oe(le))return le;throw yt(ct.UNEXPECTED_RETURN_TYPE)}};function nt(...T){return re(I=>Reflect.apply(bc,null,[I,...T]),()=>Fi(...T),"translate",I=>Reflect.apply(I.t,I,[...T]),I=>I,I=>G(I))}function qe(...T){const[I,V,z]=T;if(z&&!ce(z))throw yt(ct.INVALID_ARGUMENT);return nt(I,V,Ae({resolvedMessage:!0},z||{}))}function $e(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>Mi(...T),"datetime format",I=>Reflect.apply(I.d,I,[...T]),()=>$s,I=>G(I)||Le(I))}function Rt(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Di(...T),"number format",I=>Reflect.apply(I.n,I,[...T]),()=>$s,I=>G(I)||Le(I))}function Tt(T){return T.map(I=>G(I)||Ne(I)||Se(I)?vc(String(I)):I)}const Ve={normalize:Tt,interpolate:T=>T,type:"vnode"};function H(...T){return re(I=>{let V;const z=I;try{z.processor=Ve,V=Reflect.apply(bc,null,[z,...T])}finally{z.processor=null}return V},()=>Fi(...T),"translate",I=>I[Hi](...T),I=>[vc(I)],I=>Le(I))}function Y(...T){return re(I=>Reflect.apply(mc,null,[I,...T]),()=>Di(...T),"number format",I=>I[Ui](...T),Ec,I=>G(I)||Le(I))}function B(...T){return re(I=>Reflect.apply(pc,null,[I,...T]),()=>Mi(...T),"datetime format",I=>I[$i](...T),Ec,I=>G(I)||Le(I))}function Q(T){A=T,L.pluralRules=A}function ne(T,I){return re(()=>{if(!T)return!1;const V=G(I)?I:a.value,z=G(I)?[V]:xi(L,l.value,V);for(let ie=0;ie[T],"translate exists",V=>Reflect.apply(V.te,V,[T,I]),xw,V=>Se(V))}function _e(T){let I=null;const V=xi(L,l.value,a.value);for(let z=0;z{i&&(a.value=T,L.locale=T,Er(L,a.value,l.value))}),lt(t.fallbackLocale,T=>{i&&(l.value=T,L.fallbackLocale=T,Er(L,a.value,l.value))}));const j={id:wc,locale:D,fallbackLocale:W,get inheritLocale(){return i},set inheritLocale(T){i=T,T&&t&&(a.value=t.locale.value,l.value=t.fallbackLocale.value,Er(L,a.value,l.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:$,get modifiers(){return C},get pluralRules(){return A||{}},get isGlobal(){return r},get missingWarn(){return d},set missingWarn(T){d=T,L.missingWarn=d},get fallbackWarn(){return h},set fallbackWarn(T){h=T,L.fallbackWarn=h},get fallbackRoot(){return _},set fallbackRoot(T){_=T},get fallbackFormat(){return m},set fallbackFormat(T){m=T,L.fallbackFormat=m},get warnHtmlMessage(){return g},set warnHtmlMessage(T){g=T,L.warnHtmlMessage=T},get escapeParameter(){return y},set escapeParameter(T){y=T,L.escapeParameter=T},t:nt,getLocaleMessage:S,setLocaleMessage:P,mergeLocaleMessage:U,getPostTranslationHandler:se,setPostTranslationHandler:K,getMissingHandler:J,setMissingHandler:q,[Pw]:Q};return j.datetimeFormats=X,j.numberFormats=te,j.rt=qe,j.te=ne,j.tm=v,j.d=$e,j.n=Rt,j.getDateTimeFormat=M,j.setDateTimeFormat=p,j.mergeDateTimeFormat=w,j.getNumberFormat=k,j.setNumberFormat=O,j.mergeNumberFormat=x,j[Ow]=n,j[Hi]=H,j[$i]=B,j[Ui]=Y,j}const Ca={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Mw({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===Ue?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},ye())}function Xd(){return Ue}const Dw=bt({name:"i18n-t",props:Ae({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ne(e)||!isNaN(e)}},Ca),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return()=>{const o=()=>{const l=Object.keys(n).filter(f=>f[0]!=="_"),u=ye();e.locale&&(u.locale=e.locale),e.plural!==void 0&&(u.plural=G(e.plural)?+e.plural:e.plural);const c=Mw(t,l);return s[Hi](e.keypath,c,u)},i=Ae(ye(),r),a=G(e.tag)||ce(e.tag)?e.tag:Xd();return ce(a)?Ie(a,i,{default:o}):Ie(a,i,o())}}}),Sc=Dw;function Fw(e){return Le(e)&&!G(e[0])}function Jd(e,t,n,r){const{slots:s,attrs:o}=t;return()=>{const i=()=>{const u={part:!0};let c=ye();e.locale&&(u.locale=e.locale),G(e.format)?u.key=e.format:ce(e.format)&&(G(e.format.key)&&(u.key=e.format.key),c=Object.keys(e.format).reduce((h,_)=>n.includes(_)?Ae(ye(),h,{[_]:e.format[_]}):h,ye()));const f=r(e.value,u,c);let d=[u.key];return Le(f)?d=f.map((h,_)=>{const m=s[h.type],R=m?m({[h.type]:h.value,index:_,parts:f}):[h.value];return Fw(R)&&(R[0].key=`${h.type}-${_}`),R}):G(f)&&(d=[f]),d},a=Ae(ye(),o),l=G(e.tag)||ce(e.tag)?e.tag:Xd();return ce(l)?Ie(l,a,{default:i}):Ie(l,a,i())}}const Hw=bt({name:"i18n-n",props:Ae({value:{type:Number,required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Jd(e,t,Wd,(...r)=>n[Ui](...r))}}),Rc=Hw;function $w(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function Uw(e){const t=i=>{const{instance:a,value:l}=i;if(!a||!a.$)throw yt(ct.UNEXPECTED_ERROR);const u=$w(e,a.$),c=Tc(l);return[Reflect.apply(u.t,u,[...Lc(c)]),u]};return{created:(i,a)=>{const[l,u]=t(a);Ms&&(i.__i18nWatcher=lt(u.locale,()=>{a.instance&&a.instance.$forceUpdate()})),i.__composer=u,i.textContent=l},unmounted:i=>{Ms&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:a})=>{if(i.__composer){const l=i.__composer,u=Tc(a);i.textContent=Reflect.apply(l.t,l,[...Lc(u)])}},getSSRProps:i=>{const[a]=t(i);return{textContent:a}}}}function Tc(e){if(G(e))return{path:e};if(fe(e)){if(!("path"in e))throw yt(ct.REQUIRED_VALUE,"path");return e}else throw yt(ct.INVALID_VALUE)}function Lc(e){const{path:t,locale:n,args:r,choice:s,plural:o}=e,i={},a=r||{};return G(n)&&(i.locale=n),Ne(s)&&(i.plural=s),Ne(o)&&(i.plural=o),[t,a,i]}function jw(e,t,...n){const r=fe(n[0])?n[0]:{};(!Se(r.globalInstall)||r.globalInstall)&&([Sc.name,"I18nT"].forEach(o=>e.component(o,Sc)),[Rc.name,"I18nN"].forEach(o=>e.component(o,Rc)),[Pc.name,"I18nD"].forEach(o=>e.component(o,Pc))),e.directive("t",Uw(t))}const Bw=yn("global-vue-i18n");function Vw(e={}){const t=Se(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,s]=Ww(e),o=yn("");function i(c){return n.get(c)||null}function a(c,f){n.set(c,f)}function l(c){n.delete(c)}const u={get mode(){return"composition"},async install(c,...f){if(c.__VUE_I18N_SYMBOL__=o,c.provide(c.__VUE_I18N_SYMBOL__,u),fe(f[0])){const _=f[0];u.__composerExtend=_.__composerExtend,u.__vueI18nExtend=_.__vueI18nExtend}let d=null;t&&(d=Qw(c,u.global)),jw(c,u,...f);const h=c.unmount;c.unmount=()=>{d&&d(),u.dispose(),h()}},get global(){return s},dispose(){r.stop()},__instances:n,__getInstance:i,__setInstance:a,__deleteInstance:l};return u}function Sa(e={}){const t=Yd();if(t==null)throw yt(ct.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw yt(ct.NOT_INSTALLED);const n=Kw(t),r=qw(n),s=Iw(t),o=Gw(e,s);if(o==="global")return Nw(r,e,s),r;if(o==="parent"){let l=kc(n,t,e.__useComponent);return l==null&&(l=r),l}if(o==="isolated"){if(n.mode!=="composition")throw yt(ct.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const l=n,u=Ae({},e),c=kc(n,t);u.__root=c||r;const f=ji(u);return l.__composerExtend&&(f[Kn]=l.__composerExtend(f)),dr()&&Nr(()=>{const h=f[Kn];h&&(h(),delete f[Kn])}),f}const i=n;let a=i.__getInstance(t);if(a==null){const l=Ae({},e);"__i18n"in s&&(l.__i18n=s.__i18n),r&&(l.__root=r),a=ji(l),i.__composerExtend&&(a[Kn]=i.__composerExtend(a)),Xw(i,t,a),i.__setInstance(t,a)}return a}function Ww(e,t){const n=Yr(),r=n.run(()=>ji(e));if(r==null)throw yt(ct.UNEXPECTED_ERROR);return[n,r]}function Kw(e){const t=xe(e.isCE?Bw:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw yt(e.isCE?ct.NOT_INSTALLED_WITH_PROVIDE:ct.UNEXPECTED_ERROR);return t}function Gw(e,t){return co(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function qw(e){return e.mode==="composition"?e.global:e.global.__composer}function kc(e,t,n=!1){let r=null;const s=t.root;let o=Yw(t,n);for(;o!=null;){const i=e;if(e.mode==="composition"&&(r=i.__getInstance(o)),r!=null||s===o)break;o=o.parent}return r}function Yw(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Xw(e,t,n){zs(()=>{},t),Zs(()=>{const r=n;e.__deleteInstance(t);const s=r[Kn];s&&(s(),delete r[Kn])},t)}const Jw=["locale","fallbackLocale","availableLocales"],Ac=["t","rt","d","n","tm","te"];function Qw(e,t){const n=Object.create(null);return Jw.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o)throw yt(ct.UNEXPECTED_ERROR);const i=ve(o.value)?{get(){return o.value.value},set(a){o.value.value=a}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,Ac.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o||!o.value)throw yt(ct.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,o)}),()=>{delete e.config.globalProperties.$i18n,Ac.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}const zw=bt({name:"i18n-d",props:Ae({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ca),setup(e,t){const n=e.i18n||Sa({useScope:e.scope,__useComponent:!0});return Jd(e,t,Vd,(...r)=>n[$i](...r))}}),Pc=zw;fw(JE);dw(lw);hw(xi);function Oc(e=ue()){const t=po(e);return n=>{if(n!=null)return t.getRouteBaseName(n)||void 0}}function Zw(e=ue()){const t=po(e);return(n,r)=>bd(t,n,r)}function e0(e=ue()){const t=po(e);return(n,r)=>vd(t,n,r)}function Qd(e=ue()){const t=po(e);return n=>wd(t,n)}const Ic="nuxt-i18n-slp",t0=new RegExp([``,".+?",``].join(""),"g"),n0=Ge({name:"i18n:plugin:switch-locale-path-ssr",dependsOn:["i18n:plugin"],setup(e){const t=ue(e._id),n=Qd(t);t.hook("app:rendered",r=>{r.renderResult?.html!=null&&(r.renderResult.html=r.renderResult.html.replaceAll(t0,(s,o)=>{const i=encodeURI(n(o??""));return s.replace(/href="([^"]+)"/,`href="${i||"#"}" `)}))})}}),r0=Ge({name:"i18n:plugin:route-locale-detect",dependsOn:["i18n:plugin"],async setup(e){let t,n;const r=ue(e._id),s=ya(r),o=kd();[t,n]=On(()=>r.runWithContext(()=>Ad(r,s.initial&&o.value||hE(r,r.$router.currentRoute.value)))),await t,n()}}),s0=Ge({name:"i18n:plugin:preload",dependsOn:["i18n:plugin"],async setup(e){}});function o0(e,{extendComposer:t,extendComposerInstance:n}){const r=Yr(),s=e.install.bind(e);e.install=(o,...i)=>{const a=Ae({},i[0]);a.__composerExtend=u=>(n(u,ps(e)),()=>{}),e.mode==="legacy"&&(a.__vueI18nExtend=u=>(n(u,ps(u)),()=>{})),Reflect.apply(s,e,[o,a]);const l=ps(e);if(r.run(()=>{t(l),e.mode==="legacy"&&"__composer"in e.global&&n(e.global,ps(e.global))}),e.mode==="composition"&&o.config.globalProperties.$i18n!=null&&n(o.config.globalProperties.$i18n,l),o.unmount){const u=o.unmount.bind(o);o.unmount=()=>{r.stop(),u()}}}}const i0=async e=>{const t=await Uv(Hv);t.locale=e||t.locale||"en-US",t.defaultLocale=e,t.fallbackLocale??=!1,t.messages??={};for(const n of Wr)t.messages[n]??={};return t};var a0={hu:"bb1d6803",en:"bb1d6803"};const l0=Ge({name:"i18n:plugin",parallel:!1,async setup(e){let t,n;Object.defineProperty(e.versions,"nuxtI18n",{get:()=>"10.4.0"});const r=ue(e._id),s=fo(r),o=r.ssrContext?.event?.context?.nuxtI18n?.vueI18nOptions,i=Qv(hd().host)||s.defaultLocale||"",a=o||([t,n]=On(()=>i0(i)),t=await t,n(),t),l=Ld();l.value??=Yv(a.fallbackLocale),Wr.map(d=>`/_i18n/${a0[d]}/${d}/messages.json`);const u=Vw(a),c=_a(void 0,ho(r),r),f=eE(r,u,a.defaultLocale);r._nuxtI18n=f,o0(u,{extendComposer(d){d.locales=ke(()=>s.locales),d.localeCodes=ke(()=>Wr);const h=et(f.getBaseUrl());d.baseUrl=ke(()=>h.value),lt(d.locale,()=>h.value=f.getBaseUrl()),d.strategy="no_prefix",d.localeProperties=ke(()=>es.find(_=>_.code===d.locale.value)||{code:d.locale.value}),d.setLocale=async _=>{await Ad(r,_),await r.runWithContext(()=>(r.$router.currentRoute.value,void 0))},d.loadLocaleMessages=f.loadMessages,d.differentDomains=!1,d.defaultLocale=a.defaultLocale,d.getBrowserLocale=()=>rc(c.navigator()),d.getLocaleCookie=()=>rc(c.cookie()),d.setLocaleCookie=f.setCookieLocale,d.finalizePendingLocaleChange=async()=>{u.__pendingLocale&&await u.__resolvePendingLocalePromise?.()},d.waitForPendingLocaleChange=async()=>{await u?.__pendingLocalePromise}},extendComposerInstance(d,h){const _=[["locales",()=>h.locales],["localeCodes",()=>h.localeCodes],["baseUrl",()=>h.baseUrl],["strategy",()=>"no_prefix"],["localeProperties",()=>h.localeProperties],["setLocale",()=>m=>Reflect.apply(h.setLocale,h,[m])],["loadLocaleMessages",()=>m=>Reflect.apply(h.loadLocaleMessages,h,[m])],["differentDomains",()=>!1],["defaultLocale",()=>h.defaultLocale],["getBrowserLocale",()=>()=>Reflect.apply(h.getBrowserLocale,h,[])],["getLocaleCookie",()=>()=>Reflect.apply(h.getLocaleCookie,h,[])],["setLocaleCookie",()=>m=>Reflect.apply(h.setLocaleCookie,h,[m])],["finalizePendingLocaleChange",()=>()=>Reflect.apply(h.finalizePendingLocaleChange,h,[])],["waitForPendingLocaleChange",()=>()=>Reflect.apply(h.waitForPendingLocaleChange,h,[])]];for(const[m,R]of _)Object.defineProperty(d,m,{get:R})}}),r.vueApp.use(u),Object.defineProperty(r,"$i18n",{get:()=>ma(u)}),r.provide("localeHead",d=>Pv(r._nuxtI18n.composableCtx,d)),r.provide("localePath",Zw(r)),r.provide("localeRoute",e0(r)),r.provide("routeBaseName",Oc(r)),r.provide("getRouteBaseName",Oc(r)),r.provide("switchLocalePath",Qd(r))}}),c0=Ge({name:"i18n:plugin:ssg-detect",dependsOn:["i18n:plugin","i18n:plugin:route-locale-detect"],enforce:"post",setup(e){}}),u0=[f_,h_,__,Bb,Vb,Wb,Kb,qb,lv,cv,uv,n0,r0,s0,l0,c0],zd=(e="RouteProvider")=>bt({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return gn(Mn,Dt(s)),()=>t.vnode?Ie(t.vnode,{ref:t.vnodeRef}):t.vnode}}),f0=zd(),Nc=new WeakMap,d0=bt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ue(),o=et(),i=xe(Mn,null);let a;r({pageRef:o});const l=xe(Af,null);let u;const c=s.deferHydration();let f=!1,d=!1,h=0;if(s.isHydrating){const m=s.hooks.hookOnce("app:error",c),R=tt().beforeEach(()=>{m(),R()})}e.pageKey&<(()=>e.pageKey,(m,R)=>{m!==R&&s.callHook("page:loading:start")});let _=!1;{const m=tt().beforeResolve(()=>{_=!1});zr(()=>{m(),c()})}return()=>Ie(od,{name:e.name,route:e.route,...t},{default:m=>{const R=h0(i,m.route,m.Component),b=i&&i.matched.length===m.route.matched.length;if(!m.Component){if(u&&!b&&!Go(u))return u;c();return}if(u&&l&&!Go(u)&&!l.isCurrent(m.route))return u;if(R&&i&&(!l||l?.isCurrent(i)))return(b||u)&&!Go(u)?u:null;const E=Ai(m,e.pageKey),g=p0(i,m.route,m.Component);!s.isHydrating&&a===E&&!g&&nn(()=>{_||(_=!0,s.callHook("page:loading:end"))}),f&&a!==E&&d&&h++,a=E;const y=!!(e.transition??m.route.meta.pageTransition??_l),C=y&&cd([e.transition,m.route.meta.pageTransition,_l,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",m.Component)}}]),A=e.keepalive??m.route.meta.keepalive??$m;return u=ld(y&&C,kb(A,Ie(ra,{key:h,suspensible:!0,onPending:()=>{f=!0,y&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(L=>{s["~transitionFinish"]=L})),s.callHook("page:start",m.Component)},onResolve:async()=>{f=!1,d=!0;try{await nn(),s._route.sync?.(),await s.callHook("page:finish",m.Component),!_&&!g&&(_=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const L={key:E||void 0,vnode:n.default?g0(n.default,m):m.Component,route:m.route,renderKey:E||void 0,trackRootNodes:y,vnodeRef:o};if(!A)return Ie(f0,L);const F=m.Component.type,N=F;let D=Nc.get(N);return D||(D=zd(F.name||F.__name),Nc.set(N,D)),Ie(D,L)}}))).default(),u}})}});function h0(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&Ai({route:t,Component:n})!==Ai({route:e,Component:n})}function p0(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Ie(pn[e.name],e.layoutProps,t.slots)}}),y0={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},_0=bt({name:"NuxtLayout",inheritAttrs:!1,props:y0,setup(e,t){const n=ue(),r=xe(Mn),o=!r||r===ca()?id():r,i=ke(()=>{let c=me(e.name)??o?.meta.layout??Zd(o?.path).appLayout??"default";return c&&!(c in pn)&&e.fallback&&(c=me(e.fallback)),c}),a=Nn();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),f=tt().beforeEach(()=>{c(),f()})}let u;return()=>{const f=!!i.value&&i.value in pn&&!!(o?.meta.layoutTransition??yl),d=f&&cd([o?.meta.layoutTransition,yl,{onBeforeLeave(){n["~transitionPromise"]=new Promise(_=>{n["~transitionFinish"]=_})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),h=u;return u=i.value,ld(d,{default:()=>Ie(ra,{suspensible:!0,onResolve:async()=>{await nn(l)}},{default:()=>Ie(b0,{layoutProps:nf(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:_=>_!==h&&_===i.value,hasTransition:f},t.slots)})}).default()}}}),b0=bt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&gn(Af,{isCurrent:o=>n===!1||n===(o.meta.layout??Zd(o.path).appLayout??"default")});const r=xe(Mn);if(r&&r===ca()){const o=id(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}gn(Mn,Dt(i))}return()=>!n||typeof n=="string"&&!(n in pn)?t.slots.default?.():Ie(m0,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),v0=bt({__name:"app",setup(e){return Bf({titleTemplate:t=>t?`${t} | Service Finder Admin`:"Service Finder Admin"}),(t,n)=>{const r=d0,s=_0;return gt(),Mt(s,null,{default:zi(()=>[Re(r)]),_:1})}}}),E0={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Rs(()=>it(()=>import("./JOVMCDE9.js"),__vite__mapDeps([9,1,7,10]),import.meta.url)):Rs(()=>it(()=>import("./CLBsD5qj.js"),__vite__mapDeps([11,7,12]),import.meta.url));return(f,d)=>(gt(),Mt(me(c),ch(ef({status:me(r),statusText:me(o),statusCode:me(r),statusMessage:me(o),description:me(i),stack:me(a)})),null,16))}},w0={key:0},xc={__name:"nuxt-root",setup(e){const t=()=>null,n=ue(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),f=tt().beforeEach(()=>{c(),f()})}const s=!1;gn(Mn,ca()),n.hooks.callHookWith(c=>c.map(f=>f()),"vue:setup",[]);const o=io(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,f,d){const h=n.vueApp.config.errorHandler;if(h&&!h.__nuxt_default)try{h(c,f,d)}catch(_){console.error("[nuxt] Error in `app.config.errorHandler`",_)}}Ru((c,f,d)=>{if(n.hooks.callHook("vue:error",c,f,d).catch(h=>console.error("[nuxt] Error in `vue:error` hook",h)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Of(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Rn(c)),l(c,f,d),!1});const u=!1;return(c,f)=>(gt(),Mt(ra,{onResolve:me(r)},{default:zi(()=>[me(i)?(gt(),Wp("div",w0)):me(o)?(gt(),Mt(me(E0),{key:1,error:me(o)},null,8,["error"])):me(u)?(gt(),Mt(me(t),{key:2,context:me(u)},null,8,["context"])):me(s)?(gt(),Mt(hp(me(s)),{key:3})):(gt(),Mt(me(v0),{key:4}))]),_:1},8,["onResolve"]))}};let Mc;{let e;Mc=async function(){if(e)return e;const r=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true")?Ng(xc):Ig(xc),s=Wm({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=In(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)});try{await qm(s,u0)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(jm),await s.hooks.callHook("app:mounted",r),await nn()}catch(i){o(i)}return r},e=Mc().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{ui as $,D0 as A,P0 as B,sn as C,Sa as D,id as E,Ue as F,H0 as G,M0 as H,On as I,T0 as J,Zs as K,k0 as L,Mt as M,pa as N,Xl as O,zr as P,$0 as Q,Ie as R,S0 as S,oa as T,Nn as U,ey as V,av as W,an as X,Pn as Y,ty as Z,x0 as _,Zu as a,im as a0,Br as a1,oo as a2,F0 as a3,Re as b,Wp as c,tf as d,bt as e,L0 as f,tt as g,me as h,Gp as i,I0 as j,C0 as k,ve as l,et as m,qs as n,gt as o,Ef as p,zs as q,R0 as r,O0 as s,hh as t,Bf as u,A0 as v,zi as w,ke as x,ue as y,dd as z}; diff --git a/frontend_admin/.output/public/_nuxt/CLBsD5qj.js b/frontend_admin/.output/public/_nuxt/CLBsD5qj.js new file mode 100644 index 0000000..9b0fbdd --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/CLBsD5qj.js @@ -0,0 +1 @@ +import{_ as s}from"./DlAUqK2U.js";import{u as a,o as i,c as u,a as e,t as o}from"./CHWHIiGB.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:500},statusText:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return a({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(i(),u("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.status)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},h=s(f,[["__scopeId","data-v-a01dd0ba"]]);export{h as default}; diff --git a/frontend_admin/.output/public/_nuxt/CWA6Xjbg.js b/frontend_admin/.output/public/_nuxt/CWA6Xjbg.js deleted file mode 100644 index 5933864..0000000 --- a/frontend_admin/.output/public/_nuxt/CWA6Xjbg.js +++ /dev/null @@ -1 +0,0 @@ -import{K as C,m as u,x as l,A as r}from"./CqYPuxVf.js";const g=C("auth",()=>{const t=u(null),o=u(null),c=u(!1),s=u(null),v=u(!1),h=l(()=>!!o.value&&!!t.value),k=l(()=>{const e=t.value?.role;return e?["SUPERADMIN","ADMIN","MODERATOR","SALES_REP","SERVICE_MGR"].includes(e.toUpperCase()):!1}),m=l(()=>{if(!t.value)return"";const{first_name:e,last_name:n}=t.value;return e&&n?`${e} ${n}`:e||n||t.value.email}),p=l(()=>t.value?.email??""),w=l(()=>t.value?.role??"guest");async function A(e,n){c.value=!0,s.value=null;try{const a=new URLSearchParams;a.append("username",e),a.append("password",n);const d=await $fetch("/api/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a}),y=r("access_token",{maxAge:3600*24*7,path:"/",sameSite:"lax",secure:!0});y.value=d.access_token,o.value=d.access_token,await i()}catch(a){throw s.value=a?.data?.detail||a?.message||"Login failed",a}finally{c.value=!1}}async function i(){const n=r("access_token").value||o.value;if(n)try{const a=await $fetch("/api/v1/auth/me",{headers:{Authorization:`Bearer ${n}`}});t.value=a}catch(a){throw a?.response?.status===401&&f(),a}}function f(){o.value=null,t.value=null,s.value=null;const e=r("access_token");e.value=null}async function R(){const e=r("access_token");if(e.value){o.value=e.value;try{await i()}catch{f()}}v.value=!0}function _(){s.value=null}return{user:t,token:o,isLoading:c,error:s,isInitialized:v,isAuthenticated:h,isAdmin:k,userName:m,userEmail:p,userRole:w,login:A,fetchUser:i,logout:f,init:R,clearError:_}});export{g as u}; diff --git a/frontend_admin/.output/public/_nuxt/CgyjcGAF.js b/frontend_admin/.output/public/_nuxt/CgyjcGAF.js deleted file mode 100644 index 31eaf8c..0000000 --- a/frontend_admin/.output/public/_nuxt/CgyjcGAF.js +++ /dev/null @@ -1 +0,0 @@ -const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management — Role-based access control & subscription feature flags"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading permissions data..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Failed to load permissions"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Discard"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" modification(s)"}]}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Current Tier"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Full system access — user management, billing, robots, and system configuration."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garages"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garage-level access — vehicle management, service booking, customer data."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Subscription feature toggles — resolved from your current tier ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Permission Matrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Role-based access control — which roles can perform which admin actions."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Action"}},perms:{user_mgmt:{t:0,b:{t:2,i:[{t:3}],s:"User Management"}},billing_admin:{t:0,b:{t:2,i:[{t:3}],s:"Billing Administration"}},robot_config:{t:0,b:{t:2,i:[{t:3}],s:"Robot Configuration"}},system_logs:{t:0,b:{t:2,i:[{t:3}],s:"System Logs Access"}},api_keys:{t:0,b:{t:2,i:[{t:3}],s:"API Key Management"}},vehicle_crud:{t:0,b:{t:2,i:[{t:3}],s:"Vehicle CRUD"}},service_booking:{t:0,b:{t:2,i:[{t:3}],s:"Service Booking"}},customer_view:{t:0,b:{t:2,i:[{t:3}],s:"Customer Data View"}},report_export:{t:0,b:{t:2,i:[{t:3}],s:"Report Export"}},bulk_import:{t:0,b:{t:2,i:[{t:3}],s:"Bulk Import"}}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Package Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Manage subscription packages and feature flags — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading packages..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"Create Package"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"No packages yet"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Create your first subscription package to get started."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Create First Package"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Popular"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Fallback"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Trial"}},month:{t:0,b:{t:2,i:[{t:3}],s:"month"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Available Features"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Set as default"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"set as default package!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Edit Package"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Create Package"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Create"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Package updated successfully!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Delete Package"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Are you sure you want to delete "'},{t:4,k:"name"},{t:3,v:'"?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Allowances"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Vehicles"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garages"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Credits"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Tier Level"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"System Name"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Display Name"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Type"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Private"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Corporate"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Tier Level"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Higher number = more features & higher rank"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Price"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Yearly Price"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Currency"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Subtitle / Description"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Best for small businesses"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Badge Text"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Most Popular"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Custom Package (not publicly listed)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Singleton Rules"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Default Fallback Package — assigned when a subscription expires"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Trial Days on Signup"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"New organizations get this many free days. Only one package can have trial > 0."}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garages CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garage list, package management and status changes"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Total Garages"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Active Garages"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garages"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garages"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Search by name, contact or email..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"All packages"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Company Name"}},email:{t:0,b:{t:2,i:[{t:3}],s:"Email"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Status"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Current Package"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Actions"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Active"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inactive"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Suspended"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Change Package"}},view:{t:0,b:{t:2,i:[{t:3}],s:"View"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Activate"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deactivate"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"No garages match your search."}}}};export{t as default}; diff --git a/frontend_admin/.output/public/_nuxt/Cx40nPNe.js b/frontend_admin/.output/public/_nuxt/Cx40nPNe.js deleted file mode 100644 index fb5b106..0000000 --- a/frontend_admin/.output/public/_nuxt/Cx40nPNe.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,u as a,o as i,c as u,a as e,t as o}from"./CqYPuxVf.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:500},statusText:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const n=t;return a({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,r)=>(i(),u("div",l,[r[0]||(r[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.status)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},b=s(f,[["__scopeId","data-v-a01dd0ba"]]);export{b as default}; diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/CqyNVJx6.js b/frontend_admin/.output/public/_nuxt/D5l8f-my.js similarity index 99% rename from frontend_admin/.nuxt/dist/client/_nuxt/CqyNVJx6.js rename to frontend_admin/.output/public/_nuxt/D5l8f-my.js index 538a57f..039b914 100644 --- a/frontend_admin/.nuxt/dist/client/_nuxt/CqyNVJx6.js +++ b/frontend_admin/.output/public/_nuxt/D5l8f-my.js @@ -1 +1 @@ -import{e as d,o,c as r,f as a,a as e,F as c,r as m,n as x,t as l}from"./CqYPuxVf.js";const p={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},h={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},u={class:"space-y-4"},v={class:"flex-1 min-w-0"},g={class:"text-sm text-slate-300"},b={class:"text-xs text-slate-500 mt-0.5"},y=d({__name:"index",setup(f){const i=[{text:"New user registered: john.doe@example.com",time:"2 minutes ago",dotColor:"bg-emerald-400"},{text:"Vehicle #V-8842 added to catalog",time:"15 minutes ago",dotColor:"bg-cyan-400"},{text:"Payment received: €120.00 from Garage XYZ",time:"1 hour ago",dotColor:"bg-emerald-400"},{text:"System error: DVLA API timeout on request #4421",time:"2 hours ago",dotColor:"bg-rose-400"},{text:"Permission updated for user: superadmin@sf.hu",time:"3 hours ago",dotColor:"bg-indigo-400"}];return(w,t)=>(o(),r("div",null,[t[2]||(t[2]=a('

Dashboard

ServiceFinder administration overview

+12%

Active Users

2,847

1,240 new this month

+5%

Total Vehicles

12,493

342 added this month

+18%

Monthly Revenue

€48,250

€6,200 from premium

+3

Error Logs

23

3 critical today

',2)),e("div",p,[t[1]||(t[1]=a('

Quick Actions

',1)),e("div",h,[t[0]||(t[0]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Recent Activity",-1)),e("div",u,[(o(),r(c,null,m(i,(s,n)=>e("div",{key:n,class:"flex items-start gap-3"},[e("div",{class:x(["w-2 h-2 mt-2 rounded-full flex-shrink-0",s.dotColor])},null,2),e("div",v,[e("p",g,l(s.text),1),e("p",b,l(s.time),1)])])),64))])])])]))}});export{y as default}; +import{e as d,o,c as r,f as a,a as e,F as c,r as m,n as x,t as l}from"./CHWHIiGB.js";const p={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},h={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},u={class:"space-y-4"},v={class:"flex-1 min-w-0"},g={class:"text-sm text-slate-300"},b={class:"text-xs text-slate-500 mt-0.5"},y=d({__name:"index",setup(f){const i=[{text:"New user registered: john.doe@example.com",time:"2 minutes ago",dotColor:"bg-emerald-400"},{text:"Vehicle #V-8842 added to catalog",time:"15 minutes ago",dotColor:"bg-cyan-400"},{text:"Payment received: €120.00 from Garage XYZ",time:"1 hour ago",dotColor:"bg-emerald-400"},{text:"System error: DVLA API timeout on request #4421",time:"2 hours ago",dotColor:"bg-rose-400"},{text:"Permission updated for user: superadmin@sf.hu",time:"3 hours ago",dotColor:"bg-indigo-400"}];return(w,t)=>(o(),r("div",null,[t[2]||(t[2]=a('

Dashboard

ServiceFinder administration overview

+12%

Active Users

2,847

1,240 new this month

+5%

Total Vehicles

12,493

342 added this month

+18%

Monthly Revenue

€48,250

€6,200 from premium

+3

Error Logs

23

3 critical today

',2)),e("div",p,[t[1]||(t[1]=a('

Quick Actions

',1)),e("div",h,[t[0]||(t[0]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Recent Activity",-1)),e("div",u,[(o(),r(c,null,m(i,(s,n)=>e("div",{key:n,class:"flex items-start gap-3"},[e("div",{class:x(["w-2 h-2 mt-2 rounded-full flex-shrink-0",s.dotColor])},null,2),e("div",v,[e("p",g,l(s.text),1),e("p",b,l(s.time),1)])])),64))])])])]))}});export{y as default}; diff --git a/frontend_admin/.output/public/_nuxt/DKEj_yij.js b/frontend_admin/.output/public/_nuxt/DKEj_yij.js new file mode 100644 index 0000000..9372efb --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/DKEj_yij.js @@ -0,0 +1 @@ +import{a3 as C,m as u,x as l,z as r}from"./CHWHIiGB.js";const g=C("auth",()=>{const t=u(null),o=u(null),c=u(!1),s=u(null),v=u(!1),h=l(()=>!!o.value&&!!t.value),k=l(()=>{const e=t.value?.role;return e?["SUPERADMIN","ADMIN","MODERATOR","SALES_REP","SERVICE_MGR"].includes(e.toUpperCase()):!1}),m=l(()=>{if(!t.value)return"";const{first_name:e,last_name:n}=t.value;return e&&n?`${e} ${n}`:e||n||t.value.email}),p=l(()=>t.value?.email??""),w=l(()=>t.value?.role??"guest");async function R(e,n){c.value=!0,s.value=null;try{const a=new URLSearchParams;a.append("username",e),a.append("password",n);const d=await $fetch("/api/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a}),A=r("access_token",{maxAge:3600*24*7,path:"/",sameSite:"lax",secure:!0});A.value=d.access_token,o.value=d.access_token,await i()}catch(a){throw s.value=a?.data?.detail||a?.message||"Login failed",a}finally{c.value=!1}}async function i(){const n=r("access_token").value||o.value;if(n)try{const a=await $fetch("/api/v1/auth/me",{headers:{Authorization:`Bearer ${n}`}});t.value=a}catch(a){throw a?.response?.status===401&&f(),a}}function f(){o.value=null,t.value=null,s.value=null;const e=r("access_token");e.value=null}async function _(){const e=r("access_token");if(e.value){o.value=e.value;try{await i()}catch{f()}}v.value=!0}function y(){s.value=null}return{user:t,token:o,isLoading:c,error:s,isInitialized:v,isAuthenticated:h,isAdmin:k,userName:m,userEmail:p,userRole:w,login:R,fetchUser:i,logout:f,init:_,clearError:y}});export{g as u}; diff --git a/frontend_admin/.output/public/_nuxt/DP_n9i02.js b/frontend_admin/.output/public/_nuxt/DP_n9i02.js deleted file mode 100644 index 4ef2d4d..0000000 --- a/frontend_admin/.output/public/_nuxt/DP_n9i02.js +++ /dev/null @@ -1 +0,0 @@ -const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultság Kezelés"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management — Role-based access control & subscription feature flags"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultságok betöltése..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Nem sikerült betölteni a jogosultságokat"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Elvetés"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" módosítás"}]}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Teljes rendszer hozzáférés — felhasználók, számlázás, robotok és rendszerkonfiguráció."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garázs szintű hozzáférés — járműkezelés, szervizfoglalás, ügyféladatok."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Előfizetési funkciók — a jelenlegi csomagod alapján ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Jogosultsági Mátrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Művelet"}},perms:{user_mgmt:{t:0,b:{t:2,i:[{t:3}],s:"Felhasználókezelés"}},billing_admin:{t:0,b:{t:2,i:[{t:3}],s:"Számlázási Adminisztráció"}},robot_config:{t:0,b:{t:2,i:[{t:3}],s:"Robot Konfiguráció"}},system_logs:{t:0,b:{t:2,i:[{t:3}],s:"Rendszernaplók Elérése"}},api_keys:{t:0,b:{t:2,i:[{t:3}],s:"API Kulcs Kezelés"}},vehicle_crud:{t:0,b:{t:2,i:[{t:3}],s:"Jármű CRUD"}},service_booking:{t:0,b:{t:2,i:[{t:3}],s:"Szervizfoglalás"}},customer_view:{t:0,b:{t:2,i:[{t:3}],s:"Ügyféladatok Megtekintése"}},report_export:{t:0,b:{t:2,i:[{t:3}],s:"Jelentés Exportálás"}},bulk_import:{t:0,b:{t:2,i:[{t:3}],s:"Tömeges Import"}}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok Kezelése"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"Új Csomag"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"Még nincsenek csomagok"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Hozd létre az első előfizetési csomagot a kezdéshez."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Első Csomag Létrehozása"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Népszerű"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Visszaesési"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Próba"}},month:{t:0,b:{t:2,i:[{t:3}],s:"hó"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Elérhető Funkciók"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Szerkesztés"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Beállítás alapértelmezettként"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"alapértelmezett csomagként beállítva!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Szerkesztése"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Létrehozása"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Mégse"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Létrehozás"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Csomag sikeresen frissítve!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Törlése"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Biztosan törölni szeretnéd a "'},{t:4,k:"name"},{t:3,v:'" csomagot?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Korlátok"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Jármű"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garázs"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Havi Kredit"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szint"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"Rendszer Név"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Megjelenítési Név"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Típus"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Magán"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Vállalati"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szintszám"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Magasabb szám = több funkció és magasabb rang"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Havi Díj"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Éves Díj"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Pénznem"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Felirat / Leírás"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Ideális kisvállalkozásoknak"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Jelvény Szöveg"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Legnépszerűbb"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Egyedi Csomag (nem publikus)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Egyediségi Szabályok"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Próba Napok Regisztrációnál"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0."}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok listája, csomagkezelés és státuszmódosítás"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Összes Garázs"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Aktív Garázsok"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garázsok"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garázsok"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Keresés név, kapcsolattartó vagy e-mail alapján..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"Összes csomag"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Cégnév"}},email:{t:0,b:{t:2,i:[{t:3}],s:"E-mail"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Státusz"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Műveletek"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Aktív"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inaktív"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Felfüggesztve"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Módosítása"}},view:{t:0,b:{t:2,i:[{t:3}],s:"Megtekintés"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Aktiválás"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deaktiválás"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"Nincs a keresésnek megfelelő garázs."}}}};export{t as default}; diff --git a/frontend_admin/.output/public/_nuxt/DSOY2KzZ.js b/frontend_admin/.output/public/_nuxt/DSOY2KzZ.js new file mode 100644 index 0000000..bb2d80b --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/DSOY2KzZ.js @@ -0,0 +1 @@ +import{H as a,z as i,A as o,I as l}from"./CHWHIiGB.js";import{u as c}from"./DKEj_yij.js";const A=a(async(s,f)=>{let t,r;if(s.path==="/login")return;if(!i("access_token").value)return o("/login");const e=c();if(!e.user)try{[t,r]=l(()=>e.fetchUser()),await t,r()}catch{return e.logout(),o("/login")}if(!e.user)return e.logout(),o("/login");const u=["SUPERADMIN","ADMIN","MODERATOR","SALES_REP","SERVICE_MGR"],n=(e.user.role||"").toUpperCase();if(!u.includes(n))return e.logout(),o("/login")});export{A as default}; diff --git a/frontend_admin/.output/public/_nuxt/DWjNh9rV.js b/frontend_admin/.output/public/_nuxt/DWjNh9rV.js deleted file mode 100644 index 2450b63..0000000 --- a/frontend_admin/.output/public/_nuxt/DWjNh9rV.js +++ /dev/null @@ -1 +0,0 @@ -import{K as _,m as u,x as a}from"./CqYPuxVf.js";const h=_("region",()=>{const t=u([]),n=u(null),c=u(!1),l=u(null),o=a(()=>t.value.find(e=>e.country_code==="DEFAULT")||null),s=a(()=>{const e=new Map;for(const r of t.value)e.set(r.country_code,r);return e}),i=a(()=>n.value?.currency||o.value?.currency||"EUR"),v=a(()=>n.value?.locale_code||o.value?.locale_code||"en-EU"),f=a(()=>n.value?.default_vat_rate??o.value?.default_vat_rate??0),d=a(()=>n.value?.timezone||o.value?.timezone||"Europe/Brussels");async function g(){if(!(t.value.length>0)){c.value=!0,l.value=null;try{const e=await $fetch("/api/v1/system/regions");t.value=e||[]}catch(e){l.value=e?.data?.detail||e?.message||"Failed to load regions",console.error("[RegionStore] Fetch error:",e)}finally{c.value=!1}}}function m(e){const r=t.value.find(R=>R.country_code===e);n.value=r||o.value}function y(e){return s.value.get(e)}return{regions:t,activeRegion:n,isLoading:c,error:l,defaultRegion:o,regionMap:s,activeCurrency:i,activeLocale:v,activeVatRate:f,activeTimezone:d,fetchRegions:g,setActiveRegion:m,getRegion:y}});export{h as u}; diff --git a/frontend_admin/.output/public/_nuxt/Da4aCGAe.js b/frontend_admin/.output/public/_nuxt/Da4aCGAe.js deleted file mode 100644 index 1fa16f6..0000000 --- a/frontend_admin/.output/public/_nuxt/Da4aCGAe.js +++ /dev/null @@ -1 +0,0 @@ -import{e as E,g as P,L as q,y as N,M as U,N as j,O as H,P as I,Q as A,R as _,S as V,T as D,m as F,U as O,V as W,h as f,C as z,x,W as B,X as M,Y as $,Z as Q,$ as G,a0 as X,a1 as Y,a2 as Z}from"./CqYPuxVf.js";const J=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001f\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&G(r.slice(0,c+1))?null:t}function K(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function R(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return w(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:w(i,a)}}function k(e){const s=P(),d=Z(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),S=_("RouterLink"),y=S&&typeof S!="string"?S.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:R(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:w(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:w(M(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await z(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return E({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=P(),{to:a,href:i,navigate:S,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=D(!1),m=F(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n).catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;N(()=>{const C=ee();U(()=>{g=j(()=>{m?.value?.tagName&&(n=C.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),A(_("RouterLink"),n,s.default)}const u=e.target||null,g=J(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:S,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return V(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const C=$(i.value??"");return await(e.replace?d.replace(C):d.push(C))}finally{if(c(a.value)){const C=a.value.slice(1);let L=C;try{L=decodeURIComponent(C)}catch{}document.getElementById(L)?.focus()}}}}},s.default?.())}}})}const le=K(Q);function w(t,r){const c=r==="append"?X:Y;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,R=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:R}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; diff --git a/frontend_admin/.output/public/_nuxt/DiHJCuau.js b/frontend_admin/.output/public/_nuxt/DiHJCuau.js new file mode 100644 index 0000000..0df05e5 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/DiHJCuau.js @@ -0,0 +1 @@ +const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultság Kezelés"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Jogosultságok betöltése..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Nem sikerült betölteni a jogosultságokat"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Elvetés"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" módosítás"}]}},domain_filter:{t:0,b:{t:2,i:[{t:3}],s:"Tartomány Szűrő (Sorok)"}},role_filter:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör Szűrő (Oszlopok)"}},select_all:{t:0,b:{t:2,i:[{t:3}],s:"Összes kiválasztása"}},deselect_all:{t:0,b:{t:2,i:[{t:3}],s:"Összes elrejtése"}},all_domains:{t:0,b:{t:2,i:[{t:3}],s:"Minden"}},permission:{t:0,b:{t:2,i:[{t:3}],s:"Engedély"}},no_permissions:{t:0,b:{t:2,i:[{t:3}],s:"Nincsenek engedélyek ebben a tartományban."}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Teljes rendszer hozzáférés — felhasználók, számlázás, robotok és rendszerkonfiguráció."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garázs szintű hozzáférés — járműkezelés, szervizfoglalás, ügyféladatok."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Előfizetési funkciók — a jelenlegi csomagod alapján ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Jogosultsági Mátrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Művelet"}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok Kezelése"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetési csomagok és funkciók kezelése — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Csomagok betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"Új Csomag"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"Még nincsenek csomagok"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Hozd létre az első előfizetési csomagot a kezdéshez."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Első Csomag Létrehozása"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Népszerű"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Visszaesési"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Próba"}},month:{t:0,b:{t:2,i:[{t:3}],s:"hó"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Elérhető Funkciók"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Szerkesztés"}},duplicate:{t:0,b:{t:2,i:[{t:3}],s:"Másolás"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Beállítás alapértelmezettként"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"alapértelmezett csomagként beállítva!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Szerkesztése"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Létrehozása"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Mégse"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Változtatások Mentése"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Létrehozás"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Csomag sikeresen frissítve!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Törlése"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Biztosan törölni szeretnéd a "'},{t:4,k:"name"},{t:3,v:'" csomagot?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Törlés"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Korlátok"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Jármű"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garázs"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Havi Kredit"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szint"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"Rendszer Név"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Megjelenítési Név"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Típus"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Magán"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Vállalati"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szintszám"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Magasabb szám = több funkció és magasabb rang"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Havi Díj"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Éves Díj"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Pénznem"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Felirat / Leírás"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Ideális kisvállalkozásoknak"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Jelvény Szöveg"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"pl. Legnépszerűbb"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Egyedi Csomag (nem publikus)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Egyediségi Szabályok"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Próba Napok Regisztrációnál"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0."}},per_region_pricing:{t:0,b:{t:2,i:[{t:3}],s:"Régiók szerinti árazás"}},smart_calculator:{t:0,b:{t:2,i:[{t:3}],s:"Okos Árkalkulátor"}},calc_net_price:{t:0,b:{t:2,i:[{t:3}],s:"Nettó ár"}},calc_vat_rate:{t:0,b:{t:2,i:[{t:3}],s:"ÁFA kulcs"}},calc_currency:{t:0,b:{t:2,i:[{t:3}],s:"Pénznem"}},calc_net:{t:0,b:{t:2,i:[{t:3}],s:"Nettó"}},calc_vat:{t:0,b:{t:2,i:[{t:3}],s:"ÁFA"}},calc_gross:{t:0,b:{t:2,i:[{t:3}],s:"Bruttó"}},calc_apply:{t:0,b:{t:2,i:[{t:3}],s:"Alkalmaz a kiválasztott régióra"}},add_zone:{t:0,b:{t:2,i:[{t:3}],s:"Új Zóna Hozzáadása"}},add_zone_select:{t:0,b:{t:2,i:[{t:3}],s:"Válassz országkódot..."}},add_zone_already_exists:{t:0,b:{t:2,i:[{t:3}],s:"Ez a régió már létezik a csomag árazásában!"}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok listája, csomagkezelés és státuszmódosítás"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Összes Garázs"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Aktív Garázsok"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garázsok"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garázsok"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Keresés név, kapcsolattartó vagy e-mail alapján..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"Összes csomag"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Cégnév"}},email:{t:0,b:{t:2,i:[{t:3}],s:"E-mail"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Státusz"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Aktuális Csomag"}},expiration_date:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat Dátuma"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Műveletek"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Aktív"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inaktív"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Felfüggesztve"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Módosítása"}},manage_subscription:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetés Kezelése"}},view:{t:0,b:{t:2,i:[{t:3}],s:"Megtekintés"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Aktiválás"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deaktiválás"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"Nincs a keresésnek megfelelő garázs."}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Garázsok betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},members:{t:0,b:{t:2,i:[{t:3}],s:"tag"}},free_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Ingyenes / Visszaesési"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},select_package:{t:0,b:{t:2,i:[{t:3}],s:"Csomag Kiválasztása"}},select_package_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Válassz egy előfizetési csomagot..."}},custom_expiration:{t:0,b:{t:2,i:[{t:3}],s:"Egyéni Lejárati Dátum"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"opcionális"}},custom_expiration_hint:{t:0,b:{t:2,i:[{t:3}],s:"Hagyd üresen az alapértelmezett időtartamhoz (pl. 30 nap). 2-5 éves B2B deal-eknél adj meg egyedi dátumot!"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Mégse"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Mentés"}},saving:{t:0,b:{t:2,i:[{t:3}],s:"Mentés..."}},subscription_updated:{t:0,b:{t:2,i:[{t:3}],s:"előfizetése sikeresen frissítve!"}},view_details:{t:0,b:{t:2,i:[{t:3}],s:"Részletek"}},indefinite:{t:0,b:{t:2,i:[{t:3}],s:"Határozatlan"}},details:{loading:{t:0,b:{t:2,i:[{t:3}],s:"Garázs adatainak betöltése..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Újra"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Vissza a garázsokhoz"}},company_info:{t:0,b:{t:2,i:[{t:3}],s:"Cég adatok"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Cégnév"}},display_name:{t:0,b:{t:2,i:[{t:3}],s:"Megjelenítési név"}},org_type:{t:0,b:{t:2,i:[{t:3}],s:"Szervezet típusa"}},tax_number:{t:0,b:{t:2,i:[{t:3}],s:"Adószám"}},reg_number:{t:0,b:{t:2,i:[{t:3}],s:"Cégjegyzékszám"}},created_at:{t:0,b:{t:2,i:[{t:3}],s:"Létrehozva"}},address:{t:0,b:{t:2,i:[{t:3}],s:"Cím"}},subscription_info:{t:0,b:{t:2,i:[{t:3}],s:"Előfizetés státusza"}},tier_name:{t:0,b:{t:2,i:[{t:3}],s:"Csomag"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Szint"}},level_n:{t:0,b:{t:2,i:[{t:4,k:"n"},{t:3,v:". szint"}]}},expires_at:{t:0,b:{t:2,i:[{t:3}],s:"Lejárat"}},asset_limit:{t:0,b:{t:2,i:[{t:3}],s:"Járműkorlát"}},vehicles:{t:0,b:{t:2,i:[{t:3}],s:"jármű"}},no_subscription:{t:0,b:{t:2,i:[{t:3}],s:"Nincs aktív előfizetés"}},contact_info:{t:0,b:{t:2,i:[{t:3}],s:"Elérhetőség"}},contact_name:{t:0,b:{t:2,i:[{t:3}],s:"Kapcsolattartó neve"}},contact_role:{t:0,b:{t:2,i:[{t:3}],s:"Szerepkör"}},contact_department:{t:0,b:{t:2,i:[{t:3}],s:"Osztály"}},contact_phone:{t:0,b:{t:2,i:[{t:3}],s:"Telefonszám"}},no_contact:{t:0,b:{t:2,i:[{t:3}],s:"Nincs elsődleges kapcsolattartó"}},coming_soon:{t:0,b:{t:2,i:[{t:3}],s:"Ez a funkció hamarosan elérhető lesz..."}}}}};export{t as default}; diff --git a/frontend_admin/.output/public/_nuxt/DlAUqK2U.js b/frontend_admin/.output/public/_nuxt/DlAUqK2U.js new file mode 100644 index 0000000..718edd3 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/DlAUqK2U.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/frontend_admin/.output/public/_nuxt/DuYZ8wdr.js b/frontend_admin/.output/public/_nuxt/DuYZ8wdr.js deleted file mode 100644 index dd6b0cc..0000000 --- a/frontend_admin/.output/public/_nuxt/DuYZ8wdr.js +++ /dev/null @@ -1 +0,0 @@ -import{B as o,A as t,C as a}from"./CqYPuxVf.js";const s=o((e,i)=>{if(e.path==="/login")return;if(!t("access_token").value)return a("/login")});export{s as default}; diff --git a/frontend_admin/.output/public/_nuxt/DyJFDhDL.js b/frontend_admin/.output/public/_nuxt/DyJFDhDL.js new file mode 100644 index 0000000..2bedb36 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/DyJFDhDL.js @@ -0,0 +1 @@ +import{e as se,D as oe,q as ne,c as a,a as t,t as n,h as d,F as x,n as h,i as w,r as y,d as L,m as g,x as S,z as R,o as r}from"./CHWHIiGB.js";const ae={class:"mb-8"},re={class:"text-2xl font-bold text-white"},le={class:"text-slate-400 mt-1"},ie={key:0,class:"flex items-center justify-center py-20"},ce={class:"ml-3 text-slate-400"},de={key:1,class:"bg-red-500/10 border border-red-500/20 rounded-xl p-6 mb-8"},ue={class:"flex items-center gap-3"},pe={class:"text-red-300 font-medium"},me={class:"text-red-400/80 text-sm mt-1"},fe={class:"bg-slate-800/60 border border-slate-700 rounded-xl p-4 mb-6"},ve={class:"flex flex-col sm:flex-row sm:items-center gap-4"},xe={class:"flex-1"},he={class:"block text-xs font-semibold uppercase tracking-wider text-slate-400 mb-2"},ge={class:"flex flex-wrap gap-1.5"},be=["onClick"],_e={class:"flex-1"},ke={class:"block text-xs font-semibold uppercase tracking-wider text-slate-400 mb-2"},we={class:"flex flex-wrap gap-1.5"},ye=["onClick"],Ce={key:0,class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ze={class:"mt-2 flex gap-2"},Pe={key:1,class:"sticky top-0 z-20 -mx-4 px-4 py-3 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700 mb-4 flex items-center gap-3 rounded-t-xl"},Me={class:"text-sm text-slate-400 ml-auto"},Se={class:"overflow-x-auto rounded-xl border border-slate-700 bg-slate-800/40"},$e={class:"w-full text-sm"},Be={class:"border-b border-slate-700"},Ae={class:"sticky left-0 z-10 bg-slate-800/95 min-w-[200px] p-3 text-left"},Ve={class:"flex items-center gap-2"},je={class:"text-xs font-semibold uppercase tracking-wider text-slate-400"},Re={class:"flex flex-col items-center gap-1"},Ne={class:"text-[10px] text-slate-500"},Fe={key:0,class:"text-[10px] text-indigo-400"},De={class:"border-b border-slate-700/50"},Te={class:"flex items-center gap-2"},Ee={class:"text-[10px] text-slate-500 font-normal normal-case"},He={class:"sticky left-0 z-10 bg-slate-800/95 p-3 border-r border-slate-700/50"},Le={class:"flex flex-col min-w-0 max-w-[200px]"},Ue={class:"text-sm text-slate-200 truncate font-medium"},qe={class:"text-xs text-slate-500 truncate font-mono"},Oe={key:0,class:"text-[11px] text-slate-500 truncate mt-0.5"},Ge=["checked","disabled","onChange"],Je={key:0},Ke=["colspan"],Qe={key:2,class:"mt-6 flex items-center gap-3 pb-8"},We={class:"text-sm text-slate-400"},Ze=se({__name:"index",setup(Xe){const{t:c}=oe(),V=g(!0),$=g(null),f=g([]),P=g([]),C=g("__all__"),v=g(new Set),u=g(new Map),k=g(new Map),m=g(null),U=S(()=>{const e=new Set(P.value.map(s=>s.domain)),o=[{value:"__all__",label:c("permissions.all_domains")}];for(const s of Array.from(e).sort())o.push({value:s,label:s.charAt(0).toUpperCase()+s.slice(1)});return o}),q=S(()=>{const e=new Set(P.value.map(s=>s.domain)),o=Array.from(e).sort();return C.value==="__all__"?o:o.filter(s=>s===C.value)}),N=S(()=>C.value==="__all__"?P.value:P.value.filter(e=>e.domain===C.value)),B=S(()=>v.value.size===0?f.value:f.value.filter(e=>v.value.has(e.id))),F=S(()=>u.value.size>0);function O(e){const o=new Set(v.value);o.has(e)?o.delete(e):o.add(e),v.value=o}function G(){v.value=new Set(f.value.map(e=>e.id))}function J(){v.value=new Set}function K(e){return e.rank>=100?"bg-purple-500/20 text-purple-300":e.rank>=80?"bg-indigo-500/20 text-indigo-300":e.rank>=50?"bg-cyan-500/20 text-cyan-300":"bg-slate-500/20 text-slate-300"}function Q(e){return{fleet:"text-emerald-400",user:"text-sky-400",finance:"text-amber-400",permissions:"text-purple-400",system:"text-rose-400",service:"text-teal-400",organization:"text-orange-400",vehicle:"text-cyan-400",subscription:"text-pink-400",moderation:"text-violet-400"}[e]||"text-slate-400"}function W(e,o){return A(e)?"bg-purple-900/5":j(e.id,o.id)?"bg-emerald-900/10":""}function X(e){return e.code.replace(/:/g," ").replace(/\b\w/g,o=>o.toUpperCase())}function D(e){return N.value.filter(o=>o.domain===e)}function j(e,o){if(u.value.has(e))return u.value.get(e).has(o);const s=f.value.find(i=>i.id===e);return s?s.permission_ids.includes(o):!1}function A(e){return e.is_system&&e.rank>=100}function Y(e,o,s){const p=s.target.checked;if(!k.value.has(e)){const z=f.value.find(te=>te.id===e);z&&k.value.set(e,[...z.permission_ids])}let l=u.value.get(e);if(l)l=new Set(l);else{const z=k.value.get(e)||[];l=new Set(z)}p?l.add(o):l.delete(o);const b=k.value.get(e)||[],_=new Set(b);Z(l,_)?(u.value.delete(e),k.value.delete(e)):u.value.set(e,l),u.value=new Map(u.value)}function Z(e,o){if(e.size!==o.size)return!1;for(const s of e)if(!o.has(s))return!1;return!0}function M(){setTimeout(()=>{m.value=null},5e3)}async function T(){m.value=null;try{const o=R("access_token").value;if(!o){m.value={type:"error",message:"Not authenticated"},M();return}if(u.value.size===0){m.value={type:"error",message:"No changes to save"},M();return}const s=[];u.value.forEach((l,b)=>{s.push({roleId:b,permissionIds:Array.from(l).sort((_,z)=>_-z)})});const p=(await Promise.allSettled(s.map(l=>$fetch(`/api/v1/admin/permissions/roles/${l.roleId}/permissions`,{method:"PUT",headers:{Authorization:`Bearer ${o}`,"Content-Type":"application/json"},body:{permission_ids:l.permissionIds}})))).filter(l=>l.status==="rejected");if(p.length>0){const l=p.map(b=>{const _=b.reason;return _?.data?.detail||_?.message||"Unknown error"});m.value={type:"error",message:`Failed to save ${p.length} role(s): ${l.join("; ")}`},M();return}for(const l of s){const b=f.value.find(_=>_.id===l.roleId);b&&(b.permission_ids=l.permissionIds)}u.value=new Map,k.value=new Map,m.value={type:"success",message:`Successfully saved permissions for ${s.length} role(s).`},M()}catch(e){console.error("[Permissions] Save failed:",e),m.value={type:"error",message:e?.data?.detail||e?.message||"Failed to save permissions"},M()}}function E(){u.value=new Map,k.value=new Map,m.value=null}async function I(){try{const o=R("access_token").value;if(!o){console.warn("[Permissions] No access token found for roles");return}const s=await $fetch("/api/v1/admin/permissions/roles",{headers:{Authorization:`Bearer ${o}`}});f.value=s}catch(e){throw console.error("[Permissions] Roles fetch failed:",e?.message||e),e}}async function ee(){try{const o=R("access_token").value;if(!o){console.warn("[Permissions] No access token found for permissions");return}const s=await $fetch("/api/v1/admin/permissions",{headers:{Authorization:`Bearer ${o}`}});P.value=s}catch(e){throw console.error("[Permissions] Permissions fetch failed:",e?.message||e),e}}async function H(){V.value=!0,$.value=null;try{await Promise.all([I(),ee()]),v.value=new Set(f.value.map(e=>e.id))}catch(e){console.error("[Permissions] fetchAll failed:",e?.message||e),$.value=e?.data?.detail||e?.message||"Failed to load permissions data"}finally{V.value=!1}}return ne(()=>{H()}),(e,o)=>(r(),a("div",null,[t("div",ae,[t("h1",re,n(d(c)("permissions.title")),1),t("p",le,n(d(c)("permissions.subtitle")),1)]),V.value?(r(),a("div",ie,[o[0]||(o[0]=t("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),t("span",ce,n(d(c)("permissions.loading")),1)])):$.value?(r(),a("div",de,[t("div",ue,[o[1]||(o[1]=t("svg",{class:"w-6 h-6 text-red-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),t("div",null,[t("h3",pe,n(d(c)("permissions.error_title")),1),t("p",me,n($.value),1)])]),t("button",{onClick:H,class:"mt-4 px-4 py-2 text-sm bg-red-600 hover:bg-red-500 text-white rounded-lg transition"},n(d(c)("permissions.retry")),1)])):(r(),a(x,{key:2},[m.value?(r(),a("div",{key:0,class:h(["mb-6 px-4 py-3 rounded-lg text-sm font-medium",m.value.type==="success"?"bg-emerald-500/10 border border-emerald-500/20 text-emerald-300":"bg-red-500/10 border border-red-500/20 text-red-300"])},n(m.value.message),3)):w("",!0),t("div",fe,[t("div",ve,[t("div",xe,[t("label",he,n(d(c)("permissions.domain_filter")),1),t("div",ge,[(r(!0),a(x,null,y(U.value,s=>(r(),a("button",{key:s.value,onClick:i=>C.value=s.value,class:h(["px-3 py-1.5 text-xs font-medium rounded-lg transition",C.value===s.value?"bg-indigo-600 text-white shadow-sm":"bg-slate-700/60 text-slate-400 hover:bg-slate-700 hover:text-white"])},n(s.label),11,be))),128))])]),t("div",_e,[t("label",ke,n(d(c)("permissions.role_filter")),1),t("div",we,[(r(!0),a(x,null,y(f.value,s=>(r(),a("button",{key:s.id,onClick:i=>O(s.id),class:h(["px-3 py-1.5 text-xs font-medium rounded-lg transition flex items-center gap-1.5",v.value.has(s.id)?s.rank>=100?"bg-purple-600/30 text-purple-300 border border-purple-500/30":"bg-indigo-600/30 text-indigo-300 border border-indigo-500/30":"bg-slate-700/60 text-slate-500 hover:bg-slate-700 hover:text-slate-300 border border-transparent"])},[v.value.has(s.id)?(r(),a("svg",Ce,[...o[2]||(o[2]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",d:"M5 13l4 4L19 7"},null,-1)])])):w("",!0),t("span",null,n(s.name),1)],10,ye))),128))]),t("div",ze,[t("button",{onClick:G,class:"text-xs text-indigo-400 hover:text-indigo-300 transition"},n(d(c)("permissions.select_all")),1),t("button",{onClick:J,class:"text-xs text-slate-500 hover:text-slate-400 transition"},n(d(c)("permissions.deselect_all")),1)])])])]),F.value?(r(),a("div",Pe,[t("button",{onClick:T,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[o[3]||(o[3]=t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),L(" "+n(d(c)("permissions.save_changes")),1)]),t("button",{onClick:E,class:"px-4 py-2.5 bg-slate-700 hover:bg-slate-600 text-slate-300 font-medium rounded-lg transition"},n(d(c)("permissions.discard")),1),t("span",Me,n(d(c)("permissions.modified_count",{count:u.value.size})),1)])):w("",!0),t("div",Se,[t("table",$e,[t("thead",null,[t("tr",Be,[t("th",Ae,[t("div",Ve,[o[4]||(o[4]=t("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),t("span",je,n(d(c)("permissions.permission")),1)])]),(r(!0),a(x,null,y(B.value,s=>(r(),a("th",{key:s.id,class:h(["min-w-[120px] p-3 text-center border-l border-slate-700",s.rank>=100?"bg-purple-900/10":""])},[t("div",Re,[t("span",{class:h(["text-xs font-semibold px-2 py-0.5 rounded-full",K(s)])},n(s.name),3),t("span",Ne,"Rank "+n(s.rank),1),s.is_system?(r(),a("span",Fe,"system")):w("",!0)])],2))),128))])]),t("tbody",null,[(r(!0),a(x,null,y(q.value,s=>(r(),a(x,{key:s},[t("tr",De,[t("td",{colspan:"1",class:h(["sticky left-0 z-10 bg-slate-800/95 px-3 py-2 text-xs font-bold uppercase tracking-wider",Q(s)])},[t("div",Te,[t("span",null,n(s),1),t("span",Ee," ("+n(D(s).length)+") ",1)])],2),(r(!0),a(x,null,y(B.value,i=>(r(),a("td",{key:"hdr-"+i.id,class:"border-l border-slate-700/50 bg-slate-800/60 px-3 py-2"}))),128))]),(r(!0),a(x,null,y(D(s),i=>(r(),a("tr",{key:i.id,class:"border-b border-slate-700/30 hover:bg-slate-700/20 transition"},[t("td",He,[t("div",Le,[t("span",Ue,n(X(i)),1),t("span",qe,n(i.code),1),i.description?(r(),a("span",Oe,n(i.description),1)):w("",!0)])]),(r(!0),a(x,null,y(B.value,p=>(r(),a("td",{key:"cell-"+p.id+"-"+i.id,class:h(["p-3 text-center border-l border-slate-700/30",W(p,i)])},[t("label",{class:h(["relative inline-flex items-center justify-center cursor-pointer",{"cursor-not-allowed opacity-40":A(p)}])},[t("input",{type:"checkbox",checked:j(p.id,i.id),class:"sr-only peer",disabled:A(p),onChange:l=>Y(p.id,i.id,l)},null,40,Ge),t("div",{class:h(["w-9 h-5 rounded-full peer peer-focus:outline-none peer-focus:ring-2 transition-all after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-slate-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all",A(p)?"bg-slate-600":j(p.id,i.id)?"bg-emerald-600 peer-focus:ring-emerald-500/50 peer-checked:after:translate-x-full peer-checked:after:border-white":"bg-slate-600 peer-focus:ring-indigo-500/50 peer-checked:after:translate-x-full peer-checked:after:border-white peer-checked:bg-indigo-600"])},null,2)],2)],2))),128))]))),128))],64))),128)),N.value.length===0?(r(),a("tr",Je,[t("td",{colspan:B.value.length+1,class:"p-8 text-center text-slate-500 text-sm"},n(d(c)("permissions.no_permissions")),9,Ke)])):w("",!0)])])]),F.value?(r(),a("div",Qe,[t("button",{onClick:T,class:"px-6 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-semibold rounded-lg shadow-lg shadow-emerald-600/20 transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center gap-2"},[o[5]||(o[5]=t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"})],-1)),L(" "+n(d(c)("permissions.save_changes")),1)]),t("button",{onClick:E,class:"px-4 py-2.5 bg-slate-700 hover:bg-slate-600 text-slate-300 font-medium rounded-lg transition"},n(d(c)("permissions.discard")),1),t("span",We,n(d(c)("permissions.modified_count",{count:u.value.size})),1)])):w("",!0)],64))]))}});export{Ze as default}; diff --git a/frontend_admin/.output/public/_nuxt/HwQw-d2b.js b/frontend_admin/.output/public/_nuxt/HwQw-d2b.js new file mode 100644 index 0000000..776d3bf --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/HwQw-d2b.js @@ -0,0 +1 @@ +const t={permissions:{title:{t:0,b:{t:2,i:[{t:3}],s:"Permissions Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Permission Matrix — Role-based access control"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading permissions..."}},error_title:{t:0,b:{t:2,i:[{t:3}],s:"Failed to load permissions"}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},save_changes:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},discard:{t:0,b:{t:2,i:[{t:3}],s:"Discard"}},modified_count:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:" changes"}]}},domain_filter:{t:0,b:{t:2,i:[{t:3}],s:"Domain Filter (Rows)"}},role_filter:{t:0,b:{t:2,i:[{t:3}],s:"Role Filter (Columns)"}},select_all:{t:0,b:{t:2,i:[{t:3}],s:"Select All"}},deselect_all:{t:0,b:{t:2,i:[{t:3}],s:"Deselect All"}},all_domains:{t:0,b:{t:2,i:[{t:3}],s:"All"}},permission:{t:0,b:{t:2,i:[{t:3}],s:"Permission"}},no_permissions:{t:0,b:{t:2,i:[{t:3}],s:"No permissions in this domain."}},current_tier:{t:0,b:{t:2,i:[{t:3}],s:"Current Package"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},superadmin:{t:0,b:{t:2,i:[{t:3}],s:"Superadmin"}},superadmin_desc:{t:0,b:{t:2,i:[{t:3}],s:"Full system access — users, billing, robots and system configuration."}},garages:{t:0,b:{t:2,i:[{t:3}],s:"Garages"}},garages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Garage-level access — vehicle management, service booking, customer data."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature Flags"}},feature_flags_desc:{t:0,b:{t:2,i:[{t:3,v:"Subscription features — based on your current plan ("},{t:4,k:"tier"},{t:3,v:")."}]}},rbac_title:{t:0,b:{t:2,i:[{t:3}],s:"RBAC Permission Matrix"}},rbac_desc:{t:0,b:{t:2,i:[{t:3}],s:"Role-based access control — which roles can perform which admin actions."}},action:{t:0,b:{t:2,i:[{t:3}],s:"Action"}}},packages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Package Management"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Manage subscription packages and features — Free, Premium, Enterprise"}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading packages..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},create_new:{t:0,b:{t:2,i:[{t:3}],s:"New Package"}},no_packages:{t:0,b:{t:2,i:[{t:3}],s:"No packages yet"}},no_packages_desc:{t:0,b:{t:2,i:[{t:3}],s:"Create your first subscription package to get started."}},create_first:{t:0,b:{t:2,i:[{t:3}],s:"Create First Package"}},popular:{t:0,b:{t:2,i:[{t:3}],s:"Popular"}},fallback_badge:{t:0,b:{t:2,i:[{t:3}],s:"Fallback"}},trial_badge:{t:0,b:{t:2,i:[{t:3}],s:"Trial"}},month:{t:0,b:{t:2,i:[{t:3}],s:"mo"}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Available Features"}},edit:{t:0,b:{t:2,i:[{t:3}],s:"Edit"}},duplicate:{t:0,b:{t:2,i:[{t:3}],s:"Duplicate"}},delete:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},set_as_default:{t:0,b:{t:2,i:[{t:3}],s:"Set as Default"}},set_as_default_success:{t:0,b:{t:2,i:[{t:3}],s:"set as default package!"}},edit_title:{t:0,b:{t:2,i:[{t:3}],s:"Edit Package"}},create_title:{t:0,b:{t:2,i:[{t:3}],s:"Create Package"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save Changes"}},create:{t:0,b:{t:2,i:[{t:3}],s:"Create"}},save_success:{t:0,b:{t:2,i:[{t:3}],s:"Package updated successfully!"}},delete_title:{t:0,b:{t:2,i:[{t:3}],s:"Delete Package"}},delete_confirm:{t:0,b:{t:2,i:[{t:3,v:'Are you sure you want to delete "'},{t:4,k:"name"},{t:3,v:'"?'}]}},delete_btn:{t:0,b:{t:2,i:[{t:3}],s:"Delete"}},allowances:{t:0,b:{t:2,i:[{t:3}],s:"Allowances"}},max_vehicles:{t:0,b:{t:2,i:[{t:3}],s:"Max Vehicles"}},max_garages:{t:0,b:{t:2,i:[{t:3}],s:"Max Garages"}},monthly_credits:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Credits"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Level"}},form_name:{t:0,b:{t:2,i:[{t:3}],s:"System Name"}},form_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. premium_2024"}},form_display_name:{t:0,b:{t:2,i:[{t:3}],s:"Display Name"}},form_display_name_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Premium Plus"}},form_type:{t:0,b:{t:2,i:[{t:3}],s:"Type"}},type_private:{t:0,b:{t:2,i:[{t:3}],s:"Private"}},type_corporate:{t:0,b:{t:2,i:[{t:3}],s:"Corporate"}},form_tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Tier Level"}},form_tier_level_hint:{t:0,b:{t:2,i:[{t:3}],s:"Higher number = more features and higher rank"}},form_monthly_price:{t:0,b:{t:2,i:[{t:3}],s:"Monthly Price"}},form_yearly_price:{t:0,b:{t:2,i:[{t:3}],s:"Yearly Price"}},form_currency:{t:0,b:{t:2,i:[{t:3}],s:"Currency"}},form_subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Subtitle / Description"}},form_subtitle_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Ideal for small businesses"}},form_badge:{t:0,b:{t:2,i:[{t:3}],s:"Badge Text"}},form_badge_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"e.g. Most Popular"}},form_is_custom:{t:0,b:{t:2,i:[{t:3}],s:"Custom Package (not public)"}},singleton_rules:{t:0,b:{t:2,i:[{t:3}],s:"Singleton Rules"}},form_is_default_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Default Fallback Package — expired subscriptions fall back to this"}},form_trial_days:{t:0,b:{t:2,i:[{t:3}],s:"Trial Days on Signup"}},form_trial_days_hint:{t:0,b:{t:2,i:[{t:3}],s:"New organizations get this many free days. Only one package can have > 0."}},per_region_pricing:{t:0,b:{t:2,i:[{t:3}],s:"Per-Region Pricing"}},smart_calculator:{t:0,b:{t:2,i:[{t:3}],s:"Smart Price Calculator"}},calc_net_price:{t:0,b:{t:2,i:[{t:3}],s:"Net Price"}},calc_vat_rate:{t:0,b:{t:2,i:[{t:3}],s:"VAT Rate"}},calc_currency:{t:0,b:{t:2,i:[{t:3}],s:"Currency"}},calc_net:{t:0,b:{t:2,i:[{t:3}],s:"Net"}},calc_vat:{t:0,b:{t:2,i:[{t:3}],s:"VAT"}},calc_gross:{t:0,b:{t:2,i:[{t:3}],s:"Gross"}},calc_apply:{t:0,b:{t:2,i:[{t:3}],s:"Apply to selected region"}},add_zone:{t:0,b:{t:2,i:[{t:3}],s:"Add New Zone"}},add_zone_select:{t:0,b:{t:2,i:[{t:3}],s:"Select country code..."}},add_zone_already_exists:{t:0,b:{t:2,i:[{t:3}],s:"This region already exists in the package pricing!"}}},garages:{title:{t:0,b:{t:2,i:[{t:3}],s:"Garages CRM"}},subtitle:{t:0,b:{t:2,i:[{t:3}],s:"Garage list, package management and status changes"}},total_garages:{t:0,b:{t:2,i:[{t:3}],s:"Total Garages"}},active_garages:{t:0,b:{t:2,i:[{t:3}],s:"Active Garages"}},premium_garages:{t:0,b:{t:2,i:[{t:3}],s:"Premium Garages"}},enterprise_garages:{t:0,b:{t:2,i:[{t:3}],s:"Enterprise Garages"}},search_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Search by name, contact or email..."}},all_tiers:{t:0,b:{t:2,i:[{t:3}],s:"All packages"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Company Name"}},email:{t:0,b:{t:2,i:[{t:3}],s:"Email"}},status:{t:0,b:{t:2,i:[{t:3}],s:"Status"}},current_package:{t:0,b:{t:2,i:[{t:3}],s:"Current Package"}},expiration_date:{t:0,b:{t:2,i:[{t:3}],s:"Expiration Date"}},actions:{t:0,b:{t:2,i:[{t:3}],s:"Actions"}},active:{t:0,b:{t:2,i:[{t:3}],s:"Active"}},inactive:{t:0,b:{t:2,i:[{t:3}],s:"Inactive"}},suspended:{t:0,b:{t:2,i:[{t:3}],s:"Suspended"}},change_package:{t:0,b:{t:2,i:[{t:3}],s:"Change Package"}},manage_subscription:{t:0,b:{t:2,i:[{t:3}],s:"Manage Subscription"}},view:{t:0,b:{t:2,i:[{t:3}],s:"View"}},activate:{t:0,b:{t:2,i:[{t:3}],s:"Activate"}},deactivate:{t:0,b:{t:2,i:[{t:3}],s:"Deactivate"}},no_results:{t:0,b:{t:2,i:[{t:3}],s:"No garages match your search."}},loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading garages..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},members:{t:0,b:{t:2,i:[{t:3}],s:"members"}},free_fallback:{t:0,b:{t:2,i:[{t:3}],s:"Free / Fallback"}},expires:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},select_package:{t:0,b:{t:2,i:[{t:3}],s:"Select Package"}},select_package_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Select a subscription package..."}},custom_expiration:{t:0,b:{t:2,i:[{t:3}],s:"Custom Expiration Date"}},optional:{t:0,b:{t:2,i:[{t:3}],s:"optional"}},custom_expiration_hint:{t:0,b:{t:2,i:[{t:3}],s:"Leave empty for default duration (e.g. 30 days). For 2-5 year B2B deals, set a custom date!"}},cancel:{t:0,b:{t:2,i:[{t:3}],s:"Cancel"}},save:{t:0,b:{t:2,i:[{t:3}],s:"Save"}},saving:{t:0,b:{t:2,i:[{t:3}],s:"Saving..."}},subscription_updated:{t:0,b:{t:2,i:[{t:3}],s:"subscription updated successfully!"}},view_details:{t:0,b:{t:2,i:[{t:3}],s:"Details"}},indefinite:{t:0,b:{t:2,i:[{t:3}],s:"Indefinite"}},details:{loading:{t:0,b:{t:2,i:[{t:3}],s:"Loading garage details..."}},retry:{t:0,b:{t:2,i:[{t:3}],s:"Retry"}},back:{t:0,b:{t:2,i:[{t:3}],s:"Back to garages"}},company_info:{t:0,b:{t:2,i:[{t:3}],s:"Company Info"}},company_name:{t:0,b:{t:2,i:[{t:3}],s:"Company Name"}},display_name:{t:0,b:{t:2,i:[{t:3}],s:"Display Name"}},org_type:{t:0,b:{t:2,i:[{t:3}],s:"Organization Type"}},tax_number:{t:0,b:{t:2,i:[{t:3}],s:"Tax Number"}},reg_number:{t:0,b:{t:2,i:[{t:3}],s:"Registration Number"}},created_at:{t:0,b:{t:2,i:[{t:3}],s:"Created At"}},address:{t:0,b:{t:2,i:[{t:3}],s:"Address"}},subscription_info:{t:0,b:{t:2,i:[{t:3}],s:"Subscription Status"}},tier_name:{t:0,b:{t:2,i:[{t:3}],s:"Package"}},tier_level:{t:0,b:{t:2,i:[{t:3}],s:"Level"}},level_n:{t:0,b:{t:2,i:[{t:3,v:"Level "},{t:4,k:"n"}]}},expires_at:{t:0,b:{t:2,i:[{t:3}],s:"Expires"}},asset_limit:{t:0,b:{t:2,i:[{t:3}],s:"Vehicle Limit"}},vehicles:{t:0,b:{t:2,i:[{t:3}],s:"vehicles"}},no_subscription:{t:0,b:{t:2,i:[{t:3}],s:"No active subscription"}},contact_info:{t:0,b:{t:2,i:[{t:3}],s:"Contact Info"}},contact_name:{t:0,b:{t:2,i:[{t:3}],s:"Contact Name"}},contact_role:{t:0,b:{t:2,i:[{t:3}],s:"Role"}},contact_department:{t:0,b:{t:2,i:[{t:3}],s:"Department"}},contact_phone:{t:0,b:{t:2,i:[{t:3}],s:"Phone"}},no_contact:{t:0,b:{t:2,i:[{t:3}],s:"No primary contact person"}},coming_soon:{t:0,b:{t:2,i:[{t:3}],s:"This feature will be available soon..."}}}}};export{t as default}; diff --git a/frontend_admin/.output/public/_nuxt/JOVMCDE9.js b/frontend_admin/.output/public/_nuxt/JOVMCDE9.js new file mode 100644 index 0000000..f4e208c --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/JOVMCDE9.js @@ -0,0 +1 @@ +import{_ as a}from"./qc1uPXiA.js";import{_ as i}from"./DlAUqK2U.js";import{u,o as c,c as l,a as e,t as r,b as d,w as p,d as f}from"./CHWHIiGB.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},b=["textContent"],h=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:404},statusText:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return u({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=a;return c(),l("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.status)},null,8,b),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,h),e("div",x,[d(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:p(()=>[f(r(t.backHome),1)]),_:1})])])])}}},z=i(y,[["__scopeId","data-v-1bd9e11a"]]);export{z as default}; diff --git a/frontend_admin/.output/public/_nuxt/KwNF0Piy.js b/frontend_admin/.output/public/_nuxt/KwNF0Piy.js new file mode 100644 index 0000000..d263e0e --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/KwNF0Piy.js @@ -0,0 +1 @@ +import{e as H,q as L,c as l,a as e,t as s,F as b,d as h,n as d,i as g,r as V,m as _,x as I,E as N,z as T,G as E,o as r}from"./CHWHIiGB.js";const G={key:0,class:"flex items-center justify-center py-20"},R={class:"flex flex-col items-center gap-3"},S={class:"text-slate-400 text-sm"},U={key:1,class:"flex flex-col items-center justify-center py-20 text-center"},q={class:"text-red-400 text-sm mb-2"},K={class:"mb-8"},P={class:"flex items-center justify-between"},J={class:"flex items-center gap-4"},O={class:"text-2xl font-bold text-white"},Q={class:"text-sm text-slate-400 mt-0.5"},W={key:0,class:"ml-2 text-slate-500"},X={class:"border-b border-slate-700 mb-6"},Y={class:"flex gap-6"},Z=["onClick"],ee={key:0,class:"space-y-6"},te={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},se={class:"px-6 py-4 border-b border-slate-700 flex items-center gap-3"},ae={class:"text-base font-semibold text-white"},ie={class:"px-6 py-5"},le={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},re={class:"space-y-4"},oe={class:"text-xs text-slate-500 uppercase tracking-wider"},ne={class:"text-sm text-white mt-1"},de={class:"text-xs text-slate-500 uppercase tracking-wider"},ce={class:"text-sm text-white mt-1"},ue={class:"text-xs text-slate-500 uppercase tracking-wider"},pe={class:"text-sm text-white mt-1"},ge={class:"space-y-4"},_e={class:"text-xs text-slate-500 uppercase tracking-wider"},me={class:"text-sm text-white mt-1"},he={class:"text-xs text-slate-500 uppercase tracking-wider"},ve={class:"text-sm text-white mt-1"},xe={class:"text-xs text-slate-500 uppercase tracking-wider"},be={class:"text-sm text-white mt-1"},fe={class:"mt-6 pt-6 border-t border-slate-700/50"},ye={class:"text-xs text-slate-500 uppercase tracking-wider mb-3"},ke={class:"text-sm text-white"},we={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},$e={class:"px-6 py-4 border-b border-slate-700 flex items-center gap-3"},Ce={class:"text-base font-semibold text-white"},ze={class:"px-6 py-5"},je={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Me={class:"space-y-4"},Be={class:"text-xs text-slate-500 uppercase tracking-wider"},De={class:"text-xs text-slate-500 uppercase tracking-wider"},Fe={class:"text-sm text-white mt-1"},Ae={class:"space-y-4"},He={class:"text-xs text-slate-500 uppercase tracking-wider"},Le={key:0,class:"text-sm text-white mt-1"},Ve={key:1,class:"text-sm text-slate-400 mt-1 italic"},Ie={class:"text-xs text-slate-500 uppercase tracking-wider"},Ne={class:"text-sm text-white mt-1"},Te={key:1,class:"text-center py-4"},Ee={class:"text-sm text-slate-400"},Ge={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},Re={class:"px-6 py-4 border-b border-slate-700 flex items-center gap-3"},Se={class:"text-base font-semibold text-white"},Ue={class:"px-6 py-5"},qe={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Ke={class:"space-y-4"},Pe={class:"text-xs text-slate-500 uppercase tracking-wider"},Je={class:"text-sm text-white mt-1"},Oe={class:"text-xs text-slate-500 uppercase tracking-wider"},Qe={class:"text-sm text-white mt-1"},We={class:"space-y-4"},Xe={class:"text-xs text-slate-500 uppercase tracking-wider"},Ye={class:"text-sm text-white mt-1"},Ze={class:"text-xs text-slate-500 uppercase tracking-wider"},et={class:"text-sm text-white mt-1"},tt={key:1,class:"text-center py-4"},st={class:"text-sm text-slate-400"},at={key:1,class:"flex items-center justify-center py-20"},it={class:"text-slate-500 text-sm"},ot=H({__name:"index",setup(lt){const f=N(),y=E(),c=_(!0),n=_(null),a=_(null),u=_("general"),k=[{key:"general",label:"Általános"},{key:"employees",label:"Dolgozók"},{key:"fleet",label:"Flotta"},{key:"analytics",label:"Analitika"}],w=I(()=>{if(!a.value)return"—";const t=[];a.value.address_zip&&t.push(a.value.address_zip),a.value.address_city&&t.push(a.value.address_city);const i=[];return a.value.address_street_name&&i.push(a.value.address_street_name),a.value.address_street_type&&i.push(a.value.address_street_type),a.value.address_house_number&&i.push(a.value.address_house_number),i.length>0&&t.push(i.join(" ")),t.length>0?t.join(", "):"—"});function $(){const i=T("access_token").value;return i?{Authorization:`Bearer ${i}`}:{}}async function v(){const t=f.params.id;if(!t){n.value="Invalid garage ID",c.value=!1;return}c.value=!0,n.value=null;try{const i=await $fetch(`/api/v1/admin/organizations/${t}/details`,{headers:$()});a.value=i}catch(i){console.error("[GarageDetails] Failed to fetch:",i),n.value=i?.data?.detail||i?.message||"Failed to load garage details"}finally{c.value=!1}}function C(){y.push("/garages")}function m(t){return t.display_name||t.name||t.full_name}function z(t){return t.split(" ").map(i=>i.charAt(0)).join("").toUpperCase().slice(0,2)}function j(t){const i=["bg-amber-600","bg-purple-600","bg-slate-600","bg-indigo-600","bg-emerald-600","bg-rose-600","bg-cyan-600","bg-orange-600","bg-teal-600"];let o=0;for(let p=0;p{v()}),(t,i)=>(r(),l("div",null,[c.value?(r(),l("div",G,[e("div",R,[i[0]||(i[0]=e("svg",{class:"w-8 h-8 text-indigo-400 animate-spin",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("p",S,s(t.$t("garages.details.loading")),1)])])):n.value?(r(),l("div",U,[i[1]||(i[1]=e("svg",{class:"w-12 h-12 text-red-500 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),e("p",q,s(n.value),1),e("button",{onClick:v,class:"px-4 py-2 text-sm bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},s(t.$t("garages.details.retry")),1)])):a.value?(r(),l(b,{key:2},[e("div",K,[e("button",{onClick:C,class:"inline-flex items-center gap-1.5 text-sm text-slate-400 hover:text-white transition mb-4"},[i[2]||(i[2]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)),h(" "+s(t.$t("garages.details.back")),1)]),e("div",P,[e("div",J,[e("div",{class:d(["w-12 h-12 rounded-xl flex items-center justify-center text-lg font-bold text-white",j(m(a.value))])},s(z(m(a.value))),3),e("div",null,[e("h1",O,s(m(a.value)),1),e("p",Q,[h(s(a.value.full_name)+" ",1),a.value.tax_number?(r(),l("span",W,"· "+s(t.$t("garages.details.tax_number"))+": "+s(a.value.tax_number),1)):g("",!0)])])]),e("span",{class:d(["inline-flex items-center px-3 py-1 rounded-full text-xs font-medium",M(a.value.status)])},[e("span",{class:d(["w-1.5 h-1.5 rounded-full mr-1.5",B(a.value.status)])},null,2),h(" "+s(D(a.value.status)),1)],2)])]),e("div",X,[e("nav",Y,[(r(),l(b,null,V(k,o=>e("button",{key:o.key,onClick:p=>u.value=o.key,class:d(["pb-3 text-sm font-medium transition border-b-2 -mb-px",u.value===o.key?"text-indigo-400 border-indigo-400":"text-slate-400 border-transparent hover:text-slate-300"])},s(o.label),11,Z)),64))])]),u.value==="general"?(r(),l("div",ee,[e("div",te,[e("div",se,[i[3]||(i[3]=e("div",{class:"p-2 rounded-lg bg-indigo-500/10 text-indigo-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})])],-1)),e("h3",ae,s(t.$t("garages.details.company_info")),1)]),e("div",ie,[e("div",le,[e("div",re,[e("div",null,[e("p",oe,s(t.$t("garages.details.company_name")),1),e("p",ne,s(a.value.full_name),1)]),e("div",null,[e("p",de,s(t.$t("garages.details.display_name")),1),e("p",ce,s(a.value.display_name||"—"),1)]),e("div",null,[e("p",ue,s(t.$t("garages.details.org_type")),1),e("p",pe,s(A(a.value.org_type)),1)])]),e("div",ge,[e("div",null,[e("p",_e,s(t.$t("garages.details.tax_number")),1),e("p",me,s(a.value.tax_number||"—"),1)]),e("div",null,[e("p",he,s(t.$t("garages.details.reg_number")),1),e("p",ve,s(a.value.reg_number||"—"),1)]),e("div",null,[e("p",xe,s(t.$t("garages.details.created_at")),1),e("p",be,s(x(a.value.created_at)),1)])])]),e("div",fe,[e("p",ye,s(t.$t("garages.details.address")),1),e("p",ke,s(w.value),1)])])]),e("div",we,[e("div",$e,[i[4]||(i[4]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})])],-1)),e("h3",Ce,s(t.$t("garages.details.subscription_info")),1)]),e("div",ze,[a.value.subscription?(r(),l("div",je,[e("div",Me,[e("div",null,[e("p",Be,s(t.$t("garages.details.tier_name")),1),e("span",{class:d(["inline-flex mt-1 px-2.5 py-0.5 rounded-full text-xs font-medium",F(a.value.subscription.tier_name)])},s(a.value.subscription.tier_name),3)]),e("div",null,[e("p",De,s(t.$t("garages.details.tier_level")),1),e("p",Fe,s(t.$t("garages.details.level_n",{n:a.value.subscription.tier_level})),1)])]),e("div",Ae,[e("div",null,[e("p",He,s(t.$t("garages.details.expires_at")),1),a.value.subscription.expires_at?(r(),l("p",Le,s(x(a.value.subscription.expires_at)),1)):(r(),l("p",Ve,s(t.$t("garages.indefinite")),1))]),e("div",null,[e("p",Ie,s(t.$t("garages.details.asset_limit")),1),e("p",Ne,s(a.value.subscription.asset_limit)+" "+s(t.$t("garages.details.vehicles")),1)])])])):(r(),l("div",Te,[e("p",Ee,s(t.$t("garages.details.no_subscription")),1)]))])]),e("div",Ge,[e("div",Re,[i[5]||(i[5]=e("div",{class:"p-2 rounded-lg bg-emerald-500/10 text-emerald-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"})])],-1)),e("h3",Se,s(t.$t("garages.details.contact_info")),1)]),e("div",Ue,[a.value.primary_contact?(r(),l("div",qe,[e("div",Ke,[e("div",null,[e("p",Pe,s(t.$t("garages.details.contact_name")),1),e("p",Je,s(a.value.primary_contact.full_name),1)]),e("div",null,[e("p",Oe,s(t.$t("garages.details.contact_role")),1),e("p",Qe,s(a.value.primary_contact.role),1)])]),e("div",We,[e("div",null,[e("p",Xe,s(t.$t("garages.details.contact_department")),1),e("p",Ye,s(a.value.primary_contact.department||"—"),1)]),e("div",null,[e("p",Ze,s(t.$t("garages.details.contact_phone")),1),e("p",et,s(a.value.primary_contact.phone||"—"),1)])])])):(r(),l("div",tt,[e("p",st,s(t.$t("garages.details.no_contact")),1)]))])])])):g("",!0),u.value!=="general"?(r(),l("div",at,[e("p",it,s(t.$t("garages.details.coming_soon")),1)])):g("",!0)],64)):g("",!0)]))}});export{ot as default}; diff --git a/frontend_admin/.output/public/_nuxt/builds/latest.json b/frontend_admin/.output/public/_nuxt/builds/latest.json index 32b6852..1f4a484 100644 --- a/frontend_admin/.output/public/_nuxt/builds/latest.json +++ b/frontend_admin/.output/public/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233","timestamp":1782345679846} \ No newline at end of file +{"id":"e6a51bf7-9efc-4598-aa2a-be03bd94fdda","timestamp":1782415310321} \ No newline at end of file diff --git a/frontend_admin/.output/public/_nuxt/builds/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json b/frontend_admin/.output/public/_nuxt/builds/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json deleted file mode 100644 index 5fb889c..0000000 --- a/frontend_admin/.output/public/_nuxt/builds/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233","timestamp":1782345679846,"prerendered":[]} \ No newline at end of file diff --git a/frontend_admin/.output/public/_nuxt/builds/meta/dev.json b/frontend_admin/.output/public/_nuxt/builds/meta/dev.json index 8a6a5b5..7edd3d0 100644 --- a/frontend_admin/.output/public/_nuxt/builds/meta/dev.json +++ b/frontend_admin/.output/public/_nuxt/builds/meta/dev.json @@ -1 +1 @@ -{"id":"dev","timestamp":1782345680189,"prerendered":[]} \ No newline at end of file +{"id":"dev","timestamp":1782415310671,"prerendered":[]} \ No newline at end of file diff --git a/frontend_admin/.output/public/_nuxt/builds/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json b/frontend_admin/.output/public/_nuxt/builds/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json new file mode 100644 index 0000000..2c2b8e3 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/builds/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json @@ -0,0 +1 @@ +{"id":"e6a51bf7-9efc-4598-aa2a-be03bd94fdda","timestamp":1782415310321,"prerendered":[]} \ No newline at end of file diff --git a/frontend_admin/.output/public/_nuxt/d4dk63Pu.js b/frontend_admin/.output/public/_nuxt/d4dk63Pu.js new file mode 100644 index 0000000..e760b4a --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/d4dk63Pu.js @@ -0,0 +1,5 @@ +import{e as ye,q as ve,c as i,a as e,t as o,d as S,F as D,r as L,j as Y,k as _,v as b,s as H,B as Z,i as v,h as R,n as q,m as f,x as ee,C as he,z as ke,o as c}from"./CHWHIiGB.js";import{u as te}from"./j8avB3IT.js";function we(){const x=te();function h(n,d){const u=x.activeLocale||"en-EU";try{return new Intl.NumberFormat(u,d).format(n)}catch{return new Intl.NumberFormat("en-EU",d).format(n)}}function k(n,d,u){const m=x.activeLocale||"en-EU",p=d||x.activeCurrency||"EUR";try{return new Intl.NumberFormat(m,{style:"currency",currency:p,minimumFractionDigits:2,maximumFractionDigits:2,...u}).format(n)}catch{return`${n.toFixed(2)} ${p}`}}function A(n,d){const u=x.activeLocale||"en-EU",m=x.activeTimezone||"Europe/Brussels",p=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(u,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",...d}).format(p)}catch{return p.toLocaleDateString("en-GB")}}function g(n,d){const u=x.activeLocale||"en-EU",m=x.activeTimezone||"Europe/Brussels",p=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(u,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",...d}).format(p)}catch{return p.toLocaleString("en-GB")}}function O(n,d){const u=x.activeLocale||"en-EU";try{return new Intl.NumberFormat(u,{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1,...d}).format(n/100)}catch{return`${n}%`}}function F(n,d){const u=d??x.activeVatRate??0,m=n*(u/100),p=n+m;return{net:n,vat:m,gross:p,vatRate:u}}function P(n,d,u){const{net:m,vat:p,gross:U,vatRate:w}=F(n,d),$=u||x.activeCurrency||"EUR";return`Net: ${k(m,$)} | VAT: ${k(p,$)} (${w}%) | Gross: ${k(U,$)}`}return{formatNumber:h,formatCurrency:k,formatDate:A,formatDateTime:g,formatPercent:O,calculatePriceWithVat:F,formatPriceWithVat:P}}const $e={class:"mb-8 flex items-center justify-between"},Ce={class:"text-2xl font-bold text-white"},ze={class:"text-slate-400 mt-1"},Ue={key:0,class:"flex items-center justify-center py-20"},Ee={class:"flex flex-col items-center gap-3"},Ve={class:"text-slate-400 text-sm"},Fe={key:1,class:"bg-red-900/30 border border-red-700 rounded-xl p-6 text-center"},Te={class:"text-red-300 mb-3"},je={key:2,class:"bg-slate-800/50 border border-slate-700 rounded-xl p-12 text-center"},De={class:"text-lg font-medium text-slate-300 mb-2"},Le={class:"text-slate-500 mb-6"},Re={key:3,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 mb-8"},Pe={class:"flex items-center justify-between mb-4"},Ae={class:"flex items-center gap-3"},Me=["innerHTML"],Be={class:"text-lg font-semibold text-white"},Ne={class:"text-xs text-slate-500 font-mono"},Ie={class:"flex items-center gap-1.5 flex-wrap"},Se={key:0,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-indigo-500/20 text-indigo-300"},He={key:1,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-amber-500/20 text-amber-300",title:"Default fallback package for expired subscriptions"},Ze=["title"],Oe={class:"mb-4"},Je={class:"text-3xl font-bold text-white"},Ge={class:"text-sm text-slate-400 ml-1"},qe={class:"text-sm text-slate-400 mb-4 flex-1"},Ke={class:"border-t border-slate-700 pt-4 mb-4"},We={class:"text-xs font-semibold uppercase tracking-wider text-slate-500 mb-3"},Qe={class:"space-y-2"},Xe={class:"flex items-center justify-between text-sm"},Ye={class:"text-slate-400"},et={class:"text-slate-200 font-medium"},tt={class:"flex items-center justify-between text-sm"},st={class:"text-slate-400"},at={class:"text-slate-200 font-medium"},lt={class:"flex items-center justify-between text-sm"},ot={class:"text-slate-400"},rt={class:"text-slate-200 font-medium"},nt={class:"mb-4"},it={class:"text-xs text-slate-500"},ct={class:"text-xs font-mono text-slate-400"},dt={class:"flex gap-2"},ut=["onClick"],pt=["onClick","title"],_t=["onClick","title"],mt={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-3xl mx-4 shadow-2xl max-h-[90vh] flex flex-col"},ft={class:"flex items-center justify-between px-6 py-4 border-b border-slate-700"},gt={class:"text-lg font-semibold text-white"},bt={class:"flex border-b border-slate-700 px-6"},xt=["onClick"],yt={class:"flex-1 overflow-y-auto px-6 py-5"},vt={key:0,class:"space-y-4"},ht={class:"block text-sm font-medium text-slate-300 mb-1"},kt=["placeholder"],wt={class:"block text-sm font-medium text-slate-300 mb-1"},$t=["placeholder"],Ct={class:"grid grid-cols-2 gap-4"},zt={class:"block text-sm font-medium text-slate-300 mb-1"},Ut={value:"private"},Et={value:"corporate"},Vt={class:"block text-sm font-medium text-slate-300 mb-1"},Ft={class:"text-xs text-slate-500 mt-1"},Tt={class:"grid grid-cols-2 gap-4"},jt={class:"block text-sm font-medium text-slate-300 mb-1"},Dt=["placeholder"],Lt={class:"block text-sm font-medium text-slate-300 mb-1"},Rt=["placeholder"],Pt={class:"flex items-center gap-3"},At={for:"is_custom",class:"text-sm text-slate-300"},Mt={class:"border-t border-slate-700 pt-4"},Bt={class:"text-sm font-semibold text-slate-300 mb-3"},Nt={class:"space-y-4"},It={class:"flex items-center gap-3"},St={for:"is_default_fallback",class:"text-sm text-slate-300"},Ht={class:"block text-sm text-slate-300 mb-1"},Zt={class:"text-xs text-slate-500 mt-1"},Ot={key:1,class:"space-y-6"},Jt={class:"text-sm font-semibold text-slate-300 mb-3"},Gt={class:"overflow-x-auto"},qt={class:"w-full text-sm"},Kt={class:"border-b border-slate-700"},Wt={class:"text-left py-2 px-3 text-slate-400 font-medium"},Qt={class:"text-left py-2 px-3 text-slate-400 font-medium"},Xt={class:"text-left py-2 px-3 text-slate-400 font-medium"},Yt={class:"py-2 px-3 text-slate-200 font-medium"},es={class:"inline-flex items-center gap-1.5"},ts={class:"text-xs text-slate-500"},ss={class:"py-2 px-3"},as=["value","onInput"],ls={class:"py-2 px-3"},os=["value","onInput"],rs={class:"py-2 px-3"},ns=["value","onInput"],is={class:"py-2 px-3"},cs=["value","onInput"],ds={class:"py-2 px-3 text-center"},us=["onClick","title"],ps={class:"flex items-center gap-3 mt-4"},_s={value:"",disabled:""},ms=["value"],fs=["disabled"],gs={class:"border-t border-slate-700 pt-5"},bs={class:"text-sm font-semibold text-slate-300 mb-3"},xs={class:"bg-slate-700/30 rounded-xl p-4 space-y-4"},ys={class:"grid grid-cols-3 gap-4"},vs={class:"block text-xs text-slate-400 mb-1"},hs={class:"block text-xs text-slate-400 mb-1"},ks=["value"],ws={class:"block text-xs text-slate-400 mb-1"},$s=["value"],Cs={class:"grid grid-cols-3 gap-4 pt-2"},zs={class:"bg-slate-800 rounded-lg p-3 text-center"},Us={class:"text-xs text-slate-400 mb-1"},Es={class:"text-lg font-bold text-white"},Vs={class:"bg-slate-800 rounded-lg p-3 text-center"},Fs={class:"text-xs text-slate-400 mb-1"},Ts={class:"text-lg font-bold text-amber-400"},js={class:"bg-slate-800 rounded-lg p-3 text-center ring-2 ring-emerald-500/50"},Ds={class:"text-xs text-slate-400 mb-1"},Ls={class:"text-lg font-bold text-emerald-400"},Rs={class:"flex justify-end pt-1"},Ps={key:2,class:"space-y-5"},As={class:"text-sm font-semibold text-slate-300 mb-3"},Ms={class:"grid grid-cols-3 gap-4"},Bs={class:"block text-xs text-slate-400 mb-1"},Ns={class:"block text-xs text-slate-400 mb-1"},Is={class:"block text-xs text-slate-400 mb-1"},Ss={class:"border-t border-slate-700 pt-4"},Hs={class:"grid grid-cols-3 gap-4"},Zs={class:"flex items-center h-[38px]"},Os={class:"relative inline-flex items-center cursor-pointer"},Js={class:"ms-3 text-sm text-slate-300"},Gs={class:"flex items-center h-[38px]"},qs={class:"relative inline-flex items-center cursor-pointer"},Ks={class:"ms-3 text-sm text-slate-300"},Ws={class:"border-t border-slate-700 pt-4"},Qs={class:"text-sm font-semibold text-slate-300 mb-3"},Xs={class:"text-xs text-slate-500 mt-1"},Ys={key:0,class:"text-xs text-red-400 mt-1"},ea={class:"flex items-center justify-between px-6 py-4 border-t border-slate-700"},ta={class:"text-xs text-slate-500"},sa={class:"flex items-center gap-3"},aa=["disabled"],la={key:0,class:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},oa={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-md mx-4 p-6 shadow-2xl"},ra={class:"text-lg font-semibold text-white mb-2"},na={class:"text-slate-400 text-sm mb-6"},ia={class:"flex items-center justify-end gap-3"},ca=["disabled"],pa=ye({__name:"index",setup(x){const h=te(),{formatCurrency:k}=we(),A=[{key:"basic",label:"📋 Basic Info"},{key:"pricing",label:"💰 Pricing"},{key:"features",label:"⚡ Features"}],g=f("basic"),O=ee(()=>{const t=A.find(s=>s.key===g.value);return t?t.label:""}),F=f([]),P=f(!0),n=f(null),d=f(!1),u=f(!1),m=f(null),p=f(null),U=f(!1),w=f(!1),$=f(null),M=f(null),T=f(""),se=ee(()=>h.regions.filter(t=>t.country_code!=="DEFAULT"&&!l.pricing_zones[t.country_code]));function ae(){if(!T.value)return;const t=T.value;if(l.pricing_zones[t]){y("error",`Region ${t} already exists in pricing zones`);return}const s=h.getRegion(t);l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:s?.currency||"EUR"},T.value="",y("success",`Added pricing zone for ${t}`)}function le(t){t!=="DEFAULT"&&(delete l.pricing_zones[t],y("success",`Removed pricing zone for ${t}`))}const E=f(0),j=f(27),V=f("EUR"),K={name:"",display_name:"",type:"private",tier_level:0,monthly_price:0,yearly_price:0,currency:"EUR",max_vehicles:1,max_garages:1,monthly_free_credits:0,max_cost_category_depth:3,advanced_reports:!1,export_data:!1,subtitle:"",badge:"",is_custom:!1,is_default_fallback:!1,trial_days_on_signup:0,feature_capabilities_json:`{ + "ai_analysis": false, + "priority_support": false, + "api_access": false +}`,pricing_zones:{}},l=he({...K});function W(t,s){const a=l.pricing_zones[t];return a?s==="monthly"?a.monthly_price:a.yearly_price:0}function Q(t,s,a){const r=parseFloat(a)||0;l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:"EUR"}),s==="monthly"?l.pricing_zones[t].monthly_price=r:l.pricing_zones[t].yearly_price=r}function oe(t){const s=l.pricing_zones[t];return s?s.credit_price??0:0}function re(t,s){const a=parseFloat(s)||0;l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:"EUR"}),l.pricing_zones[t].credit_price=a}function ne(t){const s=l.pricing_zones[t];return s?s.currency:"EUR"}function ie(t,s){l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,credit_price:0,currency:"EUR"}),l.pricing_zones[t].currency=s.toUpperCase()}function ce(){const t=h.regions.find(a=>a.default_vat_rate===j);if(!t){y("error","No region found with the selected VAT rate");return}const s=t.country_code;l.pricing_zones[s]||(l.pricing_zones[s]={monthly_price:0,yearly_price:0,credit_price:0,currency:t.currency}),l.pricing_zones[s].monthly_price=E,l.pricing_zones[s].currency=V,y("success",`Applied net price ${k(E,V)} to ${s} region`)}function B(){const s=ke("access_token").value;return s?{Authorization:`Bearer ${s}`}:{}}async function N(){P.value=!0,n.value=null;try{const t=await $fetch("/api/v1/admin/packages",{headers:B()});F.value=t.tiers||[]}catch(t){n.value=t?.data?.detail||t?.message||"Failed to load packages",console.error("[Packages] Fetch error:",t)}finally{P.value=!1}}function I(t){return t.rules?.display_name||t.name}function de(t){return t.rules?.marketing?.subtitle||t.rules?.marketing?.badge||""}function ue(t){const s=t.rules?.pricing_zones,a=t.rules?.pricing;if(s&&s.DEFAULT){const r=s.DEFAULT,C=r.currency==="HUF"?"Ft":"€";return`${r.monthly_price} ${C}`}if(a){const r=a.currency==="HUF"?"Ft":"€";return`${a.monthly_price} ${r}`}return"—"}function J(t,s){const a=t.rules?.allowances;return a?a[s]??"—":"—"}function pe(t){return t>=2?"bg-purple-500/10 text-purple-400":t>=1?"bg-amber-500/10 text-amber-400":"bg-slate-500/10 text-slate-400"}function _e(t){return t>=2?"🏢":t>=1?"⭐":"🔓"}function X(){U.value=!0,m.value=null,g.value="basic",Object.assign(l,K),d.value=!0}function me(t){U.value=!1,m.value=t,g.value="basic";const s=t.rules||{},a=s.pricing_zones?.DEFAULT||s.pricing||{},r=s.allowances||{};l.name=t.name,l.display_name=s.display_name||"",l.type=s.type||"private",l.tier_level=t.tier_level,l.monthly_price=a.monthly_price||0,l.yearly_price=a.yearly_price||0,l.currency=a.currency||"EUR",l.max_vehicles=r.max_vehicles||1,l.max_garages=r.max_garages||1,l.monthly_free_credits=r.monthly_free_credits||0,l.subtitle=s.marketing?.subtitle||"",l.badge=s.marketing?.badge||"",l.is_custom=t.is_custom,l.is_default_fallback=t.is_default_fallback,l.trial_days_on_signup=t.trial_days_on_signup;const C=t.feature_capabilities||{};if(l.max_cost_category_depth=C.max_cost_category_depth??3,l.advanced_reports=C.advanced_reports??!1,l.export_data=C.export_data??!1,l.pricing_zones={},s.pricing_zones)for(const[G,z]of Object.entries(s.pricing_zones))l.pricing_zones[G]={monthly_price:z.monthly_price||0,yearly_price:z.yearly_price||0,credit_price:z.credit_price||0,currency:z.currency||"EUR"};l.feature_capabilities_json=JSON.stringify(t.feature_capabilities||{},null,2),d.value=!0}function fe(t){p.value=t,u.value=!0}function ge(t){U.value=!0,m.value=null,g.value="basic";const s=t.rules||{},a=s.pricing_zones?.DEFAULT||s.pricing||{},r=s.allowances||{};l.name=t.name+"_copy",l.display_name=(s.display_name||t.name)+" (másolat)",l.type=s.type||"private",l.tier_level=t.tier_level,l.monthly_price=a.monthly_price||0,l.yearly_price=a.yearly_price||0,l.currency=a.currency||"EUR",l.max_vehicles=r.max_vehicles||1,l.max_garages=r.max_garages||1,l.monthly_free_credits=r.monthly_free_credits||0,l.subtitle=s.marketing?.subtitle||"",l.badge=s.marketing?.badge||"",l.is_custom=t.is_custom,l.is_default_fallback=!1,l.trial_days_on_signup=t.trial_days_on_signup;const C=t.feature_capabilities||{};if(l.max_cost_category_depth=C.max_cost_category_depth??3,l.advanced_reports=C.advanced_reports??!1,l.export_data=C.export_data??!1,l.pricing_zones={},s.pricing_zones)for(const[G,z]of Object.entries(s.pricing_zones))l.pricing_zones[G]={monthly_price:z.monthly_price||0,yearly_price:z.yearly_price||0,credit_price:z.credit_price||0,currency:z.currency||"EUR"};l.feature_capabilities_json=JSON.stringify(t.feature_capabilities||{},null,2),d.value=!0}async function be(){if(!l.name.trim()){y("error","Package name is required");return}let t={};try{t=JSON.parse(l.feature_capabilities_json),M.value=null}catch{M.value="Invalid JSON in feature capabilities",g.value="features";return}w.value=!0;try{const s={...l.pricing_zones};s.DEFAULT||(s.DEFAULT={monthly_price:l.monthly_price,yearly_price:l.yearly_price,credit_price:0,currency:l.currency.toUpperCase()});const a={...t,max_cost_category_depth:l.max_cost_category_depth,advanced_reports:l.advanced_reports,export_data:l.export_data},r={type:l.type,display_name:l.display_name||null,pricing_zones:s,allowances:{max_vehicles:l.max_vehicles,max_garages:l.max_garages,monthly_free_credits:l.monthly_free_credits},marketing:{subtitle:l.subtitle||null,badge:l.badge||null},lifecycle:{is_public:!0}};U.value?(await $fetch("/api/v1/admin/packages",{method:"POST",headers:{...B(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:r,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:a,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),y("success",`Package "${l.name}" created successfully`)):m.value&&(await $fetch(`/api/v1/admin/packages/${m.value.id}`,{method:"PATCH",headers:{...B(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:r,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:a,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),y("success",`Package "${l.name}" updated successfully`)),d.value=!1,await N()}catch(s){const a=s?.data?.detail||s?.message||"Operation failed";y("error",a),console.error("[Packages] Save error:",s)}finally{w.value=!1}}async function xe(){if(p.value){w.value=!0;try{await $fetch(`/api/v1/admin/packages/${p.value.id}`,{method:"DELETE",headers:B()}),y("success",`Package "${I(p.value)}" deactivated`),u.value=!1,p.value=null,await N()}catch(t){const s=t?.data?.detail||t?.message||"Delete failed";y("error",s),console.error("[Packages] Delete error:",t)}finally{w.value=!1}}}function y(t,s){$.value={type:t,message:s},setTimeout(()=>{$.value=null},4e3)}return ve(()=>{N(),h.fetchRegions()}),(t,s)=>(c(),i("div",null,[e("div",$e,[e("div",null,[e("h1",Ce,o(t.$t("packages.title")),1),e("p",ze,o(t.$t("packages.subtitle")),1)]),e("button",{onClick:X,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[s[25]||(s[25]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),S(" "+o(t.$t("packages.create_new")),1)])]),P.value?(c(),i("div",Ue,[e("div",Ee,[s[26]||(s[26]=e("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("span",Ve,o(t.$t("packages.loading")),1)])])):n.value?(c(),i("div",Fe,[e("p",Te,o(n.value),1),e("button",{onClick:N,class:"px-4 py-2 bg-red-700 hover:bg-red-600 text-white rounded-lg transition text-sm"},o(t.$t("packages.retry")),1)])):F.value.length===0?(c(),i("div",je,[s[27]||(s[27]=e("svg",{class:"w-16 h-16 mx-auto text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"})],-1)),e("h3",De,o(t.$t("packages.no_packages")),1),e("p",Le,o(t.$t("packages.no_packages_desc")),1),e("button",{onClick:X,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.create_first")),1)])):(c(),i("div",Re,[(c(!0),i(D,null,L(F.value,a=>(c(),i("div",{key:a.id,class:"bg-slate-800 rounded-xl border border-slate-700 p-6 flex flex-col transition-all hover:border-slate-600"},[e("div",Pe,[e("div",Ae,[e("div",{class:q(["p-2 rounded-lg",pe(a.tier_level)])},[e("span",{class:"w-5 h-5 text-lg",innerHTML:_e(a.tier_level)},null,8,Me)],2),e("div",null,[e("h2",Be,o(I(a)),1),e("span",Ne,o(a.name),1)])]),e("div",Ie,[a.tier_level>=1?(c(),i("span",Se,o(t.$t("packages.popular")),1)):v("",!0),a.is_default_fallback?(c(),i("span",He," 🔒 "+o(t.$t("packages.fallback_badge")),1)):v("",!0),a.trial_days_on_signup>0?(c(),i("span",{key:2,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-emerald-500/20 text-emerald-300",title:`${a.trial_days_on_signup} days trial on signup`}," 🎯 "+o(t.$t("packages.trial_badge"))+": "+o(a.trial_days_on_signup)+"d ",9,Ze)):v("",!0)])]),e("div",Oe,[e("span",Je,o(ue(a)),1),e("span",Ge,"/ "+o(t.$t("packages.month")),1)]),e("p",qe,o(de(a)),1),e("div",Ke,[e("h3",We,o(t.$t("packages.allowances")),1),e("div",Qe,[e("div",Xe,[e("span",Ye,o(t.$t("packages.max_vehicles")),1),e("span",et,o(J(a,"max_vehicles")),1)]),e("div",tt,[e("span",st,o(t.$t("packages.max_garages")),1),e("span",at,o(J(a,"max_garages")),1)]),e("div",lt,[e("span",ot,o(t.$t("packages.monthly_credits")),1),e("span",rt,o(J(a,"monthly_free_credits")),1)])])]),e("div",nt,[e("span",it,o(t.$t("packages.tier_level"))+": ",1),e("span",ct,o(a.tier_level),1)]),e("div",dt,[e("button",{onClick:r=>me(a),class:"flex-1 px-4 py-2.5 bg-indigo-600 hover:bg-indigo-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.edit")),9,ut),e("button",{onClick:r=>ge(a),class:"px-3 py-2.5 bg-emerald-700 hover:bg-emerald-600 text-emerald-200 rounded-lg transition",title:t.$t("packages.duplicate")},[...s[28]||(s[28]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])],8,pt),e("button",{onClick:r=>fe(a),class:"px-3 py-2.5 bg-red-700 hover:bg-red-600 text-red-200 rounded-lg transition",title:t.$t("packages.delete")},[...s[29]||(s[29]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,_t)])]))),128))])),d.value?(c(),i("div",{key:4,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[22]||(s[22]=Y(a=>d.value=!1,["self"]))},[e("div",mt,[e("div",ft,[e("h3",gt,o(U.value?t.$t("packages.create_title"):t.$t("packages.edit_title")+": "+I(m.value)),1),e("button",{onClick:s[0]||(s[0]=a=>d.value=!1),class:"p-1 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"},[...s[30]||(s[30]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e("div",bt,[(c(),i(D,null,L(A,a=>e("button",{key:a.key,onClick:r=>g.value=a.key,class:q(["px-4 py-3 text-sm font-medium border-b-2 transition",g.value===a.key?"border-indigo-500 text-indigo-300":"border-transparent text-slate-400 hover:text-slate-200 hover:border-slate-500"])},o(a.label),11,xt)),64))]),e("div",yt,[g.value==="basic"?(c(),i("div",vt,[e("div",null,[e("label",ht,o(t.$t("packages.form_name")),1),_(e("input",{"onUpdate:modelValue":s[1]||(s[1]=a=>l.name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_name_placeholder")},null,8,kt),[[b,l.name]])]),e("div",null,[e("label",wt,o(t.$t("packages.form_display_name")),1),_(e("input",{"onUpdate:modelValue":s[2]||(s[2]=a=>l.display_name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_display_name_placeholder")},null,8,$t),[[b,l.display_name]])]),e("div",Ct,[e("div",null,[e("label",zt,o(t.$t("packages.form_type")),1),_(e("select",{"onUpdate:modelValue":s[3]||(s[3]=a=>l.type=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},[e("option",Ut,o(t.$t("packages.type_private")),1),e("option",Et,o(t.$t("packages.type_corporate")),1)],512),[[H,l.type]])]),e("div",null,[e("label",Vt,o(t.$t("packages.form_tier_level")),1),_(e("input",{"onUpdate:modelValue":s[4]||(s[4]=a=>l.tier_level=a),type:"number",min:"0",max:"10",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.tier_level,void 0,{number:!0}]]),e("p",Ft,o(t.$t("packages.form_tier_level_hint")),1)])]),e("div",Tt,[e("div",null,[e("label",jt,o(t.$t("packages.form_subtitle")),1),_(e("input",{"onUpdate:modelValue":s[5]||(s[5]=a=>l.subtitle=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_subtitle_placeholder")},null,8,Dt),[[b,l.subtitle]])]),e("div",null,[e("label",Lt,o(t.$t("packages.form_badge")),1),_(e("input",{"onUpdate:modelValue":s[6]||(s[6]=a=>l.badge=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_badge_placeholder")},null,8,Rt),[[b,l.badge]])])]),e("div",Pt,[_(e("input",{"onUpdate:modelValue":s[7]||(s[7]=a=>l.is_custom=a),type:"checkbox",id:"is_custom",class:"rounded bg-slate-700 border-slate-600 text-indigo-600 focus:ring-indigo-500"},null,512),[[Z,l.is_custom]]),e("label",At,o(t.$t("packages.form_is_custom")),1)]),e("div",Mt,[e("h4",Bt,o(t.$t("packages.singleton_rules")),1),e("div",Nt,[e("div",It,[_(e("input",{"onUpdate:modelValue":s[8]||(s[8]=a=>l.is_default_fallback=a),type:"checkbox",id:"is_default_fallback",class:"rounded bg-slate-700 border-slate-600 text-amber-500 focus:ring-amber-500"},null,512),[[Z,l.is_default_fallback]]),e("label",St,o(t.$t("packages.form_is_default_fallback")),1)]),e("div",null,[e("label",Ht,o(t.$t("packages.form_trial_days")),1),_(e("input",{"onUpdate:modelValue":s[9]||(s[9]=a=>l.trial_days_on_signup=a),type:"number",min:"0",max:"365",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},null,512),[[b,l.trial_days_on_signup,void 0,{number:!0}]]),e("p",Zt,o(t.$t("packages.form_trial_days_hint")),1)])])])])):v("",!0),g.value==="pricing"?(c(),i("div",Ot,[e("div",null,[e("h4",Jt,o(t.$t("packages.per_region_pricing")),1),e("div",Gt,[e("table",qt,[e("thead",null,[e("tr",Kt,[s[31]||(s[31]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},"Region",-1)),e("th",Wt,o(t.$t("packages.form_monthly_price")),1),e("th",Qt,o(t.$t("packages.form_yearly_price")),1),s[32]||(s[32]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},"Kredit Ár",-1)),e("th",Xt,o(t.$t("packages.form_currency")),1),s[33]||(s[33]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},null,-1))])]),e("tbody",null,[(c(!0),i(D,null,L(R(h).regions,a=>(c(),i("tr",{key:a.country_code,class:"border-b border-slate-700/50"},[e("td",Yt,[e("span",es,[e("span",null,o(a.country_code),1),e("span",ts,"("+o(a.currency)+", "+o(a.default_vat_rate)+"% VAT)",1)])]),e("td",ss,[e("input",{value:W(a.country_code,"monthly"),onInput:r=>Q(a.country_code,"monthly",r.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,as)]),e("td",ls,[e("input",{value:W(a.country_code,"yearly"),onInput:r=>Q(a.country_code,"yearly",r.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,os)]),e("td",rs,[e("input",{value:oe(a.country_code),onInput:r=>re(a.country_code,r.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,ns)]),e("td",is,[e("input",{value:ne(a.country_code),onInput:r=>ie(a.country_code,r.target.value),type:"text",maxlength:"3",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent uppercase"},null,40,cs)]),e("td",ds,[e("button",{onClick:r=>le(a.country_code),class:"p-1.5 rounded-lg text-red-400 hover:text-red-300 hover:bg-red-500/10 transition",title:"Remove "+a.country_code},[...s[34]||(s[34]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,us)])]))),128))])])]),e("div",ps,[_(e("select",{"onUpdate:modelValue":s[10]||(s[10]=a=>T.value=a),class:"px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},[e("option",_s,o(t.$t("packages.add_zone_select")),1),(c(!0),i(D,null,L(se.value,a=>(c(),i("option",{key:a.country_code,value:a.country_code},o(a.country_code)+" — "+o(a.name)+" ("+o(a.currency)+", "+o(a.default_vat_rate)+"% VAT) ",9,ms))),128))],512),[[H,T.value]]),e("button",{onClick:ae,disabled:!T.value,class:"px-4 py-2 bg-indigo-600 hover:bg-indigo-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white text-sm font-medium rounded-lg transition flex items-center gap-2"},[s[35]||(s[35]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),S(" "+o(t.$t("packages.add_zone")),1)],8,fs)])]),e("div",gs,[e("h4",bs,"🧮 "+o(t.$t("packages.smart_calculator")),1),e("div",xs,[e("div",ys,[e("div",null,[e("label",vs,o(t.$t("packages.calc_net_price")),1),_(e("input",{"onUpdate:modelValue":s[11]||(s[11]=a=>E.value=a),type:"number",step:"0.01",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent",placeholder:"0.00"},null,512),[[b,E.value,void 0,{number:!0}]])]),e("div",null,[e("label",hs,o(t.$t("packages.calc_vat_rate")),1),_(e("select",{"onUpdate:modelValue":s[12]||(s[12]=a=>j.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(c(!0),i(D,null,L(R(h).regions,a=>(c(),i("option",{key:a.country_code,value:a.default_vat_rate},o(a.country_code)+" — "+o(a.default_vat_rate)+"% ",9,ks))),128))],512),[[H,j.value]])]),e("div",null,[e("label",ws,o(t.$t("packages.calc_currency")),1),_(e("select",{"onUpdate:modelValue":s[13]||(s[13]=a=>V.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(c(!0),i(D,null,L(R(h).regions,a=>(c(),i("option",{key:a.country_code,value:a.currency},o(a.currency)+" ("+o(a.country_code)+") ",9,$s))),128))],512),[[H,V.value]])])]),e("div",Cs,[e("div",zs,[e("p",Us,o(t.$t("packages.calc_net")),1),e("p",Es,o(R(k)(E.value,V.value)),1)]),e("div",Vs,[e("p",Fs,o(t.$t("packages.calc_vat"))+" ("+o(j.value)+"%)",1),e("p",Ts,o(R(k)(E.value*(j.value/100),V.value)),1)]),e("div",js,[e("p",Ds,o(t.$t("packages.calc_gross")),1),e("p",Ls,o(R(k)(E.value*(1+j.value/100),V.value)),1)])]),e("div",Rs,[e("button",{onClick:ce,class:"px-4 py-2 bg-emerald-600 hover:bg-emerald-500 text-white text-sm font-medium rounded-lg transition flex items-center gap-2"},[s[36]||(s[36]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"})],-1)),S(" "+o(t.$t("packages.calc_apply")),1)])])])])])):v("",!0),g.value==="features"?(c(),i("div",Ps,[e("div",null,[e("h4",As,o(t.$t("packages.allowances")),1),e("div",Ms,[e("div",null,[e("label",Bs,o(t.$t("packages.max_vehicles")),1),_(e("input",{"onUpdate:modelValue":s[14]||(s[14]=a=>l.max_vehicles=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.max_vehicles,void 0,{number:!0}]])]),e("div",null,[e("label",Ns,o(t.$t("packages.max_garages")),1),_(e("input",{"onUpdate:modelValue":s[15]||(s[15]=a=>l.max_garages=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.max_garages,void 0,{number:!0}]])]),e("div",null,[e("label",Is,o(t.$t("packages.monthly_credits")),1),_(e("input",{"onUpdate:modelValue":s[16]||(s[16]=a=>l.monthly_free_credits=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.monthly_free_credits,void 0,{number:!0}]])])])]),e("div",Ss,[s[42]||(s[42]=e("h4",{class:"text-sm font-semibold text-slate-300 mb-3"},"SaaS Allowances",-1)),e("div",Hs,[e("div",null,[s[37]||(s[37]=e("label",{class:"block text-xs text-slate-400 mb-1"},"Költségkategória mélység (max_cost_category_depth)",-1)),_(e("input",{"onUpdate:modelValue":s[17]||(s[17]=a=>l.max_cost_category_depth=a),type:"number",min:"0",max:"10",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[b,l.max_cost_category_depth,void 0,{number:!0}]])]),e("div",null,[s[39]||(s[39]=e("label",{class:"block text-xs text-slate-400 mb-1"},"Statisztika (advanced_reports)",-1)),e("div",Zs,[e("label",Os,[_(e("input",{"onUpdate:modelValue":s[18]||(s[18]=a=>l.advanced_reports=a),type:"checkbox",class:"sr-only peer"},null,512),[[Z,l.advanced_reports]]),s[38]||(s[38]=e("div",{class:"w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"},null,-1)),e("span",Js,o(l.advanced_reports?"Enabled":"Disabled"),1)])])]),e("div",null,[s[41]||(s[41]=e("label",{class:"block text-xs text-slate-400 mb-1"},"PDF/CSV Export (export_data)",-1)),e("div",Gs,[e("label",qs,[_(e("input",{"onUpdate:modelValue":s[19]||(s[19]=a=>l.export_data=a),type:"checkbox",class:"sr-only peer"},null,512),[[Z,l.export_data]]),s[40]||(s[40]=e("div",{class:"w-11 h-6 bg-slate-600 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-500 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"},null,-1)),e("span",Ks,o(l.export_data?"Enabled":"Disabled"),1)])])])])]),e("div",Ws,[e("h4",Qs,o(t.$t("packages.feature_capabilities")),1),_(e("textarea",{"onUpdate:modelValue":s[20]||(s[20]=a=>l.feature_capabilities_json=a),rows:"8",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm font-mono focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:'{\\n "ai_analysis": true,\\n "priority_support": false,\\n "api_access": true\\n}'},null,512),[[b,l.feature_capabilities_json]]),e("p",Xs,o(t.$t("packages.feature_capabilities_hint")),1),M.value?(c(),i("p",Ys,o(M.value),1)):v("",!0)])])):v("",!0)]),e("div",ea,[e("div",ta,o(O.value),1),e("div",sa,[e("button",{onClick:s[21]||(s[21]=a=>d.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:be,disabled:w.value,class:"px-6 py-2 bg-emerald-600 hover:bg-emerald-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[w.value?(c(),i("svg",la,[...s[43]||(s[43]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):v("",!0),S(" "+o(U.value?t.$t("packages.create"):t.$t("packages.save")),1)],8,aa)])])])])):v("",!0),u.value&&p.value?(c(),i("div",{key:5,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[24]||(s[24]=Y(a=>u.value=!1,["self"]))},[e("div",oa,[e("h3",ra,o(t.$t("packages.delete_title")),1),e("p",na,o(t.$t("packages.delete_confirm",{name:I(p.value)})),1),e("div",ia,[e("button",{onClick:s[23]||(s[23]=a=>u.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:xe,disabled:w.value,class:"px-6 py-2 bg-red-600 hover:bg-red-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.delete_btn")),9,ca)])])])):v("",!0),$.value?(c(),i("div",{key:6,class:q(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",$.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},o($.value.message),3)):v("",!0)]))}});export{pa as default}; diff --git a/frontend_admin/.output/public/_nuxt/j8avB3IT.js b/frontend_admin/.output/public/_nuxt/j8avB3IT.js new file mode 100644 index 0000000..3301a18 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/j8avB3IT.js @@ -0,0 +1 @@ +import{a3 as _,m as u,x as a}from"./CHWHIiGB.js";const h=_("region",()=>{const t=u([]),n=u(null),c=u(!1),l=u(null),o=a(()=>t.value.find(e=>e.country_code==="DEFAULT")||null),s=a(()=>{const e=new Map;for(const r of t.value)e.set(r.country_code,r);return e}),i=a(()=>n.value?.currency||o.value?.currency||"EUR"),v=a(()=>n.value?.locale_code||o.value?.locale_code||"en-EU"),f=a(()=>n.value?.default_vat_rate??o.value?.default_vat_rate??0),d=a(()=>n.value?.timezone||o.value?.timezone||"Europe/Brussels");async function g(){if(!(t.value.length>0)){c.value=!0,l.value=null;try{const e=await $fetch("/api/v1/system/regions");t.value=e||[]}catch(e){l.value=e?.data?.detail||e?.message||"Failed to load regions",console.error("[RegionStore] Fetch error:",e)}finally{c.value=!1}}}function m(e){const r=t.value.find(R=>R.country_code===e);n.value=r||o.value}function y(e){return s.value.get(e)}return{regions:t,activeRegion:n,isLoading:c,error:l,defaultRegion:o,regionMap:s,activeCurrency:i,activeLocale:v,activeVatRate:f,activeTimezone:d,fetchRegions:g,setActiveRegion:m,getRegion:y}});export{h as u}; diff --git a/frontend_admin/.output/public/_nuxt/ncKxzOzI.js b/frontend_admin/.output/public/_nuxt/ncKxzOzI.js deleted file mode 100644 index 02672aa..0000000 --- a/frontend_admin/.output/public/_nuxt/ncKxzOzI.js +++ /dev/null @@ -1,5 +0,0 @@ -import{e as de,y as ue,c as r,a as e,t as o,d as H,F as j,r as D,j as K,k as _,v as x,q as O,z as Q,i as y,h as E,n as Z,m as g,x as pe,s as me,A as _e,o as i}from"./CqYPuxVf.js";import{u as X}from"./DWjNh9rV.js";function ge(){const f=X();function $(n,c){const d=f.activeLocale||"en-EU";try{return new Intl.NumberFormat(d,c).format(n)}catch{return new Intl.NumberFormat("en-EU",c).format(n)}}function v(n,c,d){const m=f.activeLocale||"en-EU",u=c||f.activeCurrency||"EUR";try{return new Intl.NumberFormat(m,{style:"currency",currency:u,minimumFractionDigits:2,maximumFractionDigits:2,...d}).format(n)}catch{return`${n.toFixed(2)} ${u}`}}function L(n,c){const d=f.activeLocale||"en-EU",m=f.activeTimezone||"Europe/Brussels",u=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(d,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",...c}).format(u)}catch{return u.toLocaleDateString("en-GB")}}function b(n,c){const d=f.activeLocale||"en-EU",m=f.activeTimezone||"Europe/Brussels",u=typeof n=="string"||typeof n=="number"?new Date(n):n;try{return new Intl.DateTimeFormat(d,{timezone:m,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",...c}).format(u)}catch{return u.toLocaleString("en-GB")}}function A(n,c){const d=f.activeLocale||"en-EU";try{return new Intl.NumberFormat(d,{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1,...c}).format(n/100)}catch{return`${n}%`}}function V(n,c){const d=c??f.activeVatRate??0,m=n*(d/100),u=n+m;return{net:n,vat:m,gross:u,vatRate:d}}function T(n,c,d){const{net:m,vat:u,gross:C,vatRate:h}=V(n,c),k=d||f.activeCurrency||"EUR";return`Net: ${v(m,k)} | VAT: ${v(u,k)} (${h}%) | Gross: ${v(C,k)}`}return{formatNumber:$,formatCurrency:v,formatDate:L,formatDateTime:b,formatPercent:A,calculatePriceWithVat:V,formatPriceWithVat:T}}const fe={class:"mb-8 flex items-center justify-between"},be={class:"text-2xl font-bold text-white"},xe={class:"text-slate-400 mt-1"},ye={key:0,class:"flex items-center justify-center py-20"},ve={class:"flex flex-col items-center gap-3"},he={class:"text-slate-400 text-sm"},ke={key:1,class:"bg-red-900/30 border border-red-700 rounded-xl p-6 text-center"},we={class:"text-red-300 mb-3"},$e={key:2,class:"bg-slate-800/50 border border-slate-700 rounded-xl p-12 text-center"},Ce={class:"text-lg font-medium text-slate-300 mb-2"},Ue={class:"text-slate-500 mb-6"},ze={key:3,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 mb-8"},Ve={class:"flex items-center justify-between mb-4"},Fe={class:"flex items-center gap-3"},Ee=["innerHTML"],Te={class:"text-lg font-semibold text-white"},je={class:"text-xs text-slate-500 font-mono"},De={class:"flex items-center gap-1.5 flex-wrap"},Le={key:0,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-indigo-500/20 text-indigo-300"},Pe={key:1,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-amber-500/20 text-amber-300",title:"Default fallback package for expired subscriptions"},Me=["title"],Re={class:"mb-4"},Ne={class:"text-3xl font-bold text-white"},Ae={class:"text-sm text-slate-400 ml-1"},Be={class:"text-sm text-slate-400 mb-4 flex-1"},Ie={class:"border-t border-slate-700 pt-4 mb-4"},Se={class:"text-xs font-semibold uppercase tracking-wider text-slate-500 mb-3"},He={class:"space-y-2"},Oe={class:"flex items-center justify-between text-sm"},Ze={class:"text-slate-400"},Ge={class:"text-slate-200 font-medium"},Je={class:"flex items-center justify-between text-sm"},qe={class:"text-slate-400"},We={class:"text-slate-200 font-medium"},Ke={class:"flex items-center justify-between text-sm"},Qe={class:"text-slate-400"},Xe={class:"text-slate-200 font-medium"},Ye={class:"mb-4"},et={class:"text-xs text-slate-500"},tt={class:"text-xs font-mono text-slate-400"},st={class:"flex gap-2"},at=["onClick"],lt=["onClick","title"],ot={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-3xl mx-4 shadow-2xl max-h-[90vh] flex flex-col"},nt={class:"flex items-center justify-between px-6 py-4 border-b border-slate-700"},rt={class:"text-lg font-semibold text-white"},it={class:"flex border-b border-slate-700 px-6"},ct=["onClick"],dt={class:"flex-1 overflow-y-auto px-6 py-5"},ut={key:0,class:"space-y-4"},pt={class:"block text-sm font-medium text-slate-300 mb-1"},mt=["placeholder"],_t={class:"block text-sm font-medium text-slate-300 mb-1"},gt=["placeholder"],ft={class:"grid grid-cols-2 gap-4"},bt={class:"block text-sm font-medium text-slate-300 mb-1"},xt={value:"private"},yt={value:"corporate"},vt={class:"block text-sm font-medium text-slate-300 mb-1"},ht={class:"text-xs text-slate-500 mt-1"},kt={class:"grid grid-cols-2 gap-4"},wt={class:"block text-sm font-medium text-slate-300 mb-1"},$t=["placeholder"],Ct={class:"block text-sm font-medium text-slate-300 mb-1"},Ut=["placeholder"],zt={class:"flex items-center gap-3"},Vt={for:"is_custom",class:"text-sm text-slate-300"},Ft={class:"border-t border-slate-700 pt-4"},Et={class:"text-sm font-semibold text-slate-300 mb-3"},Tt={class:"space-y-4"},jt={class:"flex items-center gap-3"},Dt={for:"is_default_fallback",class:"text-sm text-slate-300"},Lt={class:"block text-sm text-slate-300 mb-1"},Pt={class:"text-xs text-slate-500 mt-1"},Mt={key:1,class:"space-y-6"},Rt={class:"text-sm font-semibold text-slate-300 mb-3"},Nt={class:"overflow-x-auto"},At={class:"w-full text-sm"},Bt={class:"border-b border-slate-700"},It={class:"text-left py-2 px-3 text-slate-400 font-medium"},St={class:"text-left py-2 px-3 text-slate-400 font-medium"},Ht={class:"text-left py-2 px-3 text-slate-400 font-medium"},Ot={class:"py-2 px-3 text-slate-200 font-medium"},Zt={class:"inline-flex items-center gap-1.5"},Gt={class:"text-xs text-slate-500"},Jt={class:"py-2 px-3"},qt=["value","onInput"],Wt={class:"py-2 px-3"},Kt=["value","onInput"],Qt={class:"py-2 px-3"},Xt=["value","onInput"],Yt={class:"border-t border-slate-700 pt-5"},es={class:"text-sm font-semibold text-slate-300 mb-3"},ts={class:"bg-slate-700/30 rounded-xl p-4 space-y-4"},ss={class:"grid grid-cols-3 gap-4"},as={class:"block text-xs text-slate-400 mb-1"},ls={class:"block text-xs text-slate-400 mb-1"},os=["value"],ns={class:"block text-xs text-slate-400 mb-1"},rs=["value"],is={class:"grid grid-cols-3 gap-4 pt-2"},cs={class:"bg-slate-800 rounded-lg p-3 text-center"},ds={class:"text-xs text-slate-400 mb-1"},us={class:"text-lg font-bold text-white"},ps={class:"bg-slate-800 rounded-lg p-3 text-center"},ms={class:"text-xs text-slate-400 mb-1"},_s={class:"text-lg font-bold text-amber-400"},gs={class:"bg-slate-800 rounded-lg p-3 text-center ring-2 ring-emerald-500/50"},fs={class:"text-xs text-slate-400 mb-1"},bs={class:"text-lg font-bold text-emerald-400"},xs={class:"flex justify-end pt-1"},ys={key:2,class:"space-y-5"},vs={class:"text-sm font-semibold text-slate-300 mb-3"},hs={class:"grid grid-cols-3 gap-4"},ks={class:"block text-xs text-slate-400 mb-1"},ws={class:"block text-xs text-slate-400 mb-1"},$s={class:"block text-xs text-slate-400 mb-1"},Cs={class:"border-t border-slate-700 pt-4"},Us={class:"text-sm font-semibold text-slate-300 mb-3"},zs={class:"text-xs text-slate-500 mt-1"},Vs={key:0,class:"text-xs text-red-400 mt-1"},Fs={class:"flex items-center justify-between px-6 py-4 border-t border-slate-700"},Es={class:"text-xs text-slate-500"},Ts={class:"flex items-center gap-3"},js=["disabled"],Ds={key:0,class:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},Ls={class:"bg-slate-800 border border-slate-700 rounded-xl w-full max-w-md mx-4 p-6 shadow-2xl"},Ps={class:"text-lg font-semibold text-white mb-2"},Ms={class:"text-slate-400 text-sm mb-6"},Rs={class:"flex items-center justify-end gap-3"},Ns=["disabled"],Is=de({__name:"index",setup(f){const $=X(),{formatCurrency:v}=ge(),L=[{key:"basic",label:"📋 Basic Info"},{key:"pricing",label:"💰 Pricing"},{key:"features",label:"⚡ Features"}],b=g("basic"),A=pe(()=>{const t=L.find(s=>s.key===b.value);return t?t.label:""}),V=g([]),T=g(!0),n=g(null),c=g(!1),d=g(!1),m=g(null),u=g(null),C=g(!1),h=g(!1),k=g(null),P=g(null),U=g(0),F=g(27),z=g("EUR"),G={name:"",display_name:"",type:"private",tier_level:0,monthly_price:0,yearly_price:0,currency:"EUR",max_vehicles:1,max_garages:1,monthly_free_credits:0,subtitle:"",badge:"",is_custom:!1,is_default_fallback:!1,trial_days_on_signup:0,feature_capabilities_json:`{ - "ai_analysis": false, - "priority_support": false, - "api_access": false -}`,pricing_zones:{}},l=me({...G});function J(t,s){const a=l.pricing_zones[t];return a?s==="monthly"?a.monthly_price:a.yearly_price:0}function q(t,s,a){const p=parseFloat(a)||0;l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,currency:"EUR"}),s==="monthly"?l.pricing_zones[t].monthly_price=p:l.pricing_zones[t].yearly_price=p}function Y(t){const s=l.pricing_zones[t];return s?s.currency:"EUR"}function ee(t,s){l.pricing_zones[t]||(l.pricing_zones[t]={monthly_price:0,yearly_price:0,currency:"EUR"}),l.pricing_zones[t].currency=s.toUpperCase()}function te(){const t=$.regions.find(a=>a.default_vat_rate===F);if(!t){w("error","No region found with the selected VAT rate");return}const s=t.country_code;l.pricing_zones[s]||(l.pricing_zones[s]={monthly_price:0,yearly_price:0,currency:t.currency}),l.pricing_zones[s].monthly_price=U,l.pricing_zones[s].currency=z,w("success",`Applied net price ${v(U,z)} to ${s} region`)}function M(){const s=_e("access_token").value;return s?{Authorization:`Bearer ${s}`}:{}}async function R(){T.value=!0,n.value=null;try{const t=await $fetch("/api/v1/admin/packages",{headers:M()});V.value=t.tiers||[]}catch(t){n.value=t?.data?.detail||t?.message||"Failed to load packages",console.error("[Packages] Fetch error:",t)}finally{T.value=!1}}function N(t){return t.rules?.display_name||t.name}function se(t){return t.rules?.marketing?.subtitle||t.rules?.marketing?.badge||""}function ae(t){const s=t.rules?.pricing_zones,a=t.rules?.pricing;if(s&&s.DEFAULT){const p=s.DEFAULT,I=p.currency==="HUF"?"Ft":"€";return`${p.monthly_price} ${I}`}if(a){const p=a.currency==="HUF"?"Ft":"€";return`${a.monthly_price} ${p}`}return"—"}function B(t,s){const a=t.rules?.allowances;return a?a[s]??"—":"—"}function le(t){return t>=2?"bg-purple-500/10 text-purple-400":t>=1?"bg-amber-500/10 text-amber-400":"bg-slate-500/10 text-slate-400"}function oe(t){return t>=2?"🏢":t>=1?"⭐":"🔓"}function W(){C.value=!0,m.value=null,b.value="basic",Object.assign(l,G),c.value=!0}function ne(t){C.value=!1,m.value=t,b.value="basic";const s=t.rules||{},a=s.pricing_zones?.DEFAULT||s.pricing||{},p=s.allowances||{};if(l.name=t.name,l.display_name=s.display_name||"",l.type=s.type||"private",l.tier_level=t.tier_level,l.monthly_price=a.monthly_price||0,l.yearly_price=a.yearly_price||0,l.currency=a.currency||"EUR",l.max_vehicles=p.max_vehicles||1,l.max_garages=p.max_garages||1,l.monthly_free_credits=p.monthly_free_credits||0,l.subtitle=s.marketing?.subtitle||"",l.badge=s.marketing?.badge||"",l.is_custom=t.is_custom,l.is_default_fallback=t.is_default_fallback,l.trial_days_on_signup=t.trial_days_on_signup,l.pricing_zones={},s.pricing_zones)for(const[I,S]of Object.entries(s.pricing_zones))l.pricing_zones[I]={monthly_price:S.monthly_price||0,yearly_price:S.yearly_price||0,currency:S.currency||"EUR"};l.feature_capabilities_json=JSON.stringify(t.feature_capabilities||{},null,2),c.value=!0}function re(t){u.value=t,d.value=!0}async function ie(){if(!l.name.trim()){w("error","Package name is required");return}let t={};try{t=JSON.parse(l.feature_capabilities_json),P.value=null}catch{P.value="Invalid JSON in feature capabilities",b.value="features";return}h.value=!0;try{const s={...l.pricing_zones};s.DEFAULT||(s.DEFAULT={monthly_price:l.monthly_price,yearly_price:l.yearly_price,currency:l.currency.toUpperCase()});const a={type:l.type,display_name:l.display_name||null,pricing_zones:s,allowances:{max_vehicles:l.max_vehicles,max_garages:l.max_garages,monthly_free_credits:l.monthly_free_credits},marketing:{subtitle:l.subtitle||null,badge:l.badge||null},lifecycle:{is_public:!0}};C.value?(await $fetch("/api/v1/admin/packages",{method:"POST",headers:{...M(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:a,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:t,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),w("success",`Package "${l.name}" created successfully`)):m.value&&(await $fetch(`/api/v1/admin/packages/${m.value.id}`,{method:"PATCH",headers:{...M(),"Content-Type":"application/json"},body:{name:l.name.trim().toLowerCase(),rules:a,is_custom:l.is_custom,tier_level:l.tier_level,feature_capabilities:t,is_default_fallback:l.is_default_fallback,trial_days_on_signup:l.trial_days_on_signup}}),w("success",`Package "${l.name}" updated successfully`)),c.value=!1,await R()}catch(s){const a=s?.data?.detail||s?.message||"Operation failed";w("error",a),console.error("[Packages] Save error:",s)}finally{h.value=!1}}async function ce(){if(u.value){h.value=!0;try{await $fetch(`/api/v1/admin/packages/${u.value.id}`,{method:"DELETE",headers:M()}),w("success",`Package "${N(u.value)}" deactivated`),d.value=!1,u.value=null,await R()}catch(t){const s=t?.data?.detail||t?.message||"Delete failed";w("error",s),console.error("[Packages] Delete error:",t)}finally{h.value=!1}}}function w(t,s){k.value={type:t,message:s},setTimeout(()=>{k.value=null},4e3)}return ue(()=>{R(),$.fetchRegions()}),(t,s)=>(i(),r("div",null,[e("div",fe,[e("div",null,[e("h1",be,o(t.$t("packages.title")),1),e("p",xe,o(t.$t("packages.subtitle")),1)]),e("button",{onClick:W,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[s[21]||(s[21]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),H(" "+o(t.$t("packages.create_new")),1)])]),T.value?(i(),r("div",ye,[e("div",ve,[s[22]||(s[22]=e("svg",{class:"animate-spin h-8 w-8 text-indigo-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e("span",he,o(t.$t("packages.loading")),1)])])):n.value?(i(),r("div",ke,[e("p",we,o(n.value),1),e("button",{onClick:R,class:"px-4 py-2 bg-red-700 hover:bg-red-600 text-white rounded-lg transition text-sm"},o(t.$t("packages.retry")),1)])):V.value.length===0?(i(),r("div",$e,[s[23]||(s[23]=e("svg",{class:"w-16 h-16 mx-auto text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"})],-1)),e("h3",Ce,o(t.$t("packages.no_packages")),1),e("p",Ue,o(t.$t("packages.no_packages_desc")),1),e("button",{onClick:W,class:"px-5 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.create_first")),1)])):(i(),r("div",ze,[(i(!0),r(j,null,D(V.value,a=>(i(),r("div",{key:a.id,class:"bg-slate-800 rounded-xl border border-slate-700 p-6 flex flex-col transition-all hover:border-slate-600"},[e("div",Ve,[e("div",Fe,[e("div",{class:Z(["p-2 rounded-lg",le(a.tier_level)])},[e("span",{class:"w-5 h-5 text-lg",innerHTML:oe(a.tier_level)},null,8,Ee)],2),e("div",null,[e("h2",Te,o(N(a)),1),e("span",je,o(a.name),1)])]),e("div",De,[a.tier_level>=1?(i(),r("span",Le,o(t.$t("packages.popular")),1)):y("",!0),a.is_default_fallback?(i(),r("span",Pe," 🔒 "+o(t.$t("packages.fallback_badge")),1)):y("",!0),a.trial_days_on_signup>0?(i(),r("span",{key:2,class:"px-2 py-0.5 text-xs font-semibold rounded-full bg-emerald-500/20 text-emerald-300",title:`${a.trial_days_on_signup} days trial on signup`}," 🎯 "+o(t.$t("packages.trial_badge"))+": "+o(a.trial_days_on_signup)+"d ",9,Me)):y("",!0)])]),e("div",Re,[e("span",Ne,o(ae(a)),1),e("span",Ae,"/ "+o(t.$t("packages.month")),1)]),e("p",Be,o(se(a)),1),e("div",Ie,[e("h3",Se,o(t.$t("packages.allowances")),1),e("div",He,[e("div",Oe,[e("span",Ze,o(t.$t("packages.max_vehicles")),1),e("span",Ge,o(B(a,"max_vehicles")),1)]),e("div",Je,[e("span",qe,o(t.$t("packages.max_garages")),1),e("span",We,o(B(a,"max_garages")),1)]),e("div",Ke,[e("span",Qe,o(t.$t("packages.monthly_credits")),1),e("span",Xe,o(B(a,"monthly_free_credits")),1)])])]),e("div",Ye,[e("span",et,o(t.$t("packages.tier_level"))+": ",1),e("span",tt,o(a.tier_level),1)]),e("div",st,[e("button",{onClick:p=>ne(a),class:"flex-1 px-4 py-2.5 bg-indigo-600 hover:bg-indigo-500 text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.edit")),9,at),e("button",{onClick:p=>re(a),class:"px-3 py-2.5 bg-red-700 hover:bg-red-600 text-red-200 rounded-lg transition",title:t.$t("packages.delete")},[...s[24]||(s[24]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,lt)])]))),128))])),c.value?(i(),r("div",{key:4,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[18]||(s[18]=K(a=>c.value=!1,["self"]))},[e("div",ot,[e("div",nt,[e("h3",rt,o(C.value?t.$t("packages.create_title"):t.$t("packages.edit_title")+": "+N(m.value)),1),e("button",{onClick:s[0]||(s[0]=a=>c.value=!1),class:"p-1 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition"},[...s[25]||(s[25]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e("div",it,[(i(),r(j,null,D(L,a=>e("button",{key:a.key,onClick:p=>b.value=a.key,class:Z(["px-4 py-3 text-sm font-medium border-b-2 transition",b.value===a.key?"border-indigo-500 text-indigo-300":"border-transparent text-slate-400 hover:text-slate-200 hover:border-slate-500"])},o(a.label),11,ct)),64))]),e("div",dt,[b.value==="basic"?(i(),r("div",ut,[e("div",null,[e("label",pt,o(t.$t("packages.form_name")),1),_(e("input",{"onUpdate:modelValue":s[1]||(s[1]=a=>l.name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_name_placeholder")},null,8,mt),[[x,l.name]])]),e("div",null,[e("label",_t,o(t.$t("packages.form_display_name")),1),_(e("input",{"onUpdate:modelValue":s[2]||(s[2]=a=>l.display_name=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_display_name_placeholder")},null,8,gt),[[x,l.display_name]])]),e("div",ft,[e("div",null,[e("label",bt,o(t.$t("packages.form_type")),1),_(e("select",{"onUpdate:modelValue":s[3]||(s[3]=a=>l.type=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},[e("option",xt,o(t.$t("packages.type_private")),1),e("option",yt,o(t.$t("packages.type_corporate")),1)],512),[[O,l.type]])]),e("div",null,[e("label",vt,o(t.$t("packages.form_tier_level")),1),_(e("input",{"onUpdate:modelValue":s[4]||(s[4]=a=>l.tier_level=a),type:"number",min:"0",max:"10",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.tier_level,void 0,{number:!0}]]),e("p",ht,o(t.$t("packages.form_tier_level_hint")),1)])]),e("div",kt,[e("div",null,[e("label",wt,o(t.$t("packages.form_subtitle")),1),_(e("input",{"onUpdate:modelValue":s[5]||(s[5]=a=>l.subtitle=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_subtitle_placeholder")},null,8,$t),[[x,l.subtitle]])]),e("div",null,[e("label",Ct,o(t.$t("packages.form_badge")),1),_(e("input",{"onUpdate:modelValue":s[6]||(s[6]=a=>l.badge=a),type:"text",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:t.$t("packages.form_badge_placeholder")},null,8,Ut),[[x,l.badge]])])]),e("div",zt,[_(e("input",{"onUpdate:modelValue":s[7]||(s[7]=a=>l.is_custom=a),type:"checkbox",id:"is_custom",class:"rounded bg-slate-700 border-slate-600 text-indigo-600 focus:ring-indigo-500"},null,512),[[Q,l.is_custom]]),e("label",Vt,o(t.$t("packages.form_is_custom")),1)]),e("div",Ft,[e("h4",Et,o(t.$t("packages.singleton_rules")),1),e("div",Tt,[e("div",jt,[_(e("input",{"onUpdate:modelValue":s[8]||(s[8]=a=>l.is_default_fallback=a),type:"checkbox",id:"is_default_fallback",class:"rounded bg-slate-700 border-slate-600 text-amber-500 focus:ring-amber-500"},null,512),[[Q,l.is_default_fallback]]),e("label",Dt,o(t.$t("packages.form_is_default_fallback")),1)]),e("div",null,[e("label",Lt,o(t.$t("packages.form_trial_days")),1),_(e("input",{"onUpdate:modelValue":s[9]||(s[9]=a=>l.trial_days_on_signup=a),type:"number",min:"0",max:"365",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},null,512),[[x,l.trial_days_on_signup,void 0,{number:!0}]]),e("p",Pt,o(t.$t("packages.form_trial_days_hint")),1)])])])])):y("",!0),b.value==="pricing"?(i(),r("div",Mt,[e("div",null,[e("h4",Rt,o(t.$t("packages.per_region_pricing")),1),e("div",Nt,[e("table",At,[e("thead",null,[e("tr",Bt,[s[26]||(s[26]=e("th",{class:"text-left py-2 px-3 text-slate-400 font-medium"},"Region",-1)),e("th",It,o(t.$t("packages.form_monthly_price")),1),e("th",St,o(t.$t("packages.form_yearly_price")),1),e("th",Ht,o(t.$t("packages.form_currency")),1)])]),e("tbody",null,[(i(!0),r(j,null,D(E($).regions,a=>(i(),r("tr",{key:a.country_code,class:"border-b border-slate-700/50"},[e("td",Ot,[e("span",Zt,[e("span",null,o(a.country_code),1),e("span",Gt,"("+o(a.currency)+", "+o(a.default_vat_rate)+"% VAT)",1)])]),e("td",Jt,[e("input",{value:J(a.country_code,"monthly"),onInput:p=>q(a.country_code,"monthly",p.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,qt)]),e("td",Wt,[e("input",{value:J(a.country_code,"yearly"),onInput:p=>q(a.country_code,"yearly",p.target.value),type:"number",step:"0.01",min:"0",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,40,Kt)]),e("td",Qt,[e("input",{value:Y(a.country_code),onInput:p=>ee(a.country_code,p.target.value),type:"text",maxlength:"3",class:"w-full px-2 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent uppercase"},null,40,Xt)])]))),128))])])])]),e("div",Yt,[e("h4",es,"🧮 "+o(t.$t("packages.smart_calculator")),1),e("div",ts,[e("div",ss,[e("div",null,[e("label",as,o(t.$t("packages.calc_net_price")),1),_(e("input",{"onUpdate:modelValue":s[10]||(s[10]=a=>U.value=a),type:"number",step:"0.01",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent",placeholder:"0.00"},null,512),[[x,U.value,void 0,{number:!0}]])]),e("div",null,[e("label",ls,o(t.$t("packages.calc_vat_rate")),1),_(e("select",{"onUpdate:modelValue":s[11]||(s[11]=a=>F.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(i(!0),r(j,null,D(E($).regions,a=>(i(),r("option",{key:a.country_code,value:a.default_vat_rate},o(a.country_code)+" — "+o(a.default_vat_rate)+"% ",9,os))),128))],512),[[O,F.value]])]),e("div",null,[e("label",ns,o(t.$t("packages.calc_currency")),1),_(e("select",{"onUpdate:modelValue":s[12]||(s[12]=a=>z.value=a),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-emerald-500 focus:border-transparent"},[(i(!0),r(j,null,D(E($).regions,a=>(i(),r("option",{key:a.country_code,value:a.currency},o(a.currency)+" ("+o(a.country_code)+") ",9,rs))),128))],512),[[O,z.value]])])]),e("div",is,[e("div",cs,[e("p",ds,o(t.$t("packages.calc_net")),1),e("p",us,o(E(v)(U.value,z.value)),1)]),e("div",ps,[e("p",ms,o(t.$t("packages.calc_vat"))+" ("+o(F.value)+"%)",1),e("p",_s,o(E(v)(U.value*(F.value/100),z.value)),1)]),e("div",gs,[e("p",fs,o(t.$t("packages.calc_gross")),1),e("p",bs,o(E(v)(U.value*(1+F.value/100),z.value)),1)])]),e("div",xs,[e("button",{onClick:te,class:"px-4 py-2 bg-emerald-600 hover:bg-emerald-500 text-white text-sm font-medium rounded-lg transition flex items-center gap-2"},[s[27]||(s[27]=e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 10V3L4 14h7v7l9-11h-7z"})],-1)),H(" "+o(t.$t("packages.calc_apply")),1)])])])])])):y("",!0),b.value==="features"?(i(),r("div",ys,[e("div",null,[e("h4",vs,o(t.$t("packages.allowances")),1),e("div",hs,[e("div",null,[e("label",ks,o(t.$t("packages.max_vehicles")),1),_(e("input",{"onUpdate:modelValue":s[13]||(s[13]=a=>l.max_vehicles=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.max_vehicles,void 0,{number:!0}]])]),e("div",null,[e("label",ws,o(t.$t("packages.max_garages")),1),_(e("input",{"onUpdate:modelValue":s[14]||(s[14]=a=>l.max_garages=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.max_garages,void 0,{number:!0}]])]),e("div",null,[e("label",$s,o(t.$t("packages.monthly_credits")),1),_(e("input",{"onUpdate:modelValue":s[15]||(s[15]=a=>l.monthly_free_credits=a),type:"number",min:"0",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm focus:ring-2 focus:ring-indigo-500 focus:border-transparent"},null,512),[[x,l.monthly_free_credits,void 0,{number:!0}]])])])]),e("div",Cs,[e("h4",Us,o(t.$t("packages.feature_capabilities")),1),_(e("textarea",{"onUpdate:modelValue":s[16]||(s[16]=a=>l.feature_capabilities_json=a),rows:"8",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white text-sm font-mono focus:ring-2 focus:ring-indigo-500 focus:border-transparent",placeholder:'{\\n "ai_analysis": true,\\n "priority_support": false,\\n "api_access": true\\n}'},null,512),[[x,l.feature_capabilities_json]]),e("p",zs,o(t.$t("packages.feature_capabilities_hint")),1),P.value?(i(),r("p",Vs,o(P.value),1)):y("",!0)])])):y("",!0)]),e("div",Fs,[e("div",Es,o(A.value),1),e("div",Ts,[e("button",{onClick:s[17]||(s[17]=a=>c.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:ie,disabled:h.value,class:"px-6 py-2 bg-emerald-600 hover:bg-emerald-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm flex items-center gap-2"},[h.value?(i(),r("svg",Ds,[...s[28]||(s[28]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):y("",!0),H(" "+o(C.value?t.$t("packages.create"):t.$t("packages.save")),1)],8,js)])])])])):y("",!0),d.value&&u.value?(i(),r("div",{key:5,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s[20]||(s[20]=K(a=>d.value=!1,["self"]))},[e("div",Ls,[e("h3",Ps,o(t.$t("packages.delete_title")),1),e("p",Ms,o(t.$t("packages.delete_confirm",{name:N(u.value)})),1),e("div",Rs,[e("button",{onClick:s[19]||(s[19]=a=>d.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},o(t.$t("packages.cancel")),1),e("button",{onClick:ce,disabled:h.value,class:"px-6 py-2 bg-red-600 hover:bg-red-500 disabled:bg-slate-600 disabled:cursor-not-allowed text-white font-medium rounded-lg transition text-sm"},o(t.$t("packages.delete_btn")),9,Ns)])])])):y("",!0),k.value?(i(),r("div",{key:6,class:Z(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",k.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},o(k.value.message),3)):y("",!0)]))}});export{Is as default}; diff --git a/frontend_admin/.output/public/_nuxt/qc1uPXiA.js b/frontend_admin/.output/public/_nuxt/qc1uPXiA.js new file mode 100644 index 0000000..5e50387 --- /dev/null +++ b/frontend_admin/.output/public/_nuxt/qc1uPXiA.js @@ -0,0 +1 @@ +import{e as E,g as L,y as q,q as N,N as U,O as j,P as H,Q as I,R as P,S as _,T as V,U as D,m as F,V as O,W,h as f,A as z,x,X as B,Y as M,Z as $,_ as Q,$ as G,a0 as X,a1 as Y,a2 as Z}from"./CHWHIiGB.js";const J=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001f\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&G(r.slice(0,c+1))?null:t}function K(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return C(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:C(i,a)}}function k(e){const s=L(),d=Z(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),S=_("RouterLink"),y=S&&typeof S!="string"?S.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:w(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:C(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:C(M(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await z(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return E({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=L(),{to:a,href:i,navigate:S,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=D(!1),m=F(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n).catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;N(()=>{const R=ee();U(()=>{g=j(()=>{m?.value?.tagName&&(n=R.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),P(_("RouterLink"),n,s.default)}const u=e.target||null,g=J(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:S,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return V(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:P("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const R=$(i.value??"");return await(e.replace?d.replace(R):d.push(R))}finally{if(c(a.value)){const R=a.value.slice(1);let A=R;try{A=decodeURIComponent(R)}catch{}document.getElementById(A)?.focus()}}}}},s.default?.())}}})}const le=K(Q);function C(t,r){const c=r==="append"?X:Y;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,w=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:w}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; diff --git a/frontend_admin/.output/public/_nuxt/zPyClsoP.js b/frontend_admin/.output/public/_nuxt/zPyClsoP.js deleted file mode 100644 index 47970a2..0000000 --- a/frontend_admin/.output/public/_nuxt/zPyClsoP.js +++ /dev/null @@ -1 +0,0 @@ -import{e as G,c as i,a as e,t as a,k as _,v as H,q as K,F as k,r as w,i as g,n as r,m as v,s as T,x as h,o as n,d as y}from"./CqYPuxVf.js";const V={class:"mb-8"},F={class:"text-2xl font-bold text-white"},L={class:"text-slate-400 mt-1"},D={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-8"},P={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},U={class:"flex items-center gap-3"},q={class:"text-xs text-slate-400 uppercase tracking-wider"},E={class:"text-2xl font-bold text-white"},Z={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},Q={class:"flex items-center gap-3"},R={class:"text-xs text-slate-400 uppercase tracking-wider"},I={class:"text-2xl font-bold text-emerald-400"},J={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},O={class:"flex items-center gap-3"},W={class:"text-xs text-slate-400 uppercase tracking-wider"},X={class:"text-2xl font-bold text-amber-400"},Y={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},ee={class:"flex items-center gap-3"},te={class:"text-xs text-slate-400 uppercase tracking-wider"},se={class:"text-2xl font-bold text-purple-400"},oe={class:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-6"},ae={class:"relative flex-1 max-w-md"},le=["placeholder"],ie={class:"flex items-center gap-2"},re={value:"all"},ne={class:"bg-slate-800/50 border border-slate-700 rounded-xl overflow-hidden"},de={class:"overflow-x-auto"},ce={class:"w-full text-sm"},ue={class:"border-b border-slate-700 bg-slate-800/80"},pe={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},me={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},ge={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},ve={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},he={class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},xe={class:"py-3.5 px-4 text-slate-400 font-mono text-xs"},fe={class:"py-3.5 px-4"},be={class:"flex items-center gap-3"},_e={class:"text-sm font-medium text-white"},ke={class:"text-xs text-slate-500"},we={class:"py-3.5 px-4 text-slate-300"},ye={class:"py-3.5 px-4"},Ce={class:"py-3.5 px-4"},$e={class:"flex items-center gap-2"},Ne=["onClick","title"],ze={key:0,class:"absolute right-0 mt-1 w-44 bg-slate-800 border border-slate-700 rounded-lg shadow-xl py-1 z-40"},Me=["onClick"],je={key:0,class:"ml-auto"},Be={class:"py-3.5 px-4"},Se={class:"flex items-center gap-2"},Ae=["onClick"],Ge=["onClick"],He={key:0,class:"flex flex-col items-center justify-center py-16 text-center"},Ke={class:"text-slate-400 text-sm"},Fe=G({__name:"index",setup(Te){const u=v(""),p=v("all"),m=v(null),c=v(null),C=["free","premium","enterprise"],d=T([{id:1,companyName:"Kovács Autószerviz",contactName:"Kovács István",email:"kovacs@autoserviz.hu",status:"active",tier:"premium",initials:"KA",colorClass:"bg-amber-600"},{id:2,companyName:"Nagy Gépjárműjavító Kft.",contactName:"Nagy Péter",email:"info@nagygepjarmu.hu",status:"active",tier:"enterprise",initials:"NG",colorClass:"bg-purple-600"},{id:3,companyName:"Tóth Autó és Motorgarázs",contactName:"Tóth Gábor",email:"toth@garazs.hu",status:"active",tier:"free",initials:"TA",colorClass:"bg-slate-600"},{id:4,companyName:"Szabó Flottakezelő Kft.",contactName:"Szabó Márta",email:"szabo@flotta.hu",status:"inactive",tier:"premium",initials:"SZ",colorClass:"bg-amber-600"},{id:5,companyName:"Horváth Autótechnika",contactName:"Horváth László",email:"horvath@autotechnika.hu",status:"suspended",tier:"free",initials:"HA",colorClass:"bg-slate-600"},{id:6,companyName:"Kiss & Társa Szerviz",contactName:"Kiss Anna",email:"kiss@szerviz.hu",status:"active",tier:"enterprise",initials:"KT",colorClass:"bg-purple-600"},{id:7,companyName:"Molnár Autóház Kft.",contactName:"Molnár Zoltán",email:"molnar@autohaz.hu",status:"active",tier:"premium",initials:"MA",colorClass:"bg-amber-600"},{id:8,companyName:"Farkas Gépjármű Szerviz",contactName:"Farkas Béla",email:"farkas@gepjarmu.hu",status:"inactive",tier:"free",initials:"FG",colorClass:"bg-slate-600"}]),$=h(()=>d.filter(t=>t.status==="active").length),N=h(()=>d.filter(t=>t.tier==="premium").length),z=h(()=>d.filter(t=>t.tier==="enterprise").length),x=h(()=>d.filter(t=>{if(u.value){const s=u.value.toLowerCase();if(!(t.companyName.toLowerCase().includes(s)||t.contactName.toLowerCase().includes(s)||t.email.toLowerCase().includes(s)))return!1}return!(p.value!=="all"&&t.tier!==p.value)}));function M(t){return t==="enterprise"?"bg-purple-500/20 text-purple-300":t==="premium"?"bg-amber-500/20 text-amber-300":"bg-slate-500/20 text-slate-300"}function j(t){m.value=m.value===t?null:t}function B(t,s){const o=d.find(b=>b.id===t);if(!o)return;const l=o.tier;o.tier=s,m.value=null,f("success",`"${o.companyName}" csomag módosítva: ${l} → ${s}`),console.log(`[Garages] Package changed: garage=${t}, from=${l}, to=${s}`)}function S(t){console.log(`[Garages] View garage: ${t}`)}function A(t){const s=d.find(o=>o.id===t);s&&(s.status=s.status==="active"?"inactive":"active",f("success",`"${s.companyName}" státusz módosítva: ${s.status}`),console.log(`[Garages] Status toggled: garage=${t}, newStatus=${s.status}`))}function f(t,s){c.value={type:t,message:s},setTimeout(()=>{c.value=null},4e3)}return(t,s)=>(n(),i("div",null,[e("div",V,[e("h1",F,a(t.$t("garages.title")),1),e("p",L,a(t.$t("garages.subtitle")),1)]),e("div",D,[e("div",P,[e("div",U,[s[2]||(s[2]=e("div",{class:"p-2 rounded-lg bg-indigo-500/10 text-indigo-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})])],-1)),e("div",null,[e("p",q,a(t.$t("garages.total_garages")),1),e("p",E,a(d.length),1)])])]),e("div",Z,[e("div",Q,[s[3]||(s[3]=e("div",{class:"p-2 rounded-lg bg-emerald-500/10 text-emerald-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})])],-1)),e("div",null,[e("p",R,a(t.$t("garages.active_garages")),1),e("p",I,a($.value),1)])])]),e("div",J,[e("div",O,[s[4]||(s[4]=e("div",{class:"p-2 rounded-lg bg-amber-500/10 text-amber-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})])],-1)),e("div",null,[e("p",W,a(t.$t("garages.premium_garages")),1),e("p",X,a(N.value),1)])])]),e("div",Y,[e("div",ee,[s[5]||(s[5]=e("div",{class:"p-2 rounded-lg bg-purple-500/10 text-purple-400"},[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z"})])],-1)),e("div",null,[e("p",te,a(t.$t("garages.enterprise_garages")),1),e("p",se,a(z.value),1)])])])]),e("div",oe,[e("div",ae,[s[6]||(s[6]=e("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),_(e("input",{"onUpdate:modelValue":s[0]||(s[0]=o=>u.value=o),type:"text",placeholder:t.$t("garages.search_placeholder"),class:"w-full pl-10 pr-4 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 transition"},null,8,le),[[H,u.value]])]),e("div",ie,[_(e("select",{"onUpdate:modelValue":s[1]||(s[1]=o=>p.value=o),class:"px-3 py-2.5 bg-slate-800 border border-slate-700 rounded-lg text-sm text-slate-300 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 transition"},[e("option",re,a(t.$t("garages.all_tiers")),1),s[7]||(s[7]=e("option",{value:"free"},"Free",-1)),s[8]||(s[8]=e("option",{value:"premium"},"Premium",-1)),s[9]||(s[9]=e("option",{value:"enterprise"},"Enterprise",-1))],512),[[K,p.value]])])]),e("div",ne,[e("div",de,[e("table",ce,[e("thead",null,[e("tr",ue,[s[10]||(s[10]=e("th",{class:"text-left py-3.5 px-4 text-xs font-semibold uppercase tracking-wider text-slate-400"},"ID",-1)),e("th",pe,a(t.$t("garages.company_name")),1),e("th",me,a(t.$t("garages.email")),1),e("th",ge,a(t.$t("garages.status")),1),e("th",ve,a(t.$t("garages.current_package")),1),e("th",he,a(t.$t("garages.actions")),1)])]),e("tbody",null,[(n(!0),i(k,null,w(x.value,o=>(n(),i("tr",{key:o.id,class:"border-b border-slate-700/50 hover:bg-slate-700/30 transition"},[e("td",xe,a(o.id),1),e("td",fe,[e("div",be,[e("div",{class:r(["w-8 h-8 rounded-lg flex items-center justify-center text-sm font-bold text-white",o.colorClass])},a(o.initials),3),e("div",null,[e("p",_e,a(o.companyName),1),e("p",ke,a(o.contactName),1)])])]),e("td",we,a(o.email),1),e("td",ye,[e("span",{class:r(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",o.status==="active"?"bg-emerald-500/10 text-emerald-400":o.status==="suspended"?"bg-red-500/10 text-red-400":"bg-slate-500/10 text-slate-400"])},[e("span",{class:r(["w-1.5 h-1.5 rounded-full mr-1.5",o.status==="active"?"bg-emerald-400":o.status==="suspended"?"bg-red-400":"bg-slate-400"])},null,2),y(" "+a(o.status==="active"?t.$t("garages.active"):o.status==="suspended"?t.$t("garages.suspended"):t.$t("garages.inactive")),1)],2)]),e("td",Ce,[e("div",$e,[e("span",{class:r(["px-2.5 py-0.5 rounded-full text-xs font-medium",M(o.tier)])},a(o.tier),3),e("div",{class:"relative",ref_for:!0,ref:"dropdownRefs"},[e("button",{onClick:l=>j(o.id),class:"p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",title:t.$t("garages.change_package")},[...s[11]||(s[11]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1)])],8,Ne),m.value===o.id?(n(),i("div",ze,[(n(),i(k,null,w(C,l=>e("button",{key:l,onClick:b=>B(o.id,l),class:r(["flex items-center gap-2 w-full px-3 py-2 text-sm text-left transition",o.tier===l?"text-indigo-400 bg-indigo-500/10":"text-slate-300 hover:bg-slate-700 hover:text-white"])},[e("span",{class:r(["w-2 h-2 rounded-full",l==="free"?"bg-slate-400":l==="premium"?"bg-amber-400":"bg-purple-400"])},null,2),y(" "+a(l.charAt(0).toUpperCase()+l.slice(1))+" ",1),o.tier===l?(n(),i("span",je,[...s[12]||(s[12]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])])):g("",!0)],10,Me)),64))])):g("",!0)],512)])]),e("td",Be,[e("div",Se,[e("button",{onClick:l=>S(o.id),class:"px-3 py-1.5 text-xs font-medium bg-indigo-600/20 text-indigo-300 hover:bg-indigo-600/30 rounded-lg transition"},a(t.$t("garages.view")),9,Ae),e("button",{onClick:l=>A(o.id),class:r(["px-3 py-1.5 text-xs font-medium rounded-lg transition",o.status==="active"?"bg-red-500/10 text-red-300 hover:bg-red-500/20":"bg-emerald-500/10 text-emerald-300 hover:bg-emerald-500/20"])},a(o.status==="active"?t.$t("garages.deactivate"):t.$t("garages.activate")),11,Ge)])])]))),128))])])]),x.value.length===0?(n(),i("div",He,[s[13]||(s[13]=e("svg",{class:"w-12 h-12 text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})],-1)),e("p",Ke,a(t.$t("garages.no_results")),1)])):g("",!0)]),c.value?(n(),i("div",{key:0,class:r(["fixed bottom-6 right-6 px-5 py-3 rounded-xl shadow-xl text-sm font-medium z-50",c.value.type==="success"?"bg-emerald-600 text-white":"bg-red-600 text-white"])},a(c.value.message),3)):g("",!0)]))}});export{Fe as default}; diff --git a/frontend_admin/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs b/frontend_admin/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs new file mode 100644 index 0000000..b494108 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs @@ -0,0 +1,10 @@ +const _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; + +export { _export_sfc as _ }; +//# sourceMappingURL=_plugin-vue_export-helper-1tPrXgE0.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs.map b/frontend_admin/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs.map new file mode 100644 index 0000000..4e29cd4 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_plugin-vue_export-helper-1tPrXgE0.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/_plugin-vue_export-helper-1tPrXgE0.js"],"names":[],"mappings":"AAAA,MAAM,WAAA,GAAc,CAAC,GAAA,EAAK,KAAA,KAAU;AAClC,EAAA,MAAM,MAAA,GAAS,IAAI,SAAA,IAAa,GAAA;AAChC,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,GAAG,CAAA,IAAK,KAAA,EAAO;AAC9B,IAAA,MAAA,CAAO,GAAG,CAAA,GAAI,GAAA;AAAA,EAChB;AACA,EAAA,OAAO,MAAA;AACT;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/auth-9ekP0oPk.mjs b/frontend_admin/.output/server/chunks/build/auth-9ekP0oPk.mjs new file mode 100644 index 0000000..506980f --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/auth-9ekP0oPk.mjs @@ -0,0 +1,56 @@ +import { K as executeAsync } from '../nitro/nitro.mjs'; +import { d as defineNuxtRouteMiddleware, c as useCookie, n as navigateTo } from './server.mjs'; +import { u as useAuthStore } from './auth-RwMj9LdV.mjs'; +import 'node:http'; +import 'node:https'; +import 'node:events'; +import 'node:buffer'; +import 'node:fs'; +import 'node:path'; +import 'node:crypto'; +import 'vue-router'; +import 'node:url'; +import 'vue'; +import 'pinia'; +import 'vue/server-renderer'; +import '../routes/renderer.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; +import 'unhead/plugins'; + +const auth = defineNuxtRouteMiddleware(async (to, from) => { + let __temp, __restore; + if (to.path === "/login") { + return; + } + const tokenCookie = useCookie("access_token"); + if (!tokenCookie.value) { + return navigateTo("/login"); + } + const authStore = useAuthStore(); + if (!authStore.user) { + try { + ; + [__temp, __restore] = executeAsync(() => authStore.fetchUser()), await __temp, __restore(); + ; + } catch { + authStore.logout(); + return navigateTo("/login"); + } + } + if (!authStore.user) { + authStore.logout(); + return navigateTo("/login"); + } + const allowedRoles = ["SUPERADMIN", "ADMIN", "MODERATOR", "SALES_REP", "SERVICE_MGR"]; + const userRole = (authStore.user.role || "").toUpperCase(); + if (!allowedRoles.includes(userRole)) { + authStore.logout(); + return navigateTo("/login"); + } +}); + +export { auth as default }; +//# sourceMappingURL=auth-9ekP0oPk.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/auth-9ekP0oPk.mjs.map b/frontend_admin/.output/server/chunks/build/auth-9ekP0oPk.mjs.map new file mode 100644 index 0000000..49b0391 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/auth-9ekP0oPk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"auth-9ekP0oPk.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/auth-9ekP0oPk.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,IAAA,GAAO,yBAAA,CAA0B,OAAO,EAAA,EAAI,IAAA,KAAS;AACzD,EAAA,IAAI,MAAA,EAAQ,SAAA;AACZ,EAAA,IAAI,EAAA,CAAG,SAAS,QAAA,EAAU;AACxB,IAAA;AAAA,EACF;AACA,EAAA,MAAM,WAAA,GAAc,UAAU,cAAc,CAAA;AAC5C,EAAA,IAAI,CAAC,YAAY,KAAA,EAAO;AACtB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACA,EAAA,MAAM,YAAY,YAAA,EAAa;AAC/B,EAAA,IAAI,CAAC,UAAU,IAAA,EAAM;AACnB,IAAA,IAAI;AACF,MAAA;AACA,MAAA,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,YAAA,CAAa,MAAM,SAAA,CAAU,SAAA,EAAW,CAAA,EAAG,MAAM,MAAA,EAAQ,SAAA,EAAU;AACzF,MAAA;AAAA,IACF,CAAA,CAAA,MAAQ;AACN,MAAA,SAAA,CAAU,MAAA,EAAO;AACjB,MAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,IAC5B;AAAA,EACF;AACA,EAAA,IAAI,CAAC,UAAU,IAAA,EAAM;AACnB,IAAA,SAAA,CAAU,MAAA,EAAO;AACjB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACA,EAAA,MAAM,eAAe,CAAC,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,aAAa,aAAa,CAAA;AACpF,EAAA,MAAM,QAAA,GAAA,CAAY,SAAA,CAAU,IAAA,CAAK,IAAA,IAAQ,IAAI,WAAA,EAAY;AACzD,EAAA,IAAI,CAAC,YAAA,CAAa,QAAA,CAAS,QAAQ,CAAA,EAAG;AACpC,IAAA,SAAA,CAAU,MAAA,EAAO;AACjB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF,CAAC;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/auth-BgwR5zMA.mjs b/frontend_admin/.output/server/chunks/build/auth-BgwR5zMA.mjs deleted file mode 100644 index e4d7722..0000000 --- a/frontend_admin/.output/server/chunks/build/auth-BgwR5zMA.mjs +++ /dev/null @@ -1,33 +0,0 @@ -import { d as defineNuxtRouteMiddleware, b as useCookie, n as navigateTo } from './server.mjs'; -import 'vue'; -import '../nitro/nitro.mjs'; -import 'node:http'; -import 'node:https'; -import 'node:events'; -import 'node:buffer'; -import 'node:fs'; -import 'node:path'; -import 'node:crypto'; -import 'vue-router'; -import 'node:url'; -import 'pinia'; -import 'vue/server-renderer'; -import '../routes/renderer.mjs'; -import 'vue-bundle-renderer/runtime'; -import 'unhead/server'; -import 'devalue'; -import 'unhead/utils'; -import 'unhead/plugins'; - -const auth = defineNuxtRouteMiddleware((to, from) => { - if (to.path === "/login") { - return; - } - const tokenCookie = useCookie("access_token"); - if (!tokenCookie.value) { - return navigateTo("/login"); - } -}); - -export { auth as default }; -//# sourceMappingURL=auth-BgwR5zMA.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/auth-BgwR5zMA.mjs.map b/frontend_admin/.output/server/chunks/build/auth-BgwR5zMA.mjs.map deleted file mode 100644 index 7a8991c..0000000 --- a/frontend_admin/.output/server/chunks/build/auth-BgwR5zMA.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"auth-BgwR5zMA.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/auth-BgwR5zMA.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,IAAA,GAAO,yBAAA,CAA0B,CAAC,EAAA,EAAI,IAAA,KAAS;AACnD,EAAA,IAAI,EAAA,CAAG,SAAS,QAAA,EAAU;AACxB,IAAA;AAAA,EACF;AACA,EAAA,MAAM,WAAA,GAAc,UAAU,cAAc,CAAA;AAC5C,EAAA,IAAI,CAAC,YAAY,KAAA,EAAO;AACtB,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF,CAAC;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/auth-mCjBoLcA.mjs b/frontend_admin/.output/server/chunks/build/auth-RwMj9LdV.mjs similarity index 97% rename from frontend_admin/.output/server/chunks/build/auth-mCjBoLcA.mjs rename to frontend_admin/.output/server/chunks/build/auth-RwMj9LdV.mjs index 66073e8..b1dbc98 100644 --- a/frontend_admin/.output/server/chunks/build/auth-mCjBoLcA.mjs +++ b/frontend_admin/.output/server/chunks/build/auth-RwMj9LdV.mjs @@ -1,6 +1,6 @@ import { defineStore } from 'pinia'; import { ref, computed } from 'vue'; -import { b as useCookie } from './server.mjs'; +import { c as useCookie } from './server.mjs'; const useAuthStore = defineStore("auth", () => { const user = ref(null); @@ -122,4 +122,4 @@ const useAuthStore = defineStore("auth", () => { }); export { useAuthStore as u }; -//# sourceMappingURL=auth-mCjBoLcA.mjs.map +//# sourceMappingURL=auth-RwMj9LdV.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/auth-mCjBoLcA.mjs.map b/frontend_admin/.output/server/chunks/build/auth-RwMj9LdV.mjs.map similarity index 96% rename from frontend_admin/.output/server/chunks/build/auth-mCjBoLcA.mjs.map rename to frontend_admin/.output/server/chunks/build/auth-RwMj9LdV.mjs.map index 0e4ef43..3d133d8 100644 --- a/frontend_admin/.output/server/chunks/build/auth-mCjBoLcA.mjs.map +++ b/frontend_admin/.output/server/chunks/build/auth-RwMj9LdV.mjs.map @@ -1 +1 @@ -{"version":3,"file":"auth-mCjBoLcA.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/auth-mCjBoLcA.js"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"auth-RwMj9LdV.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/auth-RwMj9LdV.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/blank-DWT4RB69.mjs b/frontend_admin/.output/server/chunks/build/blank-DWT4RB69.mjs new file mode 100644 index 0000000..5ce2a74 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/blank-DWT4RB69.mjs @@ -0,0 +1,20 @@ +import { useSSRContext, mergeProps } from 'vue'; +import { ssrRenderAttrs, ssrRenderSlot } from 'vue/server-renderer'; +import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; + +const _sfc_main = {}; +function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { + _push(``); + ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent); + _push(`
`); +} +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("layouts/blank.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const blank = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]); + +export { blank as default }; +//# sourceMappingURL=blank-DWT4RB69.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/blank-DWT4RB69.mjs.map b/frontend_admin/.output/server/chunks/build/blank-DWT4RB69.mjs.map new file mode 100644 index 0000000..000ebd7 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/blank-DWT4RB69.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"blank-DWT4RB69.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/blank-DWT4RB69.js"],"names":[],"mappings":";;;;AAGA,MAAM,YAAY,EAAC;AACnB,SAAS,cAAA,CAAe,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ;AACpD,EAAA,KAAA,CAAM,CAAA,IAAA,EAAO,cAAA,CAAe,UAAA,CAAW,EAAE,KAAA,EAAO,6BAA4B,EAAG,MAAM,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA;AAC1F,EAAA,aAAA,CAAc,KAAK,MAAA,EAAQ,SAAA,EAAW,EAAC,EAAG,IAAA,EAAM,OAAO,OAAO,CAAA;AAC9D,EAAA,KAAA,CAAM,CAAA,MAAA,CAAQ,CAAA;AAChB;AACA,MAAM,aAAa,SAAA,CAAU,KAAA;AAC7B,SAAA,CAAU,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,CAAC,UAAA,CAAW,YAAY,UAAA,CAAW,OAAA,uBAA8B,GAAA,EAAI,CAAA,EAAI,IAAI,mBAAmB,CAAA;AAChG,EAAA,OAAO,UAAA,GAAa,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA,GAAI,MAAA;AAC/C,CAAA;AACA,MAAM,KAAA,+BAAoC,SAAA,EAAW,CAAC,CAAC,WAAA,EAAa,cAAc,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/client.precomputed.mjs b/frontend_admin/.output/server/chunks/build/client.precomputed.mjs index 6a2f60d..0ffe65d 100644 --- a/frontend_admin/.output/server/chunks/build/client.precomputed.mjs +++ b/frontend_admin/.output/server/chunks/build/client.precomputed.mjs @@ -1,4 +1,4 @@ -const client_precomputed = ((h,j,k,m)=>({dependencies:{"node_modules/nuxt/dist/app/entry.js":{scripts:{"node_modules/nuxt/dist/app/entry.js":h={resourceType:"script",module:true,prefetch:true,preload:true,file:"CqYPuxVf.js",name:"entry",src:"node_modules/nuxt/dist/app/entry.js",isEntry:true,dynamicImports:["middleware/auth.ts","layouts/default.vue","i18n/locales/hu.json","i18n/locales/en.json","node_modules/nuxt/dist/app/components/error-404.vue","node_modules/nuxt/dist/app/components/error-500.vue"],css:[]}},styles:{},preload:{"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_CWA6Xjbg.js":{scripts:{},styles:{},preload:{"_CWA6Xjbg.js":j={resourceType:"script",module:true,prefetch:true,preload:true,file:"CWA6Xjbg.js",name:"auth",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_DWjNh9rV.js":{scripts:{},styles:{},preload:{"_DWjNh9rV.js":k={resourceType:"script",module:true,prefetch:true,preload:true,file:"DWjNh9rV.js",name:"region",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_Da4aCGAe.js":{scripts:{},styles:{},preload:{"_Da4aCGAe.js":m={resourceType:"script",module:true,prefetch:true,preload:true,file:"Da4aCGAe.js",name:"nuxt-link",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"i18n/locales/en.json":{scripts:{},styles:{},preload:{},prefetch:{}},"i18n/locales/hu.json":{scripts:{},styles:{},preload:{},prefetch:{}},"layouts/default.vue":{scripts:{},styles:{},preload:{"layouts/default.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"CC4zKGJo.js",name:"default",src:"layouts/default.vue",isDynamicEntry:true,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js","_DWjNh9rV.js","_CWA6Xjbg.js"]},"_Da4aCGAe.js":m,"node_modules/nuxt/dist/app/entry.js":h,"_DWjNh9rV.js":k,"_CWA6Xjbg.js":j},prefetch:{}},"middleware/auth.ts":{scripts:{},styles:{},preload:{"middleware/auth.ts":{resourceType:"script",module:true,prefetch:true,preload:true,file:"DuYZ8wdr.js",name:"auth",src:"middleware/auth.ts",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"node_modules/nuxt/dist/app/components/error-404.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"C8yzOtqa.js",name:"error-404",src:"node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:true,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"_Da4aCGAe.js":m,"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"error-404.DL_4WIao.css":{scripts:{},styles:{},preload:{"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",prefetch:true,preload:true}},prefetch:{}},"node_modules/nuxt/dist/app/components/error-500.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"Cx40nPNe.js",name:"error-500",src:"node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"],css:[]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"error-500.I1Dtv2V5.css":{scripts:{},styles:{},preload:{"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",prefetch:true,preload:true}},prefetch:{}},"entry.KrfumMBl.css":{scripts:{},styles:{},preload:{"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",prefetch:true,preload:true}},prefetch:{}},"pages/garages/index.vue":{scripts:{},styles:{},preload:{"pages/garages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"zPyClsoP.js",name:"index",src:"pages/garages/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/index.vue":{scripts:{},styles:{},preload:{"pages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"CqyNVJx6.js",name:"index",src:"pages/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/login.vue":{scripts:{},styles:{},preload:{"pages/login.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"9W9VXtTt.js",name:"login",src:"pages/login.vue",isDynamicEntry:true,imports:["_Da4aCGAe.js","node_modules/nuxt/dist/app/entry.js","_CWA6Xjbg.js"]},"_Da4aCGAe.js":m,"node_modules/nuxt/dist/app/entry.js":h,"_CWA6Xjbg.js":j},prefetch:{}},"pages/packages/index.vue":{scripts:{},styles:{},preload:{"pages/packages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"ncKxzOzI.js",name:"index",src:"pages/packages/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js","_DWjNh9rV.js"]},"node_modules/nuxt/dist/app/entry.js":h,"_DWjNh9rV.js":k},prefetch:{}},"pages/permissions/index.vue":{scripts:{},styles:{},preload:{"pages/permissions/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"BO90Bn6x.js",name:"index",src:"pages/permissions/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}}},entrypoints:["node_modules/nuxt/dist/app/entry.js"],modules:{"_CWA6Xjbg.js":{file:"CWA6Xjbg.js",resourceType:"script",mimeType:void 0,module:true},"_DWjNh9rV.js":{file:"DWjNh9rV.js",resourceType:"script",mimeType:void 0,module:true},"_Da4aCGAe.js":{file:"Da4aCGAe.js",resourceType:"script",mimeType:void 0,module:true},"i18n/locales/en.json":{file:"CgyjcGAF.js",resourceType:"script",mimeType:void 0,module:true},"i18n/locales/hu.json":{file:"DP_n9i02.js",resourceType:"script",mimeType:void 0,module:true},"layouts/default.vue":{file:"CC4zKGJo.js",resourceType:"script",mimeType:void 0,module:true},"middleware/auth.ts":{file:"DuYZ8wdr.js",resourceType:"script",mimeType:void 0,module:true},"node_modules/nuxt/dist/app/components/error-404.vue":{file:"C8yzOtqa.js",resourceType:"script",mimeType:void 0,module:true},"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/components/error-500.vue":{file:"Cx40nPNe.js",resourceType:"script",mimeType:void 0,module:true},"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/entry.js":{file:"CqYPuxVf.js",resourceType:"script",mimeType:void 0,module:true},"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",mimeType:void 0,module:void 0},"pages/garages/index.vue":{file:"zPyClsoP.js",resourceType:"script",mimeType:void 0,module:true},"pages/index.vue":{file:"CqyNVJx6.js",resourceType:"script",mimeType:void 0,module:true},"pages/login.vue":{file:"9W9VXtTt.js",resourceType:"script",mimeType:void 0,module:true},"pages/packages/index.vue":{file:"ncKxzOzI.js",resourceType:"script",mimeType:void 0,module:true},"pages/permissions/index.vue":{file:"BO90Bn6x.js",resourceType:"script",mimeType:void 0,module:true}}}))(); +const client_precomputed = ((h,j,k,m,o)=>({dependencies:{"node_modules/nuxt/dist/app/entry.js":{scripts:{"node_modules/nuxt/dist/app/entry.js":h={resourceType:"script",module:true,prefetch:true,preload:true,file:"CHWHIiGB.js",name:"entry",src:"node_modules/nuxt/dist/app/entry.js",isEntry:true,dynamicImports:["middleware/auth.ts","layouts/blank.vue","layouts/default.vue","i18n/locales/hu.json","i18n/locales/en.json","node_modules/nuxt/dist/app/components/error-404.vue","node_modules/nuxt/dist/app/components/error-500.vue"],css:[]}},styles:{},preload:{"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_DKEj_yij.js":{scripts:{},styles:{},preload:{"_DKEj_yij.js":j={resourceType:"script",module:true,prefetch:true,preload:true,file:"DKEj_yij.js",name:"auth",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_DlAUqK2U.js":{scripts:{},styles:{},preload:{"_DlAUqK2U.js":k={resourceType:"script",module:true,prefetch:true,preload:true,file:"DlAUqK2U.js",name:"_plugin-vue_export-helper"}},prefetch:{}},"_j8avB3IT.js":{scripts:{},styles:{},preload:{"_j8avB3IT.js":m={resourceType:"script",module:true,prefetch:true,preload:true,file:"j8avB3IT.js",name:"region",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"_qc1uPXiA.js":{scripts:{},styles:{},preload:{"_qc1uPXiA.js":o={resourceType:"script",module:true,prefetch:true,preload:true,file:"qc1uPXiA.js",name:"nuxt-link",imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"i18n/locales/en.json":{scripts:{},styles:{},preload:{},prefetch:{}},"i18n/locales/hu.json":{scripts:{},styles:{},preload:{},prefetch:{}},"layouts/blank.vue":{scripts:{},styles:{},preload:{"layouts/blank.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"B2nIQl38.js",name:"blank",src:"layouts/blank.vue",isDynamicEntry:true,imports:["_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"]},"_DlAUqK2U.js":k,"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"layouts/default.vue":{scripts:{},styles:{},preload:{"layouts/default.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"BezjjCqI.js",name:"default",src:"layouts/default.vue",isDynamicEntry:true,imports:["_qc1uPXiA.js","node_modules/nuxt/dist/app/entry.js","_j8avB3IT.js","_DKEj_yij.js"]},"_qc1uPXiA.js":o,"node_modules/nuxt/dist/app/entry.js":h,"_j8avB3IT.js":m,"_DKEj_yij.js":j},prefetch:{}},"middleware/auth.ts":{scripts:{},styles:{},preload:{"middleware/auth.ts":{resourceType:"script",module:true,prefetch:true,preload:true,file:"DSOY2KzZ.js",name:"auth",src:"middleware/auth.ts",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js","_DKEj_yij.js"]},"node_modules/nuxt/dist/app/entry.js":h,"_DKEj_yij.js":j},prefetch:{}},"node_modules/nuxt/dist/app/components/error-404.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"JOVMCDE9.js",name:"error-404",src:"node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:true,imports:["_qc1uPXiA.js","_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"_qc1uPXiA.js":o,"node_modules/nuxt/dist/app/entry.js":h,"_DlAUqK2U.js":k},prefetch:{}},"error-404.DL_4WIao.css":{scripts:{},styles:{},preload:{"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",prefetch:true,preload:true}},prefetch:{}},"node_modules/nuxt/dist/app/components/error-500.vue":{scripts:{},styles:{},preload:{"node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"CLBsD5qj.js",name:"error-500",src:"node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:true,imports:["_DlAUqK2U.js","node_modules/nuxt/dist/app/entry.js"],css:[]},"_DlAUqK2U.js":k,"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"error-500.I1Dtv2V5.css":{scripts:{},styles:{},preload:{"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",prefetch:true,preload:true}},prefetch:{}},"entry.KrfumMBl.css":{scripts:{},styles:{},preload:{"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",prefetch:true,preload:true}},prefetch:{}},"pages/garages/[id]/index.vue":{scripts:{},styles:{},preload:{"pages/garages/[id]/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"KwNF0Piy.js",name:"index",src:"pages/garages/[id]/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/garages/index.vue":{scripts:{},styles:{},preload:{"pages/garages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"C3lSWcZz.js",name:"index",src:"pages/garages/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/index.vue":{scripts:{},styles:{},preload:{"pages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"D5l8f-my.js",name:"index",src:"pages/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}},"pages/login.vue":{scripts:{},styles:{},preload:{"pages/login.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"C8W4Ef6u.js",name:"login",src:"pages/login.vue",isDynamicEntry:true,imports:["_qc1uPXiA.js","node_modules/nuxt/dist/app/entry.js","_DKEj_yij.js"]},"_qc1uPXiA.js":o,"node_modules/nuxt/dist/app/entry.js":h,"_DKEj_yij.js":j},prefetch:{}},"pages/packages/index.vue":{scripts:{},styles:{},preload:{"pages/packages/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"d4dk63Pu.js",name:"index",src:"pages/packages/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js","_j8avB3IT.js"]},"node_modules/nuxt/dist/app/entry.js":h,"_j8avB3IT.js":m},prefetch:{}},"pages/permissions/index.vue":{scripts:{},styles:{},preload:{"pages/permissions/index.vue":{resourceType:"script",module:true,prefetch:true,preload:true,file:"DyJFDhDL.js",name:"index",src:"pages/permissions/index.vue",isDynamicEntry:true,imports:["node_modules/nuxt/dist/app/entry.js"]},"node_modules/nuxt/dist/app/entry.js":h},prefetch:{}}},entrypoints:["node_modules/nuxt/dist/app/entry.js"],modules:{"_DKEj_yij.js":{file:"DKEj_yij.js",resourceType:"script",mimeType:void 0,module:true},"_DlAUqK2U.js":{file:"DlAUqK2U.js",resourceType:"script",mimeType:void 0,module:true},"_j8avB3IT.js":{file:"j8avB3IT.js",resourceType:"script",mimeType:void 0,module:true},"_qc1uPXiA.js":{file:"qc1uPXiA.js",resourceType:"script",mimeType:void 0,module:true},"i18n/locales/en.json":{file:"HwQw-d2b.js",resourceType:"script",mimeType:void 0,module:true},"i18n/locales/hu.json":{file:"DiHJCuau.js",resourceType:"script",mimeType:void 0,module:true},"layouts/blank.vue":{file:"B2nIQl38.js",resourceType:"script",mimeType:void 0,module:true},"layouts/default.vue":{file:"BezjjCqI.js",resourceType:"script",mimeType:void 0,module:true},"middleware/auth.ts":{file:"DSOY2KzZ.js",resourceType:"script",mimeType:void 0,module:true},"node_modules/nuxt/dist/app/components/error-404.vue":{file:"JOVMCDE9.js",resourceType:"script",mimeType:void 0,module:true},"error-404.DL_4WIao.css":{file:"error-404.DL_4WIao.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/components/error-500.vue":{file:"CLBsD5qj.js",resourceType:"script",mimeType:void 0,module:true},"error-500.I1Dtv2V5.css":{file:"error-500.I1Dtv2V5.css",resourceType:"style",mimeType:void 0,module:void 0},"node_modules/nuxt/dist/app/entry.js":{file:"CHWHIiGB.js",resourceType:"script",mimeType:void 0,module:true},"entry.KrfumMBl.css":{file:"entry.KrfumMBl.css",resourceType:"style",mimeType:void 0,module:void 0},"pages/garages/[id]/index.vue":{file:"KwNF0Piy.js",resourceType:"script",mimeType:void 0,module:true},"pages/garages/index.vue":{file:"C3lSWcZz.js",resourceType:"script",mimeType:void 0,module:true},"pages/index.vue":{file:"D5l8f-my.js",resourceType:"script",mimeType:void 0,module:true},"pages/login.vue":{file:"C8W4Ef6u.js",resourceType:"script",mimeType:void 0,module:true},"pages/packages/index.vue":{file:"d4dk63Pu.js",resourceType:"script",mimeType:void 0,module:true},"pages/permissions/index.vue":{file:"DyJFDhDL.js",resourceType:"script",mimeType:void 0,module:true}}}))(); export { client_precomputed as default }; //# sourceMappingURL=client.precomputed.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/client.precomputed.mjs.map b/frontend_admin/.output/server/chunks/build/client.precomputed.mjs.map index bcffac1..a9bb3f5 100644 --- a/frontend_admin/.output/server/chunks/build/client.precomputed.mjs.map +++ b/frontend_admin/.output/server/chunks/build/client.precomputed.mjs.map @@ -1 +1 @@ -{"version":3,"file":"client.precomputed.mjs","sources":["../../../../.nuxt/dist/server/client.precomputed.mjs"],"names":[],"mappings":"AAAA,2BAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,qCAAqC,CAAC,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,OAAO,CAAC,IAAE,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,qDAAqD,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,qCAAqC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,qDAAqD,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,qDAAqD,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qDAAqD,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,qDAAqD,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,qDAAqD,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qDAAqD,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,qCAAqC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,cAAc,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,6BAA6B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,cAAc,CAAC,IAAE,CAAC,OAAO,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,qCAAqC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,qDAAqD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC;;;;"} \ No newline at end of file +{"version":3,"file":"client.precomputed.mjs","sources":["../../../../.nuxt/dist/server/client.precomputed.mjs"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/default-B9tlXlqE.mjs b/frontend_admin/.output/server/chunks/build/default-DOjdWE8b.mjs similarity index 97% rename from frontend_admin/.output/server/chunks/build/default-B9tlXlqE.mjs rename to frontend_admin/.output/server/chunks/build/default-DOjdWE8b.mjs index 48c4cf8..87f0f61 100644 --- a/frontend_admin/.output/server/chunks/build/default-B9tlXlqE.mjs +++ b/frontend_admin/.output/server/chunks/build/default-DOjdWE8b.mjs @@ -1,11 +1,11 @@ import { _ as __nuxt_component_0 } from './nuxt-link-Cp-CAJwR.mjs'; -import { defineComponent, computed, ref, mergeProps, withCtx, createVNode, toDisplayString, openBlock, createBlock, createTextVNode, useSSRContext } from 'vue'; +import { defineComponent, computed, ref, mergeProps, withCtx, createVNode, toDisplayString, unref, openBlock, createBlock, createTextVNode, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderAttr, ssrRenderList, ssrRenderStyle, ssrInterpolate, ssrRenderSlot } from 'vue/server-renderer'; import { p as publicAssetsURL } from '../nitro/nitro.mjs'; import { useRoute } from 'vue-router'; import { u as useRegionStore } from './region-0mvXqaMM.mjs'; -import { a as useRouter, c as useI18n } from './server.mjs'; -import { u as useAuthStore } from './auth-mCjBoLcA.mjs'; +import { a as useRouter, b as useI18n } from './server.mjs'; +import { u as useAuthStore } from './auth-RwMj9LdV.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; @@ -39,10 +39,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const dropdownOpen = ref(false); ref(null); const expandedGroups = ref(/* @__PURE__ */ new Set(["K\xF6zpont"])); - const userEmail = computed(() => authStore.userEmail || "admin@servicefinder.hu"); + const userEmail = computed(() => authStore.userEmail || "Ismeretlen Felhaszn\xE1l\xF3"); const userInitials = computed(() => { const email = authStore.userEmail; - if (!email) return "AD"; + if (!email) return "??"; return email.split("@")[0].split(".").map((s) => s[0]).join("").toUpperCase().slice(0, 2); }); const menuGroups = [ @@ -243,7 +243,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }); _push(`
`); if (dropdownOpen.value) { - _push(`

${ssrInterpolate(userEmail.value)}

Administrator

`); + _push(`

${ssrInterpolate(userEmail.value)}

${ssrInterpolate(unref(authStore).userRole === "SUPERADMIN" ? "Super Administrator" : unref(authStore).userRole || "Administrator")}

`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/profile", class: "flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition", @@ -291,4 +291,4 @@ _sfc_main.setup = (props, ctx) => { }; export { _sfc_main as default }; -//# sourceMappingURL=default-B9tlXlqE.mjs.map +//# sourceMappingURL=default-DOjdWE8b.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/default-B9tlXlqE.mjs.map b/frontend_admin/.output/server/chunks/build/default-DOjdWE8b.mjs.map similarity index 82% rename from frontend_admin/.output/server/chunks/build/default-B9tlXlqE.mjs.map rename to frontend_admin/.output/server/chunks/build/default-DOjdWE8b.mjs.map index 613bea4..010d8a1 100644 --- a/frontend_admin/.output/server/chunks/build/default-B9tlXlqE.mjs.map +++ b/frontend_admin/.output/server/chunks/build/default-DOjdWE8b.mjs.map @@ -1 +1 @@ -{"version":3,"file":"default-B9tlXlqE.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/default-B9tlXlqE.js"],"names":["_a"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"default-DOjdWE8b.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/default-DOjdWE8b.js"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,UAAA,GAAa,gBAAgB,WAAW,CAAA;AAC9C,MAAM,4BAA4B,eAAA,CAAgB;AAAA,EAChD,MAAA,EAAQ,SAAA;AAAA,EACR,iBAAA,EAAmB,IAAA;AAAA,EACnB,MAAM,OAAA,EAAS;AACb,IAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,IAAA,SAAA,EAAU;AACV,IAAA,MAAM,YAAY,YAAA,EAAa;AAC/B,IAAA,cAAA,EAAe;AACf,IAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAQ,GAAI,OAAA,EAAQ;AACpC,IAAA,MAAM,gBAAA,GAAmB,QAAA,CAAS,MAAM,OAAA,CAAQ,KAAK,CAAA;AACrD,IAAA,MAAM,aAAA,GAAgB,QAAA,CAAS,MAAM,MAAA,CAAO,KAAK,CAAA;AACjD,IAAA,MAAM,WAAA,GAAc,IAAI,KAAK,CAAA;AAC7B,IAAA,MAAM,gBAAA,GAAmB,IAAI,KAAK,CAAA;AAClC,IAAA,MAAM,YAAA,GAAe,IAAI,KAAK,CAAA;AAC9B,IAAA,GAAA,CAAI,IAAI,CAAA;AACR,IAAA,MAAM,iBAAiB,GAAA,iBAAoB,IAAI,IAAI,CAAC,YAAS,CAAC,CAAC,CAAA;AAC/D,IAAA,MAAM,SAAA,GAAY,QAAA,CAAS,MAAM,SAAA,CAAU,aAAa,8BAAwB,CAAA;AAChF,IAAA,MAAM,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,MAAM,QAAQ,SAAA,CAAU,SAAA;AACxB,MAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AACnB,MAAA,OAAO,KAAA,CAAM,MAAM,GAAG,CAAA,CAAE,CAAC,CAAA,CAAE,KAAA,CAAM,GAAG,CAAA,CAAE,GAAA,CAAI,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,EAAE,WAAA,EAAY,CAAE,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA;AAAA,IAC1F,CAAC,CAAA;AACD,IAAA,MAAM,UAAA,GAAa;AAAA,MACjB;AAAA,QACE,KAAA,EAAO,YAAA;AAAA,QACP,KAAA,EAAO;AAAA,UACL;AAAA,YACE,IAAA,EAAM,GAAA;AAAA,YACN,KAAA,EAAO,WAAA;AAAA,YACP,IAAA,EAAM;AAAA;AACR;AACF,OACF;AAAA,MACA;AAAA,QACE,KAAA,EAAO,gCAAA;AAAA,QACP,KAAA,EAAO;AAAA,UACL;AAAA,YACE,KAAA,EAAO,aAAA;AAAA,YACP,IAAA,EAAM,ySAAA;AAAA,YACN,QAAA,EAAU;AAAA,cACR;AAAA,gBACE,IAAA,EAAM,UAAA;AAAA,gBACN,KAAA,EAAO,wBAAA;AAAA,gBACP,IAAA,EAAM;AAAA;AACR;AACF,WACF;AAAA,UACA;AAAA,YACE,KAAA,EAAO,oBAAA;AAAA,YACP,IAAA,EAAM,uRAAA;AAAA,YACN,QAAA,EAAU;AAAA,cACR;AAAA,gBACE,IAAA,EAAM,QAAA;AAAA,gBACN,KAAA,EAAO,+BAAA;AAAA,gBACP,IAAA,EAAM;AAAA;AACR;AACF;AACF;AACF,OACF;AAAA,MACA;AAAA,QACE,KAAA,EAAO,iBAAA;AAAA,QACP,KAAA,EAAO;AAAA,UACL;AAAA,YACE,IAAA,EAAM,WAAA;AAAA,YACN,KAAA,EAAO,UAAA;AAAA,YACP,IAAA,EAAM;AAAA;AACR;AACF,OACF;AAAA,MACA;AAAA,QACE,KAAA,EAAO,UAAA;AAAA,QACP,KAAA,EAAO;AAAA,UACL;AAAA,YACE,IAAA,EAAM,cAAA;AAAA,YACN,KAAA,EAAO,kBAAA;AAAA,YACP,IAAA,EAAM;AAAA,WACR;AAAA,UACA;AAAA,YACE,KAAA,EAAO,mBAAA;AAAA,YACP,IAAA,EAAM,oRAAA;AAAA,YACN,QAAA,EAAU;AAAA,cACR;AAAA,gBACE,IAAA,EAAM,OAAA;AAAA,gBACN,KAAA,EAAO,mBAAA;AAAA,gBACP,IAAA,EAAM;AAAA;AACR;AACF;AACF;AACF;AACF,KACF;AACA,IAAA,MAAM,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAA,IAAI,KAAA,CAAM,IAAA,KAAS,GAAA,EAAK,OAAO,WAAA;AAC/B,MAAA,IAAI,KAAA,CAAM,IAAA,CAAK,UAAA,CAAW,cAAc,GAAG,OAAO,2BAAA;AAClD,MAAA,IAAI,KAAA,CAAM,IAAA,CAAK,UAAA,CAAW,UAAU,GAAG,OAAO,aAAA;AAC9C,MAAA,IAAI,KAAA,CAAM,IAAA,CAAK,UAAA,CAAW,QAAQ,GAAG,OAAO,oBAAA;AAC5C,MAAA,IAAI,KAAA,CAAM,IAAA,CAAK,UAAA,CAAW,OAAO,GAAG,OAAO,mBAAA;AAC3C,MAAA,IAAI,KAAA,CAAM,IAAA,CAAK,UAAA,CAAW,WAAW,GAAG,OAAO,UAAA;AAC/C,MAAA,OAAO,aAAA;AAAA,IACT,CAAC,CAAA;AACD,IAAA,SAAS,SAAS,IAAA,EAAM;AACtB,MAAA,IAAI,IAAA,KAAS,GAAA,EAAK,OAAO,KAAA,CAAM,IAAA,KAAS,GAAA;AACxC,MAAA,OAAO,KAAA,CAAM,IAAA,CAAK,UAAA,CAAW,IAAI,CAAA;AAAA,IACnC;AACA,IAAA,SAAS,cAAc,IAAA,EAAM;AAC3B,MAAA,IAAI,CAAC,IAAA,CAAK,QAAA,EAAU,OAAO,KAAA;AAC3B,MAAA,OAAO,IAAA,CAAK,SAAS,IAAA,CAAK,CAAC,UAAU,QAAA,CAAS,KAAA,CAAM,IAAI,CAAC,CAAA;AAAA,IAC3D;AACA,IAAA,OAAO,CAAC,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,MAAA,KAAW;AACvC,MAAA,MAAM,mBAAA,GAAsB,kBAAA;AAC5B,MAAA,KAAA,CAAM,CAAA,IAAA,EAAO,cAAA,CAAe,UAAA,CAAW,EAAE,KAAA,EAAO,6CAA4C,EAAG,MAAM,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA;AAC1G,MAAA,IAAI,YAAY,KAAA,EAAO;AACrB,QAAA,KAAA,CAAM,CAAA,4DAAA,CAA8D,CAAA;AAAA,MACtE,CAAA,MAAO;AACL,QAAA,KAAA,CAAM,CAAA,OAAA,CAAS,CAAA;AAAA,MACjB;AACA,MAAA,KAAA,CAAM,iBAAiB,cAAA,CAAe;AAAA,QACpC,oJAAA;AAAA,QACA,WAAA,CAAY,KAAA,IAAS,CAAC,gBAAA,CAAiB,QAAQ,MAAA,GAAS;AAAA,OACzD,CAAC,CAAA,EAAA,CAAI,CAAA;AACN,MAAA,KAAA,CAAM,mBAAmB,mBAAA,EAAqB;AAAA,QAC5C,EAAA,EAAI,GAAA;AAAA,QACJ,KAAA,EAAO;AAAA,OACT,EAAG;AAAA,QACD,SAAS,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,EAAQ,UAAU,QAAA,KAAa;AAClD,UAAA,IAAI,MAAA,EAAQ;AACV,YAAA,MAAA,CAAO,CAAA,4CAAA,EAA+C,QAAQ,CAAA,KAAA,EAAQ,aAAA,CAAc,KAAA,EAAO,UAAU,CAAC,CAAA,+CAAA,EAAkD,QAAQ,CAAA,aAAA,EAAgB,cAAA,CAAe,CAAC,WAAA,CAAY,KAAA,IAAS,CAAC,gBAAA,CAAiB,KAAA,GAAQ,2BAAA,GAA8B,mBAAA,EAAqB,2EAA2E,CAAC,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAA,wDAAA,EAA2D,QAAQ,CAAA,kHAAA,EAAqH,QAAQ,CAAA,wBAAA,CAA0B,CAAA;AAAA,UACvlB,CAAA,MAAO;AACL,YAAA,OAAO;AAAA,cACL,WAAA,CAAY,KAAA,EAAO,EAAE,KAAA,EAAO,mCAAkC,EAAG;AAAA,gBAC/D,YAAY,KAAA,EAAO;AAAA,kBACjB,GAAA,EAAK,UAAA;AAAA,kBACL,KAAA,EAAO,0BAAA;AAAA,kBACP,GAAA,EAAK;AAAA,iBACN,CAAA;AAAA,gBACD,YAAY,KAAA,EAAO;AAAA,kBACjB,KAAA,EAAO,CAAC,2EAAA,EAA6E,WAAA,CAAY,SAAS,CAAC,gBAAA,CAAiB,KAAA,GAAQ,2BAAA,GAA8B,mBAAmB;AAAA,iBACvL,EAAG;AAAA,kBACD,YAAY,KAAA,EAAO,EAAE,KAAA,EAAO,4CAAA,IAAgD,gBAAgB,CAAA;AAAA,kBAC5F,YAAY,KAAA,EAAO,EAAE,KAAA,EAAO,kFAAA,IAAsF,OAAO;AAAA,mBACxH,CAAC;AAAA,eACL;AAAA,aACH;AAAA,UACF;AAAA,QACF,CAAC,CAAA;AAAA,QACD,CAAA,EAAG;AAAA,OACL,EAAG,OAAO,CAAC,CAAA;AACX,MAAA,KAAA,CAAM,CAAA,6KAAA,EAAgL,cAAA,CAAe,CAAC,EAAE,YAAA,EAAc,gBAAA,CAAiB,KAAA,EAAM,EAAG,2CAA2C,CAAC,CAAC,CAAA,wQAAA,CAA0Q,CAAA;AACviB,MAAA,aAAA,CAAc,UAAA,EAAY,CAAC,KAAA,KAAU;AACnC,QAAA,KAAA,CAAM,yIAAyI,cAAA,CAAe,WAAA,CAAY,SAAS,CAAC,gBAAA,CAAiB,QAAQ,IAAA,GAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,CAAC,CAAA,EAAA,EAAK,eAAe,KAAA,CAAM,KAAK,CAAC,CAAA,cAAA,CAAgB,CAAA;AACxR,QAAA,aAAA,CAAc,KAAA,CAAM,KAAA,EAAO,CAAC,IAAA,KAAS;AA7K7C,UAAA,IAAA,EAAA;AA8KU,UAAA,KAAA,CAAM,CAAA,QAAA,CAAU,CAAA;AAChB,UAAA,IAAI,KAAK,QAAA,EAAU;AACjB,YAAA,KAAA,CAAM,uBAAuB,cAAA,CAAe,CAAC,aAAA,CAAc,IAAI,IAAI,kCAAA,GAAqC,oDAAA,EAAsD,sFAAsF,CAAC,CAAC,CAAA,sCAAA,EAAA,CAAyC,EAAA,GAAA,IAAA,CAAK,IAAA,KAAL,IAAA,GAAA,EAAA,GAAa,EAAE,CAAA,oBAAA,EAAuB,cAAA,CAAe,CAAC,WAAA,CAAY,SAAS,CAAC,gBAAA,CAAiB,KAAA,GAAQ,2BAAA,GAA8B,qBAAqB,4FAA4F,CAAC,CAAC,CAAA,EAAA,EAAK,eAAe,IAAA,CAAK,KAAK,CAAC,CAAA,mBAAA,EAAsB,eAAe,CAAC;AAAA,cACxlB,WAAA,EAAa,cAAA,CAAe,KAAA,CAAM,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,cAChD,aAAA,EAAe,WAAA,CAAY,KAAA,IAAS,CAAC,gBAAA,CAAiB,KAAA;AAAA,cACtD,WAAA,EAAa,gBAAA,CAAiB,KAAA,IAAS,CAAC,WAAA,CAAY;AAAA,aACtD,EAAG,+DAA+D,CAAC,CAAC,4PAA4P,cAAA,CAAe,cAAA,CAAe,KAAA,CAAM,GAAA,CAAI,IAAA,CAAK,KAAK,MAAM,WAAA,CAAY,KAAA,IAAS,CAAC,gBAAA,CAAiB,KAAA,CAAA,GAAS,IAAA,GAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,CAAC,CAAA,UAAA,CAAY,CAAA;AAC/c,YAAA,aAAA,CAAc,IAAA,CAAK,QAAA,EAAU,CAAC,KAAA,KAAU;AACtC,cAAA,KAAA,CAAM,mBAAmB,mBAAA,EAAqB;AAAA,gBAC5C,KAAK,KAAA,CAAM,IAAA;AAAA,gBACX,IAAI,KAAA,CAAM,IAAA;AAAA,gBACV,KAAA,EAAO,CAAC,6EAAA,EAA+E,QAAA,CAAS,MAAM,IAAI,CAAA,GAAI,6BAA6B,oDAAoD,CAAA;AAAA,gBAC/L,OAAA,EAAS,CAAC,MAAA,KAAW,WAAA,CAAY,KAAA,GAAQ;AAAA,eAC3C,EAAG;AAAA,gBACD,SAAS,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,EAAQ,UAAU,QAAA,KAAa;AA5LpE,kBAAA,IAAAA,GAAAA;AA6LkB,kBAAA,IAAI,MAAA,EAAQ;AACV,oBAAA,MAAA,CAAO,sCAAsC,QAAQ,CAAA,CAAA,EAAA,CAAIA,GAAAA,GAAA,KAAA,CAAM,SAAN,IAAA,GAAAA,GAAAA,GAAc,EAAE,CAAA,sDAAA,EAAyD,QAAQ,CAAA,CAAA,EAAI,cAAA,CAAe,KAAA,CAAM,KAAK,CAAC,CAAA,OAAA,CAAS,CAAA;AAAA,kBACpL,CAAA,MAAO;AACL,oBAAA,OAAO;AAAA,sBACL,YAAY,MAAA,EAAQ;AAAA,wBAClB,KAAA,EAAO,uBAAA;AAAA,wBACP,WAAW,KAAA,CAAM;AAAA,uBACnB,EAAG,IAAA,EAAM,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAAA,sBACzB,WAAA,CAAY,MAAA,EAAQ,EAAE,KAAA,EAAO,mCAAA,IAAuC,eAAA,CAAgB,KAAA,CAAM,KAAK,CAAA,EAAG,CAAC;AAAA,qBACrG;AAAA,kBACF;AAAA,gBACF,CAAC,CAAA;AAAA,gBACD,CAAA,EAAG;AAAA,eACL,EAAG,OAAO,CAAC,CAAA;AAAA,YACb,CAAC,CAAA;AACD,YAAA,KAAA,CAAM,CAAA,oBAAA,CAAsB,CAAA;AAAA,UAC9B,CAAA,MAAO;AACL,YAAA,KAAA,CAAM,mBAAmB,mBAAA,EAAqB;AAAA,cAC5C,IAAI,IAAA,CAAK,IAAA;AAAA,cACT,KAAA,EAAO,CAAC,+EAAA,EAAiF,QAAA,CAAS,KAAK,IAAI,CAAA,GAAI,6BAA6B,oDAAoD,CAAA;AAAA,cAChM,OAAA,EAAS,CAAC,MAAA,KAAW,WAAA,CAAY,KAAA,GAAQ;AAAA,aAC3C,EAAG;AAAA,cACD,SAAS,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,EAAQ,UAAU,QAAA,KAAa;AAnNlE,gBAAA,IAAAA,GAAAA;AAoNgB,gBAAA,IAAI,MAAA,EAAQ;AACV,kBAAA,MAAA,CAAO,CAAA,mCAAA,EAAsC,QAAQ,CAAA,CAAA,EAAA,CAAIA,GAAAA,GAAA,IAAA,CAAK,IAAA,KAAL,IAAA,GAAAA,GAAAA,GAAa,EAAE,CAAA,oBAAA,EAAuB,cAAA,CAAe,CAAC,WAAA,CAAY,KAAA,IAAS,CAAC,gBAAA,CAAiB,KAAA,GAAQ,2BAAA,GAA8B,mBAAA,EAAqB,2EAA2E,CAAC,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,cAAA,CAAe,IAAA,CAAK,KAAK,CAAC,CAAA,OAAA,CAAS,CAAA;AAAA,gBACnV,CAAA,MAAO;AACL,kBAAA,OAAO;AAAA,oBACL,YAAY,MAAA,EAAQ;AAAA,sBAClB,KAAA,EAAO,uBAAA;AAAA,sBACP,WAAW,IAAA,CAAK;AAAA,qBAClB,EAAG,IAAA,EAAM,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAAA,oBACzB,YAAY,MAAA,EAAQ;AAAA,sBAClB,KAAA,EAAO,CAAC,2EAAA,EAA6E,WAAA,CAAY,SAAS,CAAC,gBAAA,CAAiB,KAAA,GAAQ,2BAAA,GAA8B,mBAAmB;AAAA,qBACvL,EAAG,eAAA,CAAgB,IAAA,CAAK,KAAK,GAAG,CAAC;AAAA,mBACnC;AAAA,gBACF;AAAA,cACF,CAAC,CAAA;AAAA,cACD,CAAA,EAAG;AAAA,aACL,EAAG,OAAO,CAAC,CAAA;AAAA,UACb;AACA,UAAA,KAAA,CAAM,CAAA,QAAA,CAAU,CAAA;AAAA,QAClB,CAAC,CAAA;AACD,QAAA,KAAA,CAAM,CAAA,gBAAA,CAAkB,CAAA;AAAA,MAC1B,CAAC,CAAA;AACD,MAAA,KAAA,CAAM,wFAAwF,cAAA,CAAe,CAAC,YAAY,KAAA,IAAS,CAAC,iBAAiB,KAAA,GAAQ,2BAAA,GAA8B,mBAAA,EAAqB,kFAAkF,CAAC,CAAC,CAAA,+pBAAA,EAAkqB,eAAe,SAAA,CAAU,KAAK,CAAC,CAAA,wHAAA,CAA0H,CAAA;AAC/lC,MAAA,aAAA,CAAc,gBAAA,CAAiB,KAAA,EAAO,CAAC,OAAA,KAAY;AACjD,QAAA,KAAA,CAAM,CAAA,eAAA,EAAkB,eAAe,CAAC,aAAA,CAAc,UAAU,OAAA,CAAQ,IAAA,GAAO,uCAAuC,iCAAA,EAAmC,uDAAuD,CAAC,CAAC,CAAA,EAAA,EAAK,eAAe,OAAA,CAAQ,IAAA,KAAS,OAAO,IAAA,GAAO,IAAI,CAAC,CAAA,SAAA,CAAW,CAAA;AAAA,MACvR,CAAC,CAAA;AACD,MAAA,KAAA,CAAM,CAAA,yOAAA,EAA4O,cAAA,CAAe,YAAA,CAAa,KAAK,CAAC,8DAA8D,cAAA,CAAe,SAAA,CAAU,KAAK,CAAC,CAAA,gNAAA,CAAkN,CAAA;AACnkB,MAAA,IAAI,aAAa,KAAA,EAAO;AACtB,QAAA,KAAA,CAAM,0MAA0M,cAAA,CAAe,SAAA,CAAU,KAAK,CAAC,CAAA,6CAAA,EAAgD,eAAe,KAAA,CAAM,SAAS,EAAE,QAAA,KAAa,YAAA,GAAe,wBAAwB,KAAA,CAAM,SAAS,EAAE,QAAA,IAAY,eAAe,CAAC,CAAA,UAAA,CAAY,CAAA;AAC5a,QAAA,KAAA,CAAM,mBAAmB,mBAAA,EAAqB;AAAA,UAC5C,EAAA,EAAI,UAAA;AAAA,UACJ,KAAA,EAAO,2GAAA;AAAA,UACP,OAAA,EAAS,CAAC,MAAA,KAAW,YAAA,CAAa,KAAA,GAAQ;AAAA,SAC5C,EAAG;AAAA,UACD,SAAS,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,EAAQ,UAAU,QAAA,KAAa;AAClD,YAAA,IAAI,MAAA,EAAQ;AACV,cAAA,MAAA,CAAO,CAAA,0EAAA,EAA6E,QAAQ,CAAA,8IAAA,EAAiJ,QAAQ,CAAA,gCAAA,CAAkC,CAAA;AAAA,YACzR,CAAA,MAAO;AACL,cAAA,OAAO;AAAA,iBACJ,SAAA,EAAU,EAAG,WAAA,CAAY,KAAA,EAAO;AAAA,kBAC/B,KAAA,EAAO,SAAA;AAAA,kBACP,IAAA,EAAM,MAAA;AAAA,kBACN,MAAA,EAAQ,cAAA;AAAA,kBACR,OAAA,EAAS;AAAA,iBACX,EAAG;AAAA,kBACD,YAAY,MAAA,EAAQ;AAAA,oBAClB,gBAAA,EAAkB,OAAA;AAAA,oBAClB,iBAAA,EAAmB,OAAA;AAAA,oBACnB,cAAA,EAAgB,GAAA;AAAA,oBAChB,CAAA,EAAG;AAAA,mBACJ;AAAA,iBACF,CAAA;AAAA,gBACD,gBAAgB,oBAAoB;AAAA,eACtC;AAAA,YACF;AAAA,UACF,CAAC,CAAA;AAAA,UACD,CAAA,EAAG;AAAA,SACL,EAAG,OAAO,CAAC,CAAA;AACX,QAAA,KAAA,CAAM,CAAA,sZAAA,CAAwZ,CAAA;AAAA,MACha,CAAA,MAAO;AACL,QAAA,KAAA,CAAM,CAAA,OAAA,CAAS,CAAA;AAAA,MACjB;AACA,MAAA,KAAA,CAAM,CAAA,yEAAA,CAA2E,CAAA;AACjF,MAAA,aAAA,CAAc,KAAK,MAAA,EAAQ,SAAA,EAAW,EAAC,EAAG,IAAA,EAAM,OAAO,OAAO,CAAA;AAC9D,MAAA,KAAA,CAAM,CAAA,mBAAA,CAAqB,CAAA;AAAA,IAC7B,CAAA;AAAA,EACF;AACF,CAAC;AACD,MAAM,aAAa,SAAA,CAAU,KAAA;AAC7B,SAAA,CAAU,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,CAAC,UAAA,CAAW,YAAY,UAAA,CAAW,OAAA,uBAA8B,GAAA,EAAI,CAAA,EAAI,IAAI,qBAAqB,CAAA;AAClG,EAAA,OAAO,UAAA,GAAa,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA,GAAI,MAAA;AAC/C,CAAA;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/en-BScPj1A-.mjs.map b/frontend_admin/.output/server/chunks/build/en-BScPj1A-.mjs.map deleted file mode 100644 index 762e92b..0000000 --- a/frontend_admin/.output/server/chunks/build/en-BScPj1A-.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"en-BScPj1A-.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/en-BScPj1A-.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/en-BScPj1A-.mjs b/frontend_admin/.output/server/chunks/build/en-WIj2pBfh.mjs similarity index 54% rename from frontend_admin/.output/server/chunks/build/en-BScPj1A-.mjs rename to frontend_admin/.output/server/chunks/build/en-WIj2pBfh.mjs index d850aea..ee052c5 100644 --- a/frontend_admin/.output/server/chunks/build/en-BScPj1A-.mjs +++ b/frontend_admin/.output/server/chunks/build/en-WIj2pBfh.mjs @@ -1,54 +1,50 @@ const resource = { "permissions": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permissions Management" } }, - "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permissions Management \u2014 Role-based access control & subscription feature flags" } }, - "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading permissions data..." } }, + "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permission Matrix \u2014 Role-based access control" } }, + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading permissions..." } }, "error_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Failed to load permissions" } }, "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, "save_changes": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Save Changes" } }, "discard": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Discard" } }, - "modified_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " modification(s)" }] } }, - "current_tier": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Current Tier" } }, + "modified_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " changes" }] } }, + "domain_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Domain Filter (Rows)" } }, + "role_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role Filter (Columns)" } }, + "select_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select All" } }, + "deselect_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deselect All" } }, + "all_domains": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "All" } }, + "permission": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permission" } }, + "no_permissions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No permissions in this domain." } }, + "current_tier": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Current Package" } }, "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expires" } }, "superadmin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Superadmin" } }, - "superadmin_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Full system access \u2014 user management, billing, robots, and system configuration." } }, + "superadmin_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Full system access \u2014 users, billing, robots and system configuration." } }, "garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garages" } }, "garages_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garage-level access \u2014 vehicle management, service booking, customer data." } }, "feature_flags": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Feature Flags" } }, - "feature_flags_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "Subscription feature toggles \u2014 resolved from your current tier (" }, { "t": 4, "k": "tier" }, { "t": 3, "v": ")." }] } }, + "feature_flags_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "Subscription features \u2014 based on your current plan (" }, { "t": 4, "k": "tier" }, { "t": 3, "v": ")." }] } }, "rbac_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "RBAC Permission Matrix" } }, "rbac_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role-based access control \u2014 which roles can perform which admin actions." } }, - "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Action" } }, - "perms": { - "user_mgmt": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "User Management" } }, - "billing_admin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Billing Administration" } }, - "robot_config": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Robot Configuration" } }, - "system_logs": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "System Logs Access" } }, - "api_keys": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "API Key Management" } }, - "vehicle_crud": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vehicle CRUD" } }, - "service_booking": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Service Booking" } }, - "customer_view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Customer Data View" } }, - "report_export": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Report Export" } }, - "bulk_import": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Bulk Import" } } - } + "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Action" } } }, "packages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Package Management" } }, - "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Manage subscription packages and feature flags \u2014 Free, Premium, Enterprise" } }, + "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Manage subscription packages and features \u2014 Free, Premium, Enterprise" } }, "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading packages..." } }, "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, - "create_new": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create Package" } }, + "create_new": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "New Package" } }, "no_packages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No packages yet" } }, "no_packages_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create your first subscription package to get started." } }, "create_first": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create First Package" } }, "popular": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Popular" } }, "fallback_badge": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Fallback" } }, "trial_badge": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Trial" } }, - "month": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "month" } }, + "month": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "mo" } }, "feature_flags": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Available Features" } }, "edit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Edit" } }, + "duplicate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Duplicate" } }, "delete": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Delete" } }, - "set_as_default": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Set as default" } }, + "set_as_default": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Set as Default" } }, "set_as_default_success": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "set as default package!" } }, "edit_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Edit Package" } }, "create_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Create Package" } }, @@ -63,7 +59,7 @@ const resource = { "max_vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Vehicles" } }, "max_garages": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Max Garages" } }, "monthly_credits": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Monthly Credits" } }, - "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tier Level" } }, + "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Level" } }, "form_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "System Name" } }, "form_name_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. premium_2024" } }, "form_display_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Display Name" } }, @@ -72,19 +68,31 @@ const resource = { "type_private": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Private" } }, "type_corporate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Corporate" } }, "form_tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tier Level" } }, - "form_tier_level_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Higher number = more features & higher rank" } }, + "form_tier_level_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Higher number = more features and higher rank" } }, "form_monthly_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Monthly Price" } }, "form_yearly_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Yearly Price" } }, "form_currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Currency" } }, "form_subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Subtitle / Description" } }, - "form_subtitle_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. Best for small businesses" } }, + "form_subtitle_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. Ideal for small businesses" } }, "form_badge": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Badge Text" } }, "form_badge_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "e.g. Most Popular" } }, - "form_is_custom": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Custom Package (not publicly listed)" } }, + "form_is_custom": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Custom Package (not public)" } }, "singleton_rules": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Singleton Rules" } }, - "form_is_default_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Default Fallback Package \u2014 assigned when a subscription expires" } }, + "form_is_default_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Default Fallback Package \u2014 expired subscriptions fall back to this" } }, "form_trial_days": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Trial Days on Signup" } }, - "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "New organizations get this many free days. Only one package can have trial > 0." } } + "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "New organizations get this many free days. Only one package can have > 0." } }, + "per_region_pricing": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Per-Region Pricing" } }, + "smart_calculator": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Smart Price Calculator" } }, + "calc_net_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Net Price" } }, + "calc_vat_rate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "VAT Rate" } }, + "calc_currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Currency" } }, + "calc_net": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Net" } }, + "calc_vat": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "VAT" } }, + "calc_gross": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Gross" } }, + "calc_apply": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Apply to selected region" } }, + "add_zone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Add New Zone" } }, + "add_zone_select": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select country code..." } }, + "add_zone_already_exists": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "This region already exists in the package pricing!" } } }, "garages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Garages CRM" } }, @@ -99,17 +107,63 @@ const resource = { "email": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Email" } }, "status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Status" } }, "current_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Current Package" } }, + "expiration_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expiration Date" } }, "actions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Actions" } }, "active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Active" } }, "inactive": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Inactive" } }, "suspended": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Suspended" } }, "change_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Change Package" } }, + "manage_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Manage Subscription" } }, "view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "View" } }, "activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Activate" } }, "deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deactivate" } }, - "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No garages match your search." } } + "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No garages match your search." } }, + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading garages..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, + "members": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "members" } }, + "free_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Free / Fallback" } }, + "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expires" } }, + "select_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select Package" } }, + "select_package_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Select a subscription package..." } }, + "custom_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Custom Expiration Date" } }, + "optional": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "optional" } }, + "custom_expiration_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Leave empty for default duration (e.g. 30 days). For 2-5 year B2B deals, set a custom date!" } }, + "cancel": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Cancel" } }, + "save": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Save" } }, + "saving": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Saving..." } }, + "subscription_updated": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "subscription updated successfully!" } }, + "view_details": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Details" } }, + "indefinite": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Indefinite" } }, + "details": { + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Loading garage details..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Retry" } }, + "back": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Back to garages" } }, + "company_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Company Info" } }, + "company_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Company Name" } }, + "display_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Display Name" } }, + "org_type": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Organization Type" } }, + "tax_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tax Number" } }, + "reg_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Registration Number" } }, + "created_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Created At" } }, + "address": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Address" } }, + "subscription_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Subscription Status" } }, + "tier_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Package" } }, + "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Level" } }, + "level_n": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "Level " }, { "t": 4, "k": "n" }] } }, + "expires_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Expires" } }, + "asset_limit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vehicle Limit" } }, + "vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "vehicles" } }, + "no_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No active subscription" } }, + "contact_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Contact Info" } }, + "contact_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Contact Name" } }, + "contact_role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Role" } }, + "contact_department": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Department" } }, + "contact_phone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Phone" } }, + "no_contact": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "No primary contact person" } }, + "coming_soon": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "This feature will be available soon..." } } + } } }; export { resource as default }; -//# sourceMappingURL=en-BScPj1A-.mjs.map +//# sourceMappingURL=en-WIj2pBfh.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/en-WIj2pBfh.mjs.map b/frontend_admin/.output/server/chunks/build/en-WIj2pBfh.mjs.map new file mode 100644 index 0000000..17adfb8 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/en-WIj2pBfh.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"en-WIj2pBfh.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/en-WIj2pBfh.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/entry-styles.C2WXX8iB.mjs b/frontend_admin/.output/server/chunks/build/entry-styles.C2WXX8iB.mjs new file mode 100644 index 0000000..9e08a74 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/entry-styles.C2WXX8iB.mjs @@ -0,0 +1,14 @@ +import { a as app_vue_vue_type_style_index_0_lang } from './entry-styles-3.mjs-C1rWf53M.mjs'; + +const tailwind = `*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.ms-3{margin-inline-start:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\\[38px\\]{height:38px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[200px\\]{min-width:200px}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/30{border-color:#6366f14d}.border-purple-500\\/30{border-color:#a855f74d}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/30{border-color:#3341554d}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:#0000}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-500\\/20{background-color:#06b6d433}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-emerald-900\\/10{background-color:#064e3b1a}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-indigo-600\\/30{background-color:#4f46e54d}.bg-indigo-600\\/50{background-color:#4f46e580}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-purple-600\\/30{background-color:#9333ea4d}.bg-purple-900\\/10{background-color:#581c871a}.bg-purple-900\\/5{background-color:#581c870d}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-600\\/20{background-color:#47556933}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-700\\/60{background-color:#33415599}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/40{background-color:#1e293b66}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/60{background-color:#1e293b99}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\\/50{background-color:#0f172a80}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:#05966933;--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:#10b98180}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:start-\\[2px\\]:after{content:var(--tw-content);inset-inline-start:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:h-5:after{content:var(--tw-content);height:1.25rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:w-5:after{content:var(--tw-content);width:1.25rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/10:hover{background-color:#ef44441a}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600\\/30:hover{background-color:#4755694d}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/20:hover{background-color:#33415533}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:#6366f180}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid #0000;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-emerald-500\\/50{--tw-ring-color:#10b98180}.peer:focus~.peer-focus\\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.peer:focus~.peer-focus\\:ring-indigo-500\\/50{--tw-ring-color:#6366f180}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.peer:checked~.rtl\\:peer-checked\\:after\\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}`; + +const main = `*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.ms-3{margin-inline-start:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\\[38px\\]{height:38px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[200px\\]{min-width:200px}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/30{border-color:#6366f14d}.border-purple-500\\/30{border-color:#a855f74d}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/30{border-color:#3341554d}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:transparent}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-500\\/20{background-color:#06b6d433}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-emerald-900\\/10{background-color:#064e3b1a}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-indigo-600\\/30{background-color:#4f46e54d}.bg-indigo-600\\/50{background-color:#4f46e580}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-purple-600\\/30{background-color:#9333ea4d}.bg-purple-900\\/10{background-color:#581c871a}.bg-purple-900\\/5{background-color:#581c870d}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-600\\/20{background-color:#47556933}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-700\\/60{background-color:#33415599}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/40{background-color:#1e293b66}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/60{background-color:#1e293b99}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\\/50{background-color:#0f172a80}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:rgba(5,150,105,.2);--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:rgba(16,185,129,.5)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}body{min-height:100vh;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:start-\\[2px\\]:after{content:var(--tw-content);inset-inline-start:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:h-5:after{content:var(--tw-content);height:1.25rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:w-5:after{content:var(--tw-content);width:1.25rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/10:hover{background-color:#ef44441a}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600\\/30:hover{background-color:#4755694d}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/20:hover{background-color:#33415533}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:transparent}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:rgba(99,102,241,.5)}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-emerald-500\\/50{--tw-ring-color:rgba(16,185,129,.5)}.peer:focus~.peer-focus\\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.peer:focus~.peer-focus\\:ring-indigo-500\\/50{--tw-ring-color:rgba(99,102,241,.5)}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.peer:checked~.rtl\\:peer-checked\\:after\\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}`; + +const entryStyles_C2WXX8iB = [ + tailwind, + main, + app_vue_vue_type_style_index_0_lang +]; + +export { entryStyles_C2WXX8iB as default }; +//# sourceMappingURL=entry-styles.C2WXX8iB.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/entry-styles.C2WXX8iB.mjs.map b/frontend_admin/.output/server/chunks/build/entry-styles.C2WXX8iB.mjs.map new file mode 100644 index 0000000..540e5f4 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/entry-styles.C2WXX8iB.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"entry-styles.C2WXX8iB.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/entry-styles-1.mjs-B2hfTmd6.js","../../../../.nuxt/dist/server/_nuxt/entry-styles-2.mjs-rU9a7bNs.js","../../../../.nuxt/dist/server/_nuxt/entry-styles.C2WXX8iB.mjs"],"names":["style_0","style_1","style_2"],"mappings":";;AAAA,MAAM,QAAA,GAAW,CAAA,y14BAAA,CAAA;;ACAjB,MAAM,IAAA,GAAO,CAAA,2i8BAAA,CAAA;;ACGb,6BAAe;AACf,EAAEA,QAAO;AACT,EAAEC,IAAO;AACT,EAAEC;AACF;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/entry-styles.w3HlJ-9O.mjs b/frontend_admin/.output/server/chunks/build/entry-styles.w3HlJ-9O.mjs deleted file mode 100644 index 99d858a..0000000 --- a/frontend_admin/.output/server/chunks/build/entry-styles.w3HlJ-9O.mjs +++ /dev/null @@ -1,14 +0,0 @@ -import { a as app_vue_vue_type_style_index_0_lang } from './entry-styles-3.mjs-C1rWf53M.mjs'; - -const tailwind = `*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/20{border-color:#6366f133}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:#0000}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-400\\/70{color:#818cf8b3}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:#05966933;--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:#10b98180}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.last\\:border-0:last-child{border-width:0}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:#6366f180}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid #0000;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-amber-500\\/50{--tw-ring-color:#f59e0b80}.peer:focus~.peer-focus\\:ring-cyan-500\\/50{--tw-ring-color:#06b6d480}.peer:focus~.peer-focus\\:ring-purple-500\\/50{--tw-ring-color:#a855f780}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.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\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}`; - -const main = `*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1\\.5{margin-right:.375rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.max-h-\\[90vh\\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\\.5{width:.375rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-0{max-width:0}.max-w-3xl{max-width:48rem}.max-w-\\[200px\\]{max-width:200px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-emerald-500\\/20{border-color:#10b98133}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-indigo-500\\/20{border-color:#6366f133}.border-red-500\\/20{border-color:#ef444433}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/50{border-color:#33415580}.border-transparent{border-color:transparent}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-500\\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity,1))}.bg-cyan-500\\/10{background-color:#06b6d41a}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-400\\/10{background-color:#34d3991a}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-500\\/10{background-color:#6366f11a}.bg-indigo-500\\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\\/20{background-color:#4f46e533}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-500\\/10{background-color:#a855f71a}.bg-purple-500\\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500\\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-red-900\\/30{background-color:#7f1d1d4d}.bg-red-900\\/40{background-color:#7f1d1d66}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity,1))}.bg-rose-400\\/10{background-color:#fb71851a}.bg-rose-500\\/10{background-color:#f43f5e1a}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\\/10{background-color:#64748b1a}.bg-slate-500\\/20{background-color:#64748b33}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-700\\/30{background-color:#3341554d}.bg-slate-700\\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-slate-800\\/50{background-color:#1e293b80}.bg-slate-800\\/80{background-color:#1e293bcc}.bg-slate-800\\/95{background-color:#1e293bf2}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-400\\/70{color:#818cf8b3}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\\/80{color:#f87171cc}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-slate-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-600\\/20{--tw-shadow-color:rgba(5,150,105,.2);--tw-shadow:var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-emerald-500\\/50{--tw-ring-color:rgba(16,185,129,.5)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}body{min-height:100vh;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.after\\:h-4:after{content:var(--tw-content);height:1rem}.after\\:w-4:after{content:var(--tw-content);width:1rem}.after\\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\\:border:after{border-width:1px;content:var(--tw-content)}.after\\:border-slate-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.last\\:border-0:last-child{border-width:0}.hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-cyan-500\\/50:hover{border-color:#06b6d480}.hover\\:border-emerald-500\\/50:hover{border-color:#10b98180}.hover\\:border-indigo-500\\/50:hover{border-color:#6366f180}.hover\\:border-rose-500\\/50:hover{border-color:#f43f5e80}.hover\\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.hover\\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.hover\\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\\:bg-emerald-500\\/20:hover{background-color:#10b98133}.hover\\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\\:bg-indigo-600\\/30:hover{background-color:#4f46e54d}.hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:bg-red-500\\/20:hover{background-color:#ef444433}.hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/30:hover{background-color:#3341554d}.hover\\:bg-slate-700\\/50:hover{background-color:#33415580}.hover\\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\\:border-transparent:focus{border-color:transparent}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\\:ring-cyan-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity,1))}.focus\\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\\:ring-indigo-500\\/50:focus{--tw-ring-color:rgba(99,102,241,.5)}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-cyan-800:disabled{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity,1))}.disabled\\:bg-slate-600:disabled{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.group:hover .group-hover\\:bg-cyan-500\\/20{background-color:#06b6d433}.group:hover .group-hover\\:bg-emerald-500\\/20{background-color:#10b98133}.group:hover .group-hover\\:bg-indigo-500\\/20{background-color:#6366f133}.group:hover .group-hover\\:bg-rose-500\\/20{background-color:#f43f5e33}.peer:checked~.peer-checked\\:bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\\:after\\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\\:after\\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\\:ring-amber-500\\/50{--tw-ring-color:rgba(245,158,11,.5)}.peer:focus~.peer-focus\\:ring-cyan-500\\/50{--tw-ring-color:rgba(6,182,212,.5)}.peer:focus~.peer-focus\\:ring-purple-500\\/50{--tw-ring-color:rgba(168,85,247,.5)}@media(min-width:640px){.sm\\:block{display:block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\\:static{position:static}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.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\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:p-6{padding:1.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1280px){.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}`; - -const entryStyles_w3HlJ9O = [ - tailwind, - main, - app_vue_vue_type_style_index_0_lang -]; - -export { entryStyles_w3HlJ9O as default }; -//# sourceMappingURL=entry-styles.w3HlJ-9O.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/entry-styles.w3HlJ-9O.mjs.map b/frontend_admin/.output/server/chunks/build/entry-styles.w3HlJ-9O.mjs.map deleted file mode 100644 index 4d152a3..0000000 --- a/frontend_admin/.output/server/chunks/build/entry-styles.w3HlJ-9O.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"entry-styles.w3HlJ-9O.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/entry-styles-1.mjs-DTfYoqFp.js","../../../../.nuxt/dist/server/_nuxt/entry-styles-2.mjs-CM2W3GZ1.js","../../../../.nuxt/dist/server/_nuxt/entry-styles.w3HlJ-9O.mjs"],"names":["style_0","style_1","style_2"],"mappings":";;AAAA,MAAM,QAAA,GAAW,CAAA,w9xBAAA,CAAA;;ACAjB,MAAM,IAAA,GAAO,CAAA,mr1BAAA,CAAA;;ACGb,4BAAe;AACf,EAAEA,QAAO;AACT,EAAEC,IAAO;AACT,EAAEC;AACF;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/error-404-C_elhLNc.mjs b/frontend_admin/.output/server/chunks/build/error-404-Bkg5lg69.mjs similarity index 97% rename from frontend_admin/.output/server/chunks/build/error-404-C_elhLNc.mjs rename to frontend_admin/.output/server/chunks/build/error-404-Bkg5lg69.mjs index b15ca0b..1ad14b7 100644 --- a/frontend_admin/.output/server/chunks/build/error-404-C_elhLNc.mjs +++ b/frontend_admin/.output/server/chunks/build/error-404-Bkg5lg69.mjs @@ -1,7 +1,8 @@ import { _ as __nuxt_component_0 } from './nuxt-link-Cp-CAJwR.mjs'; import { mergeProps, withCtx, createTextVNode, toDisplayString, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer'; -import { _ as _export_sfc, u as useHead } from './server.mjs'; +import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; +import { u as useHead } from './server.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; @@ -95,4 +96,4 @@ _sfc_main.setup = (props, ctx) => { const error404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1bd9e11a"]]); export { error404 as default }; -//# sourceMappingURL=error-404-C_elhLNc.mjs.map +//# sourceMappingURL=error-404-Bkg5lg69.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/error-404-Bkg5lg69.mjs.map b/frontend_admin/.output/server/chunks/build/error-404-Bkg5lg69.mjs.map new file mode 100644 index 0000000..7efa438 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/error-404-Bkg5lg69.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-404-Bkg5lg69.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/error-404-Bkg5lg69.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/error-404-C_elhLNc.mjs.map b/frontend_admin/.output/server/chunks/build/error-404-C_elhLNc.mjs.map deleted file mode 100644 index 9f1b3c7..0000000 --- a/frontend_admin/.output/server/chunks/build/error-404-C_elhLNc.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"error-404-C_elhLNc.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/error-404-C_elhLNc.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,SAAA,GAAY;AAAA,EAChB,MAAA,EAAQ,WAAA;AAAA,EACR,iBAAA,EAAmB,IAAA;AAAA,EACnB,KAAA,EAAO;AAAA,IACL,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,MAAM,OAAA,EAAS;AACb,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO,GAAG,KAAA,CAAM,MAAM,MAAM,KAAA,CAAM,UAAU,CAAA,GAAA,EAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MAC/D,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,SAAA,EAAW,CAAA,+rBAAA;AAAA;AACb,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,SAAA,EAAW,CAAA,imDAAA;AAAA;AACb;AACF,KACD,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,MAAA,KAAW;AACvC,MAAA,MAAM,mBAAA,GAAsB,kBAAA;AAC5B,MAAA,KAAA,CAAM,CAAA,IAAA,EAAO,eAAe,UAAA,CAAW,EAAE,OAAO,gIAAA,EAAiI,EAAG,MAAM,CAAC,CAAC,wNAAwN,cAAA,CAAe,OAAA,CAAQ,MAAM,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAA,CAAQ,WAAW,CAAC,CAAA,yEAAA,CAA2E,CAAA;AACnoB,MAAA,KAAA,CAAM,mBAAmB,mBAAA,EAAqB;AAAA,QAC5C,EAAA,EAAI,GAAA;AAAA,QACJ,KAAA,EAAO;AAAA,OACT,EAAG;AAAA,QACD,SAAS,OAAA,CAAQ,CAAC,CAAA,EAAG,MAAA,EAAQ,UAAU,QAAA,KAAa;AAClD,UAAA,IAAI,MAAA,EAAQ;AACV,YAAA,MAAA,CAAO,CAAA,EAAG,cAAA,CAAe,OAAA,CAAQ,QAAQ,CAAC,CAAA,CAAE,CAAA;AAAA,UAC9C,CAAA,MAAO;AACL,YAAA,OAAO;AAAA,cACL,eAAA,CAAgB,eAAA,CAAgB,OAAA,CAAQ,QAAQ,GAAG,CAAC;AAAA,aACtD;AAAA,UACF;AAAA,QACF,CAAC,CAAA;AAAA,QACD,CAAA,EAAG;AAAA,OACL,EAAG,OAAO,CAAC,CAAA;AACX,MAAA,KAAA,CAAM,CAAA,kBAAA,CAAoB,CAAA;AAAA,IAC5B,CAAA;AAAA,EACF;AACF,CAAA;AACA,MAAM,aAAa,SAAA,CAAU,KAAA;AAC7B,SAAA,CAAU,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,CAAC,UAAA,CAAW,YAAY,UAAA,CAAW,OAAA,uBAA8B,GAAA,EAAI,CAAA,EAAI,IAAI,qDAAqD,CAAA;AAClI,EAAA,OAAO,UAAA,GAAa,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA,GAAI,MAAA;AAC/C,CAAA;AACA,MAAM,QAAA,+BAAuC,SAAA,EAAW,CAAC,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/error-500-C6MJq2Cl.mjs.map b/frontend_admin/.output/server/chunks/build/error-500-C6MJq2Cl.mjs.map deleted file mode 100644 index e51a4b4..0000000 --- a/frontend_admin/.output/server/chunks/build/error-500-C6MJq2Cl.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"error-500-C6MJq2Cl.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/error-500-C6MJq2Cl.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,SAAA,GAAY;AAAA,EAChB,MAAA,EAAQ,WAAA;AAAA,EACR,iBAAA,EAAmB,IAAA;AAAA,EACnB,KAAA,EAAO;AAAA,IACL,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,MAAM,OAAA,EAAS;AACb,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO,GAAG,KAAA,CAAM,MAAM,MAAM,KAAA,CAAM,UAAU,CAAA,GAAA,EAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MAC/D,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,SAAA,EAAW,CAAA,+rBAAA;AAAA;AACb,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,SAAA,EAAW,CAAA,yjDAAA;AAAA;AACb;AACF,KACD,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,MAAA,KAAW;AACvC,MAAA,KAAA,CAAM,CAAA,IAAA,EAAO,eAAe,UAAA,CAAW,EAAE,OAAO,gIAAA,EAAiI,EAAG,MAAM,CAAC,CAAC,gOAAgO,cAAA,CAAe,OAAA,CAAQ,MAAM,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAA,CAAQ,WAAW,CAAC,CAAA,gBAAA,CAAkB,CAAA;AAAA,IACplB,CAAA;AAAA,EACF;AACF,CAAA;AACA,MAAM,aAAa,SAAA,CAAU,KAAA;AAC7B,SAAA,CAAU,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,CAAC,UAAA,CAAW,YAAY,UAAA,CAAW,OAAA,uBAA8B,GAAA,EAAI,CAAA,EAAI,IAAI,qDAAqD,CAAA;AAClI,EAAA,OAAO,UAAA,GAAa,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA,GAAI,MAAA;AAC/C,CAAA;AACA,MAAM,QAAA,+BAAuC,SAAA,EAAW,CAAC,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/error-500-C6MJq2Cl.mjs b/frontend_admin/.output/server/chunks/build/error-500-DfEH3Z64.mjs similarity index 96% rename from frontend_admin/.output/server/chunks/build/error-500-C6MJq2Cl.mjs rename to frontend_admin/.output/server/chunks/build/error-500-DfEH3Z64.mjs index 7963ee6..10ed08d 100644 --- a/frontend_admin/.output/server/chunks/build/error-500-C6MJq2Cl.mjs +++ b/frontend_admin/.output/server/chunks/build/error-500-DfEH3Z64.mjs @@ -1,6 +1,7 @@ import { mergeProps, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; -import { _ as _export_sfc, u as useHead } from './server.mjs'; +import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; +import { u as useHead } from './server.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; @@ -73,4 +74,4 @@ _sfc_main.setup = (props, ctx) => { const error500 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a01dd0ba"]]); export { error500 as default }; -//# sourceMappingURL=error-500-C6MJq2Cl.mjs.map +//# sourceMappingURL=error-500-DfEH3Z64.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/error-500-DfEH3Z64.mjs.map b/frontend_admin/.output/server/chunks/build/error-500-DfEH3Z64.mjs.map new file mode 100644 index 0000000..0ba2721 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/error-500-DfEH3Z64.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"error-500-DfEH3Z64.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/error-500-DfEH3Z64.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,SAAA,GAAY;AAAA,EAChB,MAAA,EAAQ,WAAA;AAAA,EACR,iBAAA,EAAmB,IAAA;AAAA,EACnB,KAAA,EAAO;AAAA,IACL,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,MAAM,OAAA,EAAS;AACb,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,OAAA,CAAQ;AAAA,MACN,KAAA,EAAO,GAAG,KAAA,CAAM,MAAM,MAAM,KAAA,CAAM,UAAU,CAAA,GAAA,EAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,MAC/D,MAAA,EAAQ;AAAA,QACN;AAAA,UACE,SAAA,EAAW,CAAA,+rBAAA;AAAA;AACb,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL;AAAA,UACE,SAAA,EAAW,CAAA,yjDAAA;AAAA;AACb;AACF,KACD,CAAA;AACD,IAAA,OAAO,CAAC,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,MAAA,KAAW;AACvC,MAAA,KAAA,CAAM,CAAA,IAAA,EAAO,eAAe,UAAA,CAAW,EAAE,OAAO,gIAAA,EAAiI,EAAG,MAAM,CAAC,CAAC,gOAAgO,cAAA,CAAe,OAAA,CAAQ,MAAM,CAAC,CAAA,gGAAA,EAAmG,eAAe,OAAA,CAAQ,WAAW,CAAC,CAAA,gBAAA,CAAkB,CAAA;AAAA,IACplB,CAAA;AAAA,EACF;AACF,CAAA;AACA,MAAM,aAAa,SAAA,CAAU,KAAA;AAC7B,SAAA,CAAU,KAAA,GAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChC,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,CAAC,UAAA,CAAW,YAAY,UAAA,CAAW,OAAA,uBAA8B,GAAA,EAAI,CAAA,EAAI,IAAI,qDAAqD,CAAA;AAClI,EAAA,OAAO,UAAA,GAAa,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA,GAAI,MAAA;AAC/C,CAAA;AACA,MAAM,QAAA,+BAAuC,SAAA,EAAW,CAAC,CAAC,WAAA,EAAa,iBAAiB,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/hu-CoGcC81v.mjs b/frontend_admin/.output/server/chunks/build/hu-B3JxlqZo.mjs similarity index 59% rename from frontend_admin/.output/server/chunks/build/hu-CoGcC81v.mjs rename to frontend_admin/.output/server/chunks/build/hu-B3JxlqZo.mjs index 850f824..89cd3e9 100644 --- a/frontend_admin/.output/server/chunks/build/hu-CoGcC81v.mjs +++ b/frontend_admin/.output/server/chunks/build/hu-B3JxlqZo.mjs @@ -1,13 +1,20 @@ const resource = { "permissions": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jogosults\xE1g Kezel\xE9s" } }, - "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Permissions Management \u2014 Role-based access control & subscription feature flags" } }, + "subtitle": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jogosults\xE1gi M\xE1trix \u2014 Szerepk\xF6r alap\xFA hozz\xE1f\xE9r\xE9s-vez\xE9rl\xE9s" } }, "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jogosults\xE1gok bet\xF6lt\xE9se..." } }, "error_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nem siker\xFClt bet\xF6lteni a jogosults\xE1gokat" } }, "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDAjra" } }, "save_changes": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "V\xE1ltoztat\xE1sok Ment\xE9se" } }, "discard": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Elvet\xE9s" } }, "modified_count": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "count" }, { "t": 3, "v": " m\xF3dos\xEDt\xE1s" }] } }, + "domain_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Tartom\xE1ny Sz\u0171r\u0151 (Sorok)" } }, + "role_filter": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepk\xF6r Sz\u0171r\u0151 (Oszlopok)" } }, + "select_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xD6sszes kiv\xE1laszt\xE1sa" } }, + "deselect_all": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xD6sszes elrejt\xE9se" } }, + "all_domains": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Minden" } }, + "permission": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Enged\xE9ly" } }, + "no_permissions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincsenek enged\xE9lyek ebben a tartom\xE1nyban." } }, "current_tier": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktu\xE1lis Csomag" } }, "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lej\xE1rat" } }, "superadmin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Superadmin" } }, @@ -18,19 +25,7 @@ const resource = { "feature_flags_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3, "v": "El\u0151fizet\xE9si funkci\xF3k \u2014 a jelenlegi csomagod alapj\xE1n (" }, { "t": 4, "k": "tier" }, { "t": 3, "v": ")." }] } }, "rbac_title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "RBAC Jogosults\xE1gi M\xE1trix" } }, "rbac_desc": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepk\xF6r alap\xFA hozz\xE1f\xE9r\xE9s-vez\xE9rl\xE9s \u2014 mely szerepk\xF6r\xF6k mely admin m\u0171veleteket v\xE9gezhetik." } }, - "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "M\u0171velet" } }, - "perms": { - "user_mgmt": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felhaszn\xE1l\xF3kezel\xE9s" } }, - "billing_admin": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Sz\xE1ml\xE1z\xE1si Adminisztr\xE1ci\xF3" } }, - "robot_config": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Robot Konfigur\xE1ci\xF3" } }, - "system_logs": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Rendszernapl\xF3k El\xE9r\xE9se" } }, - "api_keys": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "API Kulcs Kezel\xE9s" } }, - "vehicle_crud": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "J\xE1rm\u0171 CRUD" } }, - "service_booking": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szervizfoglal\xE1s" } }, - "customer_view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDCgyf\xE9ladatok Megtekint\xE9se" } }, - "report_export": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Jelent\xE9s Export\xE1l\xE1s" } }, - "bulk_import": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "T\xF6meges Import" } } - } + "action": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "M\u0171velet" } } }, "packages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomagok Kezel\xE9se" } }, @@ -47,6 +42,7 @@ const resource = { "month": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "h\xF3" } }, "feature_flags": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\xE9rhet\u0151 Funkci\xF3k" } }, "edit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerkeszt\xE9s" } }, + "duplicate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "M\xE1sol\xE1s" } }, "delete": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "T\xF6rl\xE9s" } }, "set_as_default": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Be\xE1ll\xEDt\xE1s alap\xE9rtelmezettk\xE9nt" } }, "set_as_default_success": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "alap\xE9rtelmezett csomagk\xE9nt be\xE1ll\xEDtva!" } }, @@ -84,7 +80,19 @@ const resource = { "singleton_rules": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Egyedis\xE9gi Szab\xE1lyok" } }, "form_is_default_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Alap\xE9rtelmezett Visszaes\xE9si Csomag \u2014 lej\xE1rt el\u0151fizet\xE9s eset\xE9n erre v\xE1lt" } }, "form_trial_days": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Pr\xF3ba Napok Regisztr\xE1ci\xF3n\xE1l" } }, - "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Az \xFAj szervezetek ennyi ingyenes napot kapnak. Csak egy csomagn\xE1l lehet > 0." } } + "form_trial_days_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Az \xFAj szervezetek ennyi ingyenes napot kapnak. Csak egy csomagn\xE1l lehet > 0." } }, + "per_region_pricing": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "R\xE9gi\xF3k szerinti \xE1raz\xE1s" } }, + "smart_calculator": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Okos \xC1rkalkul\xE1tor" } }, + "calc_net_price": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nett\xF3 \xE1r" } }, + "calc_vat_rate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xC1FA kulcs" } }, + "calc_currency": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "P\xE9nznem" } }, + "calc_net": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nett\xF3" } }, + "calc_vat": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xC1FA" } }, + "calc_gross": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Brutt\xF3" } }, + "calc_apply": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Alkalmaz a kiv\xE1lasztott r\xE9gi\xF3ra" } }, + "add_zone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDAj Z\xF3na Hozz\xE1ad\xE1sa" } }, + "add_zone_select": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "V\xE1lassz orsz\xE1gk\xF3dot..." } }, + "add_zone_already_exists": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ez a r\xE9gi\xF3 m\xE1r l\xE9tezik a csomag \xE1raz\xE1s\xE1ban!" } } }, "garages": { "title": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Gar\xE1zsok CRM" } }, @@ -99,17 +107,63 @@ const resource = { "email": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "E-mail" } }, "status": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "St\xE1tusz" } }, "current_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktu\xE1lis Csomag" } }, + "expiration_date": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lej\xE1rat D\xE1tuma" } }, "actions": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "M\u0171veletek" } }, "active": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Akt\xEDv" } }, "inactive": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Inakt\xEDv" } }, "suspended": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Felf\xFCggesztve" } }, "change_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomag M\xF3dos\xEDt\xE1sa" } }, + "manage_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\u0151fizet\xE9s Kezel\xE9se" } }, "view": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Megtekint\xE9s" } }, "activate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Aktiv\xE1l\xE1s" } }, "deactivate": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Deaktiv\xE1l\xE1s" } }, - "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs a keres\xE9snek megfelel\u0151 gar\xE1zs." } } + "no_results": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs a keres\xE9snek megfelel\u0151 gar\xE1zs." } }, + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Gar\xE1zsok bet\xF6lt\xE9se..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDAjra" } }, + "members": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "tag" } }, + "free_fallback": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ingyenes / Visszaes\xE9si" } }, + "expires": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lej\xE1rat" } }, + "select_package": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomag Kiv\xE1laszt\xE1sa" } }, + "select_package_placeholder": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "V\xE1lassz egy el\u0151fizet\xE9si csomagot..." } }, + "custom_expiration": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Egy\xE9ni Lej\xE1rati D\xE1tum" } }, + "optional": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "opcion\xE1lis" } }, + "custom_expiration_hint": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Hagyd \xFCresen az alap\xE9rtelmezett id\u0151tartamhoz (pl. 30 nap). 2-5 \xE9ves B2B deal-ekn\xE9l adj meg egyedi d\xE1tumot!" } }, + "cancel": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "M\xE9gse" } }, + "save": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ment\xE9s" } }, + "saving": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ment\xE9s..." } }, + "subscription_updated": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "el\u0151fizet\xE9se sikeresen friss\xEDtve!" } }, + "view_details": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "R\xE9szletek" } }, + "indefinite": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Hat\xE1rozatlan" } }, + "details": { + "loading": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Gar\xE1zs adatainak bet\xF6lt\xE9se..." } }, + "retry": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "\xDAjra" } }, + "back": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Vissza a gar\xE1zsokhoz" } }, + "company_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "C\xE9g adatok" } }, + "company_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "C\xE9gn\xE9v" } }, + "display_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Megjelen\xEDt\xE9si n\xE9v" } }, + "org_type": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szervezet t\xEDpusa" } }, + "tax_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ad\xF3sz\xE1m" } }, + "reg_number": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "C\xE9gjegyz\xE9ksz\xE1m" } }, + "created_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "L\xE9trehozva" } }, + "address": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "C\xEDm" } }, + "subscription_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\u0151fizet\xE9s st\xE1tusza" } }, + "tier_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Csomag" } }, + "tier_level": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szint" } }, + "level_n": { "t": 0, "b": { "t": 2, "i": [{ "t": 4, "k": "n" }, { "t": 3, "v": ". szint" }] } }, + "expires_at": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Lej\xE1rat" } }, + "asset_limit": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "J\xE1rm\u0171korl\xE1t" } }, + "vehicles": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "j\xE1rm\u0171" } }, + "no_subscription": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs akt\xEDv el\u0151fizet\xE9s" } }, + "contact_info": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "El\xE9rhet\u0151s\xE9g" } }, + "contact_name": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Kapcsolattart\xF3 neve" } }, + "contact_role": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Szerepk\xF6r" } }, + "contact_department": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Oszt\xE1ly" } }, + "contact_phone": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Telefonsz\xE1m" } }, + "no_contact": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Nincs els\u0151dleges kapcsolattart\xF3" } }, + "coming_soon": { "t": 0, "b": { "t": 2, "i": [{ "t": 3 }], "s": "Ez a funkci\xF3 hamarosan el\xE9rhet\u0151 lesz..." } } + } } }; export { resource as default }; -//# sourceMappingURL=hu-CoGcC81v.mjs.map +//# sourceMappingURL=hu-B3JxlqZo.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/hu-B3JxlqZo.mjs.map b/frontend_admin/.output/server/chunks/build/hu-B3JxlqZo.mjs.map new file mode 100644 index 0000000..5543bf9 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/hu-B3JxlqZo.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"hu-B3JxlqZo.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/hu-B3JxlqZo.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/hu-CoGcC81v.mjs.map b/frontend_admin/.output/server/chunks/build/hu-CoGcC81v.mjs.map deleted file mode 100644 index 3e5ccf6..0000000 --- a/frontend_admin/.output/server/chunks/build/hu-CoGcC81v.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"hu-CoGcC81v.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/hu-CoGcC81v.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/index-7zBAzpaD.mjs b/frontend_admin/.output/server/chunks/build/index-7zBAzpaD.mjs deleted file mode 100644 index ebd4dfb..0000000 --- a/frontend_admin/.output/server/chunks/build/index-7zBAzpaD.mjs +++ /dev/null @@ -1,143 +0,0 @@ -import { defineComponent, ref, computed, useSSRContext } from 'vue'; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrIncludeBooleanAttr } from 'vue/server-renderer'; - -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "index", - __ssrInlineRender: true, - setup(__props) { - const loading = ref(true); - const error = ref(null); - const featureFlags = ref({ - tier: "free", - features: {}, - expires_at: null - }); - const permissionMatrix = ref([]); - const allActions = ref([]); - const modifiedPermissions = ref(/* @__PURE__ */ new Map()); - ref(/* @__PURE__ */ new Map()); - const saveNotification = ref(null); - const featureEntries = computed(() => { - return Object.entries(featureFlags.value.features || {}); - }); - const hasModifications = computed(() => { - return modifiedPermissions.value.size > 0; - }); - const tierBadgeClass = computed(() => { - const tier = featureFlags.value.tier; - if (tier === "enterprise") return "bg-purple-500/20 text-purple-300"; - if (tier === "premium") return "bg-amber-500/20 text-amber-300"; - return "bg-slate-500/20 text-slate-300"; - }); - const superadminPerms = [ - { key: "user_mgmt", label: "User Management", enabled: true }, - { key: "billing_admin", label: "Billing Administration", enabled: true }, - { key: "robot_config", label: "Robot Configuration", enabled: true }, - { key: "system_logs", label: "System Logs Access", enabled: true }, - { key: "api_keys", label: "API Key Management", enabled: false } - ]; - const garagePerms = [ - { key: "vehicle_crud", label: "Vehicle CRUD", enabled: true }, - { key: "service_booking", label: "Service Booking", enabled: true }, - { key: "customer_view", label: "Customer Data View", enabled: true }, - { key: "report_export", label: "Report Export", enabled: false }, - { key: "bulk_import", label: "Bulk Import", enabled: false } - ]; - function isPermEnabled(group, key) { - const mapKey = `${group}:${key}`; - if (modifiedPermissions.value.has(mapKey)) { - return modifiedPermissions.value.get(mapKey); - } - const perms = group === "superadmin" ? superadminPerms : garagePerms; - const perm = perms.find((p) => p.key === key); - return perm ? perm.enabled : false; - } - function formatFeatureLabel(key) { - return key.replace(/^cost_category:/, "").replace(/_/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()); - } - function formatDate(dateStr) { - try { - const d = new Date(dateStr); - return d.toLocaleDateString("en-GB", { day: "numeric", month: "short", year: "numeric" }); - } catch { - return dateStr; - } - } - function hasPermission(role, action) { - return role.actions.includes(action); - } - return (_ctx, _push, _parent, _attrs) => { - _push(`

${ssrInterpolate(_ctx.$t("permissions.title"))}

${ssrInterpolate(_ctx.$t("permissions.subtitle"))}

`); - if (loading.value) { - _push(`
${ssrInterpolate(_ctx.$t("permissions.loading"))}
`); - } else if (error.value) { - _push(`

${ssrInterpolate(_ctx.$t("permissions.error_title"))}

${ssrInterpolate(error.value)}

`); - } else { - _push(``); - if (saveNotification.value) { - _push(`
${ssrInterpolate(saveNotification.value.message)}
`); - } else { - _push(``); - } - if (hasModifications.value) { - _push(`
${ssrInterpolate(_ctx.$t("permissions.modified_count", { count: modifiedPermissions.value.size }))}
`); - } else { - _push(``); - } - _push(`
${ssrInterpolate(_ctx.$t("permissions.current_tier"))}:${ssrInterpolate(featureFlags.value.tier || "free")}`); - if (featureFlags.value.expires_at) { - _push(`${ssrInterpolate(_ctx.$t("permissions.expires"))}: ${ssrInterpolate(formatDate(featureFlags.value.expires_at))}`); - } else { - _push(``); - } - _push(`

${ssrInterpolate(_ctx.$t("permissions.superadmin"))}

${ssrInterpolate(_ctx.$t("permissions.superadmin_desc"))}

`); - ssrRenderList(superadminPerms, (perm) => { - _push(`
${ssrInterpolate(_ctx.$t(`permissions.perms.${perm.key}`))}
`); - }); - _push(`

${ssrInterpolate(_ctx.$t("permissions.garages"))}

${ssrInterpolate(_ctx.$t("permissions.garages_desc"))}

`); - ssrRenderList(garagePerms, (perm) => { - _push(`
${ssrInterpolate(_ctx.$t(`permissions.perms.${perm.key}`))}
`); - }); - _push(`

${ssrInterpolate(_ctx.$t("permissions.feature_flags"))}

${ssrInterpolate(_ctx.$t("permissions.feature_flags_desc", { tier: featureFlags.value.tier || "free" }))}

`); - ssrRenderList(featureEntries.value, ([key, granted]) => { - _push(`
${ssrInterpolate(formatFeatureLabel(key))}${ssrInterpolate(key)}
`); - }); - _push(`

${ssrInterpolate(_ctx.$t("permissions.rbac_title"))}

${ssrInterpolate(_ctx.$t("permissions.rbac_desc"))}

`); - ssrRenderList(permissionMatrix.value, (role) => { - _push(``); - }); - _push(``); - ssrRenderList(allActions.value, (action) => { - _push(``); - ssrRenderList(permissionMatrix.value, (role) => { - _push(``); - }); - _push(``); - }); - _push(`
${ssrInterpolate(_ctx.$t("permissions.action"))}${ssrInterpolate(role.role)}
${ssrInterpolate(action)}`); - if (hasPermission(role, action)) { - _push(``); - } else { - _push(``); - } - _push(`
`); - if (hasModifications.value) { - _push(`
`); - } else { - _push(``); - } - _push(``); - } - _push(`
`); - }; - } -}); -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/permissions/index.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; - -export { _sfc_main as default }; -//# sourceMappingURL=index-7zBAzpaD.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/index-7zBAzpaD.mjs.map b/frontend_admin/.output/server/chunks/build/index-7zBAzpaD.mjs.map deleted file mode 100644 index d3d3333..0000000 --- a/frontend_admin/.output/server/chunks/build/index-7zBAzpaD.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-7zBAzpaD.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-7zBAzpaD.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/index-BPETUF7a.mjs.map b/frontend_admin/.output/server/chunks/build/index-BPETUF7a.mjs.map deleted file mode 100644 index 89f855b..0000000 --- a/frontend_admin/.output/server/chunks/build/index-BPETUF7a.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-BPETUF7a.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-BPETUF7a.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/index-BPETUF7a.mjs b/frontend_admin/.output/server/chunks/build/index-CII1lBpk.mjs similarity index 78% rename from frontend_admin/.output/server/chunks/build/index-BPETUF7a.mjs rename to frontend_admin/.output/server/chunks/build/index-CII1lBpk.mjs index 829ef7b..6fe37cf 100644 --- a/frontend_admin/.output/server/chunks/build/index-BPETUF7a.mjs +++ b/frontend_admin/.output/server/chunks/build/index-CII1lBpk.mjs @@ -124,6 +124,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const saving = ref(false); const saveNotification = ref(null); const featureCapabilitiesError = ref(null); + const selectedAddZoneCode = ref(""); + const availableRegionsToAdd = computed(() => { + return regionStore.regions.filter((r) => { + return r.country_code !== "DEFAULT" && !form.pricing_zones[r.country_code]; + }); + }); const calcNetPrice = ref(0); const calcVatRate = ref(27); const calcCurrency = ref("EUR"); @@ -138,6 +144,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ max_vehicles: 1, max_garages: 1, monthly_free_credits: 0, + max_cost_category_depth: 3, + advanced_reports: false, + export_data: false, subtitle: "", badge: "", is_custom: false, @@ -152,6 +161,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ if (!zone) return 0; return period === "monthly" ? zone.monthly_price : zone.yearly_price; } + function getZoneCreditPrice(countryCode) { + var _a; + const zone = form.pricing_zones[countryCode]; + if (!zone) return 0; + return (_a = zone.credit_price) != null ? _a : 0; + } function getZoneCurrency(countryCode) { const zone = form.pricing_zones[countryCode]; if (!zone) return "EUR"; @@ -224,7 +239,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ } else { _push(``); } - _push(`
${ssrInterpolate(getFormattedPrice(pkg))}/ ${ssrInterpolate(_ctx.$t("packages.month"))}

${ssrInterpolate(getDescription(pkg))}

${ssrInterpolate(_ctx.$t("packages.allowances"))}

${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}${ssrInterpolate(getAllowance(pkg, "max_vehicles"))}
${ssrInterpolate(_ctx.$t("packages.max_garages"))}${ssrInterpolate(getAllowance(pkg, "max_garages"))}
${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}${ssrInterpolate(getAllowance(pkg, "monthly_free_credits"))}
${ssrInterpolate(_ctx.$t("packages.tier_level"))}: ${ssrInterpolate(pkg.tier_level)}
`); + _push(`
${ssrInterpolate(getFormattedPrice(pkg))}/ ${ssrInterpolate(_ctx.$t("packages.month"))}

${ssrInterpolate(getDescription(pkg))}

${ssrInterpolate(_ctx.$t("packages.allowances"))}

${ssrInterpolate(_ctx.$t("packages.max_vehicles"))}${ssrInterpolate(getAllowance(pkg, "max_vehicles"))}
${ssrInterpolate(_ctx.$t("packages.max_garages"))}${ssrInterpolate(getAllowance(pkg, "max_garages"))}
${ssrInterpolate(_ctx.$t("packages.monthly_credits"))}${ssrInterpolate(getAllowance(pkg, "monthly_free_credits"))}
${ssrInterpolate(_ctx.$t("packages.tier_level"))}: ${ssrInterpolate(pkg.tier_level)}
`); }); _push(``); } @@ -240,11 +255,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ _push(``); } if (activeTab.value === "pricing") { - _push(`

${ssrInterpolate(_ctx.$t("packages.per_region_pricing"))}

`); + _push(`

${ssrInterpolate(_ctx.$t("packages.per_region_pricing"))}

Region${ssrInterpolate(_ctx.$t("packages.form_monthly_price"))}${ssrInterpolate(_ctx.$t("packages.form_yearly_price"))}${ssrInterpolate(_ctx.$t("packages.form_currency"))}
`); ssrRenderList(unref(regionStore).regions, (region) => { - _push(``); + _push(``); }); - _push(`
Region${ssrInterpolate(_ctx.$t("packages.form_monthly_price"))}${ssrInterpolate(_ctx.$t("packages.form_yearly_price"))}Kredit \xC1r${ssrInterpolate(_ctx.$t("packages.form_currency"))}
${ssrInterpolate(region.country_code)}(${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT)
${ssrInterpolate(region.country_code)}(${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT)

\u{1F9EE} ${ssrInterpolate(_ctx.$t("packages.smart_calculator"))}

`); + ssrRenderList(availableRegionsToAdd.value, (region) => { + _push(`${ssrInterpolate(region.country_code)} \u2014 ${ssrInterpolate(region.name)} (${ssrInterpolate(region.currency)}, ${ssrInterpolate(region.default_vat_rate)}% VAT) `); + }); + _push(` ${ssrInterpolate(_ctx.$t("packages.add_zone"))}

\u{1F9EE} ${ssrInterpolate(_ctx.$t("packages.smart_calculator"))}

${ssrInterpolate(_ctx.$t("packages.feature_capabilities_hint"))}

`); + _push(`

${ssrInterpolate(_ctx.$t("packages.allowances"))}

SaaS Allowances

${ssrInterpolate(_ctx.$t("packages.feature_capabilities"))}

${ssrInterpolate(_ctx.$t("packages.feature_capabilities_hint"))}

`); if (featureCapabilitiesError.value) { _push(`

${ssrInterpolate(featureCapabilitiesError.value)}

`); } else { @@ -299,4 +318,4 @@ _sfc_main.setup = (props, ctx) => { }; export { _sfc_main as default }; -//# sourceMappingURL=index-BPETUF7a.mjs.map +//# sourceMappingURL=index-CII1lBpk.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/index-CII1lBpk.mjs.map b/frontend_admin/.output/server/chunks/build/index-CII1lBpk.mjs.map new file mode 100644 index 0000000..dcb6e7f --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/index-CII1lBpk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-CII1lBpk.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-CII1lBpk.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/index-D2n0yf-2.mjs b/frontend_admin/.output/server/chunks/build/index-D2n0yf-2.mjs new file mode 100644 index 0000000..f1fd979 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/index-D2n0yf-2.mjs @@ -0,0 +1,197 @@ +import { defineComponent, ref, computed, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrIncludeBooleanAttr, ssrRenderAttr } from 'vue/server-renderer'; +import { b as useI18n } from './server.mjs'; +import '../nitro/nitro.mjs'; +import 'node:http'; +import 'node:https'; +import 'node:events'; +import 'node:buffer'; +import 'node:fs'; +import 'node:path'; +import 'node:crypto'; +import 'vue-router'; +import 'node:url'; +import 'pinia'; +import '../routes/renderer.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; +import 'unhead/plugins'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "index", + __ssrInlineRender: true, + setup(__props) { + const { t: $t } = useI18n(); + const loading = ref(true); + const error = ref(null); + const roles = ref([]); + const permissions = ref([]); + const activeDomain = ref("__all__"); + const filteredRoleIds = ref(/* @__PURE__ */ new Set()); + const modifiedRoles = ref(/* @__PURE__ */ new Map()); + ref(/* @__PURE__ */ new Map()); + const saveNotification = ref(null); + const domainOptions = computed(() => { + const domains = new Set(permissions.value.map((p) => p.domain)); + const options = [ + { value: "__all__", label: $t("permissions.all_domains") } + ]; + for (const domain of Array.from(domains).sort()) { + options.push({ value: domain, label: domain.charAt(0).toUpperCase() + domain.slice(1) }); + } + return options; + }); + const filteredDomains = computed(() => { + const domains = new Set(permissions.value.map((p) => p.domain)); + const sorted = Array.from(domains).sort(); + if (activeDomain.value === "__all__") return sorted; + return sorted.filter((d) => d === activeDomain.value); + }); + const filteredPermissions = computed(() => { + if (activeDomain.value === "__all__") return permissions.value; + return permissions.value.filter((p) => p.domain === activeDomain.value); + }); + const filteredRoles = computed(() => { + if (filteredRoleIds.value.size === 0) return roles.value; + return roles.value.filter((r) => filteredRoleIds.value.has(r.id)); + }); + const hasModifications = computed(() => { + return modifiedRoles.value.size > 0; + }); + function roleHeaderClass(role) { + if (role.rank >= 100) return "bg-purple-500/20 text-purple-300"; + if (role.rank >= 80) return "bg-indigo-500/20 text-indigo-300"; + if (role.rank >= 50) return "bg-cyan-500/20 text-cyan-300"; + return "bg-slate-500/20 text-slate-300"; + } + function domainColorClass(domain) { + const colorMap = { + fleet: "text-emerald-400", + user: "text-sky-400", + finance: "text-amber-400", + permissions: "text-purple-400", + system: "text-rose-400", + service: "text-teal-400", + organization: "text-orange-400", + vehicle: "text-cyan-400", + subscription: "text-pink-400", + moderation: "text-violet-400" + }; + return colorMap[domain] || "text-slate-400"; + } + function getCellClass(role, perm) { + if (isRoleLocked(role)) return "bg-purple-900/5"; + if (isPermEnabled(role.id, perm.id)) return "bg-emerald-900/10"; + return ""; + } + function formatPermissionLabel(perm) { + return perm.code.replace(/:/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()); + } + function getDomainPermissions(domain) { + return filteredPermissions.value.filter((p) => p.domain === domain); + } + function isPermEnabled(roleId, permissionId) { + if (modifiedRoles.value.has(roleId)) { + const rolePerms = modifiedRoles.value.get(roleId); + return rolePerms.has(permissionId); + } + const role = roles.value.find((r) => r.id === roleId); + return role ? role.permission_ids.includes(permissionId) : false; + } + function isRoleLocked(role) { + return role.is_system && role.rank >= 100; + } + return (_ctx, _push, _parent, _attrs) => { + _push(`

${ssrInterpolate(unref($t)("permissions.title"))}

${ssrInterpolate(unref($t)("permissions.subtitle"))}

`); + if (loading.value) { + _push(`
${ssrInterpolate(unref($t)("permissions.loading"))}
`); + } else if (error.value) { + _push(`

${ssrInterpolate(unref($t)("permissions.error_title"))}

${ssrInterpolate(error.value)}

`); + } else { + _push(``); + if (saveNotification.value) { + _push(`
${ssrInterpolate(saveNotification.value.message)}
`); + } else { + _push(``); + } + _push(`
`); + ssrRenderList(domainOptions.value, (domain) => { + _push(``); + }); + _push(`
`); + ssrRenderList(roles.value, (role) => { + _push(``); + }); + _push(`
`); + if (hasModifications.value) { + _push(`
${ssrInterpolate(unref($t)("permissions.modified_count", { count: modifiedRoles.value.size }))}
`); + } else { + _push(``); + } + _push(`
`); + ssrRenderList(filteredRoles.value, (role) => { + _push(``); + }); + _push(``); + ssrRenderList(filteredDomains.value, (domain) => { + _push(``); + ssrRenderList(filteredRoles.value, (role) => { + _push(``); + }); + _push(``); + ssrRenderList(getDomainPermissions(domain), (perm) => { + _push(``); + ssrRenderList(filteredRoles.value, (role) => { + _push(``); + }); + _push(``); + }); + _push(``); + }); + _push(``); + if (filteredPermissions.value.length === 0) { + _push(`${ssrInterpolate(unref($t)("permissions.no_permissions"))}`); + } else { + _push(``); + } + _push(`
${ssrInterpolate(unref($t)("permissions.permission"))}
${ssrInterpolate(role.name)}Rank ${ssrInterpolate(role.rank)}`); + if (role.is_system) { + _push(`system`); + } else { + _push(``); + } + _push(`
${ssrInterpolate(domain)} (${ssrInterpolate(getDomainPermissions(domain).length)})
${ssrInterpolate(formatPermissionLabel(perm))}${ssrInterpolate(perm.code)}`); + if (perm.description) { + _push(`${ssrInterpolate(perm.description)}`); + } else { + _push(``); + } + _push(`
`); + if (hasModifications.value) { + _push(`
${ssrInterpolate(unref($t)("permissions.modified_count", { count: modifiedRoles.value.size }))}
`); + } else { + _push(``); + } + _push(``); + } + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/permissions/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=index-D2n0yf-2.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/index-D2n0yf-2.mjs.map b/frontend_admin/.output/server/chunks/build/index-D2n0yf-2.mjs.map new file mode 100644 index 0000000..badfa30 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/index-D2n0yf-2.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-D2n0yf-2.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-D2n0yf-2.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/index-JpXwtL-Z.mjs b/frontend_admin/.output/server/chunks/build/index-JpXwtL-Z.mjs new file mode 100644 index 0000000..ee34608 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/index-JpXwtL-Z.mjs @@ -0,0 +1,167 @@ +import { defineComponent, ref, computed, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderClass, ssrRenderList } from 'vue/server-renderer'; +import { useRoute, useRouter } from 'vue-router'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "index", + __ssrInlineRender: true, + setup(__props) { + useRoute(); + useRouter(); + const loading = ref(true); + const error = ref(null); + const garage = ref(null); + const activeTab = ref("general"); + const tabs = [ + { key: "general", label: "\xC1ltal\xE1nos" }, + { key: "employees", label: "Dolgoz\xF3k" }, + { key: "fleet", label: "Flotta" }, + { key: "analytics", label: "Analitika" } + ]; + const formattedAddress = computed(() => { + if (!garage.value) return "\u2014"; + const parts = []; + if (garage.value.address_zip) parts.push(garage.value.address_zip); + if (garage.value.address_city) parts.push(garage.value.address_city); + const streetParts = []; + if (garage.value.address_street_name) streetParts.push(garage.value.address_street_name); + if (garage.value.address_street_type) streetParts.push(garage.value.address_street_type); + if (garage.value.address_house_number) streetParts.push(garage.value.address_house_number); + if (streetParts.length > 0) parts.push(streetParts.join(" ")); + return parts.length > 0 ? parts.join(", ") : "\u2014"; + }); + function garageDisplayName(g) { + return g.display_name || g.name || g.full_name; + } + function getInitials(name) { + return name.split(" ").map((w) => w.charAt(0)).join("").toUpperCase().slice(0, 2); + } + function getInitialsColor(name) { + const colors = [ + "bg-amber-600", + "bg-purple-600", + "bg-slate-600", + "bg-indigo-600", + "bg-emerald-600", + "bg-rose-600", + "bg-cyan-600", + "bg-orange-600", + "bg-teal-600" + ]; + let hash = 0; + for (let i = 0; i < name.length; i++) { + hash = name.charCodeAt(i) + ((hash << 5) - hash); + } + return colors[Math.abs(hash) % colors.length]; + } + function statusBadgeClass(status) { + if (status === "active") return "bg-emerald-500/10 text-emerald-400"; + if (status === "suspended") return "bg-red-500/10 text-red-400"; + if (status === "pending_verification") return "bg-amber-500/10 text-amber-400"; + return "bg-slate-500/10 text-slate-400"; + } + function statusDotClass(status) { + if (status === "active") return "bg-emerald-400"; + if (status === "suspended") return "bg-red-400"; + if (status === "pending_verification") return "bg-amber-400"; + return "bg-slate-400"; + } + function statusLabel(status) { + if (status === "active") return "Akt\xEDv"; + if (status === "suspended") return "Felf\xFCggesztve"; + if (status === "pending_verification") return "F\xFCgg\u0151ben"; + return "Inakt\xEDv"; + } + function tierBadgeClass(tierName) { + const name = tierName.toLowerCase(); + if (name.includes("enterprise") || name.includes("vip") || name.includes("corp")) return "bg-purple-500/20 text-purple-300"; + if (name.includes("premium") || name.includes("pro")) return "bg-amber-500/20 text-amber-300"; + return "bg-slate-500/20 text-slate-300"; + } + function orgTypeLabel(type) { + const labels = { + individual: "Mag\xE1nszem\xE9ly", + service: "Szerviz", + service_provider: "Szolg\xE1ltat\xF3", + fleet_owner: "Flottatulajdonos", + club: "Klub", + business: "V\xE1llalkoz\xE1s" + }; + return labels[type] || type; + } + function formatDate(dateStr) { + if (!dateStr) return "\u2014"; + try { + const d = new Date(dateStr); + return d.toLocaleDateString("hu-HU", { + year: "numeric", + month: "short", + day: "numeric" + }); + } catch { + return dateStr; + } + } + return (_ctx, _push, _parent, _attrs) => { + _push(``); + if (loading.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.loading"))}

`); + } else if (error.value) { + _push(`

${ssrInterpolate(error.value)}

`); + } else if (garage.value) { + _push(`
${ssrInterpolate(getInitials(garageDisplayName(garage.value)))}

${ssrInterpolate(garageDisplayName(garage.value))}

${ssrInterpolate(garage.value.full_name)} `); + if (garage.value.tax_number) { + _push(`\xB7 ${ssrInterpolate(_ctx.$t("garages.details.tax_number"))}: ${ssrInterpolate(garage.value.tax_number)}`); + } else { + _push(``); + } + _push(`

${ssrInterpolate(statusLabel(garage.value.status))}
`); + if (activeTab.value === "general") { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.company_info"))}

${ssrInterpolate(_ctx.$t("garages.details.company_name"))}

${ssrInterpolate(garage.value.full_name)}

${ssrInterpolate(_ctx.$t("garages.details.display_name"))}

${ssrInterpolate(garage.value.display_name || "\u2014")}

${ssrInterpolate(_ctx.$t("garages.details.org_type"))}

${ssrInterpolate(orgTypeLabel(garage.value.org_type))}

${ssrInterpolate(_ctx.$t("garages.details.tax_number"))}

${ssrInterpolate(garage.value.tax_number || "\u2014")}

${ssrInterpolate(_ctx.$t("garages.details.reg_number"))}

${ssrInterpolate(garage.value.reg_number || "\u2014")}

${ssrInterpolate(_ctx.$t("garages.details.created_at"))}

${ssrInterpolate(formatDate(garage.value.created_at))}

${ssrInterpolate(_ctx.$t("garages.details.address"))}

${ssrInterpolate(formattedAddress.value)}

${ssrInterpolate(_ctx.$t("garages.details.subscription_info"))}

`); + if (garage.value.subscription) { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.tier_name"))}

${ssrInterpolate(garage.value.subscription.tier_name)}

${ssrInterpolate(_ctx.$t("garages.details.tier_level"))}

${ssrInterpolate(_ctx.$t("garages.details.level_n", { n: garage.value.subscription.tier_level }))}

${ssrInterpolate(_ctx.$t("garages.details.expires_at"))}

`); + if (garage.value.subscription.expires_at) { + _push(`

${ssrInterpolate(formatDate(garage.value.subscription.expires_at))}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.indefinite"))}

`); + } + _push(`

${ssrInterpolate(_ctx.$t("garages.details.asset_limit"))}

${ssrInterpolate(garage.value.subscription.asset_limit)} ${ssrInterpolate(_ctx.$t("garages.details.vehicles"))}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.no_subscription"))}

`); + } + _push(`

${ssrInterpolate(_ctx.$t("garages.details.contact_info"))}

`); + if (garage.value.primary_contact) { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.contact_name"))}

${ssrInterpolate(garage.value.primary_contact.full_name)}

${ssrInterpolate(_ctx.$t("garages.details.contact_role"))}

${ssrInterpolate(garage.value.primary_contact.role)}

${ssrInterpolate(_ctx.$t("garages.details.contact_department"))}

${ssrInterpolate(garage.value.primary_contact.department || "\u2014")}

${ssrInterpolate(_ctx.$t("garages.details.contact_phone"))}

${ssrInterpolate(garage.value.primary_contact.phone || "\u2014")}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.no_contact"))}

`); + } + _push(`
`); + } else { + _push(``); + } + if (activeTab.value !== "general") { + _push(`

${ssrInterpolate(_ctx.$t("garages.details.coming_soon"))}

`); + } else { + _push(``); + } + _push(``); + } else { + _push(``); + } + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/garages/[id]/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=index-JpXwtL-Z.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/index-JpXwtL-Z.mjs.map b/frontend_admin/.output/server/chunks/build/index-JpXwtL-Z.mjs.map new file mode 100644 index 0000000..3399596 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/index-JpXwtL-Z.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-JpXwtL-Z.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-JpXwtL-Z.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/index-ebkVtBaw.mjs b/frontend_admin/.output/server/chunks/build/index-ebkVtBaw.mjs deleted file mode 100644 index 2f4f5a9..0000000 --- a/frontend_admin/.output/server/chunks/build/index-ebkVtBaw.mjs +++ /dev/null @@ -1,159 +0,0 @@ -import { defineComponent, ref, reactive, computed, useSSRContext } from 'vue'; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderClass } from 'vue/server-renderer'; - -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "index", - __ssrInlineRender: true, - setup(__props) { - const searchQuery = ref(""); - const filterTier = ref("all"); - const openDropdownId = ref(null); - const saveNotification = ref(null); - const availableTiers = ["free", "premium", "enterprise"]; - const garages = reactive([ - { - id: 1, - companyName: "Kov\xE1cs Aut\xF3szerviz", - contactName: "Kov\xE1cs Istv\xE1n", - email: "kovacs@autoserviz.hu", - status: "active", - tier: "premium", - initials: "KA", - colorClass: "bg-amber-600" - }, - { - id: 2, - companyName: "Nagy G\xE9pj\xE1rm\u0171jav\xEDt\xF3 Kft.", - contactName: "Nagy P\xE9ter", - email: "info@nagygepjarmu.hu", - status: "active", - tier: "enterprise", - initials: "NG", - colorClass: "bg-purple-600" - }, - { - id: 3, - companyName: "T\xF3th Aut\xF3 \xE9s Motorgar\xE1zs", - contactName: "T\xF3th G\xE1bor", - email: "toth@garazs.hu", - status: "active", - tier: "free", - initials: "TA", - colorClass: "bg-slate-600" - }, - { - id: 4, - companyName: "Szab\xF3 Flottakezel\u0151 Kft.", - contactName: "Szab\xF3 M\xE1rta", - email: "szabo@flotta.hu", - status: "inactive", - tier: "premium", - initials: "SZ", - colorClass: "bg-amber-600" - }, - { - id: 5, - companyName: "Horv\xE1th Aut\xF3technika", - contactName: "Horv\xE1th L\xE1szl\xF3", - email: "horvath@autotechnika.hu", - status: "suspended", - tier: "free", - initials: "HA", - colorClass: "bg-slate-600" - }, - { - id: 6, - companyName: "Kiss & T\xE1rsa Szerviz", - contactName: "Kiss Anna", - email: "kiss@szerviz.hu", - status: "active", - tier: "enterprise", - initials: "KT", - colorClass: "bg-purple-600" - }, - { - id: 7, - companyName: "Moln\xE1r Aut\xF3h\xE1z Kft.", - contactName: "Moln\xE1r Zolt\xE1n", - email: "molnar@autohaz.hu", - status: "active", - tier: "premium", - initials: "MA", - colorClass: "bg-amber-600" - }, - { - id: 8, - companyName: "Farkas G\xE9pj\xE1rm\u0171 Szerviz", - contactName: "Farkas B\xE9la", - email: "farkas@gepjarmu.hu", - status: "inactive", - tier: "free", - initials: "FG", - colorClass: "bg-slate-600" - } - ]); - const activeCount = computed(() => garages.filter((g) => g.status === "active").length); - const premiumCount = computed(() => garages.filter((g) => g.tier === "premium").length); - const enterpriseCount = computed(() => garages.filter((g) => g.tier === "enterprise").length); - const filteredGarages = computed(() => { - return garages.filter((g) => { - if (searchQuery.value) { - const q = searchQuery.value.toLowerCase(); - const matchesSearch = g.companyName.toLowerCase().includes(q) || g.contactName.toLowerCase().includes(q) || g.email.toLowerCase().includes(q); - if (!matchesSearch) return false; - } - if (filterTier.value !== "all" && g.tier !== filterTier.value) return false; - return true; - }); - }); - function tierBadgeClass(tier) { - if (tier === "enterprise") return "bg-purple-500/20 text-purple-300"; - if (tier === "premium") return "bg-amber-500/20 text-amber-300"; - return "bg-slate-500/20 text-slate-300"; - } - return (_ctx, _push, _parent, _attrs) => { - _push(`

${ssrInterpolate(_ctx.$t("garages.title"))}

${ssrInterpolate(_ctx.$t("garages.subtitle"))}

${ssrInterpolate(_ctx.$t("garages.total_garages"))}

${ssrInterpolate(garages.length)}

${ssrInterpolate(_ctx.$t("garages.active_garages"))}

${ssrInterpolate(activeCount.value)}

${ssrInterpolate(_ctx.$t("garages.premium_garages"))}

${ssrInterpolate(premiumCount.value)}

${ssrInterpolate(_ctx.$t("garages.enterprise_garages"))}

${ssrInterpolate(enterpriseCount.value)}

`); - ssrRenderList(filteredGarages.value, (garage) => { - _push(``); - }); - _push(`
ID${ssrInterpolate(_ctx.$t("garages.company_name"))}${ssrInterpolate(_ctx.$t("garages.email"))}${ssrInterpolate(_ctx.$t("garages.status"))}${ssrInterpolate(_ctx.$t("garages.current_package"))}${ssrInterpolate(_ctx.$t("garages.actions"))}
${ssrInterpolate(garage.id)}
${ssrInterpolate(garage.initials)}

${ssrInterpolate(garage.companyName)}

${ssrInterpolate(garage.contactName)}

${ssrInterpolate(garage.email)} ${ssrInterpolate(garage.status === "active" ? _ctx.$t("garages.active") : garage.status === "suspended" ? _ctx.$t("garages.suspended") : _ctx.$t("garages.inactive"))}
${ssrInterpolate(garage.tier)}
`); - if (openDropdownId.value === garage.id) { - _push(`
`); - ssrRenderList(availableTiers, (tier) => { - _push(``); - }); - _push(`
`); - } else { - _push(``); - } - _push(`
`); - if (filteredGarages.value.length === 0) { - _push(`

${ssrInterpolate(_ctx.$t("garages.no_results"))}

`); - } else { - _push(``); - } - _push(`
`); - if (saveNotification.value) { - _push(`
${ssrInterpolate(saveNotification.value.message)}
`); - } else { - _push(``); - } - _push(`
`); - }; - } -}); -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/garages/index.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; - -export { _sfc_main as default }; -//# sourceMappingURL=index-ebkVtBaw.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/index-ebkVtBaw.mjs.map b/frontend_admin/.output/server/chunks/build/index-ebkVtBaw.mjs.map deleted file mode 100644 index 91a661d..0000000 --- a/frontend_admin/.output/server/chunks/build/index-ebkVtBaw.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-ebkVtBaw.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-ebkVtBaw.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/index-o-V5Lz0_.mjs b/frontend_admin/.output/server/chunks/build/index-o-V5Lz0_.mjs new file mode 100644 index 0000000..e81470f --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/index-o-V5Lz0_.mjs @@ -0,0 +1,181 @@ +import { defineComponent, ref, computed, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderClass } from 'vue/server-renderer'; + +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "index", + __ssrInlineRender: true, + setup(__props) { + const loading = ref(true); + const error = ref(null); + const garages = ref([]); + const availableTiers = ref([]); + const searchQuery = ref(""); + const filterTier = ref("all"); + const showSubscriptionModal = ref(false); + const selectedGarage = ref(null); + const selectedTierId = ref(""); + const customExpiresAt = ref(""); + const saving = ref(false); + const saveError = ref(null); + const saveNotification = ref(null); + const activeCount = computed(() => garages.value.filter((g) => g.is_active).length); + const premiumCount = computed(() => { + return garages.value.filter((g) => { + const name = g.subscription_tier_name.toLowerCase(); + return name.includes("premium") || name.includes("pro"); + }).length; + }); + const enterpriseCount = computed(() => { + return garages.value.filter((g) => { + const name = g.subscription_tier_name.toLowerCase(); + return name.includes("enterprise") || name.includes("vip") || name.includes("corp"); + }).length; + }); + const filteredGarages = computed(() => { + return garages.value.filter((g) => { + if (searchQuery.value) { + const q = searchQuery.value.toLowerCase(); + const displayName = garageDisplayName(g).toLowerCase(); + const matchesSearch = displayName.includes(q) || g.full_name.toLowerCase().includes(q) || g.name.toLowerCase().includes(q) || g.city && g.city.toLowerCase().includes(q); + if (!matchesSearch) return false; + } + if (filterTier.value !== "all") { + const name = g.subscription_tier_name.toLowerCase(); + if (filterTier.value === "free" && !name.includes("free") && !name.includes("fallback")) return false; + if (filterTier.value === "premium" && !name.includes("premium") && !name.includes("pro")) return false; + if (filterTier.value === "enterprise" && !name.includes("enterprise") && !name.includes("vip") && !name.includes("corp")) return false; + } + return true; + }); + }); + function garageDisplayName(garage) { + return garage.display_name || garage.name || garage.full_name; + } + function getInitials(name) { + return name.split(" ").map((w) => w.charAt(0)).join("").toUpperCase().slice(0, 2); + } + function getInitialsColor(name) { + const colors = [ + "bg-amber-600", + "bg-purple-600", + "bg-slate-600", + "bg-indigo-600", + "bg-emerald-600", + "bg-rose-600", + "bg-cyan-600", + "bg-orange-600", + "bg-teal-600" + ]; + let hash = 0; + for (let i = 0; i < name.length; i++) { + hash = name.charCodeAt(i) + ((hash << 5) - hash); + } + return colors[Math.abs(hash) % colors.length]; + } + function statusBadgeClass(status) { + if (status === "active") return "bg-emerald-500/10 text-emerald-400"; + if (status === "suspended") return "bg-red-500/10 text-red-400"; + if (status === "pending_verification") return "bg-amber-500/10 text-amber-400"; + return "bg-slate-500/10 text-slate-400"; + } + function statusDotClass(status) { + if (status === "active") return "bg-emerald-400"; + if (status === "suspended") return "bg-red-400"; + if (status === "pending_verification") return "bg-amber-400"; + return "bg-slate-400"; + } + function statusLabel(status) { + if (status === "active") return "Akt\xEDv"; + if (status === "suspended") return "Felf\xFCggesztve"; + if (status === "pending_verification") return "F\xFCgg\u0151ben"; + return "Inakt\xEDv"; + } + function tierBadgeClass(tierName) { + const name = tierName.toLowerCase(); + if (name.includes("enterprise") || name.includes("vip") || name.includes("corp")) return "bg-purple-500/20 text-purple-300"; + if (name.includes("premium") || name.includes("pro")) return "bg-amber-500/20 text-amber-300"; + return "bg-slate-500/20 text-slate-300"; + } + function formatDate(dateStr) { + try { + const d = new Date(dateStr); + return d.toLocaleDateString("hu-HU", { + year: "numeric", + month: "short", + day: "numeric" + }); + } catch { + return dateStr; + } + } + return (_ctx, _push, _parent, _attrs) => { + var _a, _b; + _push(`

${ssrInterpolate(_ctx.$t("garages.title"))}

${ssrInterpolate(_ctx.$t("garages.subtitle"))}

`); + if (loading.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.loading"))}

`); + } else if (error.value) { + _push(`

${ssrInterpolate(error.value)}

`); + } else { + _push(`

${ssrInterpolate(_ctx.$t("garages.total_garages"))}

${ssrInterpolate(garages.value.length)}

${ssrInterpolate(_ctx.$t("garages.active_garages"))}

${ssrInterpolate(activeCount.value)}

${ssrInterpolate(_ctx.$t("garages.premium_garages"))}

${ssrInterpolate(premiumCount.value)}

${ssrInterpolate(_ctx.$t("garages.enterprise_garages"))}

${ssrInterpolate(enterpriseCount.value)}

`); + ssrRenderList(filteredGarages.value, (garage) => { + _push(``); + }); + _push(`
ID${ssrInterpolate(_ctx.$t("garages.company_name"))}${ssrInterpolate(_ctx.$t("garages.status"))}${ssrInterpolate(_ctx.$t("garages.current_package"))}${ssrInterpolate(_ctx.$t("garages.expiration_date"))}${ssrInterpolate(_ctx.$t("garages.actions"))}
${ssrInterpolate(garage.id)}
${ssrInterpolate(getInitials(garageDisplayName(garage)))}

${ssrInterpolate(garageDisplayName(garage))}

${ssrInterpolate(garage.city || "\u2014")} \xB7 ${ssrInterpolate(garage.member_count)} ${ssrInterpolate(_ctx.$t("garages.members"))}

${ssrInterpolate(statusLabel(garage.status))}${ssrInterpolate(garage.subscription_tier_name)}`); + if (garage.subscription_expires_at) { + _push(`${ssrInterpolate(formatDate(garage.subscription_expires_at))}`); + } else { + _push(`${ssrInterpolate(_ctx.$t("garages.indefinite"))}`); + } + _push(`
`); + if (filteredGarages.value.length === 0 && !loading.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.no_results"))}

`); + } else { + _push(``); + } + _push(`
`); + } + if (showSubscriptionModal.value) { + _push(`

${ssrInterpolate(_ctx.$t("garages.manage_subscription"))}

${ssrInterpolate(selectedGarage.value ? garageDisplayName(selectedGarage.value) : "")}

${ssrInterpolate(_ctx.$t("garages.current_package"))}

${ssrInterpolate(((_a = selectedGarage.value) == null ? void 0 : _a.subscription_tier_name) || _ctx.$t("garages.free_fallback"))}

`); + if ((_b = selectedGarage.value) == null ? void 0 : _b.subscription_expires_at) { + _push(`

${ssrInterpolate(_ctx.$t("garages.expires"))}: ${ssrInterpolate(formatDate(selectedGarage.value.subscription_expires_at))}

`); + } else { + _push(``); + } + _push(`

${ssrInterpolate(_ctx.$t("garages.custom_expiration_hint"))}

`); + if (saveError.value) { + _push(`

${ssrInterpolate(saveError.value)}

`); + } else { + _push(``); + } + _push(`
`); + if (saving.value) { + _push(` ${ssrInterpolate(_ctx.$t("garages.saving"))}`); + } else { + _push(`${ssrInterpolate(_ctx.$t("garages.save"))}`); + } + _push(`
`); + } else { + _push(``); + } + if (saveNotification.value) { + _push(`
${ssrInterpolate(saveNotification.value.message)}
`); + } else { + _push(``); + } + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/garages/index.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; + +export { _sfc_main as default }; +//# sourceMappingURL=index-o-V5Lz0_.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/index-o-V5Lz0_.mjs.map b/frontend_admin/.output/server/chunks/build/index-o-V5Lz0_.mjs.map new file mode 100644 index 0000000..c891e92 --- /dev/null +++ b/frontend_admin/.output/server/chunks/build/index-o-V5Lz0_.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-o-V5Lz0_.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/index-o-V5Lz0_.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/login-BHmaTZZZ.mjs b/frontend_admin/.output/server/chunks/build/login-Dx4mHuUH.mjs similarity index 97% rename from frontend_admin/.output/server/chunks/build/login-BHmaTZZZ.mjs rename to frontend_admin/.output/server/chunks/build/login-Dx4mHuUH.mjs index 57817cc..eafe09e 100644 --- a/frontend_admin/.output/server/chunks/build/login-BHmaTZZZ.mjs +++ b/frontend_admin/.output/server/chunks/build/login-Dx4mHuUH.mjs @@ -3,7 +3,7 @@ import { defineComponent, ref, mergeProps, unref, withCtx, createTextVNode, useS import { ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderComponent } from 'vue/server-renderer'; import { p as publicAssetsURL } from '../nitro/nitro.mjs'; import { a as useRouter } from './server.mjs'; -import { u as useAuthStore } from './auth-mCjBoLcA.mjs'; +import { u as useAuthStore } from './auth-RwMj9LdV.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; @@ -72,4 +72,4 @@ _sfc_main.setup = (props, ctx) => { }; export { _sfc_main as default }; -//# sourceMappingURL=login-BHmaTZZZ.mjs.map +//# sourceMappingURL=login-Dx4mHuUH.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/login-BHmaTZZZ.mjs.map b/frontend_admin/.output/server/chunks/build/login-Dx4mHuUH.mjs.map similarity index 94% rename from frontend_admin/.output/server/chunks/build/login-BHmaTZZZ.mjs.map rename to frontend_admin/.output/server/chunks/build/login-Dx4mHuUH.mjs.map index 0b0e8a8..18f47d7 100644 --- a/frontend_admin/.output/server/chunks/build/login-BHmaTZZZ.mjs.map +++ b/frontend_admin/.output/server/chunks/build/login-Dx4mHuUH.mjs.map @@ -1 +1 @@ -{"version":3,"file":"login-BHmaTZZZ.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/login-BHmaTZZZ.js"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"login-Dx4mHuUH.mjs","sources":["../../../../.nuxt/dist/server/_nuxt/login-Dx4mHuUH.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/server.mjs b/frontend_admin/.output/server/chunks/build/server.mjs index d18c20a..6599557 100644 --- a/frontend_admin/.output/server/chunks/build/server.mjs +++ b/frontend_admin/.output/server/chunks/build/server.mjs @@ -1,9 +1,9 @@ import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import * as Vue from 'vue'; -import { ref, getCurrentScope, onScopeDispose, inject, computed, hasInjectionContext, getCurrentInstance as getCurrentInstance$1, shallowRef, defineComponent, createElementBlock, provide, cloneVNode, h, defineAsyncComponent, unref, shallowReactive, Suspense, Fragment, createApp, createVNode, Text, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, reactive, effectScope, mergeProps, toRef, withCtx, nextTick, isReadonly, toRaw, useSSRContext, isRef, isShallow, isReactive } from 'vue'; +import { getCurrentScope, onScopeDispose, ref, inject, computed, hasInjectionContext, getCurrentInstance as getCurrentInstance$1, shallowRef, defineComponent, createElementBlock, provide, cloneVNode, h, defineAsyncComponent, unref, shallowReactive, Suspense, Fragment, useSSRContext, createApp, createVNode, Text, withCtx, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, reactive, effectScope, nextTick, mergeProps, toRef, isReadonly, toRaw, isRef, isShallow, isReactive } from 'vue'; import { q as klona, r as parseURL, e as encodePath, s as decodePath, t as hasProtocol, v as isScriptProtocol, w as joinURL, x as withQuery, y as parse$1, z as getRequestHeader, A as destr, B as isEqual, C as sanitizeStatusCode, D as setCookie, E as getCookie, F as deleteCookie, G as getContext, $ as $fetch$1, H as baseURL, I as defu, J as createHooks, j as createError$1, K as executeAsync, L as getRequestURL, M as createDefu, N as parsePath, O as parseQuery, P as withoutTrailingSlash } from '../nitro/nitro.mjs'; import { setActivePinia, createPinia, shouldHydrate } from 'pinia'; import { useRoute as useRoute$1, RouterView, createMemoryHistory, createRouter, START_LOCATION } from 'vue-router'; -import { ssrRenderSuspense, ssrRenderComponent, ssrRenderVNode } from 'vue/server-renderer'; +import { ssrRenderComponent, ssrRenderSuspense, ssrRenderVNode } from 'vue/server-renderer'; import { u as useHead$1, h as headSymbol } from '../routes/renderer.mjs'; import 'node:http'; import 'node:https'; @@ -459,6 +459,9 @@ const unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU = /* @__PURE__ */ defin function toArray$3(value) { return Array.isArray(value) ? value : [value]; } +const __nuxt_page_meta = { + layout: "blank" +}; const _routes = [ { name: "index", @@ -469,25 +472,32 @@ const _routes = [ { name: "login", path: "/login", - component: () => import('./login-BHmaTZZZ.mjs') + meta: __nuxt_page_meta || {}, + component: () => import('./login-Dx4mHuUH.mjs') }, { name: "garages", path: "/garages", meta: { "middleware": "auth" }, - component: () => import('./index-ebkVtBaw.mjs') + component: () => import('./index-o-V5Lz0_.mjs') }, { name: "packages", path: "/packages", meta: { "middleware": "auth" }, - component: () => import('./index-BPETUF7a.mjs') + component: () => import('./index-CII1lBpk.mjs') }, { name: "permissions", path: "/permissions", meta: { "middleware": "auth" }, - component: () => import('./index-7zBAzpaD.mjs') + component: () => import('./index-D2n0yf-2.mjs') + }, + { + name: "garages-id", + path: "/garages/:id()", + meta: { "middleware": "auth" }, + component: () => import('./index-JpXwtL-Z.mjs') } ]; const _wrapInTransition = (props, children) => { @@ -632,7 +642,7 @@ const globalMiddleware = [ manifest_45route_45rule ]; const namedMiddleware = { - auth: () => import('./auth-BgwR5zMA.mjs') + auth: () => import('./auth-9ekP0oPk.mjs') }; Object.assign(/* @__PURE__ */ Object.create(null), {}); const pageIslandRoutes = Object.assign(/* @__PURE__ */ Object.create(null), {}); @@ -1417,7 +1427,7 @@ const localeLoaders = { { key: "locale_hu_46json_ee06c965", load: () => import( - './hu-CoGcC81v.mjs' + './hu-B3JxlqZo.mjs' /* webpackChunkName: "locale_hu_46json_ee06c965" */ ), cache: true @@ -1427,7 +1437,7 @@ const localeLoaders = { { key: "locale_en_46json_0b63539c", load: () => import( - './en-BScPj1A-.mjs' + './en-WIj2pBfh.mjs' /* webpackChunkName: "locale_en_46json_0b63539c" */ ), cache: true @@ -1567,7 +1577,7 @@ function getDefaultLocaleForDomain(host) { } const isSupportedLocale = (locale) => localeCodes.includes(locale || ""); const resolveSupportedLocale = (locale) => isSupportedLocale(locale) ? locale : void 0; -var define_I18N_LOCALE_HASHES_default$1 = { hu: "349b7781", en: "349b7781" }; +var define_I18N_LOCALE_HASHES_default$1 = { hu: "bb1d6803", en: "bb1d6803" }; const useLocaleConfigs = () => useState( "i18n:cached-locale-configs", () => void 0 @@ -5897,7 +5907,7 @@ const setupVueI18nOptions = async (defaultLocale) => { } return options; }; -var define_I18N_LOCALE_HASHES_default = { hu: "349b7781", en: "349b7781" }; +var define_I18N_LOCALE_HASHES_default = { hu: "bb1d6803", en: "bb1d6803" }; const i18n_EI7LsD1KYQADczz5hrChviGQCdVM8yUkvFEZLJpmnvM = /* @__PURE__ */ defineNuxtPlugin({ name: "i18n:plugin", parallel: false, @@ -6004,7 +6014,8 @@ const plugins = [ ssg_detect_IpHCGcQQ_IR5Rl99qyukWoMA9fJGfuTYyoksTzy81cs ]; const layouts = { - default: defineAsyncComponent(() => import('./default-B9tlXlqE.mjs').then((m) => m.default || m)) + blank: defineAsyncComponent(() => import('./blank-DWT4RB69.mjs').then((m) => m.default || m)), + default: defineAsyncComponent(() => import('./default-DOjdWE8b.mjs').then((m) => m.default || m)) }; const routeRulesMatcher = _routeRulesMatcher; const LayoutLoader = defineComponent({ @@ -6241,37 +6252,39 @@ function normalizeSlot(slot, data) { const slotContent = slot(data); return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent); } -const _export_sfc = (sfc, props) => { - const target = sfc.__vccOpts || sfc; - for (const [key, val] of props) { - target[key] = val; - } - return target; -}; -const _sfc_main$2 = {}; -function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { - const _component_NuxtLayout = __nuxt_component_0; - const _component_NuxtPage = __nuxt_component_1; - _push(ssrRenderComponent(_component_NuxtLayout, _attrs, { - default: withCtx((_, _push2, _parent2, _scopeId) => { - if (_push2) { - _push2(ssrRenderComponent(_component_NuxtPage, null, null, _parent2, _scopeId)); - } else { - return [ - createVNode(_component_NuxtPage) - ]; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "app", + __ssrInlineRender: true, + setup(__props) { + useHead({ + titleTemplate: (titleChunk) => { + return titleChunk ? `${titleChunk} | Service Finder Admin` : "Service Finder Admin"; } - }), - _: 1 - }, _parent)); -} + }); + return (_ctx, _push, _parent, _attrs) => { + const _component_NuxtLayout = __nuxt_component_0; + const _component_NuxtPage = __nuxt_component_1; + _push(ssrRenderComponent(_component_NuxtLayout, _attrs, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(ssrRenderComponent(_component_NuxtPage, null, null, _parent2, _scopeId)); + } else { + return [ + createVNode(_component_NuxtPage) + ]; + } + }), + _: 1 + }, _parent)); + }; + } +}); const _sfc_setup$2 = _sfc_main$2.setup; _sfc_main$2.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("app.vue"); return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; }; -const AppComponent = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender]]); const _sfc_main$1 = { __name: "nuxt-error-page", __ssrInlineRender: true, @@ -6286,8 +6299,8 @@ const _sfc_main$1 = { const statusText = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error"); const description = _error.message || _error.toString(); const stack = void 0; - const _Error404 = defineAsyncComponent(() => import('./error-404-C_elhLNc.mjs')); - const _Error = defineAsyncComponent(() => import('./error-500-C6MJq2Cl.mjs')); + const _Error404 = defineAsyncComponent(() => import('./error-404-Bkg5lg69.mjs')); + const _Error = defineAsyncComponent(() => import('./error-500-DfEH3Z64.mjs')); const ErrorTemplate = is404 ? _Error404 : _Error; return (_ctx, _push, _parent, _attrs) => { _push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ status: unref(status), statusText: unref(statusText), statusCode: unref(status), statusMessage: unref(statusText), description: unref(description), stack: unref(stack) }, _attrs), null, _parent)); @@ -6345,7 +6358,7 @@ const _sfc_main = { } else if (unref(SingleRenderer)) { ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent); } else { - _push(ssrRenderComponent(unref(AppComponent), null, null, _parent)); + _push(ssrRenderComponent(unref(_sfc_main$2), null, null, _parent)); } }, _: 1 @@ -6379,5 +6392,5 @@ let entry; } const entry_default = ((ssrContext) => entry(ssrContext)); -export { _export_sfc as _, useRouter as a, useCookie as b, useI18n as c, defineNuxtRouteMiddleware as d, entry_default as default, encodeRoutePath as e, useNuxtApp as f, useRuntimeConfig as g, nuxtLinkDefaults as h, navigateTo as n, resolveRouteObject as r, useHead as u }; +export { useRouter as a, useI18n as b, useCookie as c, defineNuxtRouteMiddleware as d, entry_default as default, encodeRoutePath as e, useNuxtApp as f, useRuntimeConfig as g, nuxtLinkDefaults as h, navigateTo as n, resolveRouteObject as r, useHead as u }; //# sourceMappingURL=server.mjs.map diff --git a/frontend_admin/.output/server/chunks/build/server.mjs.map b/frontend_admin/.output/server/chunks/build/server.mjs.map index d44ab86..07980be 100644 --- a/frontend_admin/.output/server/chunks/build/server.mjs.map +++ b/frontend_admin/.output/server/chunks/build/server.mjs.map @@ -1 +1 @@ -{"version":3,"file":"server.mjs","sources":["../../../../.nuxt/dist/server/server.mjs"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"server.mjs","sources":["../../../../.nuxt/dist/server/server.mjs"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/frontend_admin/.output/server/chunks/build/styles.mjs b/frontend_admin/.output/server/chunks/build/styles.mjs index 1352314..93d3287 100644 --- a/frontend_admin/.output/server/chunks/build/styles.mjs +++ b/frontend_admin/.output/server/chunks/build/styles.mjs @@ -1,6 +1,6 @@ const interopDefault = r => r.default || r || []; const styles = { - "node_modules/nuxt/dist/app/entry.js": () => import('./entry-styles.w3HlJ-9O.mjs').then(interopDefault), + "node_modules/nuxt/dist/app/entry.js": () => import('./entry-styles.C2WXX8iB.mjs').then(interopDefault), "app.vue": () => import('./app-styles.BKebClGy.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.CiJjK6WX.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.ulHNpcF1.mjs').then(interopDefault) diff --git a/frontend_admin/.output/server/chunks/nitro/nitro.mjs b/frontend_admin/.output/server/chunks/nitro/nitro.mjs index 809617d..eb61215 100644 --- a/frontend_admin/.output/server/chunks/nitro/nitro.mjs +++ b/frontend_admin/.output/server/chunks/nitro/nitro.mjs @@ -4301,7 +4301,7 @@ function _expandFromEnv(value) { const _inlineRuntimeConfig = { "app": { "baseURL": "/", - "buildId": "dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233", + "buildId": "e6a51bf7-9efc-4598-aa2a-be03bd94fdda", "buildAssetsDir": "/_nuxt/", "cdnURL": "" }, @@ -4932,13 +4932,20 @@ async function getLocaleMessagesMerged(locale, loaders = []) { var permissions$1 = { title: "Jogosultság Kezelés", - subtitle: "Permissions Management — Role-based access control & subscription feature flags", + subtitle: "Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés", loading: "Jogosultságok betöltése...", error_title: "Nem sikerült betölteni a jogosultságokat", retry: "Újra", save_changes: "Változtatások Mentése", discard: "Elvetés", modified_count: "{count} módosítás", + domain_filter: "Tartomány Szűrő (Sorok)", + role_filter: "Szerepkör Szűrő (Oszlopok)", + select_all: "Összes kiválasztása", + deselect_all: "Összes elrejtése", + all_domains: "Minden", + permission: "Engedély", + no_permissions: "Nincsenek engedélyek ebben a tartományban.", current_tier: "Aktuális Csomag", expires: "Lejárat", superadmin: "Superadmin", @@ -4949,19 +4956,7 @@ var permissions$1 = { feature_flags_desc: "Előfizetési funkciók — a jelenlegi csomagod alapján ({tier}).", rbac_title: "RBAC Jogosultsági Mátrix", rbac_desc: "Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik.", - action: "Művelet", - perms: { - user_mgmt: "Felhasználókezelés", - billing_admin: "Számlázási Adminisztráció", - robot_config: "Robot Konfiguráció", - system_logs: "Rendszernaplók Elérése", - api_keys: "API Kulcs Kezelés", - vehicle_crud: "Jármű CRUD", - service_booking: "Szervizfoglalás", - customer_view: "Ügyféladatok Megtekintése", - report_export: "Jelentés Exportálás", - bulk_import: "Tömeges Import" - } + action: "Művelet" }; var packages$1 = { title: "Csomagok Kezelése", @@ -4978,6 +4973,7 @@ var packages$1 = { month: "hó", feature_flags: "Elérhető Funkciók", edit: "Szerkesztés", + duplicate: "Másolás", "delete": "Törlés", set_as_default: "Beállítás alapértelmezettként", set_as_default_success: "alapértelmezett csomagként beállítva!", @@ -5015,7 +5011,19 @@ var packages$1 = { singleton_rules: "Egyediségi Szabályok", form_is_default_fallback: "Alapértelmezett Visszaesési Csomag — lejárt előfizetés esetén erre vált", form_trial_days: "Próba Napok Regisztrációnál", - form_trial_days_hint: "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0." + form_trial_days_hint: "Az új szervezetek ennyi ingyenes napot kapnak. Csak egy csomagnál lehet > 0.", + per_region_pricing: "Régiók szerinti árazás", + smart_calculator: "Okos Árkalkulátor", + calc_net_price: "Nettó ár", + calc_vat_rate: "ÁFA kulcs", + calc_currency: "Pénznem", + calc_net: "Nettó", + calc_vat: "ÁFA", + calc_gross: "Bruttó", + calc_apply: "Alkalmaz a kiválasztott régióra", + add_zone: "Új Zóna Hozzáadása", + add_zone_select: "Válassz országkódot...", + add_zone_already_exists: "Ez a régió már létezik a csomag árazásában!" }; var garages$1 = { title: "Garázsok CRM", @@ -5030,15 +5038,61 @@ var garages$1 = { email: "E-mail", status: "Státusz", current_package: "Aktuális Csomag", + expiration_date: "Lejárat Dátuma", actions: "Műveletek", active: "Aktív", inactive: "Inaktív", suspended: "Felfüggesztve", change_package: "Csomag Módosítása", + manage_subscription: "Előfizetés Kezelése", view: "Megtekintés", activate: "Aktiválás", deactivate: "Deaktiválás", - no_results: "Nincs a keresésnek megfelelő garázs." + no_results: "Nincs a keresésnek megfelelő garázs.", + loading: "Garázsok betöltése...", + retry: "Újra", + members: "tag", + free_fallback: "Ingyenes / Visszaesési", + expires: "Lejárat", + select_package: "Csomag Kiválasztása", + select_package_placeholder: "Válassz egy előfizetési csomagot...", + custom_expiration: "Egyéni Lejárati Dátum", + optional: "opcionális", + custom_expiration_hint: "Hagyd üresen az alapértelmezett időtartamhoz (pl. 30 nap). 2-5 éves B2B deal-eknél adj meg egyedi dátumot!", + cancel: "Mégse", + save: "Mentés", + saving: "Mentés...", + subscription_updated: "előfizetése sikeresen frissítve!", + view_details: "Részletek", + indefinite: "Határozatlan", + details: { + loading: "Garázs adatainak betöltése...", + retry: "Újra", + back: "Vissza a garázsokhoz", + company_info: "Cég adatok", + company_name: "Cégnév", + display_name: "Megjelenítési név", + org_type: "Szervezet típusa", + tax_number: "Adószám", + reg_number: "Cégjegyzékszám", + created_at: "Létrehozva", + address: "Cím", + subscription_info: "Előfizetés státusza", + tier_name: "Csomag", + tier_level: "Szint", + level_n: "{n}. szint", + expires_at: "Lejárat", + asset_limit: "Járműkorlát", + vehicles: "jármű", + no_subscription: "Nincs aktív előfizetés", + contact_info: "Elérhetőség", + contact_name: "Kapcsolattartó neve", + contact_role: "Szerepkör", + contact_department: "Osztály", + contact_phone: "Telefonszám", + no_contact: "Nincs elsődleges kapcsolattartó", + coming_soon: "Ez a funkció hamarosan elérhető lesz..." + } }; const locale_hu_46json_ee06c965 = { permissions: permissions$1, @@ -5048,54 +5102,50 @@ const locale_hu_46json_ee06c965 = { var permissions = { title: "Permissions Management", - subtitle: "Permissions Management — Role-based access control & subscription feature flags", - loading: "Loading permissions data...", + subtitle: "Permission Matrix — Role-based access control", + loading: "Loading permissions...", error_title: "Failed to load permissions", retry: "Retry", save_changes: "Save Changes", discard: "Discard", - modified_count: "{count} modification(s)", - current_tier: "Current Tier", + modified_count: "{count} changes", + domain_filter: "Domain Filter (Rows)", + role_filter: "Role Filter (Columns)", + select_all: "Select All", + deselect_all: "Deselect All", + all_domains: "All", + permission: "Permission", + no_permissions: "No permissions in this domain.", + current_tier: "Current Package", expires: "Expires", superadmin: "Superadmin", - superadmin_desc: "Full system access — user management, billing, robots, and system configuration.", + superadmin_desc: "Full system access — users, billing, robots and system configuration.", garages: "Garages", garages_desc: "Garage-level access — vehicle management, service booking, customer data.", feature_flags: "Feature Flags", - feature_flags_desc: "Subscription feature toggles — resolved from your current tier ({tier}).", + feature_flags_desc: "Subscription features — based on your current plan ({tier}).", rbac_title: "RBAC Permission Matrix", rbac_desc: "Role-based access control — which roles can perform which admin actions.", - action: "Action", - perms: { - user_mgmt: "User Management", - billing_admin: "Billing Administration", - robot_config: "Robot Configuration", - system_logs: "System Logs Access", - api_keys: "API Key Management", - vehicle_crud: "Vehicle CRUD", - service_booking: "Service Booking", - customer_view: "Customer Data View", - report_export: "Report Export", - bulk_import: "Bulk Import" - } + action: "Action" }; var packages = { title: "Package Management", - subtitle: "Manage subscription packages and feature flags — Free, Premium, Enterprise", + subtitle: "Manage subscription packages and features — Free, Premium, Enterprise", loading: "Loading packages...", retry: "Retry", - create_new: "Create Package", + create_new: "New Package", no_packages: "No packages yet", no_packages_desc: "Create your first subscription package to get started.", create_first: "Create First Package", popular: "Popular", fallback_badge: "Fallback", trial_badge: "Trial", - month: "month", + month: "mo", feature_flags: "Available Features", edit: "Edit", + duplicate: "Duplicate", "delete": "Delete", - set_as_default: "Set as default", + set_as_default: "Set as Default", set_as_default_success: "set as default package!", edit_title: "Edit Package", create_title: "Create Package", @@ -5110,7 +5160,7 @@ var packages = { max_vehicles: "Max Vehicles", max_garages: "Max Garages", monthly_credits: "Monthly Credits", - tier_level: "Tier Level", + tier_level: "Level", form_name: "System Name", form_name_placeholder: "e.g. premium_2024", form_display_name: "Display Name", @@ -5119,19 +5169,31 @@ var packages = { type_private: "Private", type_corporate: "Corporate", form_tier_level: "Tier Level", - form_tier_level_hint: "Higher number = more features & higher rank", + form_tier_level_hint: "Higher number = more features and higher rank", form_monthly_price: "Monthly Price", form_yearly_price: "Yearly Price", form_currency: "Currency", form_subtitle: "Subtitle / Description", - form_subtitle_placeholder: "e.g. Best for small businesses", + form_subtitle_placeholder: "e.g. Ideal for small businesses", form_badge: "Badge Text", form_badge_placeholder: "e.g. Most Popular", - form_is_custom: "Custom Package (not publicly listed)", + form_is_custom: "Custom Package (not public)", singleton_rules: "Singleton Rules", - form_is_default_fallback: "Default Fallback Package — assigned when a subscription expires", + form_is_default_fallback: "Default Fallback Package — expired subscriptions fall back to this", form_trial_days: "Trial Days on Signup", - form_trial_days_hint: "New organizations get this many free days. Only one package can have trial > 0." + form_trial_days_hint: "New organizations get this many free days. Only one package can have > 0.", + per_region_pricing: "Per-Region Pricing", + smart_calculator: "Smart Price Calculator", + calc_net_price: "Net Price", + calc_vat_rate: "VAT Rate", + calc_currency: "Currency", + calc_net: "Net", + calc_vat: "VAT", + calc_gross: "Gross", + calc_apply: "Apply to selected region", + add_zone: "Add New Zone", + add_zone_select: "Select country code...", + add_zone_already_exists: "This region already exists in the package pricing!" }; var garages = { title: "Garages CRM", @@ -5146,15 +5208,61 @@ var garages = { email: "Email", status: "Status", current_package: "Current Package", + expiration_date: "Expiration Date", actions: "Actions", active: "Active", inactive: "Inactive", suspended: "Suspended", change_package: "Change Package", + manage_subscription: "Manage Subscription", view: "View", activate: "Activate", deactivate: "Deactivate", - no_results: "No garages match your search." + no_results: "No garages match your search.", + loading: "Loading garages...", + retry: "Retry", + members: "members", + free_fallback: "Free / Fallback", + expires: "Expires", + select_package: "Select Package", + select_package_placeholder: "Select a subscription package...", + custom_expiration: "Custom Expiration Date", + optional: "optional", + custom_expiration_hint: "Leave empty for default duration (e.g. 30 days). For 2-5 year B2B deals, set a custom date!", + cancel: "Cancel", + save: "Save", + saving: "Saving...", + subscription_updated: "subscription updated successfully!", + view_details: "Details", + indefinite: "Indefinite", + details: { + loading: "Loading garage details...", + retry: "Retry", + back: "Back to garages", + company_info: "Company Info", + company_name: "Company Name", + display_name: "Display Name", + org_type: "Organization Type", + tax_number: "Tax Number", + reg_number: "Registration Number", + created_at: "Created At", + address: "Address", + subscription_info: "Subscription Status", + tier_name: "Package", + tier_level: "Level", + level_n: "Level {n}", + expires_at: "Expires", + asset_limit: "Vehicle Limit", + vehicles: "vehicles", + no_subscription: "No active subscription", + contact_info: "Contact Info", + contact_name: "Contact Name", + contact_role: "Role", + contact_department: "Department", + contact_phone: "Phone", + no_contact: "No primary contact person", + coming_soon: "This feature will be available soon..." + } }; const locale_en_46json_0b63539c = { permissions: permissions, @@ -5680,164 +5788,185 @@ const plugins = [ ]; const assets = { - "/_nuxt/9W9VXtTt.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"d10-1ygGQ8OwwV4VTbe0ORwxMQ/AnEU\"", - "mtime": "2026-06-25T00:01:28.108Z", - "size": 3344, - "path": "../public/_nuxt/9W9VXtTt.js" - }, "/logo.svg": { "type": "image/svg+xml", "etag": "\"1c93-1cv7aKDbuz99JYhQ43U9hm4KE3Q\"", - "mtime": "2026-06-25T00:01:28.112Z", + "mtime": "2026-06-25T19:21:59.599Z", "size": 7315, "path": "../public/logo.svg" }, - "/_nuxt/BO90Bn6x.js": { + "/_nuxt/B2nIQl38.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"3be2-eOMMdZRJVXep6GD0Pd3WgyaGHBQ\"", - "mtime": "2026-06-25T00:01:28.108Z", - "size": 15330, - "path": "../public/_nuxt/BO90Bn6x.js" + "etag": "\"ee-bmGBVwWZSnEQvM5uWwBnEYHRSbI\"", + "mtime": "2026-06-25T19:21:59.595Z", + "size": 238, + "path": "../public/_nuxt/B2nIQl38.js" }, - "/_nuxt/C8yzOtqa.js": { + "/_nuxt/C3lSWcZz.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"e97-g+Qv3oIgIL72U9J8qSVSJKOYS3o\"", - "mtime": "2026-06-25T00:01:28.108Z", - "size": 3735, - "path": "../public/_nuxt/C8yzOtqa.js" + "etag": "\"4459-lQidT49p1kxB9w1vDNecOH7RI80\"", + "mtime": "2026-06-25T19:21:59.595Z", + "size": 17497, + "path": "../public/_nuxt/C3lSWcZz.js" }, - "/_nuxt/CC4zKGJo.js": { + "/_nuxt/BezjjCqI.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"30f7-gXOCgC6dBhanJ7m+eXDasYpx3Mw\"", - "mtime": "2026-06-25T00:01:28.108Z", - "size": 12535, - "path": "../public/_nuxt/CC4zKGJo.js" + "etag": "\"3138-bV6RTlY/lnwf3amGqJs5QTfuybc\"", + "mtime": "2026-06-25T19:21:59.595Z", + "size": 12600, + "path": "../public/_nuxt/BezjjCqI.js" }, - "/_nuxt/CWA6Xjbg.js": { + "/_nuxt/C8W4Ef6u.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"616-/F9iCFrrlsdHfBojvJzEkxWY92A\"", - "mtime": "2026-06-25T00:01:28.109Z", - "size": 1558, - "path": "../public/_nuxt/CWA6Xjbg.js" + "etag": "\"d10-b3veiVg1KcwDvFZje+kFbRofh+c\"", + "mtime": "2026-06-25T19:21:59.595Z", + "size": 3344, + "path": "../public/_nuxt/C8W4Ef6u.js" }, - "/_nuxt/CgyjcGAF.js": { + "/_nuxt/D5l8f-my.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"18ee-IWmEKuI1gHllpfBLWz7c1JaaVb0\"", - "mtime": "2026-06-25T00:01:28.109Z", - "size": 6382, - "path": "../public/_nuxt/CgyjcGAF.js" - }, - "/_nuxt/CqyNVJx6.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1fb8-6HMViIUt89gbMbGrS+qjniFBDXY\"", - "mtime": "2026-06-25T00:01:28.109Z", + "etag": "\"1fb8-oygMBGIM4cWbpfDgP8iH6j3aj7E\"", + "mtime": "2026-06-25T19:21:59.596Z", "size": 8120, - "path": "../public/_nuxt/CqyNVJx6.js" + "path": "../public/_nuxt/D5l8f-my.js" }, - "/_nuxt/Cx40nPNe.js": { + "/_nuxt/CLBsD5qj.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"d2a-PVIoh3nGCytU0EY8w9TwVEKz5hw\"", - "mtime": "2026-06-25T00:01:28.109Z", - "size": 3370, - "path": "../public/_nuxt/Cx40nPNe.js" + "etag": "\"d45-05hm12oPZB69cRnr5Mnlj3ZaC68\"", + "mtime": "2026-06-25T19:21:59.595Z", + "size": 3397, + "path": "../public/_nuxt/CLBsD5qj.js" }, - "/_nuxt/DP_n9i02.js": { + "/_nuxt/DSOY2KzZ.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1a56-wQcZfXtRyqQuRYq3Vb7WJxYDoKg\"", - "mtime": "2026-06-25T00:01:28.109Z", - "size": 6742, - "path": "../public/_nuxt/DP_n9i02.js" + "etag": "\"201-G/eh9BpHcgvEa8FKqQ57mrXGBqo\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 513, + "path": "../public/_nuxt/DSOY2KzZ.js" }, - "/_nuxt/DWjNh9rV.js": { + "/_nuxt/DKEj_yij.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"444-U5PaXXhpfzdQ9Gz+o+GnJBs7RhA\"", - "mtime": "2026-06-25T00:01:28.109Z", - "size": 1092, - "path": "../public/_nuxt/DWjNh9rV.js" + "etag": "\"617-pBcdIfoofXib/TxCr3MyKJ6TXYA\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 1559, + "path": "../public/_nuxt/DKEj_yij.js" }, - "/_nuxt/Da4aCGAe.js": { + "/_nuxt/DiHJCuau.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1613-5rxIwz6i7CxojjuXQmd8mInWod8\"", - "mtime": "2026-06-25T00:01:28.110Z", - "size": 5651, - "path": "../public/_nuxt/Da4aCGAe.js" + "etag": "\"26cf-CnvewaYlk4KZXb5oWMvAcgx0EAI\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 9935, + "path": "../public/_nuxt/DiHJCuau.js" }, - "/_nuxt/DuYZ8wdr.js": { + "/_nuxt/DlAUqK2U.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"a5-dDh+JP1OYQEoH+LiAVuR1WxDtRg\"", - "mtime": "2026-06-25T00:01:28.110Z", - "size": 165, - "path": "../public/_nuxt/DuYZ8wdr.js" + "etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 91, + "path": "../public/_nuxt/DlAUqK2U.js" + }, + "/_nuxt/DyJFDhDL.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"3608-a8z/CQt3F9NGV/eF3HMwDkA7OVg\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 13832, + "path": "../public/_nuxt/DyJFDhDL.js" + }, + "/_nuxt/HwQw-d2b.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"247d-s5ALBQqlfJeyo0U0w4W54Vamxhc\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 9341, + "path": "../public/_nuxt/HwQw-d2b.js" + }, + "/_nuxt/JOVMCDE9.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"eb2-ZPUnimZNgRLJgehGbdAHDO0F3Cc\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 3762, + "path": "../public/_nuxt/JOVMCDE9.js" }, "/_nuxt/entry.KrfumMBl.css": { "type": "text/css; charset=utf-8", "etag": "\"19-60Qvpq/4eRs/sHLgNwhHUEqqm/o\"", - "mtime": "2026-06-25T00:01:28.110Z", + "mtime": "2026-06-25T19:21:59.596Z", "size": 25, "path": "../public/_nuxt/entry.KrfumMBl.css" }, - "/_nuxt/CqYPuxVf.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"3eefb-JwnLkq4JppZIxgkcGPsOibTdfts\"", - "mtime": "2026-06-25T00:01:28.109Z", - "size": 257787, - "path": "../public/_nuxt/CqYPuxVf.js" - }, "/_nuxt/error-404.DL_4WIao.css": { "type": "text/css; charset=utf-8", "etag": "\"dca-KnjyV0UbpsrliiJzZx69defY74k\"", - "mtime": "2026-06-25T00:01:28.110Z", + "mtime": "2026-06-25T19:21:59.597Z", "size": 3530, "path": "../public/_nuxt/error-404.DL_4WIao.css" }, "/_nuxt/error-500.I1Dtv2V5.css": { "type": "text/css; charset=utf-8", "etag": "\"75a-vEGyJqldBVJrnMfcLsrGaHcxYl0\"", - "mtime": "2026-06-25T00:01:28.110Z", + "mtime": "2026-06-25T19:21:59.597Z", "size": 1882, "path": "../public/_nuxt/error-500.I1Dtv2V5.css" }, - "/_nuxt/ncKxzOzI.js": { + "/_nuxt/CHWHIiGB.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"7168-oyelrzyCgmWiem0nExZjccXNyBY\"", - "mtime": "2026-06-25T00:01:28.110Z", - "size": 29032, - "path": "../public/_nuxt/ncKxzOzI.js" + "etag": "\"3f07b-06dmf8DFw22T6UIMpyeT+t7VBvY\"", + "mtime": "2026-06-25T19:21:59.595Z", + "size": 258171, + "path": "../public/_nuxt/CHWHIiGB.js" }, - "/_nuxt/zPyClsoP.js": { + "/_nuxt/KwNF0Piy.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"331b-h6zrom30VlrXYypt2LSqaquX5p0\"", - "mtime": "2026-06-25T00:01:28.110Z", - "size": 13083, - "path": "../public/_nuxt/zPyClsoP.js" + "etag": "\"2fe2-tOrtDTtc4U0iux12t4oRzSKA8qg\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 12258, + "path": "../public/_nuxt/KwNF0Piy.js" }, "/_nuxt/builds/latest.json": { "type": "application/json", - "etag": "\"47-dTkj5Cjp5AUFPrYaZFB/8XM0C1s\"", - "mtime": "2026-06-25T00:01:28.102Z", + "etag": "\"47-DH6q3zJLj6/QAgbu1aPivGQPJQ0\"", + "mtime": "2026-06-25T19:21:59.588Z", "size": 71, "path": "../public/_nuxt/builds/latest.json" }, - "/_nuxt/builds/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json": { - "type": "application/json", - "etag": "\"58-Jb6y6LJEoI0itMvdHhMqddt3SEo\"", - "mtime": "2026-06-25T00:01:28.098Z", - "size": 88, - "path": "../public/_nuxt/builds/meta/dc3dd2d5-39c2-4460-b2e0-c8f86bc8b233.json" - }, "/_nuxt/builds/meta/dev.json": { "type": "application/json", - "etag": "\"37-Hj3Yw6O0wi0qKWP0yCgLQiM2C48\"", - "mtime": "2026-06-25T00:01:28.098Z", + "etag": "\"37-xpdQ7w/qFSiQCPvcwhaysTLg5Jg\"", + "mtime": "2026-06-25T19:21:59.584Z", "size": 55, "path": "../public/_nuxt/builds/meta/dev.json" }, + "/_nuxt/d4dk63Pu.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"8ef4-4YOVpL2+49qIW6hinlLQa5z75wI\"", + "mtime": "2026-06-25T19:21:59.596Z", + "size": 36596, + "path": "../public/_nuxt/d4dk63Pu.js" + }, + "/_nuxt/j8avB3IT.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"445-fwEq/+H/j6twO0jkkDly9nXZzZc\"", + "mtime": "2026-06-25T19:21:59.597Z", + "size": 1093, + "path": "../public/_nuxt/j8avB3IT.js" + }, + "/_nuxt/qc1uPXiA.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"160e-GS1XpzAG+GGpA3gL4C/b6gbI9WU\"", + "mtime": "2026-06-25T19:21:59.597Z", + "size": 5646, + "path": "../public/_nuxt/qc1uPXiA.js" + }, + "/_nuxt/builds/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json": { + "type": "application/json", + "etag": "\"58-Zeo7lgrFxWuEsTOv7B2zUzMVcxA\"", + "mtime": "2026-06-25T19:21:59.584Z", + "size": 88, + "path": "../public/_nuxt/builds/meta/e6a51bf7-9efc-4598-aa2a-be03bd94fdda.json" + }, "/sf_logo.png": { "type": "image/png", "etag": "\"4366a8-5u0A+e1MYT8zegFkKhhzxt5KbGs\"", - "mtime": "2026-06-25T00:01:28.112Z", + "mtime": "2026-06-25T19:21:59.599Z", "size": 4417192, "path": "../public/sf_logo.png" } diff --git a/frontend_admin/app.vue b/frontend_admin/app.vue index 341de54..85a51c4 100644 --- a/frontend_admin/app.vue +++ b/frontend_admin/app.vue @@ -4,6 +4,14 @@ + +